Похек
16.6K subscribers
2.09K photos
110 videos
243 files
3.07K links
All materials published on the channel are for educational and informational purposes only.

Мнение автора ≠ мнение компании, где работает автор

Чат: @poxek_chat

Реклама: @szybnev или
https://telega.in/c/poxek

РКН: https://clck.ru/3FsVhp
Download Telegram
Forwarded from Monkey Hacker
JWT header parameter injections

Согласно спецификации JWS, обязательным является только параметр alg. Однако на практике заголовки JWT часто содержат несколько других параметров. Следующие из них представляют особый интерес для нас.

jwk (JSON Web Key) - Предоставляет встроенный объект JSON, представляющий ключ.

jku (JSON Web Key Set URL) - Предоставляет URL, по которому серверы могут получить набор ключей, содержащих правильный ключ.

kid (Key ID) - предоставляет идентификатор, который серверы могут использовать для определения правильного ключа в случаях, когда есть несколько ключей на выбор. В зависимости от формата ключа, он может иметь соответствующий параметр kid.

Как вы видите, эти контролируемые пользователем параметры указывают серверу-получателю, какой ключ использовать при проверке подписи.

Спецификация JSON Web Signature (JWS) описывает дополнительный параметр заголовка jwk, который серверы могут использовать для встраивания своего открытого ключа непосредственно в сам токен в формате JWK.

{
{
"kid": "ed2Nf8sb-sD6ng0-scs5390g-fFD8sfxG",
"typ": "JWT",
"alg": "RS256",
"jwk": {
"kty": "RSA",
"e": "AQAB",
"kid": "ed2Nf8sb-sD6ng0-scs5390g-fFD8sfxG",
"n": "yy1wpYmffgXBxhAUJzHHocCuJolwDqql75ZWuCQ_cb33K2vh9m"
}
}


В идеале серверы должны использовать только ограниченный белый список открытых ключей для проверки подписей JWT. Однако неправильно настроенные серверы иногда используют любой ключ, встроенный в параметр jwk.

Вы можете использовать это поведение, подписав модифицированный JWT с помощью собственного закрытого ключа RSA, а затем вставив соответствующий открытый ключ в заголовок jwk.
Хотя вы можете вручную добавить или изменить параметр jwk в Burp, расширение JWT Editor предоставляет полезную функцию, которая поможет вам проверить эту уязвимость:

Сгенерируйте новый ключ RSA.

Отправьте запрос, содержащий JWT, в Burp Repeater.

Измените пэйлоад токена по своему усмотрению.

Выберите Embedded JWK. Когда появится запрос, выберите только что сгенерированный RSA-ключ.

Отправьте запрос, чтобы проверить, как ответит сервер.

Вы также можете выполнить эту атаку вручную, добавив заголовок jwk самостоятельно. Однако вам также может понадобиться обновить параметр kid заголовка JWT, чтобы он соответствовал kid встроенного ключа. Встроенная атака расширения сделает этот шаг за вас.
This media is not supported in your browser
VIEW IN TELEGRAM
🦀skanuvaty🦀

Современный оптимизированный фаззер на Rust для поиска субдоменов и ip адресов.

Для начала вам нужно будет установить Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Далее вам нужно будет скачать репозиторий и сбилдить инструмент:
git clone https://github.com/Esc4iCEscEsc/skanuvaty; cd skanuvaty; cargo build --release

Далее советую вам переместить его в папку к остиальным приложениям
sudo mv target/release/skanuvaty /bin/

БОНУС
skanuvaty-parse
- bash скрипт для упрощения парсинга output файла)

#!/bin/bash
cat $1 | jq -r ".subdomains[].name" | sort

Далее выдаёте права на запуск и перемещаете к фаззеру
sudo chmod +x skanuvaty-parse; sudo mv skanuvaty-parse /bin/

Использование:
skanuvaty
 --target google.com --concurrency 16 --subdomains-file /usr/share/dnsrecon/subdomains-top1mil-20000.txt
skanuvaty-parse skanuvaty.output.json

Готово!
🔥7
Атаки на 1с-битрикс | Часть 1 | Разведка 🤓

Что делать есть по всем известной методичке ненадох в плане уязвимостей?
Как-то раз я выступал тему как ломать 1с-битрикс сайты у друзей @RESOLUTEATTACK на youtube канале Доклад
И обсудил некоторые моменты, давайте преображу их в текст и вкратце обсудим что делать

Самописные php скрипты
Допустим вы развернули сайт на битриксе и ходите сделать что-то типа информационного сайта
По дефолту у битрика есть шаблоны, но их приходится переписывать и писать что-то своё
Таким образом и появляются самописные php скрипты с использованием api bitrix и возможно с небезопасно написанным кодом

Где такое найти?
🟢AJAX - чаще используют концепцию SPA(Single page application) когда с основной страницы по одному клику может выскочить к примеру форма подписки на рассылку
В таком случае достаточно порыться в коде элемента и собрать ряд js скриптов и собрать информацию с основной страницы, искать можно по словам типа: ajax, $.get, $.post, XMLHttpRequest
И заметить что в js скрипте есть php файл к которому идет ajax, также можно заметить какие query string параметры ему передаются и через какой http метод

🟢Фаззинг - достаточно запустить какой нибудь ffuf, wfuzz, dirsearch с расширением файла php и найти самописный скрипт

🟢JS файлы - покопавшись в коде панели разработчика или отрыв js скрипт с фаззинга можно открыть их в браузере и поискать на слова типа: .php, .inc, .inc.php

ЧТНП | #исследования #web
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Атаки на 1с-битрикс | Часть 2 | Атака🤓

Атака на самописы
Когда вы обнаружили список самописных скриптов и определились какие query string параметры они принимают, можно протестировать на ряд уязвимостей в зависимости от функционала скрипта
К примеру, если это подписка на рассылку, значит он будет ожидать email адрес, оттуда и можно построить вектор атаки и потестировать к примеру на XSS таким пэйлоадом: mail(<script>alert(0)</script>)@gmail.com
Полный список трюков по email можно глянуть тут

🟢Атака Mass Assignment
Программные фреймворки или скрипты иногда позволяют разработчикам автоматически привязывать параметры HTTP-запроса к переменным кода программы или объектам, чтобы упростить использование этого фреймворка или скрипта. Иногда это может причинить вред
Мы можем использовать эту методологию для добавления новых параметров, которые разработчик не предполагал, что, в свою очередь, создает или перезаписывает объекты в программном коде
Это называется Mass Assignment

Таким образом мы можем поискать скрытые параметры и потестить их на любые уязвимости
Список утилит для поиска скрытых параметров:
➡️X8
➡️ParamSpider
➡️Arjun
➡️ParamMiner

ЧТНП | #web #исследования
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
nuclei & nuclei templates

Я думаю многие из нас знают такой великолепный инструмент, как nuclei. Для тех кто все еще не знаком, проведу краткий ликбез:
nuclei - opensource инструмент автоматизации пентеста. Который написан на go, что обеспечило ему неплохую производительность даже на крупном скоупе. Сканирование происходит по template'ам. Эти шаблоны может написать любой юзер. Синтаксис шаблонов достаточно прост для проверки и эксплуатации комплексных CVE.

Установка:
sudo apt install -y nuclei

go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest

brew install nuclei

Использование:
nuclei -h

Вывести список всех загруженных шаблонов
nuclei -tl

Базовое использование
nuclei -t название_шаблона -l scope.txt
nuclei -t cves -u example.com

Классический список шаблонов выглядит следующим образом. Но ведь не обязательно использовать только эти популярный шаблоны) Поэтому я нашел для вас репозиторий, где собраны самые интересные репозитории с шаблонами для nuclei.

#tools
🔥7
Forwarded from Private Shizo
This media is not supported in your browser
VIEW IN TELEGRAM
💥CyberGhostVPN - the story of finding MITM, RCE, LPE in the Linux client
This article discloses the vulnerabilities that were present in the CyberGhostVPN Linux 1.3.5 client (and versions below). The latest version of the CyberGhostVPN Linux client is now free from these vulnerabilities.
Всем эффективного дня! Помню, что у меня на канале много интернов и джунов. Ребят, про вас никто не забыл)
Что вам интересно почитать из обучающего контента?

#пообсуждаем
cyber-security.pdf
235.9 KB
Cyber Security Expert

Step by step guide to becoming a Cyber Security Expert in 2023

#попросьбампросящих
6
🔥4🌚2
Просто интересные pdfэфочки
Повышение_привилегий_на_узлах_локальной_сети_в_ОС_Windows.pdf
7.5 MB
Лекция по повышению привилегий Windows и т.п. боль

#попросьбампросящих
🫡5👏1
Ещё материал про горизонтальное перемещение в Windows

#попросьбампросящих
Forwarded from CyberSecrets
Боковое перемещение: WMI

Windows Management Interface (WMI) одна из самых старых технологий управления Windows. Для взаимодействия использует RPC на 135 порту и требует привилегии локального администратора.

WMI позволяет запускать процессы на удаленном хосте. Можно воспользоваться утилитой wmic. И хотя Microsoft сообщало, что утилита будет удалена из операционной системы она еще встречается.

wmic /node:comp.domain.local /user:domain\user /password:Qwerty123 process call create "C:\Windows\System32\calc.exe"


Или использовать cmdlet Get-WmiObject

$process = Get-WmiObject -query "SELECT * FROM Meta_Class WHERE __Class = 'Win32_Process'" -namespace "root\cimv2" -computername comp1
$results = $process.Create( "calc.exe" )


Встроенные в Windows средства не позволяют получить интерактивную оболочку и удобнее использовать другие механизмы RDP и PSRemoting или воспользоваться сторонними утилитами, которые предоставляют интерактивный режим, например, wmiexec, invoke-wmiexec, wmishell и другие.

С моей точки зрения WMI не самый удобный механизм для бокового перемещения, но это отличный инструмент для сбора информации на удаленном хосте. Например, аналог команды netstat будет следующим:

Get-WmiObject -Namespace ROOT\StandardCIMV2 -Class MSFT_NetTCPConnection -ComputerName comp| Select-Object LocalAddress, RemoteAddress, RemotePort, State


#Внутрянка #RedTeam #PurpleTeam
🔥3