giovedì 16 febbraio 2012

hes2010 level0 writeup

Quando si inizia un wargames fabbricato da Steven della overthewire.org, si deve prendere in esame il fatto che non si riuscirà a finirlo... Da quanto ne so, nessuno l'hai mai finito veramente questo wargames, dove l'ultimo livello prende come oggetto la tesi di laurea dello stesso Steven... Tra l'altro sempre molto disponibile ad indirizzarvi sulla strada giusta... O almeno in parte... Non svela mai la soluzione, però qualche consiglio lo da...

Per finire questo livello ho preso come esempio questa pagina qui:

http://www.justanotherhacker.com/2011/05/htaccess-based-attacks.html

Spiega come attaccare un server web modificandone il file .htaccess... Proprio il file qui presente è stato da me preso come .htaccess... Senza stare a preoccuparmi di avere una shell non interattiva...

Per prima cosa si deve pensare come google... Quindi ho letto il file robots.txt presente nella index del sito... Al suo interno si trovano importanti informazioni... La pagina upload.php non viene mostrata normalmente... Ma inserendo l'indirizzo completo nella barra degli indirizzi(http://192.168.66.66/upload.php) si arriva a questa pagina... Qui si presenta un form per caricare determinati file... All'inizio avevo provato a caricare direttamente un file php ed ottenere una shell... Ma non lo accetta...

Quindi con l'ausili di firebug, nota estensione di firefox, sono andato a leggere il codice html relativo al form e l'ho modificato secondo le mie esigenze... Il problema nasceva nell'uploading del file a cui il server cambiava nome ed estensione... Così ho messo ciò che più mi piaceva... Php non era accettato, ma perl e sh si... Questa strada però si è rilevata errata... Non portava da nessuna parte... Quindi da qui l'attacco all'.htaccess...

Usando quel codice, ho creato un file con dentro quel codice, preoccupandomi che durante l'upload il server lo rinominasse .htaccess... E così è stato... Adesso avevo una variabile c da impostare a mio piacimento...

Quindi ho dato un 'http://192.168.66.66/upload/.htaccess?c=ls -lah /etc/pass' ed ho scoperto che la cartella george era accessibile da www-data, cioè l'utente in mio possesso... Così ho dato un 'http://192.168.66.66/upload/.htaccess?c=cat /etc/pass/george' per ottenere la sua password impossibile, infatti non si può pensare di attaccare l'utente george tramite hydra, perchè quella password non è attaccabile tramite dizionario...

Nessun commento: