知识点
1 、CS-CDN节点-防拉黑
2 、CS-SSL证书-防特征
3 、CS-OSS存储-防流量
编译代码面-ShellCode-混淆
编译代码面-编辑执行器-编写
编译代码面-分离加载器-编写
程序文件面-特征码定位-修改
程序文件面-加壳花指令-资源
代码加载面-Dll反射劫持-加载
权限逻辑面-杀毒进程干扰-结束
工具数据面-通讯内存流量-动态
对抗目标:
X60 Defender 某绒 管家 VT等
编程语言:
C/C++ Python C
涉及技术:
ShellCode混淆,无文件落地,分离拆分,白名单,DLL加载,Syscall,加壳加花,
资源修改,特征修改,二次开发CS,内存休眠,进程注入,反沙盒,反调试,CDN解析等
演示案例
1 、防朔源拉黑-CDN节点-上线
2 、防特征审计-SSL证书-上线
3 、防流量审计-OSS存储-上线
https://sg.godaddy.com/
https://dash.cloudflare.com/
https://github.com/threatexpress/malleable-c2
1 、注册账号,申请狗爹域名
2 、注册账号,配置cloudflare
3 、添加解析记录,指向CS的IP
4 、配置DNS服务器,使用cloudflare
5 、下载C2文件模版,修改配置并上传
6 、启动CS加载CS模版,使用stag生成
注意1:
因为cloudflare的原因这里端口的设置需要注意以下:
若是http,则只能设置80,8080,8880,2052,2082,2086,2095这些端口号
若是https,则只能设置443,2053,2083,2087,2096,8443这些端口号
注意2:
后门生成使用Stageless模式
1 、配置SSL设置
-创建证书(SSL-源服务器)
-设置页面规则( 缓存级别-绕过)
-保存CSR& 密匙( server.pem& server.key)
2 、生成证书文件
openssl pkcs12 -export -in server.pem -inkey server.key -out www.yaosese.xyz.p12 -name www.yaosese.xyz -passout pass:123456
keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore www.yaosese.xyz.store -srckeystore www.yaosese.xyz.p12 -srcstoretype PKCS12 -srcstorepass 123456 -alias www.yaosese.xyz
3 、修改teamserver
证书指向:www.yaosese.xyz.store
证书密码:123456
4 、启动teamserver
./teamserver ip pass jquery-c2.4.5.profile
产品:阿里云,腾讯云等
1 、开启OSS对象存储
2 、创建Bucket列表
3 、设置Bucket属性
4 、上传Shellcode文件
5 、获取地址& 代码加载
总结
1 、防朔源拉黑-CDN节点-上线
当设置木马远程连接的地址是本机真实ip时,对方可以用火绒剑等工具看到网络外联,当其拉黑ip后我们便不能正常通信了
使用cdn节点让木马远程连接地址是我们注册的域名时,就算其拉黑某个cdn节点的ip,其他的cdn节点ip也会顶替上来,还是能够正常通信
可在godaddy上注册域名(便宜),在cloudflare上注册cdn(免费)
2 、防特征审计-SSL证书-上线
默认上线使用的是cs自带的SSL证书,有明显的cs特征
利用我们注册的域名生成SSL证书替换后,能一定程度防特征审计
3 、防流量审计-OSS存储-上线
在做shellcode分离时(比如http的shellcode分离),如果从一个不受信任的url加载shellcode,那么会十分可疑
使用阿里云的OSS存储,上传shellcode文件,然后再加载,那么这样url是阿里云那边的,是受信任的