Esegui comandi cmd con attacco di attraversamento della directory http

1

Riepilogo domande:

Sto cercando di creare uno scenario di laboratorio in cui "l'attaccante" è destinato a eseguire un attacco trasversale di directory da una pagina HTML e spostarsi nelle directory di sistema di Windows. Posso iniettare comandi in CMD sulla vittima usando il browser web? Questo può anche essere fatto?

Dettagli:

  1. L'obiettivo è eseguire il prompt dei comandi di sistema sulla vittima e iniettare i comandi utilizzando le opzioni.
    • Esempio: cmd / c ping www.google.com ( questo post ha funzionato ma non riesco a farlo funzionare)
    • Non sono sicuro che ciò sia possibile utilizzando il set di caratteri disponibile in una stringa di URL.
  2. La mia stringa trasversale corrente appare come tale:

    • http://192.168.1.119/%5c../%5c../%5c../%5c../%5c/Windows/%5c/System32/%5c/cmd.exe
    • Se sostituisco in http://127.0.0.1/ sopra e poi lo eseguo dal sistema host / vittima, nel browser viene visualizzato un prompt per eseguire cmd.
    • Attualmente la pagina html viene eseguita da una cartella in "Documenti" anche se molto probabilmente verrà modificata.
  3. Il sistema di destinazione è Windows 7, 8 o Server 2012. (Attualmente si utilizza 8 per il test)

  4. La pagina Web vulnerabile viene eseguita da semplice web-server 1.2
    • Questa applicazione è progettata per essere sfruttata da un attacco trasversale.
  5. Ecco un video di YouTube che mostra un esempio dell'attacco eseguito su una macchina Windows XP che esegue il software vulnerabile sopra per accedere al file boot.ini.

Ho passato un bel po 'di tempo a cercarlo per vedere se è possibile farlo, ma non riesco a trovare informazioni specifiche sulla sintassi per iniettare comandi in cmd. Sembra che se dovessi ospitare il mio sito su un sistema Linux, l'aggressore potrebbe essere in grado di usare i comandi bash per eseguire l'attacco, ma non sono sicuro di Windows.

Sono abbastanza nuovo per tutto questo! Ho fatto IT / amministratore del sistema per un po ', ma non i test di penetrazione. Mi piacerebbe mantenerlo il più semplice possibile, ma sto imparando anche io! L'aiuto è molto apprezzato!

    
posta Shrout1 05.06.2015 - 17:14
fonte

2 risposte

1

La risposta è "no" non può essere eseguita, almeno non con un attacco di directory trasversale da solo. Ci sono diversi problemi qui.

1) Gli attacchi di attraversamento di directory dovrebbero essere bloccati dal server Web per cominciare. Ovviamente, dal momento che hai impostato un ambiente di laboratorio, hai il controllo e potresti averne eliminato la protezione.

2) Gli attacchi di attraversamento directory come quelli eseguiranno un GET HTTP. Ciò significa che recupererà solo i dati, non eseguirà qualcosa sul bersaglio. Per eseguire qualcosa sul target, sono necessarie ulteriori vulnerabilità che consentono di eseguire, ad esempio, un eseguibile arbitrario come script CGI.

3) Il test con 127.0.0.1 non è valido. In realtà ha scaricato cmd.exe e poi lo ha eseguito sul computer locale - dal momento che il download proviene da 127.0.0.1, non è stato possibile distinguere tra questi due scenari. Inoltre, 127.0.0.1 è probabilmente affidabile; probabilmente non saresti in grado di scaricare cmd.exe da nessun altro computer.

    
risposta data 10.06.2015 - 19:41
fonte
1

In MS00-078 era possibile attraversare il percorso ed eseguire comandi arbitrari semplicemente emettendo una richiesta GET malformata come

https://wahh-app.com/scripts/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\

Parametri analizzati dal backend del server Web dopo ? come argomenti della riga di comando.

    
risposta data 08.10.2018 - 08:35
fonte