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