ATT&CK视角下的红蓝对抗:二十一.横向移动之利用Psexec进行横向渗透

2023-11-18 21:42:08 浏览数 (1)

一.前言

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创建远程服务进行横向渗透拓扑图图1-1 利用Psexec创建远程服务进行横向渗透拓扑图

表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所示。

图1-2 使用PsExec建立交互Shell图1-2 使用PsExec建立交互Shell

通过Psexec的-s参数,可以指定程序以System权限运行。使用命令PsExec.exe -accepteula \192.168.1.3 -u administrator -p Password@123 -s cmd.exe,命令执行结果如图1-3所示。

图1-3 使用PsExec建立交互Shell图1-3 使用PsExec建立交互Shell

2.建立IPC$连接获取交互式会话

Psexec本身可以直接通过当前系统已创建的IPC$连接来建立交互式会话。在跳板机中使用net use \192.168.1.3IPC$ "Password@123" /user:"Administrator"命令,建立与靶标机器的IPC$连接,命令执行结果如图1-4所示。

图1-4 建立IPC连接图1-4 建立IPC连接

当建立IPC$连接后,使用Psexec连接目标机器,执行命令Psexec.exe \192.168.1.3-s cmd.exe,即可与靶标机器建立交互式会话,命令执行结果如图1-5所示。

图1-5 使用Psexec建立交互Shell   图1-5 使用Psexec建立交互Shell

四.本篇总结

本文介绍了一种利用Psexec进行横向渗透手法,我们可以使用Psexec,可以通过SMB协议在远程主机上运行命令,我们无须在远程主机上面安装任何客户端程序就可以远程管理,并且可以获得一个强交互的命令控制台。希望本篇文章能够对读者有用


我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

0 人点赞