Записки потомственного it'шника
275 subscribers
509 photos
40 videos
204 files
1.65K links
Краткость — сестра таланта.
Автоматизация — мать порядка.
Ransomware'щики — боги.
Батя — программист over 80+ level.
Мать — бухгалтер, соскачившая с цифр на контдитерские изделия.
Ну а я — бакалавр ИБ по собственной воле.
Update: уже магистр.
Download Telegram
Forwarded from Real profit
mindgraph: proof of concept prototype for generating and querying against a large knowledge graph with ai
https://github.com/yoheinakajima/mindgraph
Forwarded from Похек (Сергей Зыбнев)
Поиск неизвестных уязвимостей с помощью фаззинга Nuclei v3.2
#nuclei #projectdiscovery #fuzzing

🛠 Недавно была добавлена поддержка многих новых функций. Если пересказать кратко, то:
- Поддержка аутентификации
- Расширенная поддержка фаззинга
- Поддержка импорта HTTP-запросов (Burp, JSONL, MultiDoc YAML или генерация с помощью API схем OpenAPI, Swagger)
Пример: nuclei -l bugbounty-proxify.yaml -im yaml -t fuzz/
- Поддержка LDAP
- И пачка bugfix'ов

В этом же посте мы разберём 2 и 3 пункты.

Пример запроса:
POST /reset-password?token=x0x0x0&source=app HTTP/1.1
Host: 127.0.0.1:8082
User-Agent: Go-http-client/1.1
Cookie: PHPSESSID=1234567890
Content-Length: 23
Content-Type: application/json
Accept-Encoding: gzip
Connection: close

{"password":"12345678"}

Практически каждое поле мы можем фаззить (query, path, header, cookie, body).

У нас есть некоторые правила, по которым мы можем это делать:
prefix - Добавить полезную нагрузку в качестве префикса к значению
postfix - Добавить полезную нагрузку в качестве постфикса к значению
replace - Заменить значение на полезную нагрузку
infix - Добавить полезную нагрузку в качестве инфикса к значению (инфикс - это нагрузка, вставленная по середине значения)
replace-regex - Заменить значение на нагрузку с помощью regex

Возьмем за основу простую SQL инъекцию:
http:
...
payloads:
injection: # В этом разделе перечисляем полезные нагрузки
- "'"
...
fuzzing:
- part: query # Указываем какую часть запроса менять: query, path, header, cookie, body
type: postfix # Указываем одно из правил: prefix, postfix, replace, infix,replace-regex
mode: single # Указываем режим мутации: single, multiple
fuzz:
- '{{injection}}' # Переменная нагрузки


Если же мы импортируем запросы из BurpSuite к примеру, то нам не обойтись без фильтрации входящих запросов.
Для примера выберем тип DSL, но также существуют другие типы фильтров.
DSL - продвинутая фильтрация, с помощью, которой мы можем проверять длину запроса, статус код, хедеры, body и даже raw данные


Возьмем для примера простую проверку на то, что body не пустой и метод POST, condition: and значит, что оба условия должны быть TRUE
  - filters:
- type: dsl
dsl:
- method == POST
- len(body) > 0
condition: and


В итоге мы можем собрать Франкенштейна:
http:
# в начале мы отсеиваем запросы по перечисленным параметрам
- filters:
- type: dsl
dsl:
- method == POST
- len(body) > 0
condition: and
# тут указываем полезные нагрузки
payloads:
injection:
- "'"
- "\""
- ";"
# fuzzing rules
fuzzing:
- part: body # Говорим нукле тыкать body
type: postfix # Добавляем нагрузку в конце значения
mode: single # Говорим добавлять нагрузку только 1 раз
fuzz:
- '{{injection}}' # Вызываем полезные нагрузки из переменной


Данный функционал будет полезен не только пентестерам, но и DevSecOps'у. К примеру первые могут импортировать в nuclei запросы из burp suite и их фаззить. А вторые могут импортировать API схемы и также фаззить.

➡️ Оригинал статьи


👍 Дополнительный материал:
- Дока по fuzzing'у
- Дока с примерами фаззинг шаблонов
- Дока по фильтрам
- Дока по экстракторам

p.s. надеюсь на вашу поддержку, я постарался над написанием этого поста ❤️

🌚 @poxek
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from CyberSecurityTechnologies (-CST-)
Atropos.pdf
312.7 KB
#Fuzzing
#WebApp_Security
"Atropos: Effective Fuzzing of Web Applications for Server-Side Vulnerabilities", 2024.
Forwarded from linkmeup
Продолжаем изучать проекты, прячущие интересное в неочевидном.
В принципе, тут из названия понятно – DNS-Tunnel-Keylogger. Кейлоггер в виде сервера и клиента, сливающие, что вы там понажимали, через DNS-туннель.
https://github.com/Geeoon/DNS-Tunnel-Keylogger
Forwarded from CyberSecurityTechnologies (-CST-)
Keycloak.pdf
7.8 MB
#Tech_book
"Keycloak - Identity and Access Management for Modern Applications: Harness the power of Keycloak, OpenID Connect, and OAuth 2.0 to secure applications", Second Edition, 2023.
]-> https://github.com/PacktPublishing/Keycloak-Identity-and-Access-Management-for-Modern-Applications/tree/master
Forwarded from CyberSecBastion 📖
CNCF Supply Chain Security Tools Mappings

Google Docs
Forwarded from CyberSecurityTechnologies (-CST-)
RBF.pdf
1.3 MB
#Fuzzing
#WebApp_Security
"Sniping at web applications to discover input-handling vulnerabilities", 2024.
]-> https://github.com/NS-unina/Rule-Based-Fuzzer
Forwarded from GitHub Community
sslh — это мультиплексор ssl/ssh, который принимает соединения по указанным портам и пересылает их на основе тестов, выполненных для первого пакета данных, отправленного клиентом.

Он может проверять различные протоколы, такие как HTTP, TLS/SSL, SSH, OpenVPN,tinc, XMPP, SOCKS5 и другие. sslh можно использовать для обслуживания нескольких сервисов через порт 443, при этом обслуживая HTTPS на этом порту.

⤷ Ссылка на проект

📢GitHub | #SSL #SSH #Interesting
Please open Telegram to view this post
VIEW IN TELEGRAM
В ZAP😁 завезли client side поддержку!

Что это значит?
При посещении какого либо сайта часто видели такого формата URI🖥 в адресной строке браузера🦊🖥?

https://target.trgt/page#fragment
https://target.trgt/page/#fragment
https://target.trgt/page/#/fragment
https://target.trgt/page?foo=bar#fragment

А при пентесте прогоняя запросы через тот же ZAP😁 видели их в истории?
Наверняка нет. А все потому что часть URI🖥 идущая после #️⃣обрабатывается на стороне клиента. То есть в браузере🦊🖥.
То есть если вы даже руками в адресной строке поменяете часть после #️⃣, ваш браузер🦊🖥 никакого запроса на веб сервер🖥 и не отправит.
Эта часть называется URI fragment. Такое поведение описано в RFC 3986.

На этом принципе работают так называемые progressive web apps. Основной смысл заключается в том, часть после URI fragment обрабатывается минифицированными javascript🖥 кусками. И при нажатии на ту или иную кнопку, такой кусок отрисует вам другую страницу, заменив часть после #️⃣, и отправит запрос в API👣 в фоне для наполнения данными этой страницы.

По этому вы и не видите такие URI🖥 в ZAP😁.
Но прогресс не стоит на месте и разработчики создали специальный add-on, который будет добавлять специальное расширение в браузер🦊🖥 под управлением ZAP😁. Оно способно отслеживать такие URI🖥 и вести историю посещения таковых.

У меня добавить его напрямую из marketplace ZAP😁 не получилось, по этому качаем ручками с github🖥 из релизов расширений, и добавляем через вкладочку File по кнопочке load add-on File...
Выглядит это примерно следующим образом:
Pic. 1 — Client Map
Pic. 2 — Client History

Ссылки на доку:
Client side integration
Client Side Integration - Internals
Client Side Integration - Firefox Profile
Client Side Integration - Passive Scan Rules
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1