Categories
Hacking Tutorial

Cosa fare quando puoi solo “leggere”

Se si potesse aver accesso in lettura a qualsiasi file di un sistema Windows Server 2003 che cosa si potrebe fare?
E se fosse ancora più difficile? Se non aveste modo di fare directory listening e non sapere che file ci siano dietro una directory, come fareste a leggerli?

Ho imparato questi tricks in un test di sicurezza dove c’era un web server con directory traversal che mi ha permesso di leggere qualsiasi file, seppur non avevo alcun modo di verificare se un file esistesse. Inizialmente ho aperto il file boot.ini e win.ini per provare verificare che avessi accesso, ma poi dovevo ottenere qualcosa di più sostanzioso. Normalmente, con l’indicizzazione delle directory, avrei dovuto aver accesso  alle directory degli utenti, ma non potevo andare alla cieca, avevo bisogno di concentrarsi sui file di sistema che sapevo esistessero.

IIS era installato, ma mostrava solo il valore predefinito “Under Construction” di default. A questo punto ho esaurito il tempo e sono  passato al prossimo obiettivo, felice di aver ottenuto almeno un proof of concept della vulnerabilità.

Ero a conoscenza che ci sono liste per effettuare LFI, ma eseguire un elenco di path e files usando bruteforce contro una web app non è molto “stealth”, preferivo andare avanti con le mie conoscenze, quindi fare il minor rumore possibile e lasciare poche tracce.

Per trovarmi preparato per la prossima volta ho chiesto raccomandazioni sulla mailing list PaulDotCom, qualcun altro poi ha iniziato un secondo thread chiedendo la stassa cosa ma su un sistema Linux. Entrambi abbiamo ottenuto buone risposte, così pensai che avrei dovuto documentare i risultati.

Windows

*File comuni della webapp:

  • c: inetpub wwwroot index.asp – ed altre varianti.
  • web.config in ogni directory che si sta navigando
  • c: windows system32 logfiles HTTPERR httperr1.log
  • c: system32 inetsrv Metabase.xml

*   File del NET framework – c:. Windows microsoft.net Framework
*   Uno sguardo rapido sulle le autorizzazioni sull’utente Administrator:

  • c: Documents and Settings Administrator Ntuser.ini
  • c: Documents and Settings Administrator Desktop desktop.ini

Linux

* Chiavi SSH:

  • authorized_keys
  • id_rsa
  • id_rsa.keystore
  • id_rsa.pub
  • known_hosts

Se riesci ad ottenere il file known_hosts è possibile utilizzare questo strumento da XME per decodificarlo – http://blog.rootshell.be/2010/11/03/bruteforcing-ssh-known_hosts-files/
* Come per i file sopra, ma questa volta, ci spostiamo nella directory  .Gnupg

  • gpg.conf
  • pubring.gpg
  • pubring.gpg~
  • random_seed
  • secring.gpg
  • trustdb.gpg

* Alcune voci dalla proc che potrebbero essere utili:

  • / proc / mounts
  • / proc / config.gz
  • / proc / self / fd / fd [0-9] *

* Altre cose nella directory home degli utenti:

  • .bash_history
  • .mysql_history
  • .my.cnf

This article has been translated. Original source: http://www.digininja.org/blog/when_all_you_can_do_is_read.php

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.