内网环境横向移动——利用psexec

利用psexec.exe工具

下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec

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

psexec的基本原理:

    1. 通过ipc$连接admin$,释放二进制文件psexecsvc.exe到目标

    1. 通过服务管理SCManager远程创建一个psexec服务,并启动服务

    1. 客户端连接执行命令,服务端通过服务启动相应的程序执行命令并回显数据

    1. 运行结束后删除服务

psexec的使用前提:

  • 对方主机开启了 admin$共享,如果关闭了admin$共享,会提示:找不到网络名

  • 对方未开启防火墙

  • 如果是工作组环境,则必须使用administrator用户连接(因为要在目标主机上面创建并启动服务),使用其他账号(包括管理员组中的非administrator用户)登录都会提示访问拒绝访问。

  • 如果是域环境,即可用普通域用户连接也可以用域管理员用户连接。连接普通域主机可以用普通域用户,连接域控只能用域管理员账户。

使用如下命令:

  • -accepteula:第一次运行psexec会弹出确认框,使用该参数就不会弹出确认框

  • -u:用户名

  • -p:密码

  • -s:以system权限运行运程进程,获得一个system权限的交互式shell。如果不使用该参数,会获得一个连接所用用户权限的shell

PsExec64.exe -accepteula \\192.168.10.3 -u WIN-U8TRGT93CTR\administrator -p <password> -s cmd.exe

这里也可以先建立ipc连接后直接调用PsExec64.exe调用cmd

也可以直接执行命令(在建立ipc连接的基础上)

msf中的psexec

使用search psexec寻找psexec模块如下图所示

这里最常用的有以下模块

这里说一下msf里面的这个psexec这个模块跟powershell原生模块的区别。我们知道powershell是在2008及以上的系统才有,在2008及以上的系统使用原生powershell免杀效果是要比msf里psexec生成的payload要好的。但是在2003及以下的版本是不自带powershell的,那么在这种情况下我们就只能使用msf的psexec生成的exe进行横向移动

这里唯一一点注意的就是msf的payload,需要用到反弹payload,即reverse_tcp

运行可以看到为system权限

psexec服务将会安装在远程系统中,此时将会生成 Event 4697、7045 这2种事件日志;有可能预生成Event 4624和Event 4652 Windows事件日志,日志会记录下该工具的使用数据。

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值