Contribuez à SecuObs en envoyant des bitcoins ou des dogecoins.
Nouveaux articles (fr): 1pwnthhW21zdnQ5WucjmnF3pk9puT5fDF
Amélioration du site: 1hckU85orcGCm8A9hk67391LCy4ECGJca

Contribute to SecuObs by sending bitcoins or dogecoins.

Chercher :
Newsletter :  


Revues :
- Presse
- Presse FR
- Vidéos
- Twitter
- Secuobs





Sommaires :
- Tendances
- Failles
- Virus
- Concours
- Reportages
- Acteurs
- Outils
- Breves
- Infrastructures
- Livres
- Tutoriels
- Interviews
- Podcasts
- Communiques
- USBsploit
- Commentaires


Revue Presse:
- Tous
- Francophone
- Par mot clé
- Par site
- Le tagwall


Top bi-hebdo:
- Ensemble
- Articles
- Revue
- Videos
- Twitter
- Auteurs


Articles :
- Par mot clé
- Par auteur
- Par organisme
- Le tagwall


Videos :
- Toutes
- Par mot clé
- Par site
- Le tagwall


Twitter :
- Tous
- Par mot clé
- Par compte
- Le tagwall


Commentaires :
- Breves
- Virus
- Failles
- Outils
- Tutoriels
- Tendances
- Acteurs
- Reportages
- Infrastructures
- Interviews
- Concours
- Livres
- Communiques


RSS/XML :
- Articles
- Commentaires
- Revue
- Revue FR
- Videos
- Twitter


RSS SecuObs :
- sécurité
- exploit
- windows
- attaque
- outil
- microsoft


RSS Revue :
- security
- microsoft
- windows
- hacker
- attack
- network


RSS Videos :
- curit
- security
- biomet
- metasploit
- biometric
- cking


RSS Twitter :
- security
- linux
- botnet
- attack
- metasploit
- cisco


RSS Comments :
- Breves
- Virus
- Failles
- Outils
- Tutoriels
- Tendances
- Acteurs
- Reportages
- Infrastructures
- Interviews
- Concours
- Livres
- Communiques


RSS OPML :
- Français
- International











Revue de presse francophone :
- Appaloosa AppDome nouent un partenariat pour accompagner les entreprises dans le déploiement et la protection des applications mobiles
- D-Link offre une avec un routeur VPN sans fil AC
- 19 mai Paris Petit-Déjeuner Coreye Développer son business à l'abri des cyberattaques
- POYNTING PRESENTE LA NOUVELLE ANTENNE OMNI-291, SPECIALE MILIEU MARITIME, CÔTIER ET MILIEU HUMIDE
- Flexera Software Les utilisateurs français de PC progressent dans l'application de correctifs logiciels, mais des défis de tailles subsistent
- Riverbed lance SD-WAN basé sur le cloud
- Fujitsu multi-récompensé VMware lui décerne plusieurs Partner Innovation Awards à l'occasion du Partner Leadership Summit
- Zscaler Private Access sécuriser l'accès à distance en supprimant les risques inhérents aux réseaux privés virtuels
- QNAP annonce la sortie de QTS 4.2.1
- Une enquête réalisée par la société de cyber sécurité F-Secure a décelé des milliers de vulnérabilités graves, potentiellement utilisables par des cyber criminels pour infiltrer l'infrastru
- Trouver le juste équilibre entre une infrastructure dédiée et cloud le dilemme de la distribution numérique
- 3 juin - Fleurance - Cybersécurité Territoires
- Cyber-assurances Seules 40 pourcents des entreprises françaises sont couvertes contre les violations de sécurité et les pertes de données
- Des étudiants de l'ESIEA inventent CheckMyHTTPS un logiciel qui vérifie que vos connexions WEB sécurisées ne sont pas interceptées
- Les produits OmniSwitch d'Alcatel-Lucent Enterprise ALE gagnent en sécurité pour lutter contre les cyber-attaques modernes

Dernier articles de SecuObs :
- DIP, solution de partage d'informations automatisée
- Sqreen, protection applicative intelligente de nouvelle génération
- Renaud Bidou (Deny All): "L'innovation dans le domaine des WAFs s'oriente vers plus de bon sens et d'intelligence, plus de flexibilité et plus d'ergonomie"
- Mises à jour en perspective pour le système Vigik
- Les russes ont-ils pwn le système AEGIS ?
- Le ministère de l'intérieur censure une conférence au Canada
- Saut d'air gap, audit de firmware et (in)sécurité mobile au programme de Cansecwest 2014
- GCHQ: Le JTRIG torpille Anonymous qui torpille le JTRIG (ou pas)
- #FIC2014: Entrée en territoire inconnu
- Le Sénat investit dans les monnaies virtuelles

Revue de presse internationale :
- VEHICLE CYBERSECURITY DOT and Industry Have Efforts Under Way, but DOT Needs to Define Its Role in Responding to a Real-world Attack
- Demand letter served on poll body over disastrous Comeleak breach
- The Minimin Aims To Be The Simplest Theremin
- Hacking group PLATINUM used Windows own patching system against it
- Hacker With Victims in 100 Nations Gets 7 Years in Prison
- HPR2018 How to make Komboucha Tea
- Circuit Bender Artist bends Fresnel Lens for Art
- FBI Director Suggests iPhone Hacking Method May Remain Secret
- 2016 Hack Miami Conference May 13-15, 2016
- 8-bit Video Wall Made From 160 Gaming Keyboards
- In An Era Of Decline, News Sites Can t Afford Poor Web Performance
- BeautifulPeople.com experiences data breach 1m affected
- Swedish Air Space Infringed, Aircraft Not Required
- Why cybercriminals attack healthcare more than any other industry
- Setting the Benchmark in the Network Security Forensics Industry

Annuaire des videos
- FUZZING ON LINE PART THREE
- Official Maltego tutorial 5 Writing your own transforms
- Official Maltego tutorial 6 Integrating with SQL DBs
- Official Maltego tutorial 3 Importing CSVs spreadsheets
- install zeus botnet
- Eloy Magalhaes
- Official Maltego tutorial 1 Google s websites
- Official Maltego tutorial 4 Social Networks
- Blind String SQL Injection
- backdoor linux root from r57 php shell VPS khg crew redc00de
- How To Attaque Pc With Back Track 5 In Arabique
- RSA Todd Schomburg talks about Roundup Ready lines available in 2013
- Nessus Diagnostics Troubleshooting
- Panda Security Vidcast Panda GateDefender Performa Parte 2 de 2
- MultiPyInjector Shellcode Injection

Revue Twitter
- RT @fpalumbo: Cisco consistently leading the way ? buys vCider to boost its distributed cloud vision #CiscoONE
- @mckeay Looks odd... not much to go on (prob some slideshow/vid app under Linux)
- [SuggestedReading] Using the HTML5 Fullscreen API for Phishing Attacks
- RT @BrianHonan: Our problems are not technical but cultural. OWASP top 10 has not changed over the years @joshcorman #RSAC
- RT @mikko: Wow. Apple kernels actually have a function called PE_i_can_has_debugger:
- [Blog Spam] Metasploit and PowerShell payloads
- PinkiePie Strikes Again, Compromises Google Chrome in Pwnium Contest at Hack in the Box: For the second time thi...
- @mikko @fslabs y'all wldn't happen to have lat/long data sets for other botnets, wld you? Doing some research (free/open info rls when done)
- RT @nickhacks: Want to crash a remote host running Snow Leopard? Just use: nmap -P0 -6 --script=targets-ipv6-multicast-mld #wishiwaskidding
- An inexpensive proxy service called is actually a front for #malware distribution -

Mini-Tagwall
Revue de presse : security, microsoft, windows, hacker, attack, network, vulnerability, google, exploit, malware, internet, remote, iphone

+ de mots clés pour la revue de presse

Annuaires des videos : curit, security, biomet, metasploit, biometric, cking, password, windows, botnet, defcon, tutorial, crypt, xploit

+ de mots clés pour les videos

Revue Twitter : security, linux, botnet, attack, metasploit, cisco, defcon, phish, exploit, google, inject, server, firewall

+ de mots clés pour la revue Twitter

Top bi-hebdo des articles de SecuObs
- [Ettercap – Partie 2] Ettercap par l'exemple - Man In the Middle et SSL sniffing
- [Infratech - release] version 0.6 de Bluetooth Stack Smasher
- [IDS Snort Windows – Partie 2] Installation et configuration
- [Infratech - vulnérabilité] Nouvelle version 0.8 de Bluetooth Stack Smasher
- Mises à jour en perspective pour le système Vigik
- USBDumper 2 nouvelle version nouvelles fonctions !
- EFIPW récupère automatiquement le mot de passe BIOS EFI des Macbook Pro avec processeurs Intel
- La sécurité des clés USB mise à mal par USBDUMPER
- Une faille critique de Firefox expose les utilisateurs de Tor Browser Bundle
- Installation sécurisée d'Apache Openssl, Php4, Mysql, Mod_ssl, Mod_rewrite, Mod_perl , Mod_security

Top bi-hebdo de la revue de presse
- StackScrambler and the Tale of a Packet Parsing Bug

Top bi-hebdo de l'annuaire des videos
- DC++ Botnet. How To DDos A Hub With Fake IPs.
- Comment creer un server botnet!!!!(Réseau de pc zombies)
- Defcon 14 Hard Drive Recovery Part 3

Top bi-hebdo de la revue Twitter
- RT @secureideas: I believe that all the XSS flaws announced are fixed in CVS. Will test again tomorrow if so, release 1.4.3. #BASESnort
- Currently, we do not support 100% of the advanced PDF features found in Adobe Reader... At least that's a good idea.
- VPN (google): German Foreign Office Selects Orange Business for Terrestrial Wide: Full
- @DisK0nn3cT Not really, mostly permission issues/info leak...they've had a couple of XSS vulns but nothing direct.
- Swatting phreaker swatted and heading to jail: A 19-year-old American has been sentenced to eleven years in pris..
- RT @fjserna You are not a true hacker if the calc.exe payload is not the scientific one... infosuck.org/0x0035.png

Top des articles les plus commentés
- [Metasploit 2.x – Partie 1] Introduction et présentation
- Microsoft !Exploitable un nouvel outil gratuit pour aider les développeurs à évaluer automatiquement les risques
- Webshag, un outil d'audit de serveur web
- Les navigateurs internet, des mini-systèmes d’exploitation hors de contrôle ?
- Yellowsn0w un utilitaire de déblocage SIM pour le firmware 2.2 des Iphone 3G
- CAINE un Live[CD|USB] pour faciliter la recherche légale de preuves numériques de compromission
- Nessus 4.0 placé sous le signe de la performance, de l'unification et de la personnalisation
- [Renforcement des fonctions de sécurité du noyau Linux – Partie 1] Présentation
- [IDS Snort Windows – Partie 1] Introduction aux IDS et à SNORT
- Origami pour forger, analyser et manipuler des fichiers PDF malicieux

Tutoriels

English version with Google Translate

L'art du fingerprinting web ou comment contourner Nmap.

Par Rédaction, secuobs.com
Le 14/03/2006


Résumé : La méthode du Fingerprinting s'apparente à un relevé d'empreintes qui permet d'avoir accès à des informations qui permettront de deviner le type d'applicatif utilisé ainsi que sa version. Nous allons nous intéresser plus particulièrement au cas du serveur web Apache et les différentes techniques existantes pour contourner les outils les plus usuels de fingerprinting. - Lire l'article



La méthode du Fingerprinting s'apparente à un relevé d'empreintes qui permet d'avoir accès à des informations qui permettront de deviner le type d'applicatif utilisé ainsi que la version & par là même le système d'exploitation, la version de celui-ci et la distribution.

Nous allons nous intéresser plus particulièrement au cas du serveur web Apache et les différentes techniques existantes pour contourner les outils les plus usuels de fingerprinting.

L'affichage des informations de la bannière du serveur web Apache se configure via les directives ServerSignature & ServerTokens du fichier de configuration d'Apache httpd.conf.

Dans un premier temps nous allons tester les différentes options possibles pour la directive ServerTokens et vérifier les informations renvoyées par Apache :

- Avec ServerTokens Full :

telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
GET HTTP/1.0
HTTP/1.1 400 Bad Request
Date: Tue, 14 Mar 2006 12:49:12 GMT
Server: Apache/1.3.33 (Debian GNU/Linux)
Connection: close
Content-Type: text/html; charset=iso-8859-1

On apprend ici que le serveur web est Apache, en version 1.3.33 sur un système d'exploitation de type GNU/Linux & plus spécialement la distribution Debian

- avec ServerTokens Min :

telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
GET / /
HTTP/1.1 400 Bad Request
Date: Tue, 14 Mar 2006 12:59:31 GMT
Server: Apache/1.3.33
Connection: close
Content-Type: text/html; charset=iso-8859-1

On apprend ici que le serveur web est Apache, en version 1.3.33, les informations relatives au système d'exploitation ne sont plus présentes.

- avec ServerTokens Prod :

telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
GET / /
HTTP/1.1 400 Bad Request
Date: Tue, 14 Mar 2006 13:06:29 GMT
Server: Apache
Connection: close
Content-Type: text/html; charset=iso-8859-1

On apprend ici que le serveur web est Apache, les informations relatives au numéro de version et au système d'exploitation ne sont plus présentes.

- avec ServerTokens Os

telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
GET / /
HTTP/1.1 400 Bad Request
Date: Tue, 14 Mar 2006 13:08:15 GMT
Server: Apache/1.3.33 (Debian GNU/Linux)
Connection: close
Content-Type: text/html; charset=iso-8859-1

On apprend ici que le serveur web est Apache, en version 1.3.33 sur un système d'exploitation de type GNU/Linux & plus spécialement la distribution Debian, ce résultat est équivalent à Servertokens Full

Prod est l'option la moins verbeuse pour la directive ServerTokens, intéressons nous maintenant à la directive ServerSignature et ses options :

- avec ServerSignature On & ServerTokens Prod

telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
GET / /
HTTP/1.1 400 Bad Request
Date: Tue, 14 Mar 2006 13:12:01 GMT
Server: Apache
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
Your browser sent a request that this server could not understand.<P>
The request line contained invalid characters following the protocol string.<P>
<P>
<HR>
<ADDRESS>Apache/1.3.33 Server at localhost Port 80</ADDRESS>
</BODY></HTML>
Connection closed by foreign host.

Comme vous pouvez le constater, il n'est pas possible de retrouver les informations relatives au numéro de version dans « Server: Apache » (ServerTokens Prod) ni celles inhérentes au système d'exploitation mais il est possible de retrouver la version du serveur Apache via « <ADDRESS>Apache/1.3.33 Server at localhost Port 80</ADDRESS> » grâce à ServerSignature On.

- avec ServerSignature Off & ServerTokens Prod :

telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
GET / /
HTTP/1.1 400 Bad Request
Date: Tue, 14 Mar 2006 13:11:13 GMT
Server: Apache
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
Your browser sent a request that this server could not understand.<P>
The request line contained invalid characters following the protocol string.<P>
<P>
</BODY></HTML>
Connection closed by foreign host.

Il n'est plus possible de retrouver le numéro de version cependant il n'est pas possible pour l'instant via le fichier httpd.conf de cacher l'empreinte du serveur web Apache.

Les opérations de relevé d'empreintes (fingerprinting) de serveur web peuvent se faire également à l'aide de deux outils bien connus des spécialistes, le scanner de port « opensource » nmap avec l'option -sV qui permet de lister les services et le scanner d'empreinte web httprint qui quant à lui n'est pas en GPL mais peut être utilisé gratuitement à des fins non commerciales :

Vérifions la version du serveur web apache installé sur notre machine :

apache -v
Server version: Apache/1.3.33 (Debian GNU/Linux)
Server built: Sep 6 2005 13:10:30

- Pour installer httprint,

Récupérer httprint sur lien
unzip httprint_linux_301.zip
cd httprint_301/linux

Récupérer un fichier de signatures récent sur lien

./httprint -h localhost -s httprint-signatures.txt
httprint v0.301 (beta) - web server relevé d'empreintes (fingerprinting) tool
(c) 2003-2005 net-square solutions pvt. ltd. - see readme.txt
net-square.com/httprint/
httprint@net-square.com

Finger Printing on localhost:80/
Finger Printing Completed on localhost:80/
--------------------------------------------------
Host: localhost
Derived Signature:
Apache

Banner Reported: Apache
Banner Deduced: Apache/1.3.33 (Darwin) PHP/4.3.11, Apache/1.3.32 (Unix), Apache/1.3.32 (Darwin), Apache/1.3.31 (Unix), Apache/1.3.31 (Darwin), Apache/1.3.29 (Unix), Apache/1.3.29 (Darwin), Apache/1.3.28 (Unix), Apache/1.3.28 (Darwin), Apache/1.3.27 (Darwin)
Score: 135
Confidence: 81.33
------------------------
Scores:
Apache/1.3.33 (Darwin) PHP/4.3.11: 135 81.33
Apache/1.3.32 (Unix): 135 81.33
Apache/1.3.32 (Darwin): 135 81.33
Apache/1.3.31 (Unix): 135 81.33
Apache/1.3.31 (Darwin): 135 81.33
Apache/1.3.29 (Unix): 135 81.33
Apache/1.3.29 (Darwin): 135 81.33
Apache/1.3.28 (Unix): 135 81.33
Apache/1.3.28 (Darwin): 135 81.33
Apache/1.3.27 (Darwin): 135 81.33
Apache/1.3.24 (Darwin): 134 78.27

Httprint reconnaît bien le serveur Apache et sa version 1.33 obtient le score le plus important de probabilité.

Pour installer nmap,

Récupérer nmap sur lien
tar -zxvf nmap-4.01.tgz
cd nmap-4.01
./configure
make
make install

Vérifions le chemin d'installation de nmap :

which nmap
/usr/local/bin/nmap

Vérifions la version de nmap :

nmap -V
Nmap version 4.01 ( www.insecure.org/nmap/ )

On lance un relevé d'empreintes (fingerprinting) sur le port 80 en local :

nmap -sV -p 80 -P0 localhost

Starting Nmap 4.01 ( www.insecure.org/nmap/ ) at 2006-03-14 13:01 CET

Interesting ports on localhost.localdomain (127.0.0.1):
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd

Nmap finished: 1 IP address (1 host up) scanned in 6.053 seconds

Nmap reconnaît bien le serveur httpd Apache mais aucunes informations sur le numéro de version.

Essayons maintenant de contourner cette détection avec le module Modsecurity pour Apache :

Récupérer Modsecurity sur lien
tar -zxvf modsecurity-apache-1.9.2.tar.gz
cd modsecurity-apache-1.9.2/apache1
which apxs
/usr/local/apache/bin/apxs
apxs -cia mod_security.c

Vérifier la présence de la ligne suivante dans le fichier httpd.conf sinon ajouter la :
LoadModule security_module /usr/lib/apache/1.3/mod_security.so
.
Ajuster également les directives de configuration de Modsecurity dans ce fichier de la façon suivante :

<IfModule mod_security.c>
SecFilterEngine On
SecFilterCheckURLEncoding On
SecFilterCheckUnicodeEncoding On
SecFilterForceByteRange 0 255
SecAuditEngine RelevantOnly
SecFilterDebugLevel 0
SecFilterScanPOST On
SecFilterDefaultAction "deny,log,status:401"
SecServerSignature "Microsoft-IIS/4.0"
</IfModule>

La ligne « SecServerSignature "Microsoft-IIS/4.0" » nous intéresse plus particulièrement puisque c'est elle qui est en charge de modifier les informations renvoyées par le serveur Apache.

Pour être effectif, le changement de bannière via Modsecurity doit se faire conjointement à l'utilisation de l'option Full pour la direction ServerTokens, ajuster puis enregistrer votre fichier httpd.conf.

On redémarre le serveur Apache :

/etc/init.d/apache restart
Restarting apache.

Une première vérification :

telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
GET / /
HTTP/1.1 400 Bad Request
Date: Tue, 14 Mar 2006 14:54:57 GMT
Server: Microsoft-IIS/4.0
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
Your browser sent a request that this server could not understand.<P>
The request line contained invalid characters following the protocol string.<P>
<P>
<HR>
<ADDRESS>Apache/1.3.33 Server at localhost Port 80</ADDRESS>
</BODY></HTML>
Connection closed by foreign host.

On a bien « Server: Microsoft-IIS/4.0 » mais aussi « <ADDRESS>Apache/1.3.33 Server at localhost Port 80</ADDRESS> », Modsecurity n'intervient donc qu'au niveau de la directive ServerTokens, il est nécessaire de positionner la directive ServerSignature sur l'option Off, vérification :

telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
GET / /
HTTP/1.1 400 Bad Request
Date: Tue, 14 Mar 2006 14:57:37 GMT
Server: Microsoft-IIS/4.0
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
Your browser sent a request that this server could not understand.<P>
The request line contained invalid characters following the protocol string.<P>
<P>
</BODY></HTML>
Connection closed by foreign host.

On relance maintenant les opérations de relevé d'empreintes (fingerprinting) :

Avec nmap,

/usr/local/bin/nmap -sV -p 80 -P0 localhost

Starting Nmap 4.01 ( www.insecure.org/nmap/ ) at 2006-03-14 15:36 CET
Interesting ports on localhost.localdomain (127.0.0.1):
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS webserver 4.0
Service Info: OS: Windows

Nmap finished: 1 IP address (1 host up) scanned in 6.026 seconds

Modsecurity permet bien de contourner le relevé d'empreintes (fingerprinting) web par nmap. On est même gratifié d'un « Service Info: OS: Windows » du plus bel effet. L'utilisation de l'option -O permet de fingerprinter le système d'exploitation :

nmap -sV -p 80 -P0 -O localhost

Starting Nmap 4.01 ( www.insecure.org/nmap/ ) at 2006-03-14 15:36 CET
Warning: OS detection will be MUCH less reliable because we did not find at least 1 open and 1 closed TCP port
Interesting ports on localhost.localdomain (127.0.0.1):
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS webserver 4.0
Device type: general purpose
Running: Linux 2.4.X
OS details: Linux 2.4.20 - 2.4.22 w/grsecurity.org patch
Uptime 48.958 days (since Tue Jan 24 16:37:08 2006)

Nmap finished: 1 IP address (1 host up) scanned in 7.135 seconds

On récupère un fingerprint « convenable » pour le système d'exploitation mais nmap voit toujours un « 80/tcp open http Microsoft IIS webserver 4.0 », hérésie sous Linux ;)

Avec httprint,

./httprint -h localhost -s httprint-signatures.txt
httprint v0.301 (beta) - web server relevé d'empreintes (fingerprinting) tool
(c) 2003-2005 net-square solutions pvt. ltd. - see readme.txt
net-square.com/httprint/
httprint@net-square.com

Finger Printing on localhost:80/
Finger Printing Completed on localhost:80/
--------------------------------------------------
Host: localhost
Derived Signature:
Microsoft-IIS/4.0

Banner Reported: Microsoft-IIS/4.0
Banner Deduced: Apache/1.3.33 (Unix), Apache/1.3.33 (Darwin) PHP/4.3.11, Apache/1.3.32 (Unix), Apache/1.3.32 (Darwin), Apache/1.3.31 (Unix), Apache/1.3.31 (Darwin), Apache/1.3.29 (Unix), Apache/1.3.29 (Darwin), Apache/1.3.28 (Unix), Apache/1.3.28 (Darwin), Apache/1.3.27 (Darwin)
Score: 56
Confidence: 33.73
------------------------
Scores:
Apache/1.3.33 (Unix): 56 33.73
Apache/1.3.33 (Darwin) PHP/4.3.11: 56 33.73
Apache/1.3.32 (Unix): 56 33.73
Apache/1.3.32 (Darwin): 56 33.73
Apache/1.3.31 (Unix): 56 33.73
Apache/1.3.31 (Darwin): 56 33.73
Apache/1.3.29 (Unix): 56 33.73
Apache/1.3.29 (Darwin): 56 33.73
Apache/1.3.28 (Unix): 56 33.73
Apache/1.3.28 (Darwin): 56 33.73
Apache/1.3.27 (Darwin): 56 33.73
Apache/1.3.24 (Darwin): 55 30.20

Comme vous pouvez le constater, les résultats issus de httprint donne bien « Microsoft-IIS/4.0 » comme bannière reportée mais ne se laisse pas pour autant prendre au piège, bannière déduite la plus probable « Apache/1.3.33 (Unix) », ce qui est conforme aux informations véridiques du serveur web installé sur notre machine. Modsecurity ne contourne pas le relevé d'empreintes (fingerprinting) par httprint.

Il existe une méthode alternative afin de changer directement la bannière du serveur web Apache, pour se faire vous devez éditer les sources du logiciels avant même la compilation d'Apache :

Récupérer Apache sur lien
tar -zxvf apache_1.3.34.tar.gz
groupadd apache
useradd apache -d /dev/null -g apache -s /sbin/nologin
cd apache_1.3.34

Editer le fichier httpd.c dans src/include/, vous trouverez les lignes suivantes :

#define SERVER_BASEVENDOR "Apache Group"
#define SERVER_BASEPRODUCT "Apache"
#define SERVER_BASEREVISION "1.3.34"

enum server_token_type {
SrvTk_MIN, /* eg: Apache/1.3.0 */
SrvTk_OS, /* eg: Apache/1.3.0 (UNIX) */
SrvTk_FULL, /* eg: Apache/1.3.0 (UNIX) PHP/3.0 FooBar/1.2b */
SrvTk_PRODUCT_ONLY /* eg: Apache */
};

#define APACHE_RELEASE 10334100

#define SERVER_PROTOCOL "HTTP/1.1"
#ifndef SERVER_SUPPORT
#define SERVER_SUPPORT "www.apache.org/"

Effectuer les modifications nécessaires

#define SERVER_BASEVENDOR "Microsoft Windows"
#define SERVER_BASEPRODUCT "IIS webserver"
#define SERVER_BASEREVISION "4.0"

enum server_token_type {
SrvTk_MIN, /* eg: Microsoft IIS webserver 4.0 */
SrvTk_OS, /* eg: Microsoft IIS webserver 4.0 */
SrvTk_FULL, /* eg: Microsoft IIS webserver 4.0 */
SrvTk_PRODUCT_ONLY /* eg: Microsoft IIS webserver 4.0 */
};

#define APACHE_RELEASE

#define SERVER_PROTOCOL "HTTP/1.1"
#ifndef SERVER_SUPPORT
#define SERVER_SUPPORT ""

./configure --enable-module=so --server-uid=apache --server-gid=apache
make
make install

Démarrer le serveur Apache :

/usr/local/apache/bin/apachectl start
/usr/local/apache/bin/apachectl start: httpd started

Vérification avec ServerSignature On & ServerTokens Prod :

telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
get / /
HTTP/1.1 400 Bad Request
Date: Tue, 14 Mar 2006 15:33:32 GMT
Server: IIS webserver
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
Your browser sent a request that this server could not understand.<P>
The request line contained invalid characters following the protocol string.<P>
<P>
<HR>
<ADDRESS>IIS webserver/4.0 Server at localhost Port 80</ADDRESS>
</BODY></HTML>
Connection closed by foreign host.

On apprend que « Server: IIS webserver » et « <ADDRESS>IIS webserver/4.0 Server at localhost Port 80</ADDRESS> ». L'opération a donc été effectuée avec succès

Passons au relevé d'empreintes (fingerprinting) avec nmap :

/usr/local/bin/nmap -sV -p 80 -P0 localhost

Starting Nmap 4.01 ( www.insecure.org/nmap/ ) at 2006-03-14 16:36 CET
Interesting ports on localhost.localdomain (127.0.0.1):
PORT STATE SERVICE VERSION
80/tcp open http?

Nmap finished: 1 IP address (1 host up) scanned in 66.072 seconds

Apparemment il n'a pas aimé ;)

Avec httprint :

./httprint -h localhost -s httprint-signatures.txt
httprint v0.301 (beta) - web server relevé d'empreintes (fingerprinting) tool
(c) 2003-2005 net-square solutions pvt. ltd. - see readme.txt
net-square.com/httprint/
httprint@net-square.com

Finger Printing on localhost:80/
Finger Printing Completed on localhost:80/
--------------------------------------------------
Host: localhost
Derived Signature:
IIS webserver

Banner Reported: IIS webserver
Banner Deduced: Apache/1.3.33 (Darwin) PHP/4.3.11, Apache/1.3.32 (Unix), Apache/1.3.32 (Darwin), Apache/1.3.31 (Unix), Apache/1.3.31 (Darwin), Apache/1.3.29 (Unix), Apache/1.3.29 (Darwin), Apache/1.3.28 (Unix), Apache/1.3.28 (Darwin), Apache/1.3.27 (Darwin)
Score: 140
Confidence: 84.34
------------------------
Scores:
Apache/1.3.33 (Darwin) PHP/4.3.11: 140 84.34
Apache/1.3.32 (Unix): 140 84.34
Apache/1.3.32 (Darwin): 140 84.34
Apache/1.3.31 (Unix): 140 84.34
Apache/1.3.31 (Darwin): 140 84.34
Apache/1.3.29 (Unix): 140 84.34
Apache/1.3.29 (Darwin): 140 84.34
Apache/1.3.28 (Unix): 140 84.34
Apache/1.3.28 (Darwin): 140 84.34
Apache/1.3.27 (Darwin): 140 84.34
Apache/1.3.24 (Darwin): 139 81.30

Encore une fois httprint ne se laisse pas prendre au piège quand nmap passe totalement à coté de son sujet. On peut expliquer cette faiblesse par la conception même du processus de relevé d'empreintes (fingerprinting) de Nmap. Il repose sur plusieurs étapes chaînées, la première consiste à recouvrir la bannière du service attaché au port scanné.

Si une bannière est renvoyée nmap s'en contente et ne pousse pas l'investigation plus loin, ce qui n'est pas le cas de httprint qui lui opére une comparaison d'empreinte avec celles présentes dans le fichier signatures.txt (par défaut), httprint-signatures.txt dans notre cas et cela même en ayant reçu une première information via le recouvrement de la bannière.

Nmap est réputé comme l'un ou le meilleur scanner de port existant, cette réputation n'est pas usurpée, cependant comme vous le voyez qui peut le plus peut parfois le moins d'où l'utilité d'avoir toujours dans sa boîte à outils plusieurs logiciels pour une même tâche afin de croiser les résultats et vérifier la véracité de ceux-ci, privilégier également les outils dédiés aux « couteaux suisses » quand cela est possible.

Ce tutorial est basé partiellement sur une présentation de Piotr Sobolewski, rédacteur en chef du magasine Hackin9, réalisée lors de la conférence It Underground qui s'est tenue à Prague les 23 et 24 février derniers.



- Article suivant : Toujours plus de vulnérabilités et d’attaques ciblées
- Article précédent : Apprendre à parler Skype pour mieux le faire taire !
- Article suivant dans la catégorie Tutoriels : [Auditer son réseau Windows - partie 1] Démystifier le Pentesting
- Article précédent dans la catégorie Tutoriels : Tor rend anonymes les connexions internet

Les derniers commentaires publiés pour cet article:
- ESRT @corq - Nmap 561 TEST2 - IPv6 OS detection Added ...
- ncrack with domain creds ...
- Multi Threaded TCP Port Scanner TCP Syn port scanner tool ...
- UPDATE Nmap 5.61TEST1 ...
- ESRT @teamcymru - fingerbank - DHCP fingerprint database ...

Les derniers commentaires de la catégorie Tutoriels:
- UPDATE Snort 2.9.1.1 ...
- Apache Issues Patch To Stop Reverse-Proxy Bypass Attack ...
- ESRT @HackerTheDude @r0bertmart1nez @xanda @morenops - Kernel hacking the BSD way, new post ...
- ESRT @room362 - The Dirty Little Secrets They Didn't Teach You In Pentesting Class ...
- ESRT @jcran @dkarg - Metasploit Payloads VS Libemu - Alienvault Labs ...

Les derniers articles de la catégorie Tutoriels :
- PktAnon un framework pour l anonymat des traces PCAP
- [NessusWX – Partie 2] Audits et conclusion
- [NessusWX – Partie 1] Introduction, installation et configuration
- [IDS Snort Windows – Partie 4] Conclusion et webographie
- [IDS Snort Windows – Partie 3] Exemple de fichier de configuration
- [IDS Snort Windows – Partie 2] Installation et configuration
- [IDS Snort Windows – Partie 1] Introduction aux IDS et à SNORT
- [Sécurité et PHP - Partie 5] Astuces
- [Sécurité et PHP - Partie 4] Remote PHP Vulnerabilty Scanner
- [Sécurité et PHP - Partie 3] Les failles PHP




SecuToolBox :

Mini-Tagwall des articles publiés sur SecuObs :

Mini-Tagwall de l'annuaire video :

Mini-Tagwall des articles de la revue de presse :

Mini-Tagwall des Tweets de la revue Twitter :