NetOuter
目的
一个无依赖可执行文件,能快速测试受害者端口出网情况,为后续建立代理隧道收集必要信息。
原理
tcp出网探测
根据tcp的特性,程序尝试对指定外网的ip:port建立tcp全连接,若连接建立,则认为该端口出网。
udp出网探测
根据udp的特性,基本无法从连接的角度确认出网情况。程序内置了一些常用udp端口的客户端库,针对不同的端口构造不同的基于udp的应用层协议的数据包并发送,如果接受到服务端的回复,则认为该端口出网。
dns隧道建立可能性探测
除了53端口直接出网,dns可以通过递归或者迭代查询间接出网构造dns隧道。程序会尝试本地dns解析,若解析成功,则可能构造dns隧道。
使用
target目录下文件
编译
make
最终文件在target/release
目录下
命令行用法
测试常规出网可能性 - 推荐
直接运行无需任何参数,默认会检测常见的几百个tcp端口,发现3个以上就不再检测了
NetOuter
在一个不出网的环境下完成这个测试大约需要2分钟
快速测试
要是你认为在的内网里基本不可能出网,懒得浪费时间就做一个快速check
NetOuter -quick
不做几百个默认tcp端口的测试会快不少,完全不出网环境大约40秒
tcp全端口探测
端口太多可能比较慢
当发现超过3个可出网端口就停止
全端口
NetOuter -tcp all
不出网环境下要将近7、8分钟
结果显示
在命令行打印结果的同时,结果也会同步到当前可执行文件的目录下output.log
文件里面
TODO
- UDP 162,623,520,10161,10162
- ipv6出网探测和逻辑
还有其他的出网方式就是基于代理出网 sock/http/https
这个需要信息收集,针对不同的机器收集路由和配置的代理ip端口用户密码