ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Веб-уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   Gpt-4.0: помощник пентестера (https://forum.antichat.xyz/showthread.php?t=583391)

Местный 08.05.2024 00:28

Приветствую! Раз объявили конкурс статей, то почему бы не поучаствовать.
Специально для античат
Автор: KnightPentest

GPT 4.0
Это очень полезная нейронка для пентестера. В этой статье я продемонстрирую, как ее можно использовать на периметре.

https://forum.antichat.xyz/attachmen...5095934054.png

Анализируем исходники CMS
Наверное каждый из нас хоть раз пробовал взломать форум(во время ctf) на каком-нибудь популярном CMS(wordpress, joomla, etc.). Если нам доступны исходники форума/плагина/темы для форума, то мы можем их проанализировать и найти новую багу. Особенно, если движок непопулярный или плагин для форума, то вероятность крайне высокая, как минимум мы будем понимать есть ли смысл вообще пытаться подобрать уникальный ID или что-то в этом роде, иначе можно потерять кучу времени и уйти ни с чем. На самом деле я бы порекомендовал в первую очередь изучить движок форума vbulletion это максимально дырявый форум с огромной историей, есть кучу багов, которые находили комьюнити форума ачата. Даже максимально странные баги, когда пользователь мог зарегистрироваться от имени администратора, введя вместо буквы "a" условно Ⱥ из греческого алфавита/латинского(если я не ошибаюсь, т.к я помню, что удавалось зарегистрироваться под именем админа, но администрироваться нельзя было). Теперь перейдем к делу.
У меня для проведения пентеста есть форум на движке IP BOARD. Первое что я сделаю - это зарегистрируюсь...

https://forum.antichat.xyz/attachmen...5098726684.png

Приходит подтверждение почты

https://forum.antichat.xyz/attachmen...5099190396.png

Меня в первую очередь заинтересовала эта активация из-за текста в сообщении:

Цитата:


Подтверждение регистрации производится один раз и необходимо для повышения безопасности форума и защиты его от злоумышленников.


Так и намекает, чтобы мы проверили насколько это безопасно. В целом не очень хорошо, что ID пользователя всем подряд отображается, злоумышленники понимают уже, что более 30 тысяч юзеров есть в бд, т.к после каждой регистрации uid увеличивается на 1. Если юзеров много, то злоумышленник будет готов потратить больше времени на получения конфиденциальных данных (емейлов, паролей, документов). Первое, что сделал - это начал гуглить ip board скачать русификатор.

https://forum.antichat.xyz/attachmen...5099498342.png

После того, как были найдены исходники мне нужно было понять из чего формируется aid (секретный ключ, который необходим для подтверждения почты или сброса пароля). Если бы мы смогли его генерировать или подбирать, то смогли бы и захватить учетную запись администратора. В исходниках 100% есть строки в которых есть "aid" вот их и нужно найти. Воспользуемся утилитой grep.

Bash:


Код:

grep
-rl
"\baid\b"
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus

Получаем output в каких файлах есть "aid"

Bash:


Код:

output
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/admin/api/forums/api_topic_view.php
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/admin/applications/core/extensions/usercpForms.php
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/admin/applications/core/modules_public/global/lostpass.php
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/admin/applications/core/modules_public/global/register.php
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/admin/applications/core/xml/core_mobile_templates.xml
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/admin/applications/core/xml/core_root_templates.xml
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/admin/applications/core/xml/core_xmlskin_templates.xml
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/admin/applications/forums/modules_public/extras/stats.php
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/admin/applications/forums/xml/forums_mobile_templates.xml
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/admin/applications/forums/xml/forums_root_templates.xml
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/admin/applications/forums/xml/forums_xmlskin_templates.xml
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/admin/applications/members/sources/adminManage.php
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/admin/setup/sources/base/setup.php
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/ips_kernel/facebook-client/facebookapi_php5_restlib.php
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/ips_kernel/sabre/Sabre/DAV/Directory.php
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/ips_kernel/sabre/Sabre/DAV/File.php
//media/sf_Telegram_Desktop/IP.Board.v3.4.5_Nulled_Rus/upload/ips_kernel/sabre/Sabre/DAV/Node.php

На глаз уже видно, что исходники скорее всего лежат в /upload/admin/applications/core/modules_public/global/register.php или /upload/admin/applications/members/sources/adminManage.php но т.к мы не владеем php передадим все это дело в консольного GPT. Пусть он проанализирует и скажет как формирутеся aid.

https://forum.antichat.xyz/attachmen...5100043038.png

Далее он ищет уже в файлах конкретно строки в которых есть "aid"

https://forum.antichat.xyz/attachmen...5100087908.png

И он приходит к выводу, что aid создается через файл register.php и скидывает кусок исходного кода

https://forum.antichat.xyz/attachmen...5100185244.png

aid - это всего-лишь url параметр, который состоит из $validate_key. Теперь просим его узнать как создается validate_key

https://forum.antichat.xyz/attachmen...5100349250.png

PHP:


Код:

$validate_key
=
md5
(
IPSMember
:
:
makePassword
(
)
.
time
(
)
)
;

Теперь мы знаем из чего состоит validate_key то есть aid. Из функции makePassword() и time().
time — Возвращает текущую метку системного времени Unix, 10 символов. 10 лярдов комбинаций, чтобы подобрать это число... Уже можно понять, что aid бессмысленно брутфорсить. Чтобы узнать подробнее про функцию makePassword() отправимся в github
ipb.php тут исходный код функции.

PHP:


Код:

<?php

$key = md5( IPSMember::makePassword() . uniqid( mt_rand(), TRUE ) );

public static function makePassword() {
        $pass = "";
     
        $unique_id      = uniqid( mt_rand(), TRUE );
        $prefix        = IPSMember::generatePasswordSalt();
        $unique_id .= md5( $prefix );

        usleep( mt_rand(15000,1000000) );
     
        $new_uniqueid = uniqid( mt_rand(), TRUE );

        $final_rand = md5( $unique_id . $new_uniqueid );

        for ($i = 0; $i < 15; $i++) {
                $pass .= $final_rand{ mt_rand(0, 31) };
        }
        return $pass;
}

Делаем вывод, что секретный ключ не сбрутить. А GPT нам ускорил процесс поиска нужных функций в коде php.
Поиск POC/CVE через GPT

https://forum.antichat.xyz/attachmen...5101950126.png

Если вам нужен более точный ответ, то лучше задавайте вопрос на английском.

https://forum.antichat.xyz/attachmen...5102115440.png

Дальше можно легко перевести на русский язык. Чувствуете разницу?

https://forum.antichat.xyz/attachmen...5102410652.png

На ютубе есть обзор

Я повторил и получилось найти скулю, получить название бд

https://forum.antichat.xyz/attachmen...5102595321.png

Все версии <= 3.4.7 оказались уязвимыми.

https://forum.antichat.xyz/attachmen...5102880330.png

Сохраняйте журналы/статьи делайте из них конспекты

https://forum.antichat.xyz/attachmen...5111449405.png

https://forum.antichat.xyz/attachmen...5111481898.png

Создавайте схемы с помощью GPT

https://forum.antichat.xyz/attachmen...5112208873.png

https://forum.antichat.xyz/attachmen...5112476216.png

https://forum.antichat.xyz/attachmen...5112694204.png

https://forum.antichat.xyz/attachmen...5113331904.png

Вывод
Это лишь некоторые примеры, которые должны вам помочь. Надеюсь вы что-то подчеркнули для себя

teteshka 31.05.2024 15:09

Неплохой материал. Какую оболочку использовал для общения с GPT 4.0? Я так понимаю это по api от openai?

Местный 31.05.2024 15:51

Цитата:


teteshka сказал(а):

Неплохой материал. Какую оболочку использовал для общения с GPT 4.0? Я так понимаю это по api от openai?


API KEY OPENAI, openinterpreter

Местный 31.05.2024 15:54

Кстати, в дополнение GPT 4.0 в связке с openinterpreter может помочь найти copyright, где он формируется и удалить его будет гораздо проще.

x0001 29.06.2024 00:14

Интересная статья


Время: 18:37