Psexec和wmiexec的原理和区别
2024-10-08 04:54:43
PSEXEC
针对远程建立连接的方式有两种,一种先建立IPC通道连接,然后直接使用,操作如下:
net use \\192.168.0.1\ipc$ “password” /user:administrator
psexec.exe \\192.168.0.1 cmd 进入半交互式cmdshell ;
另一种时在psexec的参数中指定账户密码 操作如下:
psexec.exe \\192.168.0.1 –u administrator –p password
执行原理:
1.通过ipc$连接,释放psexecsvc.exe到目标
2.通过服务管理SCManager远程创建psexecsvc服务,并启动服务。
3.客户端连接执行命令,服务端启动相应的程序并执行回显数据。
4.运行完后删除服务。这个在windows的日志中有详细的记录,另外psexec在少数情况下会出现服务没删除成功的bug,所以一般不推荐使用psexec,推荐wmiexec
工具说明:
需要远程系统开启admin$共享
建立IP超链接后可以不指定用户名和密码
不能仅拷贝文件不行执行,拷贝时可以建立ipc连接后拷贝
在启动psexec建立连接后,远程系统上会被安装一个服务:psexecsvc,安装服务会留下日志,而且psexec推出时有可能服务删除失败,所以不推荐使用psexec
wmiexec
wmi介绍
全称是Windows management instrumentation,它出现在所有的Windows操作系统中,并由一组强大的工具集合组成,用于管理本地或远程的Windows系统,攻击者使用wmi来进行攻击,但Windows系统默认不会再日志中记录这些操作,可以做到无日志,攻击脚本无需写入到磁盘,增加了隐蔽性。推荐使用wmiexec进行远程执行命令
wmiexec介绍
大牛使用VBS脚本调用WMI来模拟 psexec 的功能,于是乎WMIEXEC 就诞生了。基本上psexec 能用的地方,这个脚本也能够使用。整个过程是先调用WMI通过账号密码或者NTLM认证(WCE注入)连接到远程计算机,然后如果提供了账号密码,则用这个账号密码建立一个到目标的IPC连接。随后WMI会建立一个共享文件夹,用于远程读取命令执行结果。 当用户输入命令时,WMI创建进程执行该命令,然后把结果输出到文件,这个文件位于之前创建的共享文件夹中。最后,通过FSO组件访问远程共享文件夹中的结果文件,将结果输出。当结果读取完成时,调用WMI执行命令删除结果文件。最后当WMIEXEC退出时,删除文件共享。
常用命令
获取半交互式shell
cscript.exe //nologo wmiexec.vbs /shell 192.168.0.1 username password
在远程系统上执行单条命令
cscript.exe wmiexec.vbs /cmd 192.168.0.1 username password “cmdkey /list”
在远程系统上执行bat脚本
cscript.exe wmiexec.vbs /cmd 192.168.0.1 username password c:\programdata\test.bat
上面是提供账号密码的情况,如果有时候我们抓取到的是hash,破解不了时可以利用WCE的hash注入,然后再执行wmiexec(不提供账号密码)就可以了,操作如下:
wce –s 账号:主机名或域的名字:LM:NTLM
cscript //nologo wmiexec.vbs /shell 192.168.0.1
注意:日过抓取的LM hash是AAD3开头的,或者是No Password之类的,计用32个0代替LM hash
最新文章
- 使用VC6开发opengl配置
- SQL Server中TEXT类型字段值在数据库中追加字符串方法
- 如何实现Outlook 2010 下载邮件后自动删除服务器上的邮件
- linux中软链接打包、计算以及同步
- Codeforces Gym 100531J Joy of Flight 变换坐标系
- Course(简单的字符串处理问题)
- Journey
- zepto为什么不支持animate,报animate is not a function
- useradd新建用户和权限分配
- 【开源】接口管理平台eoLinker AMS 开源版3.1.5同步线上版!免费增加大量功能!
- 201621123050 《Java程序设计》第3周学习总结
- .NET Core 使用NLog日志记录
- 微信小程序开发的游戏《拼图游戏》
- python拟合数据,并通过拟合的曲线去预测新值的方法
- Flutter的scope_model使用mixin语法报错
- nodejs 之=>; 函数
- HDU 3032 multi-sg 打表找规律
- JFinal框架使用
- iOS开发-图片查看(ScrollView+UIPageControl)
- pytest文档9-参数化parametrize
热门文章
- WebPack系列--开启HappyPack之后,再将项目打包速度缩短5秒
- Ionic5沉浸式状态栏 适配全面屏
- 2020北航OO第二单元总结
- uni-app&;H5&;Android混合开发一 || 最全面的uni-app离线打包Android平台教程
- jmeter响应时间与postman响应时间为什么不一样?
- hdu 1298 字典树 + DFS (模拟T9文本输入)
- Android内核的编译和调试
- 在Android so文件的.init、.init_array上和JNI_OnLoad处下断点
- Node-RESTful
- web php wrong nginx config