一.前言
Psexec最早由Mark Russinovich创建并发布在Sysinternals Suite上,Sysinternals Suite是微软发布的工具程序集。Psexec的设计目的是替代telnet来帮助系统管理员进行远程管理。我们使用Psexec,可以通过SMB协议在远程主机上运行命令,我们无须在远程主机上面安装任何客户端程序就可以远程管理,并且可以获得一个强交互的命令控制台。
二.前文推荐
ATT&CK视角下的红蓝对抗:一. 隧道穿透技术详解
ATT&CK视角下的红蓝对抗:二. 内网探测协议出网
ATT&CK视角下的红蓝对抗:三. 内网常规隧道利用方法
ATT&CK视角下的红蓝对抗:四. 内网穿透之通过Earthworm(EW)进行隧道穿透
ATT&CK视角下的红蓝对抗:五. 内网穿透之利用HTTP协议进行隧道穿透
ATT&CK视角下的红蓝对抗:六.内网穿透之利用FRP进行隧道穿透
ATT&CK视角下的红蓝对抗:七.内网穿透之利用Venom进行隧道穿透
ATT&CK视角下的红蓝对抗:八.内网穿透之利用Termite进行隧道穿透
ATT&CK视角下的红蓝对抗:九.内网穿透之利用GRE协议进行隧道穿透
ATT&CK视角下的红蓝对抗:十.内网穿透之利用DNS协议进行隧道穿透
ATT&CK视角下的红蓝对抗:十一.内网穿透之利用SSH协议进行隧道穿透
ATT&CK视角下的红蓝对抗:十二.内网穿透之Windows文件传输技术详解
ATT&CK视角下的红蓝对抗:十三.内网穿透之Linux文件传输技巧详解
ATT&CK视角下的红蓝对抗:十四.内网穿透之反弹流量分析与检测方法
ATT&CK视角下的红蓝对抗:十五.内网穿透之利用ICMP协议进行隧道穿透
ATT&CK视角下的红蓝对抗:十六.横向移动之利用Windows计划任务进行横向移动
ATT&CK视角下的红蓝对抗:十七.横向移动之利用远程服务进行横向渗透
ATT&CK视角下的红蓝对抗:十八.横向移动之利用WinRM进行横向渗透
ATT&CK视角下的红蓝对抗:十九.横向移动之利用PTH(哈希传递)进行横向渗透
ATT&CK视角下的红蓝对抗:二十.横向移动之利用PTT(票据传递)进行横向渗透
ATT&CK视角下的红蓝对抗:二十一.横向移动之利用Psexec进行横向渗透
三.利用Psexec进行横向渗透
Psexec最早由Mark Russinovich创建并发布在Sysinternals Suite上,Sysinternals Suite是微软发布的工具程序集。Psexec的设计目的是替代telnet来帮助系统管理员进行远程管理。我们使用Psexec,可以通过SMB协议在远程主机上运行命令,我们无须在远程主机上面安装任何客户端程序就可以远程管理,并且可以获得一个强交互的命令控制台。
Psexec的实际工作原理是:首先与远程主机建立IPC$连接,并向远程主机传输Psexecsvc.exe,传输到远程主机的默认共享文件夹中;然后打开\RDCpipesvcctl,也就是SCManager(服务控制管理器),远程创建并启动一个名为Psexecsvc的服务;接着生成4个命名管道,分别用于Psexecsvc服务本身、stdin、stdout、stderr。我们发送命令给远程主机之后,远程主机启动相应程序,并通过命名管道将执行的结果返回。利用Psexec创建远程服务进行横向渗透的拓扑图如图1-1所示,实验环境参考表1-1。
表1-1 利用Psexec创建远程服务进行横向渗透实验环境
主机 | 服务类型 | IP地址 |
---|---|---|
Kali 2022 | 攻击机 | 10.10.10.2 |
Windows 2012 R2 | 跳板机 | 192.168.1.2、172.16.224.140 |
Windows 2008 R2 | 核心靶标 | 192.168.1.3、172.16.224.158 |
1.利用Psexec获取交互式会话
通过Psexec,我们可以和目标建立交互式会话,但使用的前提是获取对方的凭据信息及对方开启默认共享服务。满足前置条件后,使用命令"PsExec.exe -accepteula \192.168.1.3 -u administrator -p Password@123 -i cmd.exe进行连接。在这条命令中,-u参数指定登录的用户名,-p参数指定登录用户密码,-i参数指定运行程序并产生交互。命令执行结果如图1-2所示。
通过Psexec的-s参数,可以指定程序以System权限运行。使用命令PsExec.exe -accepteula \192.168.1.3 -u administrator -p Password@123 -s cmd.exe,命令执行结果如图1-3所示。
2.建立IPC$连接获取交互式会话
Psexec本身可以直接通过当前系统已创建的IPC$连接来建立交互式会话。在跳板机中使用net use \192.168.1.3IPC$ "Password@123" /user:"Administrator"命令,建立与靶标机器的IPC$连接,命令执行结果如图1-4所示。
当建立IPC$连接后,使用Psexec连接目标机器,执行命令Psexec.exe \192.168.1.3-s cmd.exe,即可与靶标机器建立交互式会话,命令执行结果如图1-5所示。
四.本篇总结
本文介绍了一种利用Psexec进行横向渗透手法,我们可以使用Psexec,可以通过SMB协议在远程主机上运行命令,我们无须在远程主机上面安装任何客户端程序就可以远程管理,并且可以获得一个强交互的命令控制台。希望本篇文章能够对读者有用
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!