Cybred
9.78K subscribers
402 photos
35 videos
100 files
611 links
Download Telegram
Jenkins Attack Vector

Jenkins, an open-source automation server, is widely utilized for building, deploying, and automating any project, making it a valuable target for Advanced Persistent Threat (APT) actors. Understanding the attack vectors and surfaces within Jenkins is crucial to safeguarding the platform and protecting organizational assets. This article delves into the potential attack vectors and surfaces within Jenkins, providing insights into securing your CI/CD pipeline.
Баг на бесконечные деньги

Такие логические ошибки часто встречается на сервисах, которые проводят расчеты: банки, биржи, казино, магазины и не только. В этот раз уязвимость была найдена на сайте известной букмекерской конторы и являлась цепочкой из двух этапов.

1. Валидация на стороне клиента
Нашлась при ставках на одиночные события (одинары). Когда игрок выбирает исход и выигрывает деньги, умноженные на коэффициент, если он сбудется.

Коэффициент на событие был 1.28, ставки были от $0.1. Отправляя запрос на сервер, можно было сделать ставку, которая меньше этого числа, но больше нуля.

Отправил $0.007 — в ответе получил "gain": 0.01. Значение gain — это сумма, которую можно выиграть.

Посчитаем руками
$0.007 (ставка) * 1,28 (коэффициент) = $0.00896 (выигрыш) ~ $0.01

Gain округлилось в большую сторону. Теперь проверим сам вектор, о котором я говорил в начале статьи.

2. Алгоритм округления

А что будет с другими значениями?

Попробуем отправить $0.003, в ответе получаем "gain": 0.00.

$0.003 (ставка) * 1.28 (коэффициент) = $0.00384 ~ $0 (выигрыш)

А здесь уже в меньшую. О чем это говорит?

О том, что значение округляется по разному. Давайте поставим $0.004. Сервер отвечает "gain": 0.1.

Посчитаем
$0.004 (ставка) * 1.28 (коэффициент) = $0.00512 ~ $0.01 (выигрыш)

В ответе также возвращается еще одно значение, amount. Это деньги, которые мы поставили. Сервер вернул "amount": 0.00, так как округлил не только выигрыш, но и нашу ставку в меньшую сторону тоже!

$0.004 (значение, отправленное клиентом)
"amount": 0.00 (ставка, по мнению сервера, округление к меньшему)
"gain": 0.1 (выигрыш, округление к большему)

Мы сделали ставку, но не потратили деньги. И выиграем $0.1, если она сыграет. Можно делать бесконечное количество ставок бесплатно (с условием, что они будут меньше $0.005) и получать за это награду (если сумма выигрыша будет больше 0.005), не тратя ни копейки.
https://github.com/r4wd3r/Suborner

A simple program to create a Windows account you will only know about :)

Create invisible local accounts without net user or Windows OS user management applications (e.g. netapi32::netuseradd)
Works on all Windows NT Machines (Windows XP to 11, Windows Server 2003 to 2022)
Impersonate through RID Hijacking any existing account (enabled or disabled) after a successful authentication
This media is not supported in your browser
VIEW IN TELEGRAM
https://hackerone.com/reports/1274695

RCE of Burp Scanner / Crawler via Clickjacking

Красиво
https://github.com/last-byte/PersistenceSniper

Powershell-модуль для Blue Team, предназначенный для поиска всех методов закрепления, которые хакер использовал на взломанной машине.

Умеет находить 52 техники, начиная от распространенных способов с реестром, заканчивая специфичной Suborner-атакой.
This media is not supported in your browser
VIEW IN TELEGRAM
https://blog.pksecurity.io/2023/10/04/microsoft-office.html

В Microsoft Office можно вставлять видео с Youtube, Microsoft Stream и SlideShare. После того, как ты указал ссылку, загружаются метаданные (разрешение, превью и заголовок), а дальше и сам ролик.

Над валидацией ссылок потрудились и проверяют их такой регуляркой https?://(www\.)?youtube\.\w{2,3}/.*|https?://(www\.)?youtube-nocookie\.\w{2,3}/.*|https?://youtu\.be/.*|https?://(player\.)?vimeo\.com/.*|https?://(\w+\.)?slideshare\.net/.*|https?://(\w+\.)?microsoftstream\.com/.*. , а вот про метаданные, как всегда, забыли.

Ролик с названием " onload="alert()" вызовет безобидный alert() через Edge Webview, window.open("calculator://") — калькулятор, а заголовок, в котором будет указан протокол ms-msdt: порой может привести и к RCE.
https://github.com/mdulin2/head_req_server

@app.route("/unsafe", methods=["GET", "POST"]) 
def log_in_unsafe():
if(request.method == "GET"):
print("GET")
return "GET"
else:
print("POST")
return "POST"

Код уязвим, хоть этого и не видно на первый взгляд. Есть интересная особенность, связанная с обработкой запросов — большинство современных веб-фреймворков автоматически интерпретируют HEAD-запросы, как GET.

Эндпоинт на самом деле принимает не только GET и POST, но и и OPTIONS, и HEAD, хотя мы это и не указывали в коде. Программист допускает ошибку, потому что не знает об этой логике. А злоумышленник, отправив HEAD-запрос, сможет запустить сценарий, предназначенный для POST-запроса.

Но как быть с CSRF? Подключаемые библиотеки для проверки CSRF-токенов, такие как Flask-WTF (самый известный) не проверяют их в HEAD-запросах, поэтому такую логику можно использовать:
— для обхода CSRF
— для обхода CORS

Благодаря этой особенности, в Github была найдена уязвимость на $25000.
"Это фейк, больше нечего добавить", - сказали в пресс-службе Альфа-банка.

Хактивистами из KibOrg и NLB получено более 30 млн клиентов "фейкового" банка, вместе со следующими данными:
ФИО клиента
дата рождения
контакты (email, номер телефона)
номер банковской карты (PAN)
дата истечения срока действия карты
номер банковского счета

Среди клиентов - подсанкционный Фридман и его сын Александр Ожельский, Артемий Лебедев, Тимур Юнусов и Василий Вакуленко.
Самый уязвимый сервер

В 2021 году исследователь Джошуа Роджерс обнаружил 55 уязвимостей в популярном кэширующем прокси-сервере Squid. С тех пор прошло два года, — за это время разработчики исправили только 20 из них, а для остальных до сих пор нет патчей или иных способов защиты.

Уязвимости были найдены с помощью фаззинга, ручной проверки кода и статического анализа. Для каждой из них есть PoC. Не смотря на это, разработчики сервера жалуются на нехватку ресурсов и предлагают присылать патчи самим пользователям.

Список проблем, которые можно прямо сейчас гарантированно эксплуатировать в Squid 5.0.5:
Stack Buffer Overflow in Digest Authentication
Use-After-Free in TRACE Requests
Partial Content Parsing Use-After-Free
X-Forwarded-For Stack Overflow
Use-After-Free in Cache Manager Errors
Memory Leak in CacheManager URI Parsing
Memory Leak in HTTP Response Parsing
Memory Leak in ESI Error Processing

все остальные перечислено тут
EDR Evasion Techniques using Syscalls
OSINTEarth

OSINTEarth is a pioneering platform that serves as your comprehensive directory of public record lookup resources from all around the world. Our mission is straightforward: to provide you with easy access to websites and tools that enable you to search for public records. We're your roadmap to transparency and information access.

Новая карта сервисов для OSINT. Более сотни ссылок на сайты, разбитые по разным странам
https://blog.projectdiscovery.io/nuclei-v3-featurefusion

Вышел Nuclei v3!

В новом обновлении известного сканера уязвимостей добавили:
Code Protocol - возможность использовать в темплейтах скрипты на Python, bash и Javascript. Теперь, помимо базовых конструкций для нахождения и эксплуатации уязвимостей, можно писать сложную логику для пост-эксплуатации, а еще вызывать другие инструменты (например, sqlmap).
Template Signing & Verification - возможность подписывать собственные шаблоны с помощью ECDSA, и проверять чужие. Базовые nuclei-templates уже подписаны командой ProjectDiscovery.
Multi-Protocol Engine - теперь можно писать проверки, состоящие из нескольких шагов, и для разных протоколов. Например, сначала найти новые поддомены, а потом попробовать проэксплуатировать Subdomain Takeover.

Примеры шаблонов с использованием новых возможностей:
Fingerprint SSH Server (SSH Protocol)
CVE-2020-0796 (aka SMBGhost)
MS SQL Server Credential Stuffing
Redis Password Bruteforce
SSH Credential Stuffing

В ближайшем будущем команда планирует написать DSL v2 и расширить поддержку фаззинга (заголовок, тело и многое другое).
https://github.com/p0dalirius/ExtractBitlockerKeys

Скрипт для автоматического извлечения ключей восстановления BitLocker из домена.

Возможности:
Получение списка всех компьютеров с помощью LDAP.
Итерация по полученным данным с использованием многопоточности.
Экспорт результатов в JSON/XLSX/SQLITE3 с полными именами компьютеров, доменом, идентификаторами томов и ключами восстановления

Пример использования
./ExtractBitlockerKeys.py -d 'domain.local' -u 'Administrator' -p 'Podalirius123!' --dc-ip 192.168.1.101

Использовать при постэксплуатации для восстановления зашифрованных данных.