PsExec攻击


简介

psexec是windows下的一款远程命令行工具。psexec的使用不需要对方主机开启3389端口,只需要对方开启admin$共享(该共享默认开启)。但是,假如目标主机开启了防火墙,psexec也是不能使用的,会提示找不到网络路径,由于psexec是windows提供的工具,所以杀毒软件会将其添加到白名单中。

psexec的基本原理是:通过管道在远程目标机器上创建一个psexec服务,并在本地磁盘中生成一个名为“PSEXESVC”的二进制文件。最后通过psexec服务运行命令。运行结束后删除服务。

在使用psexec执行远程命令时,会在目标系统中创建一个psexec服务,命令执行后,psexec服务将会被自动删除。由于创建或删除服务时会产生大量的日志,所以会在攻击溯源时通过日志反推攻击流程。

PsExec.exe

PsExec 是 PSTools 工具包里的一部分,其下载地址为:https://download.sysinternals.com/files/PSTools.zip

参数:

-u:指定用户名
-p:指定密码
-accepteula:第一次运行psexec会弹出确认框,使用该参数就不会弹出确认框。
-s:已system权限运行进程,获得一个system权限的交互shell,如果不使用该参数,会获得一个administrator权限的shell。

先建立IPC$连接

net use \\ip\ipc$ "passwd" /user:username
或者 
net use \\ip /u:yu\username "passwd"
psexec.exe \ip -u [username] -p [password]./ cmd

MSF中PsExec模块

MSF中的psexec主要有两个模块。

exploit/windows/smb/psexec :该模块生成的payload是exe程序。
exploit/windows/smb/psexec_psh :该模块生成的payload主要是由powershell实现。

注意:powershell生成的payload免杀要比exe效果好。但是xp、2003的系统默认不包含powershell

但是我在我的msf里面只搜到了一个

image-20230804145713734

可以看一下需要什么参数

image-20230804150106244

use exploit/windows/smb/psexec
set rhosts ip
set smbuser username
set smbpass passwd
run

注意这里的smbpass选项,其可以为明文密码,也可以为Hash,但Hash必须是完整的,如果不知道前面的LM Hash部分,可以用零代替

cs中psexec

首先我们使用 Port Scan模块进行扫描,

image-20230804151832742

如果有时候红框内为空,可以先试着提权然后在进行portscan

image-20230804152718907

如果Ports为空那么只扫描存活的主机

存活的主机可以在 视图->目标中查看

image-20230804152857421

然后右键选择psexec

image-20230804152939542

参考文章:

https://coar.wang/article/87


文章作者: f14g
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 f14g !
评论
  目录