C2分析设计(“实践与灼见”课堂笔记) (8)

C2分析设计(“实践与灼见”课堂笔记)

编译后发现爆出了一个警告没有Main方法,查看代码发现Main函数因为C#的写法在转换后被包进了Program类中,而在Boo语法中类就是类,入口函数是单独的,所以我们需要将Main函数回退一格缩进

C2分析设计(“实践与灼见”课堂笔记)

选中Main函数后按住Shift+Tab直接会回退一格缩进

C2分析设计(“实践与灼见”课堂笔记)

再将调用的静态方法Minidump加上类名,保存后进行编译

C2分析设计(“实践与灼见”课堂笔记)

这时可以看到已经编译成功,同时编译出了一个dll,我们使用高权限运行CMD后运行SharpDump.exe看看是否有问题

C2分析设计(“实践与灼见”课堂笔记)

可以看到已经成功导出了lsass.exe的Dump,改名解压后即可使用mimikatz查看口令。

没有问题之后咱们就可以将boo脚本放入我们的工程里面了

C2分析设计(“实践与灼见”课堂笔记)

新建文件SharpDump.boo,选择生成操作为嵌入式资源

C2分析设计(“实践与灼见”课堂笔记)

直接将转换后的代码Copy过来即可

C2分析设计(“实践与灼见”课堂笔记)

修改执行的Boo脚本,右键项目重新编译成exe文件。

C2分析设计(“实践与灼见”课堂笔记)

运行后发现出现了NullReferenceException错误,在反射调用的地方发现传入了null

C2分析设计(“实践与灼见”课堂笔记)

而在sharpdump.boo的main函数实现中必须得传入一个字符串数组

C2分析设计(“实践与灼见”课堂笔记)

所以我们传入一个空字符串数组,或者传入-1即可

C2分析设计(“实践与灼见”课堂笔记)

C2分析设计(“实践与灼见”课堂笔记)

保存编译后发现成功执行了boo脚本但是dump失败,最后发现是版本问题,将编译版本改为4.5即可

C2分析设计(“实践与灼见”课堂笔记)

C2分析设计(“实践与灼见”课堂笔记)

很奇怪的是改为4.5之后再改为4.8又能成功dump了。

结尾

今天这一将基本上就算把借鉴SILENTTRINITY的东西讲完了,咱们的C2代码执行这一块儿就基于Boolang来做,这个模块就是核心的执行模块。然后下一步就是从其它的开源C2里面借鉴一些设计比较好的功能,比如说协议、数据包设计等等。第一期的主要任务就是把目前市面上能看到的开源C2的优点都提取出来跟咱们整体的C2设计结合。

个人总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzwyp.html