TryHackMe

场景:

现有三台机器ip分别为 一号机器(Linux): 10.50.98.17, 二号机器(windows): thmjmp2.za.tryhackme.com, 三号机器(windows): thmiis.za.tryhackme.com
其中一号机器可以连接上二号机器的3389端口(RDP),但不能直接连接上三号机器的3389
二号机器可以连接上三号机器的3389(RDP)
请使用SSH远程端口转发使一号机器可以连接上三号机器的3389端口(RDP)
连接 二号机器的凭据: grace.brooks:Vrgr6062   (ssh & rdp)
连接 三号机器的票据: t1_thomas.moore:MyPazzw3rd2020

在一号机器上创建一个专门用于创建隧道的用户tunneluser

useradd tunneluser -m -d /home/tunneluser -s /bin/true    // shell指定为true,是一个立即成功退出的命令,因此该用户无法登录
passwd tunneluser

2024-07-10T10:36:54.png

SSH 远程端口转发

ssh -R
先在一号机器上执行命令连接到二号机器

xfreerdp /u:grace.brooks /p:Vrgr6062 /v:thmjmp2.za.tryhackme.com

在二号机器上执行

ssh -R 13389:thmiis.za.tryhackme.com:3389 -N grace.brooks@10.50.98.17
  • 从二号机器连接到一号机器(10.50.98.17)的SSH服务器。
  • 在一号机器上开放13389端口(我们用33389以避免可能的端口冲突)。
  • 将连接到一号机器13389端口的流量转发到三号机器(thmiis.za.tryhackme.com)的3389端口。
  • -N 表示不执行远程命令,只建立端口转发。
    2024-07-10T10:37:21.png
    此时,一号机器会开放一个端口13389

    $ netstat -tnpl | grep 13389
    tcp        0      0 127.0.0.1:13389         0.0.0.0:*               LISTEN      25810/sshd: tunneluser
    tcp6       0      0 ::1:13389               :::*                    LISTEN      25810/sshd: tunneluser

    在一号机器上执行命令,即可连接到三号机器的RDP

    xfreerdp /u:t1_thomas.moore /p:MyPazzw3rd2020 /v:127.0.0.1:13389

    2024-07-10T10:38:31.png
    上图中10.200.100.201是三号机器的IP,10.200.100.249是二号机器的IP

SSH 本地端口转发

ssh -R
在一号机器上执行

ssh -L 23389:thmiis.za.tryhackme.com:3389 grace.brooks@thmjmp2.za.tryhackme.com -N

将三号机器的3389端口转发到本地的23389,通过机器二作为跳板机
此时一号机器上的端口通信情况

$ netstat -tnpl | grep 23389
tcp        0      0 127.0.0.1:23389         0.0.0.0:*               LISTEN      29025/ssh           
tcp6       0      0 ::1:23389               :::*                    LISTEN      29025/ssh 

现在可以在一号机器通过命令,连接到三号机器

xfreerdp /u:t1_thomas.moore /p:MyPazzw3rd2020 /v:127.0.0.1:23389

SSH 动态端口转发

跳板机上执行

ssh tunneluser@10.50.98.17 -R 29050 -N

或者在攻击机上执行

ssh -D 10800 -C -q -N grace.brooks@thmjmp2.za.tryhackme.com
Last modification:July 10, 2024
请我喝瓶冰阔落吧