本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的《Kali Linux 渗透测试》课程
1. 简介
-
基于 DNS 查询的隧道工具
-
与同类工具相比的优点
- 对下行数据不进行编码,因此性能优
- 支持多平台:Linux、BSD、Mac OS、Windows
- 最大16个并发链接
- 支持同网段隧道IP(不同于服务器、客户端网段)
- 支持多种 DNS 记录类型
- 丰富的隧道质量检测措施
-
运行服务器端
- iodined -f -c 10.0.0.1 test.lab.com
- -f:前段显示(可选)
- -c:不检查客户端地址
- IP:服务器端的隧道IP地址(不同于服务器主机IP和客户端主机IP,此IP仅用于隧道之间,在隧道的两道构成独立的网段)
-
运行客户端
- 指定IP:局域网内部的本地 DNS 服务器
- iodine -f test.lab.com
- curl --socks5-hostname 127.0.0.1:7001 http://www.sina.com
-
隧道网络接口
- 不基于资源的通用隧道,如同本网段内两台相邻的主机
- 隧道两端接口的IP地址应不同于客户端和服务器端网段
- 基于此隧道可嵌套其他隧道技术
- ssh -CfNg -D 7001 root@10.0.0.1
-
安装 TAP 网卡驱动
https://openvpn.net/index.php/open-source/downloads.html
- 只安装 TAP Virtual Ethernet Adapter 和所有依赖包
-
Windows 客户端
- iodine -f test.lab.com
-
建立 SSH 隧道
2. 测试环境
-
m0n0wall
桥接 && hostonly
192.168.1.10 && 1.1.1.1 -
win_2003
桥接:192.168.1.124 DNS 服务器 委派
-
LAN_DNS
hostonly:1.1.1.111 本地 DNS 服务器
-
kali 服务端
桥接:192.168.1.14 运行服务器端程序 -f:前段显示(可选) -c:不检查客户端地址 IP:服务器端的隧道IP地址(不同于服务器主机IP和客户端主机IP,此IP仅用于隧道之间,在隧道的两端构成独立的网段) root@kali:~# iodined -f -c 10.0.0.1 test.lab.com Enter password:pass123
ifconfig 发现多了一块网卡(新建的虚拟网卡,隧道独立使用的网段)
-
xubuntu 客户端
hostonly:1.1.1.12 root@lamp:~# cat /etc/resolv.conf
root@lamp:~# iodine -f 10.0.0.6 test.lab.com Enter password: pass123
root@lamp:~# iodine -f test.lab.com
ifconfig 发现多了一块网卡(新建的虚拟网卡,隧道独立使用的网段)
-
供局域网代理上网设置(嵌套隧道)
建立 ssh 动态转发代理 root@lamp:~# ssh root@10.0.0.1 root@10.0.0.1's password:toor(kali 的主机密码) root@kali:~# ssh -fgCN -D 7001 root@10.0.0.1 root@10.0.0.1's password:toor(kali 的主机密码)
-
局域网内部主机
浏览器设置 1.1.1.12:7001 (xubuntu 的 IP)
3. Windows 客户端
-
Windows 客户端
- http://code.kryo.se/iodine/
- iodine -f test.lab.com
-
建立 SSH 隧道
C:\iodine>iodine.exe -f test.lab.com
-
浏览器设置代理
查看发现本机侦听 7001 端口
浏览器设置代理