Имитация фишинга в SET

Beginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь имитировать фишинговую атаку с использованием Social Engineer Toolkit (SET), чтобы понять методы сбора учетных данных. Вы научитесь устанавливать SET, создавать фальшивые страницы входа и захватывать учетные данные, чтобы проанализировать, как злоумышленники используют человеческие уязвимости.

В ходе этого упражнения вы получите практический опыт в клонировании фишинговых страниц и мониторинге учетных данных, что позволит вам увидеть, как легко пользователей можно обмануть, чтобы они раскрыли конфиденциальную информацию на поддельных веб - сайтах.


Skills Graph

Установка SocialEngineer Toolkit

На этом этапе вы установите SocialEngineer Toolkit (SET) — мощный открытый фреймворк для пенетрационного тестирования, разработанный для социально - инженерных атак. SET предоставляет различные векторы атаки, такие как сбор учетных данных, фишинговые кампании и многое другое. Для начинающих важно понимать, что SET является законным инструментом безопасности, используемым профессионалами для тестирования уязвимостей системы, а не для злонамеренных целей.

  1. Сначала убедитесь, что вы находитесь в каталоге по умолчанию. Именно здесь мы будем скачивать и устанавливать SET, чтобы организовать хранение файлов:

    cd ~/project
  2. Клонируйте репозиторий SET с GitHub. Эта команда скачивает последнюю версию SET с официального источника:

    git clone https://github.com/trustedsec/social-engineer-toolkit.git
  3. Перейдите в каталог SET. После скачивания необходимо войти в папку, где был установлен SET:

    cd social-engineer-toolkit
  4. Установите SET с помощью установщика Python. Команда 'sudo' предоставляет нам административные привилегии, необходимые для установки, а 'python3' гарантирует, что мы используем правильную версию Python:

    sudo python3 setup.py install
  5. Подождите, пока установка завершится. Этот процесс может занять несколько минут, так как он устанавливает все необходимые компоненты. Вы должны увидеть вывод, похожий на следующий:

    [*] Social Engineer Toolkit (SET) has been installed.
    [*] You can now launch setoolkit by typing 'setoolkit' in your terminal.
  6. Проверьте установку, проверив версию SET. Это подтверждает, что SET был установлен правильно и показывает, какую версию вы используете:

    setoolkit --version

    Вы должны увидеть вывод, показывающий номер установленной версии, что означает, что SET готов к использованию.

Настройка фишинговой страницы

На этом этапе вы настроите фишинговую страницу с использованием Social Engineer Toolkit (SET) для имитации атаки по сбору учетных данных. Фишинг — это распространенная кибер - атака, при которой злоумышленники создают фальшивые страницы входа для воровства учетных данных пользователей. SET позволяет легко продемонстрировать, как это работает в контролируемой среде.

Мы создадим фальшивую страницу входа, которая имитирует популярный сервис. Эта склонированная страница будет выглядеть идентично реальному веб - сайту, но любые введенные учетные данные будут захвачены нашей системой, а не отправлены на настоящий сервис.

  1. Сначала убедитесь, что вы находитесь в каталоге SET. Именно здесь на вашей системе установлен инструментарий:

    cd ~/project/social-engineer-toolkit
  2. Запустите инструментарий SET с правами суперпользователя. SET требует административных прав для настройки сетевых параметров и веб - сервисов:

    sudo setoolkit
  3. В меню SET мы перейдем к опциям атаки:

    • Выберите 1) Social-Engineering Attacks (Атаки на основе социально - инженерных методов) — это основная категория фишинговых атак.
    • Затем выберите 2) Website Attack Vectors (Векторы атаки на веб - сайты) — мы создаем фальшивый веб - сайт.
    • Выберите 3) Credential Harvester Attack Method (Метод атаки по сбору учетных данных) — мы целеуказанно нацеливаемся на учетные данные для входа.
    • Выберите 2) Site Cloner (Клонирование сайта) — мы скопируем дизайн существующего веб - сайта.
  4. Когда вас попросят ввести IP - адрес для обратной отправки (POST back), нажмите Enter, чтобы использовать значение по умолчанию (IP - адрес вашей виртуальной машины). Именно сюда будут отправлены украденные учетные данные.

  5. Введите URL - адрес для клонирования (мы будем использовать демонстрационный сайт). В реальной ситуации это будет целевой веб - сайт, который вы имитируете:

    https://example.com
  6. SET склонирует страницу и настроит фишинговую атаку. В процессе клонирования будут скопированы HTML, CSS и изображения веб - сайта, чтобы он выглядел аутентичным. Вы должны увидеть вывод, похожий на следующий:

    [*] Cloning the website: https://example.com
    [*] This could take a little bit...
    [*] Files have been imported to the Apache web root.
  7. Фишинговая страница теперь настроена и готова к размещению (мы сделаем это на следующем этапе). На данном этапе SET создал точную копию целевого сайта, которая будет захватывать любые учетные данные, введенные в его форму входа.

Размещение фальшивой страницы

На этом этапе мы сделаем вашу фишинговую страницу доступной в сети, разместив ее с помощью веб - сервера Apache. Apache — это популярный веб - сервер, который будет доставлять вашу фальшивую страницу входа любому, кто посетит IP - адрес вашей виртуальной машины. Именно так работают реальные фишинговые атаки: злоумышленники имитируют легитимные веб - сайты на серверах, контролируемых ими.

  1. Сначала необходимо установить Apache, если он еще не установлен на вашей системе. Выполните эту команду, чтобы обновить список пакетов и установить Apache:

    sudo apt-get update && sudo apt-get install -y apache2

    Флаг -y автоматически подтверждает установку, так что вам не нужно вручную одобрять ее.

  2. После установки проверьте, запущен ли Apache, с помощью следующей команды:

    sudo service apache2 status

    Если служба не запущена (что часто бывает после свежей установки), запустите ее с помощью команды:

    sudo service apache2 start
  3. Social Engineer Toolkit (SET) автоматически сохраняет файлы вашей фишинговой страницы в каталоге по умолчанию веб - сервера Apache. Давайте убедимся, что эти файлы существуют:

    ls /var/www/html

    Вы должны увидеть index.html (основную фишинговую страницу), а также другие файлы, которые делают страницу аутентичной, такие как изображения и таблицы стилей из склонированного сайта.

  4. Чтобы другие могли получить доступ к вашей фишинговой странице, вам нужно знать IP - адрес вашей виртуальной машины. Найдите его с помощью команды:

    hostname -I

    Запишите этот IP - адрес (мы будем ссылаться на него как на YOUR_VM_IP), так как вам понадобится он для тестирования и передачи фишинговой ссылки.

  5. Перед тем, как передать страницу, протестируйте ее локально, чтобы убедиться, что она корректно загружается:

    curl http://localhost

    Эта команда получает содержимое страницы. Вы должны увидеть HTML - вывод, соответствующий склонированному сайту. Если вы получаете ошибку, возможно, Apache не работает корректно.

  6. Ваша фишинговая страница теперь активна и доступна по адресу:

    http://YOUR_VM_IP

    Каждый, кто находится в вашей сети и посетит этот адрес, увидит вашу фальшивую страницу входа.

  7. Оставьте Apache запущенным — не закрывайте терминал и не останавливайте службу. На следующих этапах мы будем использовать эту размещенную страницу для сбора учетных данных, когда жертвы введут свои данные.

Захват учетных данных

На этом этапе вы узнаете, как фишинговые атаки захватывают учетные данные для входа, имитируя как точку зрения злоумышленника, так и жертвы. Когда жертвы неосознанно вводят свои данные на фальшивых страницах входа (например, на той, которую мы создали ранее), SET сохраняет эти конфиденциальные сведения для злоумышленника.

  1. Сначала убедимся, что SET все еще запущен после предыдущей настройки. Если вы закрыли его или сессия истекла, нам нужно перезапустить инструмент. Это гарантирует, что наш фишинговый сервер активен и ожидает подключений жертв:

    cd ~/project/social-engineer-toolkit
    sudo setoolkit
  2. Теперь настроим SET для захвата учетных данных. В главном меню SET последовательно выберите следующие опции:

    • 4) Create a Payload and Listener (Создать полезную нагрузку и прослушиватель) — это подготовит SET к приему данных.
    • 2) Website Attack Vectors (Векторы атаки на веб - сайты) — мы сосредотачиваемся на атаках, основанных на веб - технологиях.
    • 3) Credential Harvester Attack Method (Метод атаки по сбору учетных данных) — целеуказанно нацеливается на учетные данные для входа.
    • 1) Web Templates (Веб - шаблоны) — использует готовые шаблоны фишинговых страниц.
  3. Оставьте это окно терминала открытым — SET теперь активно отслеживает сетевой трафик и ожидает, пока жертвы отправят свои учетные данные через нашу фальшивую страницу входа.

  4. Давайте имитируем действия жертвы. Откройте новую вкладку терминала (Ctrl+Shift+T в большинстве Linux - окружений) и используйте curl для отправки тестовых учетных данных на наш локальный фишинговый сервер. Это имитирует то, что происходит, когда кто - то заполняет и отправляет форму входа:

    curl -X POST -d "username=testuser&password=Test123!" http://localhost
  5. Сразу же проверьте окно терминала SET. Вы должны увидеть подтверждение, что учетные данные были захвачены, отображаемое в таком простом формате:

    [*] WE GOT A HIT!
    Username: testuser
    Password: Test123!
  6. SET автоматически записывает все захваченные учетные данные для последующего просмотра. Чтобы увидеть полный журнал атаки, включая наш тестовый ввод, выполните команду:

    sudo cat /var/lib/set/logs/set.log
  7. В журнале будут отображены ваши тестовые учетные данные, а также точное время их захвата. В реальных атаках этот файл будет содержать все успешно полученные фишинговым способом учетные данные за определенный период времени.

Просмотр захваченных данных

Теперь, когда вы завершили имитацию фишинговой атаки, давайте рассмотрим результаты. На этом последнем этапе вы узнаете, как получить доступ к данным, собранным Social Engineer Toolkit (SET), и как их интерпретировать, а также как правильно очистить тестовую среду, чтобы соблюдать наилучшие практики безопасности.

  1. Сначала мы посмотрим полный журнал SET, который содержит все захваченные учетные данные в исходном формате. Этот файл хранится в защищенной системной директории, поэтому нам нужно использовать sudo:

    sudo cat /var/lib/set/logs/set.log

    Эта команда отображает содержимое основного журнала SET, где все захваченные учетные данные автоматически сохраняются во время имитации фишинговой атаки.

  2. Для лучшей организации и удобства дальнейшего использования создадим рабочую копию этих данных в вашей проектной директории. Также изменим владельца файла на вашу учетную запись в лабораторной среде:

    cd ~/project
    sudo cp /var/lib/set/logs/set.log captured_credentials.txt
    sudo chown labex:labex captured_credentials.txt

    Команда chown гарантирует, что у вас есть правильные разрешения для работы с этим файлом без необходимости использовать sudo в последующих операциях.

  3. Теперь давайте посмотрим отформатированный отчет, который мы только что создали:

    cat captured_credentials.txt

    Вы должны увидеть структурированный вывод, похожий на этот пример, показывающий захваченные учетные данные, а также временные метки и информацию о источнике:

    [*] 2023-11-15 14:30:22 - Credentials captured:
    Username: testuser
    Password: Test123!
    IP Address: 127.0.0.1
  4. Важно очистить тестовую среду после завершения упражнения. Это удалит созданную нами фишинговую страницу и остановит веб - сервер:

    sudo rm /var/www/html/index.html
    sudo service apache2 stop

    Эти команды гарантируют, что не останется никаких остаточных тестовых материалов, которые могут представлять угрозу безопасности.

  5. Наконец, давайте документируем наши результаты, создав сводный отчет, в котором будет подсчитано, сколько учетных данных было захвачено:

    echo "Phishing Test Results" > test_summary.txt
    echo "Total credentials captured: $(grep -c 'Username' captured_credentials.txt)" >> test_summary.txt
    cat test_summary.txt

    Это создаст простой отчет, показывающий общее количество пар учетных данных, захваченных во время вашего теста. Команда grep -c подсчитывает, сколько раз слово 'Username' встречается в файле с захваченными данными.

Резюме

В этой лабораторной работе вы узнали, как имитировать фишинговые атаки с использованием Social Engineer Toolkit (SET). Процесс включал установку SET, настройку фишинговых страниц для сбора учетных данных и клонирование целевых веб - сайтов для создания обманчивых интерфейсов входа.

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