Hscanner Public release 1.0 - Manual
Seb-Sb@caramail.com

Hscanner est un petit programme sous linux permettant de récupérer un certain nombre de ports ouverts sur un hôte,de brute forcer "bêtement" (une pensée émue à tous les arrierés mentaux qui n'ont pas compris pourquoi le principe du mot de passe avait été établi ...) via ftp ou pop3 ,d'émettre certaines requêtes (nfs,finger ...) ...

Disclaimer :

Ce programme a été réalisé à titre informatif.
Vous devez avoir le consentement des administrateurs qui ont la responsabilité des hôtes scannés.
Je ne suis en aucun cas responsable de l'utilisation que vous ferez de ce programme,ni des pertes de données quelconques qui pourrait en résulter.
Par ailleurs,vous êtes responsable des modifications qui auraient été apportées par d'autres personnes aux code source ( ajout de backdoor notamment...).

Fichiers compris dans l'archive hscanner-1.0.tgz
Installation
Utilisation
    1°) Configuration
    2°) Arguments de la ligne de commande
    3°) Sortie
    4°) Interruption
    5°) userdump.pl
Fonctions
    1°) PHP Abuse
    2°) SMTP Guessing
    3°) POP3 Brute Force
    4°) FTP Brute Force
    5°) NFS Report
    6°) Portmap Report
    7°) Finger report
    8°) Daemon report
Bugs

Fichiers

hscanner.html : ce fichier
hscanner.c      : code principal de hscanner
hscanner.h      : fichiers contenant toutes les sous-fonctions liées à l'exécution du programme
hsconfig.h       : fonctions liées à la configuration de hscanner
hscandef.h      : définitions des ports
userdump.pl   : script en perl d'extraction de login d'un fichier passwd.

Installation

L'installation se réalise juste en compilant hscanner.c :

Server:~$ cc hscanner.c -o hscan
Server:~$ _

Utilisation

Il est nécessaire d'être dans le repertoire de hscanner pour l'exécuter du fait de l'utilisation de fichier externes ...

1°) Configuration

hscanner nécessite le fichier hsanner.cfg pour fonctionner. Lorsque celui-ci n'existe pas,hscanner le crée automatiquement au démarrage en vous demandant quelles fonctions vous souhaitez activer. Pour le reconfigurer ultérieurement,le plus simple est d'effacer le fichier hscanner.cfg

2°) Arguments de la ligne de commande :

hscanner ne prend que deux arguments :
Le premier est soit -n,soit -l,soit -h : il conditionne le scan des ports .
-n : hscanner ne scanne pas les ports et passe directement aux autres fonctions.
-l : hscanner ne scanne qu'une dixaine de ports : 21,23,25,43,79,80,110,143,513,2049
-h : hscanner scanne alors une quarantaine de ports divers ... Le choix de ces ports est discutable ... A vous de reconfigurer cette liste si elle ne vous plait pas .

Le second argument est soit un fichier contenant une liste d'hôtes, soit un hôte simple .Si c'est une liste d'hôtes,ceci doivent être les uns à la suite des autres séparés par un caractère nul ou un retour chariot.

exemples :

Server:~$ ./hscan -h www.server.com
Server:~$ ./hscan -n hosts.txt

3°) Sortie :

hscanner va créer un fichier en suffixant .log a la fin du second argument et y consigner les résultats.
Certaines informations sont renvoyées vers la sortie d'erreur ,notamment le déroulement du programme .

Server:~$ hscan -l www.server.com
Server:~$ less www.server.com.log
...

4°) Interrutpion :

Vous pouvez à tout moment interrompre hscanner tout en conservant les résulats déja obtenus en utilisant la commande kill. Le signal SIGTERM est détourné afin de fermer le fichier de log et de quitter le prog .

5°) userdump.pl

C'est un petit script en perl qui permet d'extraire les logins d'un fichier passwd . Il sert notammment pour les fonctions de brute force . Il est par ailleurs automatiquement executé lors de la récupération d'un fichier passwd avec le bug php .

Server:~$ ./userdump.pl<passwdfile>user.brute

Fonctions :

Toutes ces fonctions ne se lancent que selon la manière dont vous avez configuré hscanner.

1°) PHP abuse

Cette fonction permet de récupérer le fichier passwd d'un hôte via le bug php. Afin d'éviter les fake php,hscanner récupère par ailleurs le fichier /etc/hosts et vérifie la présence de la chaîne localhost. Si celle-ci n'et pas présente,il suppose que le php.cgi est un fake mais mentionne quand même son existence .
Si le php est un vrai,hscanner crée un fichier www.server.com.passwd.php qui est le fichier passwd de www.server.com.

(certains remarqueront la présence de code pour récupérer le passwd via phf mais face à la profusion de fake phf ,j'ai préféré laisser cette fonction commentée .)

2°) SMTP Guessing

Cette fonction profite de la commande expn des serveurs stmp pour tenter de trouver des loins valides sur un système . Les logins essayés sont extraits du fichier user.smtp . La meilleure manière étant probablement d'y mettre des prénoms (dépendant du système scanné  ... norbert semble peu approprié sur un hôte chinois )

3°) POP3 Brute Force

Cette fonction extrait des logins du fichier user.brute et vérifie les combinaisons de login/password du type login/login. Dès qu'un login/password est découvert,celui-ci est consigné.

Hscanner se deconnecte et se reconnecte après chaque essai, c'est moche dans les logs mais malheureusement, tous les serveurs pop3 ne permettent plus d'essayer autant de tentatives de login/password que l'on veut ...

4°) FTP Brute Force

Idem que la fonction récédente mais via le serveur FTP.

5°) NFS report

Si le port NFS est ouvert,la commande showmount -e est lancée et la sortie consignée dans le fichier de log.

6°) Portmap report

idem mais avec la commande rcpinfo -p

7°) Finger report

idem mais avec la commande finger -l

8°) Daemon report

Récupère dans le fichier de log la première ligne renvoyée par le serveur ftp et smtp .

Bugs

Lors du scan d'un hôte simple,le programme se termine sur une segmentation fault; ça fait pas terrible mais le programme se déroule cependant entièrement .Je n'ai pas trouvé d'ou vient l'erreur .

Lors des tentatives de brute force via POP3, sur des serveurs avec beaucoup d'user,certains sont parfois login/password sont parfois mentionnés alors qu'ils sont erronés .

Greetz :

code : shado
beta testing : shado,gazzzton
mac_ (#linuxfr)

Docs :
La référence du C ANSI/ISO (éditions Eyrolle) <<< Débutants ,s'abstenir ...
Introduction au perl.(O'Reilley)
Man pages.
Linux-sa,Noroute.