-
Psexec和wmiexec的原理和区别
PSEXEC
针对远程建立连接的方式有两种,一种先建立IPC通道连接,然后直接使用,操作如下:
net use \192.168.0.1ipc$ “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 est.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
-
相关阅读:
Python学习笔记Day08
Python学习笔记Day06~07
Python学习笔记Day05
linux文件属性之用户和组基础知识
linux文件属性之linux文件删除原理
linux文件属性软硬链接知识
linux文件属性文文件类型知识
linux文件属性描述(inode,block)
xargs命令
find命令
-
原文地址:https://www.cnblogs.com/sup3rman/p/12381874.html
Copyright © 2020-2023
润新知