前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在远程系统执行程序

如何在远程系统执行程序

作者头像
Ms08067安全实验室
发布2019-12-18 17:05:55
1.6K0
发布2019-12-18 17:05:55
举报

序言

在我们获得用户名口令后,尝试远程登陆目标主机并执行程序,结合实际环境做了如下测试.

目标

远程登陆目标主机执行测试程序

测试环境

远程主机:

ip:192.168.40.137   
用户名:test
口令:testtest
操作系统:win7 x64
远程登陆方式:net use远程登陆,不使用3389

Tips: 解决工作组环境无法远程登陆执行程序的方法:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System add a new DWORD (32-bit) called “LocalAccountTokenFilterPolicy” and set it to 1

测试方法

1、at&schtasks 计划任务方式执行程序。 条件: 启动Task Scheduler服务

2、psexec PsTools工具之一,在指定的一台或多台计算机上运行应用程序 条件: 需要开放ADMIN$共享

3、WMIC 功能强大,可做系统管理、远程主机信息获取 条件: 启动WMI服务,开放135端口 本地安全策略的“网络访问: 本地账户的共享和安全模式”应设为“经典-本地用户以自己的身份验证”

4、wmiexec 使用VBS脚本调用WMI来模拟psexec的功能,基本上psexec能用的地方,这个脚本也能够使用。 条件: 启动WMI服务,开放135端口 本地安全策略的“网络访问: 本地账户的共享和安全模式”应设为“经典-本地用户以自己的身份验证”

5、powershell remoting 实现在目标主机远程执行程序后,可对目标主机开放powershell remoting,用作远程连接 条件:

远程连接会有痕迹 本机要开启winRM服务 命令汇总:

列出所有远程信任主机 powershell Get-Item WSMan:\localhost\Client\TrustedHosts设置信任所有主机 powershell Set-Item WSMan:\localhost\Client\TrustedHosts -Value * -Force 设置允许运行ps1文件 powershell Set-ExecutionPolicy Unrestricted执行test.ps1文件 powershell -ExecutionPolicy Bypass -File test.ps1ps1文件如下:$UserName = "test" $serverpass = "testtest" $Password = ConvertTo-SecureString $serverpass -AsPlainText –Force $cred = New-Object System.Management.Automation.PSCredential($UserName,$Password) invoke-command -ComputerName 192.168.40.137 -Credential $cred -ScriptBlock { ipconfig }

6 、python smbexec

随后用python写的smbexec也实现了相同的功能,但py2exe的时候遇到了大麻烦,如果有更简单的方法, 希望能得到你的帮助。

实际测试

使用用户名口令远程登陆192.168.40.137,如图1

查看目标主机共享资源,如图1-2

1、at&schtasks

at \\192.168.40.137

找不到网络路径,判断是目标主机已禁用Task Scheduler服务

2、psexec

PsExec.exe \\192.168.40.137 /accepteula -u test -p testtest -c c:\runtest\calc.exe

找不到网络名,判断目标主机已禁用ADMIN$共享

3、WMIC

wmic /node:192.168.40.137 /user:test /password:testtest process call create calc.exe

Description = 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动,判断WMI服务被禁用

4、wmiexec

cscript.exe wmiexec.vbs /cmd 192.168.40.137 test testtest "ipconfig"

WMIEXEC ERROR: 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动,判断WMI服务被禁用

分析

整理下目前掌握的目标主机信息:

目标主机:

1、已获得登陆用户名及口令 2、可以net use连接 3、开放共享C 但是:

1、默认admin$共享关闭,无法使用psexec 2、Task scheduler关闭,无法使用at、schtasks 3、Windows Management Instrumentation服务关闭,关闭135端口无法使用wmic、wmiexec 4、不支持3389 那么,如何在目标主机远程执行程序?

猜测管理员应该是对常用的远程执行程序的方法做了限制,就在一筹莫展的时候突然想到了smbexec,它是基于psexec,如果目标主机开放了其他默认共享,倒是可以尝试smbexec

于是搜索smbexec,终于在GitHub上面找到了一个smbexec的c++参考资料,作为工具改进模版

模版下载地址:

https://github.com/sunorr/smbexec

总结

这篇文章共列举了六种远程执行程序的方法,如果已经成功登陆目标主机,却无法执行程序,最心塞的事情莫过于此。

at psexec WMIC wmiexec smbexec powershell remoting ...

获得用户名口令,实现远程执行程序仅仅是个开始,内网渗透会很有趣。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ms08067安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 序言
  • 目标
  • 测试环境
  • 测试方法
  • 实际测试
  • 分析
  • 总结
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档