Psexec
简介
PsExec
是Sysinternals套件中的一个工具,由Microsoft发布。它允许系统管理员在远程Windows主机上执行进程,通常不需要在远程系统上安装任何客户端软件。在内网渗透测试中,PsExec
有以下作用:
远程命令执行:渗透测试人员可以使用
PsExec
在远程主机上执行命令,这对于执行恶意代码、执行数据收集任务或执行其他操作都非常有用。横向移动:当攻击者在网络中的一个节点上获得权限后,他们通常会尝试移动到其他系统。
PsExec
允许他们在其他系统上执行命令和程序,从而实现在网络中的横向移动。提权:在某些情况下,通过使用
PsExec
,攻击者可能能够以更高的权限级别执行进程,特别是如果目标系统存在配置不当或漏洞。文件传输:除了远程执行命令,
PsExec
还可以用来上传或下载文件,这对于部署恶意工具或提取敏感数据都很有用。服务创建:
PsExec
可以在远程系统上创建并启动服务,这为持久性和后门访问提供了机会。避免直接触碰硬盘:由于
PsExec
可以直接在内存中执行文件,因此它可以避免某些基于磁盘的侦测机制。
使用指南
常用参数
\\computer
指定目标计算机。使用\\*
指定网络中的所有计算机。
-u
指定用于登录的用户名。如:-u domain\username
。
-p
指定用户的密码。
-s
在远程计算机上的System账户上下文中执行命令。
-i
在指定的会话中运行程序,与交互式应用程序互动。
-d
不等待远程程序完成,后台执行命令。
-accepteula
接受PsExec的许可协议。
-h
如果目标系统启用了UAC,使远程进程在UAC上下文中“继承”父进程的令牌。
常用操作
1.建立一个管理员权限的交互性的shell
2.远程执行程序
3.尝试以更高的权限执行程序
IPC$下使用psexec
首先需建立IPC$链接
上传psexec至目标主机,远程执行ipconfig命令
获取一个交互性的cmd shell
CS下使用psexec
在jmp菜单有psexec
和psexec_psh
,它们都是远程执行的工具,只不过工作方式稍有不同:
psexec:这是基于Sysinternals的
PsExec
工具的功能。它将有效载荷(通常是一个服务)上传到远程机器并执行它。psexec_psh:相比于传统的
psexec
,它尝试使用PowerShell执行有效载荷,这可以在某些环境中提供更隐蔽的执行,因为它尝试不在目标机器上写入任何文件
填写域控管理员的相关信息
执行psexec后会上线你填写的域控用户权限的会话
若出现下图情况,那么很可能目标服务器安装了杀软
最后更新于