Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
icebreaker — Получает открытые текстом учетные данные Active Directory, если вы находитесь во внутренней сети, но за пределами среды AD. | Kitploit
Инструменты/GitHubGitHub/danmcinerney/icebreaker
Взлом паролейРазведкаАнализ уязвимостейПост-эксплуатацияТестирование на ПроникновениеRed Teaming
GitHubdanmcinerney/icebreaker

icebreaker

Получает открытые текстом учетные данные Active Directory, если вы находитесь во внутренней сети, но за пределами среды AD.

Репозиторий
1.2k1597 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

icebreaker

Прорвите лёд в той милой среде Active Directory. Когда вы холодны и одиноки, глядя на вечеринку Active Directory, но не имеете ни одного учётного данного AD, чтобы присоединиться к веселью, этот инструмент для вас.

Последовательно автоматизирует 5 внутренних сетевых атак против Active Directory, чтобы предоставить вам учётные данные в открытом виде. Используйте опцию --auto для автоматического получения привилегий администратора домена после получения точки опоры.

Сводные сведения

Следующие атаки выполняются последовательно, пока четвёртая и пятая атаки не начнут выполняться параллельно и бесконечно.

  • Обратный перебор
    • Автоматически получает список имён пользователей и проверяет каждого с двумя наиболее распространёнными паролями AD (более двух попыток могут вызвать политики блокировки учётной записи)
  • Загрузка на сетевые ресурсы
    • Перехватывает пароли пользователей с помощью вредоносных загрузок файлов на доступные сетевые ресурсы
  • Отравление широковещательных сетевых протоколов
    • Использует общие сетевые протоколы, чтобы обмануть компьютеры пользователей и заставить их отправлять пароли вам
  • Атака «человек посередине» на SMB-соединения
    • Выполняет удалённое выполнение команд на компьютерах AD для сбора паролей
  • Отравление IPv6 DNS
    • Использует DNS, чтобы обмануть компьютеры AD и заставить их отправлять пароли своих пользователей вам

Технические детали

Все хеши NetNTLMv2, захваченные в описанных ниже методиках, автоматически взламываются с помощью JohnTheRipper и списка паролей, специфичного для AD, длиной 1 миллион.

  • Обратный перебор
    • Использует rpcclient для поиска хостов, принимающих пустые SMB-сессии
    • Использует ridenum для поиска действительных имён пользователей через RID-циклирование на хостах с пустыми SMB-сессиями
    • Может использовать theHarvester для сбора дополнительных потенциальных имён пользователей с указанного интернет-домена
    • Выполняет обратный перебор по 2 паролям для найденных имён пользователей, или вы можете указать собственный список паролей
    • Проверяемые пароли по умолчанию: P@ssw0rd и <текущий_сезон><год>, например, Spring2018
  • Загрузка SCF
    • Использует Nmap для поиска анонимно доступных для записи сетевых ресурсов с помощью NSE-скрипта smb-enum-shares
    • Записывает SCF-файл на ресурс с путём к значку файла, указывающим на вашу машину
    • Когда пользователь AD открывает ресурс в проводнике, его хеш NetNTLMv2 отправляется вам
  • Отравление LLMNR/NBTNS/mDNS
    • Использует Responder.py для отравления широковещательных/многоадресных сетевых протоколов уровня 2 (LLMNR, NBT-NS, mDNS) и захвата хешей NetNTLMv2
  • Ретрансляция SMB
    • Использует ntlmrelayx.py и Responder.py для ретрансляции SMB-хешей
    • Использует Nmap для выявления уязвимых целей ретрансляции с помощью NSE-скрипта smb-security-mode
    • Уязвимые цели будут иметь включённый SMBv1 и отключённую подпись SMB
    • Успешная ретрансляция хеша приведёт к захвату хеша NetNTLMv2 пользователя, который будет автоматически взломан
    • Если хеш пользователя ретранслируется на машину и этот пользователь является локальным администратором, произойдёт выполнение команды и будут удалённо выполнены следующие действия:
      • Добавление административного пользователя - icebreaker:P@ssword123456
      • Запуск обфусцированной и обходящей AMSI версии Mimikatz
      • Вывод Mimikatz анализируется на наличие хешей NTLM и паролей в открытом виде
      • Запуск обфусцированной и обходящей AMSI версии Invoke-PowerDump для получения хешей SAM
      • Вывод анализируется на наличие хешей NTLM
  • Отравление IPv6 DNS
    • Использует mitm6 и ntlmrelayx.py для отравления IPv6 DNS с целью захвата хешей пользователей NetNTLMv2
    • Создаёт поддельный WPAD-сервер с аутентификацией
    • IPv6 DNS включён по умолчанию в средах Active Directory
    • Примечание: это может вызвать проблемы с сетевым подключением у пользователей

Как это работает

Он выполнит указанные выше 5 сетевых атак по порядку. Обратный перебор и загрузка SCF-файлов обычно выполняются довольно быстро, затем он задерживается на атаке 3 (Responder.py) на 10 минут по умолчанию. После этого времени (или заданного пользователем времени) он переходит к двум последним атакам, которые выполняются параллельно и бесконечно.

Если будут обнаружены хосты, допускающие пустые SMB-сессии, icebreaker использует ridenum для выполнения RID-циклирования с целью получения действительных имён пользователей. Если вы используете опцию "-d <somedomain.com>", theHarvester соберёт все адреса электронной почты с указанного веб-сайта. Любые имена пользователей электронной почты, совместимые с AD, будут добавлены в список имён пользователей для обратного перебора. Icebreaker использует библиотеку asyncio для выполнения обратного перебора с помощью linux-инструмента rpcclient, используя 10 асинхронных рабочих процессов.

Атака с загрузкой SCF использует файлы команд оболочки (Shell Command Files) для анонимно доступных для записи сетевых ресурсов. SCF — это файлы, которые могут выполнять базовые действия, такие как отображение рабочего стола или открытие окна проводника. У них есть любопытное свойство: можно установить значок файла на сетевой путь. Если вы установите этот сетевой путь на свою собственную машину, пользователи, открывающие общий файловый ресурс в проводнике, автоматически отправят вам хеш своего пароля NetNTLMv2. Icebreaker использует скрипт Nmap smb-enum-shares для поиска анонимно доступных для записи ресурсов, затем автоматически генерирует и загружает полезный SCF.

Атака 3 использует Responder.py для отравления многоадресных/широковещательных протоколов LLMNR, NBT-NS и mDNS. Когда пользователи переходят по несуществующему сетевому пути, Responder сообщает им, что ваша атакующая машина является правильным путём. Хеш пароля NetNTLMv2 пользователя теперь ваш. Responder захватит хеши, отправленные через атаку SCF, но следующая атака обычно более полезна для захвата хешей SCF, поскольку она может использовать хеш для выполнения команд.

Ретрансляция SMB — это старая сетевая атака, при которой злоумышленники занимают позицию между SMB-клиентом и SMB-сервером. Это позволяет злоумышленникам захватывать и ретранслировать хеши NetNTLMv2 на хосты, на которых включён SMBv1 и отключена подпись SMB. ntlmrelayx.py из библиотеки Impacket используется для ретрансляции, а Responder.py используется для атаки «человек посередине» на SMB-соединения. Если у пользователя SMB-клиента есть права администратора на любом хосте в сети с отключённой подписью SMB, ntlmrelayx.py выполнит команду на этом хосте.

Как только ntlmrelayx ретранслирует захваченный хеш, он запускает команду PowerShell в кодировке base64, которая сначала добавляет административного пользователя (icebreaker:P@ssword123456), затем запускает обфусцированную и обходящую AMSI версию Mimikatz, а затем обфусцированную и обходящую AMSI версию Invoke-PowerDump. Вывод Invoke-Mimikatz и Invoke-PowerDump анализируется на наличие паролей в открытом виде или хешей NTLM и передаётся пользователю в стандартный вывод, а также в файл found-passwords.txt. Хеши NTLM, в отличие от хешей NetNTLMv2, могут использоваться так же, как пароль в открытом виде для аутентификации на других хостах AD. Единственное предостережение: после исправления Microsoft KB2871997 только встроенная учётная запись локального администратора с RID 500 может использоваться в атаках pass-the-hash.

Последняя атака использует инструмент mitm6 для выполнения атаки «человек посередине» на IPv6 DNS против всей сети. Это заставляет хосты в сети использовать машину атакующего в качестве своего DNS-сервера. После того как он становится их DNS-сервером, атакующий отдаёт вредоносные файлы настроек WPAD-прокси жертвам и собирает их хеши NetNTLMv2. Эти хеши ретранслируются с помощью ntlmrelayx.py для последующего удалённого выполнения кода. Стоит отметить, что эта атака часто вызывает проблемы в сети. Она часто вызывает ошибки сертификатов на клиентских машинах в браузере. Также она, вероятно, замедлит сеть. Однако прелесть этой атаки в том, что среды Windows AD уязвимы по умолчанию.

Если icebreaker запущен с флагом --auto [tmux/xterm], то по достижении атаки 4 icebreaker запустит Empire и DeathStar в сеансе tmux или окнах xterm. При этом варианте вместо запуска mimikatz на удалённом хосте, на который был ретранслирован хеш, icebreaker добавит административного пользователя, а затем запустит код запуска PowerShell от Empire для получения агента на удалённой машине. DeathStar использует этого агента для автоматизации процесса получения прав администратора домена. Empire и DeathStar не закроются при выходе из icebreaker.

Взлом паролей выполняется с помощью JohnTheRipper и пользовательского списка слов. Источник этого списка — merged.txt, который содержит все пароли из учётной записи SecLists GitHub, объединённые вместе. Список слов был сокращён и не включает пароли: только строчные, только прописные, только символы, короче 7 символов, длиннее 32 символов. Эти правила соответствуют требованиям к паролям Active Directory по умолчанию и сократили список с 20 миллионов до чуть более 1 миллиона, что делает взлом паролей чрезвычайно быстрым.

Установка

От root:

root@kitploit:~
./setup.sh
pipenv install --three
pipenv shell

Вы можете получить ошибку после запуска pipenv install. В этом случае обновитесь до версии pipenv выше 11.9.0. Вы можете склонировать pipenv с github и просто выполнить apt-get remove python-pipenv && python setup.py install из папки.

Использование Docker

В образе Docker ещё есть несколько ошибок, так что он, скорее всего, выдаст ошибку, но он почти готов. Из Git-репозитория:

root@kitploit:~
docker build --rm -t danmcinerney/icebreaker .
docker run danmcinery/icebreaker

Или добавьте команды, которые вы обычно добавляете в icebreaker (не забудьте сопоставить тома):

root@kitploit:~
docker run -v $(pwd)/logs:/icebreaker/logs -v $(pwd)/hashes:/icebreaker/hashes -v $(pwd)/icebreaker-scan.xml:/icebreaker/icebreaker-scan.xml -v $(pwd)/submodules:/icebreaker/submodules -e PYTHONUNBUFFERED=0 danmcinerney/icebreaker -x icebreaker-scan.xml

Примечание: Вам потребуется сопоставить порты для слушателей с помощью флага Docker -p <host>:<container>.

Использование

Запускать от root. Читает из списка IP-адресов, разделённых новой строкой (отдельные IP-адреса или диапазоны CIDR), и вместо того, чтобы ntlmrelayx добавлял пользователя и запускал mimikatz на жертве после ретрансляции хеша, выполняет пользовательскую команду на машине жертвы. В этом примере мы даём команду, похожую на ту, которую Empire мог бы дать нам для однострочного запуска PowerShell.

./icebreaker -l targets.txt -c "powershell -nop -w hidden -exec bypass -enc WwFk..."

Читает из списка хостов, указывает Responder использовать интерфейс eth0 вместо интерфейса шлюза по умолчанию, позволяет Responder работать 30 минут вместо обычных 10 и запускает команды ntlmrelayx после ретрансляции по умолчанию для снятия SAM с сервера жертвы.

./icebreaker -l targets.txt -i eth0 -t 30 -c default

Использовать выходной XML-файл Nmap, пропустить все пять атак, а также не выполнять автоматический взлом хешей, и использовать собственный список паролей для атаки обратного перебора (обратите внимание, что в этом примере пропускается атака 1 с помощью '-s rid', поэтому указанный список паролей даже не будет использован; это просто пример).

./icebreaker.py -x nmapscan.xml -s rid,scf,llmnr,relay,dns,crack -p /home/user/password-list.txt

Использование «запустил и забыл»: ввести файл целей, собрать адреса электронной почты с companydomain.com для добавления в атаку обратного перебора, пропустить отравление IPv6 DNS mitm6, и запустить Empire и DeathStar в окнах tmux или xterm после начала атаки 4 для автоматического получения прав администратора домена. Цель этого использования — запустить команду в понедельник в 9 утра, а затем уйти на короткий непрерывный перерыв до пятницы 16:30, когда мы вернёмся к ожидающей нас оболочке администратора домена. Мы пропускаем атаку 5 (mitm6), потому что она иногда вызывает проблемы в сети, и мы не хотим, чтобы разгневанные клиенты прерывали наш заслуженный перерыв.

./icebreaker.py -l targets.txt -d companydomain.com -s dns --auto [tmux/xterm]

Скачать инструмент