Forwarded from PurpleBear (Vadim Shelest)
В своем докладе на прошедшем этой весной киберфестивале
В продолжении этой темы, мне на глаза попалась статья - Vulnerabilities in Open Source C2 Frameworks, в которой автор рассмотрел найденные баги для популярных и не очень С2 фреймворков:
🔴
Когда-то давно был моим фаворитом, а теперь там нашли довольно прикольную багу CVE-2024-41111 - RCE on the teamserver by a low-privileged operator, по сути command injection в аргумент для msfvenom, который Sliver использует для генерации msf stagers.
🔴
Набирающий популярность фреймворк на Go c 3 багами: CVE-2024-41570 - Unauthenticated SSRF, Authenticated Command Injection, Service API Authentication Bypass (детали в статье).
🔴
🔴
Unauthenticated RCE - еще одна интересная бага, эксплуатация которой заключается в том, что Situational awareness данные об архитектуре, домене, версии ОС передаваемые при отстуке beacon'a на сервер, используются в качестве параметра для компиляции модулей пост-эксплуатации.
🔴
Таким образом, все рассмотренные С2 фреймворки, за исключением
Positive Hack Days Fest 2 я рассказывал о том, почему важно обеспечивать комплексный подход к безопасности атакующей инфраструктуры. В том числе упоминал о серьезных узявимостях в различных С2 фреймворках с открытым исходным кодом.В продолжении этой темы, мне на глаза попалась статья - Vulnerabilities in Open Source C2 Frameworks, в которой автор рассмотрел найденные баги для популярных и не очень С2 фреймворков:
🔴
SliverКогда-то давно был моим фаворитом, а теперь там нашли довольно прикольную багу CVE-2024-41111 - RCE on the teamserver by a low-privileged operator, по сути command injection в аргумент для msfvenom, который Sliver использует для генерации msf stagers.
🔴
HavocНабирающий популярность фреймворк на Go c 3 багами: CVE-2024-41570 - Unauthenticated SSRF, Authenticated Command Injection, Service API Authentication Bypass (детали в статье).
🔴
Ninja С2, фреймворк на основе ликнутых исходников иранской APT Muddywater, отметился RCE через Unauthenticated Arbitrary File Download via path traversal веб сервера инструмента. 🔴
SHAD0WUnauthenticated RCE - еще одна интересная бага, эксплуатация которой заключается в том, что Situational awareness данные об архитектуре, домене, версии ОС передаваемые при отстуке beacon'a на сервер, используются в качестве параметра для компиляции модулей пост-эксплуатации.
🔴
Covenant, когда-то тоже был одним из моих фаворитов, подвержен Authenticated Command Injection и повышению привилегий до администратора через UI (детали в статье).Таким образом, все рассмотренные С2 фреймворки, за исключением
Mythic (о котором уже неоднократно писал ранее) подвержены серьезным узявимостям, которые ставят под угрозу безопасность атакующей инфраструктуры и как следствие обеспечивают потенциальным злоумышленникам доступ к данным и инфре тестируемой организации.Include Security Research Blog
Vulnerabilities in Open Source C2 Frameworks - Include Security Research Blog
Hacking Hackers - Even the software used by teams of offensive security professionals is prone to standard web application vulnerabilities.
Forwarded from Cybred
https://github.com/projectdiscovery/tldfinder
У ICANN, организации которая координирует работу корневых DNS, существует список со всеми существующими Top Level доменами. Помимо привычных
Вот 3 валидных примера:
— cloud.google
— design.google
— travel.google
Как говорил исследователь Jason Haddix на своем курсе Bug Hunter's Methodology Live Course
Чем больше TLD вы обнаружите, принадлежащих компании, тем больше вероятность того, что они содержат интересные уязвимости.
TLDFinder — новая утилита от Project Discovery и Mandiant создана специально, чтобы помочь вам в поисках таких доменов. Достаточно указать название компании, чтобы она нашла все необычные домены, которые принадлежат ей.
Использует пассивный сбор информации с сайтов Crtsh, netlas, bufferover, censys, github, dnsrepo, wayback machine.
Само исследование https://cloud.google.com/blog/topics/threat-intelligence/enumerating-private-tlds/
У ICANN, организации которая координирует работу корневых DNS, существует список со всеми существующими Top Level доменами. Помимо привычных
.com/.org/.net, в нем можно встретить и много необычных, о которых вы могли и не слышать, вроде .google, .gucci или .netflix, которыми управляют одноименные компании.Вот 3 валидных примера:
— cloud.google
— design.google
— travel.google
Как говорил исследователь Jason Haddix на своем курсе Bug Hunter's Methodology Live Course
: За каждый домен .apex, который вы найдете, у вас в 4 раза больше шансов взломать цель
Чем больше TLD вы обнаружите, принадлежащих компании, тем больше вероятность того, что они содержат интересные уязвимости.
TLDFinder — новая утилита от Project Discovery и Mandiant создана специально, чтобы помочь вам в поисках таких доменов. Достаточно указать название компании, чтобы она нашла все необычные домены, которые принадлежат ей.
Использует пассивный сбор информации с сайтов Crtsh, netlas, bufferover, censys, github, dnsrepo, wayback machine.
Само исследование https://cloud.google.com/blog/topics/threat-intelligence/enumerating-private-tlds/
GitHub
GitHub - projectdiscovery/tldfinder: A streamlined tool for discovering private TLDs for security research.
A streamlined tool for discovering private TLDs for security research. - projectdiscovery/tldfinder
Forwarded from Offensive Xwitter
😈 [ Adam Chester 🏴☠️ @_xpn_ ]
New tool published which is proving to be useful. Cred1py allows execution of the CRED-1 SCCM attack published by @Raiona_ZA over SOCKS5 UDP by wrapping the awesome PxeThiefy[.]py from @0xcsandker. Enjoy :)
🔗 https://github.com/SpecterOps/cred1py
🐥 [ tweet ]
New tool published which is proving to be useful. Cred1py allows execution of the CRED-1 SCCM attack published by @Raiona_ZA over SOCKS5 UDP by wrapping the awesome PxeThiefy[.]py from @0xcsandker. Enjoy :)
🔗 https://github.com/SpecterOps/cred1py
🐥 [ tweet ]
Forwarded from PurpleBear (Vadim Shelest)
LocaltoNet
В полку решений для построения туннелей из атакуемой инфраструктуры прибыло🙈
LocaltoNet - reverse proxy, легитимное назначение которого заключается в возможности прокинуть доступ к внутренним ресурсам в интернет. Но как и аналоги
🔴 Поддерживает HTTP/HTTPS c сертами Let's Encrypt, TCP/UDP
🔴 Мультиплатформенный (клиенты для Windows, Linux, MacOS, Android) + образ контейнера лежит на docker hub
🔴 Имеет документированное API и поддержку Webhooks
🔴 Умеет получать и отправлять SMS через телеграмм бота если установить их ПО на телефон🤯
🔴 Бесплатный для 1-го туннеля с ограничением 1GB Bandwidth или $2/мес за туннель без ограничений
🔵 Самый простейший способ детекта по логам DNS остлеживать обращения к
🔵 Отслеживать запуск ПО и аргументов в командной строке и в процессах по названиям бинарей. Но переименование бинарей и враперы + обфускация аргументов также сделает данный способ не эффективным.
🔵
🔵 Наиболее эффективным по моему мнению, будет анализ паттернов взаимодействия при аутентификации агента на проксе и написание правил для обнаружения на сетевом уровне на основе этой аналитики.
Таким образом, несмотря на то, что эти рекомендации исключительно общего характера (потому что халк-ломать только умеет🤣) так как не учитывают индивидуальные особенности инфраструктуры и разнообразие защитных решений, все же могут послужить отправной точкой в разработке способов своевременного обнаружения. А использование подобных инструментов во время проведения
В полку решений для построения туннелей из атакуемой инфраструктуры прибыло🙈
LocaltoNet - reverse proxy, легитимное назначение которого заключается в возможности прокинуть доступ к внутренним ресурсам в интернет. Но как и аналоги
ngrok, localxpose, tuna, xTunnel и прочие активно используются злоумышленниками в дикой природе для туннелирования трафика. Поэтому крайне важно обеспечить возможности своевременного обнаружения использования подобных инструментов в вашей инфраструктуре.🔴 Поддерживает HTTP/HTTPS c сертами Let's Encrypt, TCP/UDP
🔴 Мультиплатформенный (клиенты для Windows, Linux, MacOS, Android) + образ контейнера лежит на docker hub
🔴 Имеет документированное API и поддержку Webhooks
🔴 Умеет получать и отправлять SMS через телеграмм бота если установить их ПО на телефон🤯
🔴 Бесплатный для 1-го туннеля с ограничением 1GB Bandwidth или $2/мес за туннель без ограничений
🔵 Самый простейший способ детекта по логам DNS остлеживать обращения к
localtonet[.]com, *.localtonet[.]com, *.localto[.]net. Но за $2/мес можно использовать собственное доменное имя, что сделает данный способ обнаружения не эффективным.🔵 Отслеживать запуск ПО и аргументов в командной строке и в процессах по названиям бинарей. Но переименование бинарей и враперы + обфускация аргументов также сделает данный способ не эффективным.
🔵
Application whitelisting реализованный в том или ином виде справится лучше в качестве проактивной меры.🔵 Наиболее эффективным по моему мнению, будет анализ паттернов взаимодействия при аутентификации агента на проксе и написание правил для обнаружения на сетевом уровне на основе этой аналитики.
Таким образом, несмотря на то, что эти рекомендации исключительно общего характера (
Purple Teaming проверить насколько эффективны эти способы на практике😎Localtonet
Localtonet - Expose Localhost to Internet
Localtonet is a multi-protocol tunneling platform that securely exposes apps, APIs, devices, proxies, and AI agents to the internet without networking complexity.
Forwarded from s0i37_channel
Почти всегда при пентесте внешнего периметра можно встретить FTP-сервер. Протокол FTP имеет особенность - данные он передает через другой порт, как правило случайный. И для хакера от сюда следует две вещи.
Тк FTP для данных открывает случайный порт из верхнего динамического диапазона, то часто c DMZ пробрасывают почти весь динамический диапазон портов. Куда входит и DCERPC (49152,..). Всё что доступно через MSRPC пайпы на 99% доступно и через DCERPC-транспорт. А это значит, что на этих портах можно найти и OpenSCManagerW (services.py, smbexec.py, psexec.py), и SchRpcRegisterTask/SchRpcRun/SchRpcGetLastRunInfo (atexec.py) интерфейсы и подбирать к ним пароль. В случае успеха - RCE и захват сервера, в случае неудачи - DCERPC как минимум в своём negotiation разглашает имя домена и машины.
Специально для этого я сделал pull request в patator и теперь с помощью него можно раскручивать DCERPC.
Утилиты ifmap.py, rpcmap.py и auxiliary/scanner/dcerpc/management иногда могут возвращать rpc_s_access_denied, но это не предел, и тут мы можем применить patator.py:
Можем сразу посмотреть, на каком порту висит "перспективный" интерфейс:
и т.д.
В отличие от MSRPC, DCERPC как транспорт сам по себе не требует аутентификации и недоступные по MSRPC функции могут быть доступны по DCERPC. Поэтому на каждом порту и каждом интерфейсе можно проверить наличие анонимного доступа к каждой RPC-функции вызывая её opnum по-очереди:
Пример анонимного вызова IObjectExporter::ServerAlive2(), той самой что возвращает список сетевых интерфейсов:
И наконец сам брутфорс мы можем делать на любом интерфейсе, любом tcp-порту:
И еще. Иногда было замечено, что на DCERPC при аутентификации можно получать разные коды ошибок для существующих и не существующих пользователей. Тоже самое будет справедливо и для доменных учётных записей.
Возможность user enumeration ещё сильнее упростит проведение bruteforce атаки.
Вот столько всего можно выжать из безобидно торчащего 49152/tcp порта...
Тк FTP для данных открывает случайный порт из верхнего динамического диапазона, то часто c DMZ пробрасывают почти весь динамический диапазон портов. Куда входит и DCERPC (49152,..). Всё что доступно через MSRPC пайпы на 99% доступно и через DCERPC-транспорт. А это значит, что на этих портах можно найти и OpenSCManagerW (services.py, smbexec.py, psexec.py), и SchRpcRegisterTask/SchRpcRun/SchRpcGetLastRunInfo (atexec.py) интерфейсы и подбирать к ним пароль. В случае успеха - RCE и захват сервера, в случае неудачи - DCERPC как минимум в своём negotiation разглашает имя домена и машины.
Специально для этого я сделал pull request в patator и теперь с помощью него можно раскручивать DCERPC.
Утилиты ifmap.py, rpcmap.py и auxiliary/scanner/dcerpc/management иногда могут возвращать rpc_s_access_denied, но это не предел, и тут мы можем применить patator.py:
patator.py dcom_login host=10.0.0.15 port=49152 uuid=FILE0 0=/tmp/uuids.txt ver=FILE1 1=/tmp/vers.txt -t 1 -x ignore:code=-1 - получаем список UUID без аутентификации.Можем сразу посмотреть, на каком порту висит "перспективный" интерфейс:
patator.py dcom_login host=10.0.0.15 port=FILE0 0=/tmp/ports.txt uuid=367abb81-9844-35f1-ad32-98f038001003 ver=2.0 -t 1 -x ignore:code=-1 - где MS-SCMR (smbexec.py)patator.py dcom_login host=10.0.0.15 port=FILE0 0=/tmp/ports.txt uuid=86d35949-83c9-4044-b424-db363231fd0c ver=1.0 -t 1 -x ignore:code=-1 - где MS-TSCH (atexec.py)patator.py dcom_login host=10.0.0.15 port=FILE0 0=/tmp/ports.txt uuid=12345678-1234-abcd-ef00-0123456789ab ver=1.0 -t 1 -x ignore:code=-1 - где MS-RPRN (printerbug)patator.py dcom_login host=10.0.0.15 port=FILE0 0=/tmp/ports.txt uuid=c681d488-d850-11d0-8c52-00c04fd90f7e ver=1.0 -t 1 -x ignore:code=-1 - где MS-EFSR (petitpotam)и т.д.
В отличие от MSRPC, DCERPC как транспорт сам по себе не требует аутентификации и недоступные по MSRPC функции могут быть доступны по DCERPC. Поэтому на каждом порту и каждом интерфейсе можно проверить наличие анонимного доступа к каждой RPC-функции вызывая её opnum по-очереди:
patator.py dcom_login host=10.0.0.15 port=49158 uuid=12345778-1234-ABCD-EF00-0123456789AB ver=0.0 opnum=FILE0 0=/tmp/opnums.txt -t 1 -x ignore:mesg=rpc_s_access_denied - везде где вернулся rpc_x_bad_stub_data или success означает возможность вызвать RPC анонимноПример анонимного вызова IObjectExporter::ServerAlive2(), той самой что возвращает список сетевых интерфейсов:
patator.py dcom_login host=10.0.0.15 port=135 uuid=99fcfec4-5260-101b-bbcb-00aa0021347a ver=0.0 opnum=5И наконец сам брутфорс мы можем делать на любом интерфейсе, любом tcp-порту:
patator dcom_login host=1.2.3.4 port=49665 uuid=000001A0-0000-0000-C000-000000000046 ver=0.0 user=admin password=FILE0 0=passwords.txt -x quit:mesg=rpc_x_bad_stub_dataИ еще. Иногда было замечено, что на DCERPC при аутентификации можно получать разные коды ошибок для существующих и не существующих пользователей. Тоже самое будет справедливо и для доменных учётных записей.
patator dcom_login host=1.2.3.4 port=49665 uuid=000001A0-0000-0000-C000-000000000046 ver=0.0 user=FILE0 password=1 0=logins.txt -x ignore:mesg='Unknown DCE RPC fault status code: 00000721'Возможность user enumeration ещё сильнее упростит проведение bruteforce атаки.
Вот столько всего можно выжать из безобидно торчащего 49152/tcp порта...
Forwarded from BugXplorer (j b)
Forwarded from BugXplorer (j b)
Scan for CVE-2024-47176 (CUPS - Remote Code Execution) with Nuclei
Vulnerability discovery: https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I/
Nuclei Template: https://cloud.projectdiscovery.io/?template=CVE-2024-47176
Source: https://x.com/pdnuclei/status/1840195177098453308
Vulnerability discovery: https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I/
Nuclei Template: https://cloud.projectdiscovery.io/?template=CVE-2024-47176
Source: https://x.com/pdnuclei/status/1840195177098453308
Forwarded from vx-underground
Note:
Final update and confirmations:
The compromise has been confirmed via BleepinComputer and TroyHunt. 31,000,000 users impacted. There is no confirmed information on how the site was compromised. The Threat Actor(s) have been attributed to the compromise. More information is available on their respective social media platforms. More information will probably become available in the following hours or days.
Unrelated to the defacement and compromise, Sn_darkmeta claims to have been DDoSing Internet Archive. They state they're DDoSing the website because the United States government supports Israel and The Internet Archive belongs (?) to the United States.
Final update and confirmations:
The compromise has been confirmed via BleepinComputer and TroyHunt. 31,000,000 users impacted. There is no confirmed information on how the site was compromised. The Threat Actor(s) have been attributed to the compromise. More information is available on their respective social media platforms. More information will probably become available in the following hours or days.
Unrelated to the defacement and compromise, Sn_darkmeta claims to have been DDoSing Internet Archive. They state they're DDoSing the website because the United States government supports Israel and The Internet Archive belongs (?) to the United States.
Forwarded from Offensive Xwitter
😈 [ Daniel F. @VirtualAllocEx ]
I wanted to learn more about using content delivery networks (CDNs) in Azure in conjunction with an Nginx reverse proxy in the context of using Cobalt Strike as a C2 framework. As a result, I've written the following blog post.
🔗 https://redops.at/en/blog/cobalt-strike-cdn-reverse-proxy-setup
🐥 [ tweet ]
I wanted to learn more about using content delivery networks (CDNs) in Azure in conjunction with an Nginx reverse proxy in the context of using Cobalt Strike as a C2 framework. As a result, I've written the following blog post.
🔗 https://redops.at/en/blog/cobalt-strike-cdn-reverse-proxy-setup
🐥 [ tweet ]