0

Phase de reconnaissance

Cette phase consiste a collecter le plus d’informations sur une cible (client ou site/machine volontairement vulnérable), par exemple les informations concernant les enregistrements Domain Name System (DNS https://fr.wikipedia.org/wiki/Liste_des_enregistrements_DNS), nom de domaine, adresse IP, les technologies et les configurations utilisées,l’organisation des noms d’utilisateur, des documents, codes source, fichiers robots.txt, commentaires, informations de contact, etc… Pendant cette phase de Reconnaissance chaque information, si minime soit elle est considérée comme importante.

L‘illustration de la collecte d’informations se fera avec des  outils disponibles sur kali-linux. Ces outils sont Whois. Host, Dig, DMitry. Je ferais aussi une brève descriptions de deux sites web, http://viewdns.info/ et https://archive.org/web/. Il est évident que je ne peut pas vous présenter tout les outils existants, et je vous invite a rechercher dans kali-linux d’autres outils, d’en lire la documentation et de les tester. L’utilisation de ces différents outils se fera légalement sur le nom de domaine example.com , vous trouverez plus d’information en cliquant sur le lien suivant: https://www.example.com/

 

WHOIS:
En interrogeant sa base de données “Whois” recherchera les informations d’enregistrement du domaine. La base de données “Whois” retournera des informations sur le serveur DNS et les informations de contact du domaine. “Whois” est un protocole de recherche d’enregistrements Internet, de bases de données pour les noms de domaines enregistrés, d’adresses IP et de systèmes autonomes. Ce protocole est spécifié dans RFC 3912 https://www.ietf.org/rfc/rfc3912.txt .

USAGE:

Usage: whois [OPTION]… OBJET…

-h HÔTE, –host HÔTE se connecter au serveur HÔTE
-p PORT, –port PORT se connecter sur le port PORT
-H cacher les mentions légales
–verbose mode verbeux
–help afficher cette aide et sortir
–version afficher la version et sortir

Ces drapeaux sont gérés par le serveur whois.ripe.net et quelques serveurs de type RIPE :
-l réduire d’un niveau la spécificité de la recherche
-L trouver toutes les occurrences moins spécifiques
-m trouver les occurrences de premier niveau plus spécifiques
-M trouver toutes les occurrences plus spécifiques
-c trouver l’occurrence la plus spécifique contenant un attribut mnt-irt
-x occurrence exacte
-b afficher la plage des adresses IP avec l’information d’abus
-B désactiver le filtrage d’objet (montrer les adresses électroniques)
-G désactiver le groupement des objets associés
-d afficher aussi les objets de délégation DNS inverse
-i ATTR[,ATTR]… effectuer une recherche inverse pour les ATTRibuts spécifiés
-T TYPE[,TYPE]… chercher seulement les objets de ce TYPE
-K seules les clés primaires sont renvoyées
-r désactiver la recherche récursive des informations de contact
-R forcer l’affichage de la copie locale de l’objet de domaine même
s’il contient un renvoi
-a rechercher aussi dans toutes les bases de données miroir
-s SOURCE[,SOURCE]… rechercher dans la base de données miroir de SOURCE
-g SOURCE:PREM-DERN trouver les mises à jour de la SOURCE ayant des numéros
de série entre PREM et DERN
-t TYPE demander la syntaxe pour les objets de ce TYPE
-v TYPE demander la syntaxe détaillée pour les objets de ce TYPE
-q [version|sources|types] demander les informations spécifiées au serveur

 

Dans le terminal : whois example.com

Domain Name: EXAMPLE.COM
   Registry Domain ID: 2336799_DOMAIN_COM-VRSN
   Registrar WHOIS Server: whois.iana.org
   Registrar URL: http://res-dom.iana.org
   Updated Date: 2017-08-14T07:04:03Z
   Creation Date: 1995-08-14T04:00:00Z
   Registry Expiry Date: 2018-08-13T04:00:00Z
   Registrar: RESERVED-Internet Assigned Numbers Authority
   Registrar IANA ID: 376
   Registrar Abuse Contact Email:
   Registrar Abuse Contact Phone:
   Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
   Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
   Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
   Name Server: A.IANA-SERVERS.NET
   Name Server: B.IANA-SERVERS.NET
   DNSSEC: signedDelegation
   DNSSEC DS Data: 31589 8 1 3490A6806D47F17A34C29E2CE80E8A999FFBE4BE
   DNSSEC DS Data: 31589 8 2 CDE0D742D6998AA554A92D890F8184C698CFAC8A26FA59875A990C03E576343C
   DNSSEC DS Data: 43547 8 1 B6225AB2CC613E0DCA7962BDC2342EA4F1B56083
   DNSSEC DS Data: 43547 8 2 615A64233543F66F44D68933625B17497C89A70E858ED76A2145997EDF96A918
   DNSSEC DS Data: 31406 8 1 189968811E6EBA862DD6C209F75623D8D9ED9142
   DNSSEC DS Data: 31406 8 2 F78CF3344F72137235098ECBBD08947C2C9001C7F6A085A17F518B5D8F6B916D
   URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2018-01-14T18:53:04Z <<<

For more information on Whois status codes, please visit https://icann.org/epp

NOTICE: The expiration date displayed in this record is the date the
registrar's sponsorship of the domain name registration in the registry is
currently set to expire. This date does not necessarily reflect the expiration
date of the domain name registrant's agreement with the sponsoring
registrar.  Users may consult the sponsoring registrar's Whois database to
view the registrar's reported date of expiration for this registration.

TERMS OF USE: You are not authorized to access or query our Whois
database through the use of electronic processes that are high-volume and
automated except as reasonably necessary to register domain names or
modify existing registrations; the Data in VeriSign Global Registry
Services' ("VeriSign") Whois database is provided by VeriSign for
information purposes only, and to assist persons in obtaining information
about or related to a domain name registration record. VeriSign does not
guarantee its accuracy. By submitting a Whois query, you agree to abide
by the following terms of use: You agree that you may use this Data only
for lawful purposes and that under no circumstances will you use this Data
to: (1) allow, enable, or otherwise support the transmission of mass
unsolicited, commercial advertising or solicitations via e-mail, telephone,
or facsimile; or (2) enable high volume, automated, electronic processes
that apply to VeriSign (or its computer systems). The compilation,
repackaging, dissemination or other use of this Data is expressly
prohibited without the prior written consent of VeriSign. You agree not to
use electronic processes that are automated and high-volume to access or
query the Whois database except as reasonably necessary to register
domain names or modify existing registrations. VeriSign reserves the right
to restrict your access to the Whois database in its sole discretion to ensure
operational stability.  VeriSign may restrict or terminate your access to the
Whois database for failure to abide by these terms of use. VeriSign
reserves the right to modify these terms at any time.

The Registry database contains ONLY .COM, .NET, .EDU domains and
Registrars.

HOST:

Arès avoir trouvé les informations du serveur DNS, l’étape suivante consiste à trouver l’adresse IP du nom de domaine / hôte . Pour nous aider, nous pouvons utiliser l’outil “Host”  pour rechercher l’adresse IP du nom de domaine / hôte à partir d’un serveur DNS.

USAGE:

Usage: host [-aCdlriTwv] [-c class] [-N ndots] [-t type] [-W time]

[-R number] [-m flag] hostname [server]
-a is equivalent to -v -t ANY
-c specifies query class for non-IN data
-C compares SOA records on authoritative nameservers
-d is equivalent to -v
-l lists all hosts in a domain, using AXFR
-i IP6.INT reverse lookups
-N changes the number of dots allowed before root lookup is done
-r disables recursive processing
-R specifies number of retries for UDP packets
-s a SERVFAIL response should stop query
-t specifies the query type
-T enables TCP/IP mode
-v enables verbose output
-w specifies to wait forever for a reply
-W specifies how long to wait for a reply
-4 use IPv4 query transport only
-6 use IPv6 query transport only
-m set memory debugging flag (trace|record|usage)
-V print version number and exit

 

Dans le terminal: host example.com

example.com has address 93.184.216.34
example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946

Ce résultat nous retournes les adresses IPV4 et IPV6 de la cible. Par défaut “Host” nous renvoie automatiquement les enregistrements concernant l’adresse IPV4, l’adresse IPV6, le nom du serveur de courrier du domaine. Le tout correspond aux types A, AAAA et MX. Il est possible d’afficher tous les enregistrements disponibles.

Dans le terminal: host -v -t ANY example.com (ou host -a example.com). Les deux retournent le même résultat

Trying "example.com"
Trying "example.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43458
;; flags: qr rd ra; QUERY: 1, ANSWER: 7, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;example.com.			IN	ANY

;; ANSWER SECTION:
example.com.		70248	IN	RRSIG	NS 8 2 86400 20180127170940 20180107002504 30381 example.com. kSLJisql4266wzvH6YSMyQwOT1xILdNHwSnoMnHZgFIPffjf2gjyZJA0 ONEfThreg4rxNpdMf4naBBBWopKJdjlk9jQfAsDYJ8EZpZ/LN144cNTq Un2bk5cJoboAND+0VBc0M1u9tXALLaSWLuqAs2rmHXcgPIbjIBAHL56g Ovk=
example.com.		67098	IN	NS	b.iana-servers.net.
example.com.		67098	IN	NS	a.iana-servers.net.
example.com.		69051	IN	RRSIG	AAAA 8 2 86400 20180129133055 20180108022504 30381 example.com. q3GLftCr24MLvjxAHrU8sloQp6gQGaH53a2W69g2cZYpb7Gm595uijWG irwEdKhYf3VCcFW5us5gb+iZflTgulBM/xlujC8p1e0QMDLClMqKHC49 +sgfR0LZRrWKbE7za1ufJ8JVIJjNKqG4nr9STep3VbG2BQoB4909XeRU o9U=
example.com.		69051	IN	AAAA	2606:2800:220:1:248:1893:25c8:1946
example.com.		69020	IN	RRSIG	A 8 2 86400 20180128190842 20180108042504 30381 example.com. PjMCezAB8YUhaPHdldDSBH+rurbNUQJH0UeEzSUZi8raqM5qZYvMGczF QqBjAlTDFjjzDiPPxI29Rgb83unKFrE0MzrjYGB1Dso8AEHEKZWHKxy9 TVPUMUgwcgZfnc5itNmigcDFWZ27tX51bq55U43YpNZF+a/MQhtBwJea Zwk=
example.com.		69020	IN	A	93.184.216.34

Received 634 bytes from 127.0.1.1#53 in 116 ms

L’outil “host” interroge les serveurs DNS répertoriés dans le fichier etc / resolv.conf de votre système d’exploitation Kali . Il peut également être utilisé pour effectuer un transfert de zone DNS.  Il est aussi possible de  collecter des informations sur les noms d’hôtes disponibles dans un domaine.

 

DIG:

À côté de l’outil “Host”, il est possible d’utiliser l’outil “Dig” pour interroger les serveurs DNS. L’avantage de “Dig” est sa flexibilité et sa clarté. Avec “Dig” il est possible de demander a traiter une liste de requêtes de recherche à partir d’un fichier.

USAGE:

Usage: dig [@global-server] [domain] [q-type] [q-class] {q-opt}
{global-d-opt} host [@local-server] {local-d-opt}
[ host [@local-server] {local-d-opt} […]]
Where: domain is in the Domain Name System
q-class is one of (in,hs,ch,…) [default: in]
q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,…) [default:a]
(Use ixfr=version for type ixfr)
q-opt is one of:
-4 (use IPv4 query transport only)
-6 (use IPv6 query transport only)
-b address[#port] (bind to source address/port)
-c class (specify query class)
-f filename (batch mode)
-i (use IP6.INT for IPv6 reverse lookups)
-k keyfile (specify tsig key file)
-m (enable memory usage debugging)
-p port (specify port number)
-q name (specify query name)
-t type (specify query type)
-u (display times in usec instead of msec)
-x dot-notation (shortcut for reverse lookups)
-y [hmac:]name:key (specify named base64 tsig key)
d-opt is of the form +keyword[=value], where keyword is:
+[no]aaonly (Set AA flag in query (+[no]aaflag))
+[no]additional (Control display of additional section)
+[no]adflag (Set AD flag in query (default on))
+[no]all (Set or clear all display flags)
+[no]answer (Control display of answer section)
+[no]authority (Control display of authority section)
+[no]besteffort (Try to parse even illegal messages)
+bufsize=### (Set EDNS0 Max UDP packet size)
+[no]cdflag (Set checking disabled flag in query)
+[no]cl (Control display of class in records)
+[no]cmd (Control display of command line)
+[no]comments (Control display of comment lines)
+[no]crypto (Control display of cryptographic fields in records)
+[no]defname (Use search list (+[no]search))
+[no]dnssec (Request DNSSEC records)
+domain=### (Set default domainname)
+[no]edns[=###] (Set EDNS version) [0]
+ednsflags=### (Set EDNS flag bits)
+[no]ednsnegotiation (Set EDNS version negotiation)
+ednsopt=###[:value] (Send specified EDNS option)
+noednsopt (Clear list of +ednsopt options)
+[no]expire (Request time to expire)
+[no]fail (Don’t try next server on SERVFAIL)
+[no]identify (ID responders in short answers)
+[no]ignore (Don’t revert to TCP for TC responses.)
+[no]keepopen (Keep the TCP socket open between queries)
+[no]multiline (Print records in an expanded format)
+ndots=### (Set search NDOTS value)
+[no]nsid (Request Name Server ID)
+[no]nssearch (Search all authoritative nameservers)
+[no]onesoa (AXFR prints only one soa record)
+[no]opcode=[###] (Set the opcode of the request)
+[no]qr (Print question before sending)
+[no]question (Control display of question section)
+[no]recurse (Recursive mode)
+retry=### (Set number of UDP retries) [2]
+[no]rrcomments (Control display of per-record comments)
+[no]search (Set whether to use searchlist)
+[no]short (Display nothing except short
form of answer)
+[no]showsearch (Search with intermediate results)
+[no]split=## (Split hex/base64 fields into chunks)
+[no]stats (Control display of statistics)
+subnet=addr (Set edns-client-subnet option)
+[no]tcp (TCP mode (+[no]vc))
+time=### (Set query timeout) [5]
+[no]trace (Trace delegation down from root [+dnssec])
+tries=### (Set number of UDP attempts) [3]
+[no]ttlid (Control display of ttls in records)
+[no]vc (TCP mode (+[no]tcp))
global d-opts and servers (before host name) affect all queries.
local d-opts and servers (after host name) affect only that lookup.
-h (print help and exit)
-v (print version and exit)

 

Dans le terminal: dig example.com

; <<>> DiG 9.10.3-P4-Ubuntu <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63788
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;example.com.			IN	A

;; ANSWER SECTION:
example.com.		68955	IN	A	93.184.216.34

;; Query time: 0 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Sun Jan 14 19:57:15 CET 2018
;; MSG SIZE  rcvd: 45

Sans donner d’arguments “Dig” nous renvoie uniquement les enregistrements concernant l’adresse IPV4, correspondant au type A. Il est possible comme pour “Host” de faire une requete avec “any” pour que cet outil nous renvoie tous les enregistrements disponibles, tels que SOA, AAAA, NS et, A (voire dans le liens fournis au début du document).

Dans le terminal: dig example.com any

; <<>> DiG 9.10.3-P4-Ubuntu <<>> example.com any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42256
;; flags: qr rd ra; QUERY: 1, ANSWER: 7, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1460
;; QUESTION SECTION:
;example.com.			IN	ANY

;; ANSWER SECTION:
example.com.		70126	IN	RRSIG	NS 8 2 86400 20180127170940 20180107002504 30381 example.com. kSLJisql4266wzvH6YSMyQwOT1xILdNHwSnoMnHZgFIPffjf2gjyZJA0 ONEfThreg4rxNpdMf4naBBBWopKJdjlk9jQfAsDYJ8EZpZ/LN144cNTq Un2bk5cJoboAND+0VBc0M1u9tXALLaSWLuqAs2rmHXcgPIbjIBAHL56g Ovk=
example.com.		66976	IN	NS	a.iana-servers.net.
example.com.		66976	IN	NS	b.iana-servers.net.
example.com.		68929	IN	RRSIG	AAAA 8 2 86400 20180129133055 20180108022504 30381 example.com. q3GLftCr24MLvjxAHrU8sloQp6gQGaH53a2W69g2cZYpb7Gm595uijWG irwEdKhYf3VCcFW5us5gb+iZflTgulBM/xlujC8p1e0QMDLClMqKHC49 +sgfR0LZRrWKbE7za1ufJ8JVIJjNKqG4nr9STep3VbG2BQoB4909XeRU o9U=
example.com.		68929	IN	AAAA	2606:2800:220:1:248:1893:25c8:1946
example.com.		68898	IN	RRSIG	A 8 2 86400 20180128190842 20180108042504 30381 example.com. PjMCezAB8YUhaPHdldDSBH+rurbNUQJH0UeEzSUZi8raqM5qZYvMGczF QqBjAlTDFjjzDiPPxI29Rgb83unKFrE0MzrjYGB1Dso8AEHEKZWHKxy9 TVPUMUgwcgZfnc5itNmigcDFWZ27tX51bq55U43YpNZF+a/MQhtBwJea Zwk=
example.com.		68898	IN	A	93.184.216.34

;; Query time: 37 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Sun Jan 14 19:58:12 CET 2018
;; MSG SIZE  rcvd: 645

DMitry:

DMitry (Deepmagic Information Gathering Tool) est un outil de collecte d’informations tout-en-un. Il peut trouver les mêmes informations que celles qui peuvent être trouvées avec différents outils présents dans Kali ou sur internet, mais avec un seul outil, lui même. Il peut également enregistrer un rapport dans un fichier pour un accès différé et une meilleure lecture. Il permet entre la recherche d’informations whois , la recupereration de donnees de disponibilités , la recherche sur le subdomain, la recherche d’addresse electronique sur la cible, le scan de ports TCP, etc…..

USAGE:

Deepmagic Information Gathering Tool
“There be some deep magic going on”

Usage: dmitry [-winsepfb] [-t 0-9] [-o %host.txt] host
-o Save output to %host.txt or to file specified by -o file
-i Perform a whois lookup on the IP address of a host
-w Perform a whois lookup on the domain name of a host
-n Retrieve Netcraft.com information on a host
-s Perform a search for possible subdomains
-e Perform a search for possible email addresses
-p Perform a TCP port scan on a host
* -f Perform a TCP port scan on a host showing output reporting filtered ports
* -b Read in the banner received from the scanned port
* -t 0-9 Set the TTL in seconds when scanning a TCP port ( Default 2 )
*Requires the -p flagged to be passed

 

Dans le terminal: dmitry example.com

Deepmagic Information Gathering Tool
"There be some deep magic going on"
HostIP:93.184.216.34
HostName:example.com
Gathered Inet-whois information for 93.184.216.34
---------------------------------
 
inetnum: 93.184.216.0 - 93.184.216.255
netname: EDGECAST-NETBLK-03
descr: NETBLK-03-EU-93-184-216-0-24
country: EU
admin-c: DS7892-RIPE
tech-c: DS7892-RIPE
status: ASSIGNED PA
mnt-by: MNT-EDGECAST
created: 2012-06-22T21:48:41Z
last-modified: 2012-06-22T21:48:41Z
source: RIPE # Filtered
person: Derrick Sawyer
address: 13031 W Jefferson Blvd #900, Los Angeles, CA 90094
phone: +18773343236
nic-hdl: DS7892-RIPE
created: 2010-08-25T18:44:19Z
last-modified: 2017-03-03T09:06:18Z
source: RIPE
mnt-by: MNT-EDGECAST
% This query was served by the RIPE Database Query Service version 1.90 (ANGUS)
 
Gathered Inic-whois information for example.com
---------------------------------
Domain Name: EXAMPLE.COM
Registry Domain ID: 2336799_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.iana.org
Registrar URL: http://res-dom.iana.org
Updated Date: 2017-08-14T07:04:03Z
Creation Date: 1995-08-14T04:00:00Z
Registry Expiry Date: 2018-08-13T04:00:00Z
Registrar: RESERVED-Internet Assigned Numbers Authority
Registrar IANA ID: 376
Registrar Abuse Contact Email:
Registrar Abuse Contact Phone:
Domain Status: clientDeleteProhibited https://icann.oc��
��������i�entDel��������E��j�eteProhib;Y@ited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
Name Server: A.IANA-SERVERS.NET
Name Server: B.IANA-SERVERS.NET
DNSSEC: signedDelegation
DNSSEC DS Data: 31589 8 1 3490A6806D47F17A34C29E2CE80E8A999FFBE4BE
DNSSEC DS Data: 31589 8 2 CDE0D742D6998AA554A92D890F8184C698CFAC8A26FA59875A990C03E576343C
DNSSEC DS Data: 43547 8 1 B6225AB2CC613E0DCA7962BDC23c��
42EA4F1B56M083
DNSSEC DS Data: 43547 8 2 615A64233543F66F44D68933625B17497C89A70E858ED76A2145997EDF96A918
DNSSEC DS Data: 31406 8 1 189968811E6EBA862DD6C209F75623D8D9ED9142
DNSSEC DS Data: 31406 8 2 F78CF3344F72137235098ECBBD08947C2C9001C7F6A085A17F518B5D8F6B916D
URL of the ICANN Whois Inaccuracy Complaint Form: htt���
ps://www.i�cann.or�����������j�g/wicf/
>>> Last update of whois database: 2017-11-21T13:49:32Z <<<
For more information on Whois status codes, please visit https://icann.org/epp
NOTICE: The expiration date displayed in this record is the date the
registrar's sponsorship of the domain name registration in the registry is
currently set to expire. This date does not necessarily reflect the expiration
date of the domain name registrant's agreement with the sponsoring
registrar. Users may consult the sponsoring registrar'sc��
Whois datyabase t�����������j�o
view the registrar's reported date of expiration for this registration.
TERMS OF USE: You are not authorized to access or query our Whois
database through the use of electronic processes that are high-volume and
automated except as reasonably necessary to register domain names or
modify existing registrations; the Data in VeriSign Global Registry
Services' ("VeriSign") Whois database is provided by VeriSign for
information purposes only, and to assist persons in obtac��
ining infoTrmation��������A��j�
about or related to a domain name registration record. VeriSign does not
guarantee its accuracy. By submitting a Whois query, you agree to abide
by the following terms of use: You agree that you may use this Data only
for lawful purposes and that under no circumstances willc��
Da this ta�
to: (1) allow, enable, or otherwise support the transmission of mass
unsolicited, commercial advertising or solicitations via e-mail, telephone,
or facsimile; or (2) enable high volume, automated, electronic processes
that apply to VeriSign (or its computer systems). The compilation,
repackaging, dissemination or other use of this Data is expressly
prohibited without the prior written consent of VeriSign. You agree not to
use electronic processes that are automated and high-vol���
access or
query the Whois database except as reasonably necessary to register
domain names or modify existing registrations. VeriSign reserves the right
to restrict your access to the Whois database in its sole discretion to ensure
operational stability. VeriSign may restrict or terminate your access to the
Whois database for failure to abide by these terms of use. VeriSign
reserves the right to modify these terms at any time.
The Registry database contains ONLY .COM, .NET, .EDU dom���
ns and
Registrars.
Gathered Netcraft information for example.com
---------------------------------
Retrieving Netcraft.com information for example.com
Netcraft.com Information gathered
Gathered Subdomain information for example.com
---------------------------------
Searching Google.com:80...
Searching Altavista.com:80...
Found 0 possible subdomain(s) for host example.com, Searched 0 pages containing 0 results
Gathered E-Mail information for example.com
---------------------------------
Searching Google.com:80...
Searching Altavista.com:80...
Found 0 E-Mail(s) for host example.com, Searched 0 pages containing 0 results
Gathered TCP Port information for 93.184.216.34
---------------------------------
Port State
80/tcp open
Portscan Finished: Scanned 150 ports, 2 ports were in state closed
 
All scans completed, exiting

 

http://viewdns.info/

Viewdns.info est un site internet regroupant divers outils qui pourront également être utiles pour une recherche d’information concernant une cible . En voici une copie d’écran

 

https://archive.org/web/

archives.org est un site internet qui vous permettra de remonter dans le temps et regarder comment se présentait une page internet dans le passé . Il peut être très intéressant de jeter un œil a cette archive et trouver des informations qui auraient été retirée par après !

 

0

Clarification sur les test d’intrusion

Les termes tests d’intrusion et évaluation de la vulnérabilité sont souvent confondus et utilisés de manière interchangeable alors qu’en réalité, les deux termes ont des significations distinctes.

Un test d’intrusion aussi appelé test de pénétration ou plus simplement pentest est un cycle continu de recherche et d’attaque contre une cible dans le but d’identifier les vulnérabilités au sein d’un système informatique, un réseau ou une application Web qu’un pirate pourrait exploiter pour ensuite tenter d’obtenir un accès potentiel a différentes données et informations confidentielles sur le système testé.

L‘évaluation de la vulnérabilité est le processus de définition, d’identification et de classification des failles de sécurité potentiellement découverts dans le système cible.

Les test d’intrusion peuvent être automatisés avec des applications logicielles ou peuvent être effectués manuellement. Dans les deux cas, le processus comprend la collecte d’informations sur la cible avant le test (reconnaissance), l’identification des points d’entrée possibles, la tentative d’effraction (virtuelle ou réelle) et la restitution des résultats.

Lorsque un test de pénétration est effectués correctement, les résultats permettent aux professionnels de faire des recommandations pour résoudre les problèmes détectés au cours du test. L’objectif principal du test d’intrusion est d’améliorer la sécurité du système informatique, du réseau ou de l’application Web et de fournir une protection pour l’ensemble du réseau et des périphériques connectés contre les attaques futures.

Il existe trois types de test d’intrusion, selon les attentes de l’entreprise :

  • Black boxLe testeur se met complètement dans la peau d’un pirate. Il ne possède aucune information
  • Grey box: Le testeur possède un nombre limité d’informations
  • White box: Le testeur possède toutes les informations dont il a besoin.

Je ne rappellerais jamais assez sur le fait de toujours vous assurer d’être dans la légalité en passant soit par des sites spécialises ou par la conclusion d’un contrat en bonne et due forme avec votre client avant de commencer.

0

Nmap

NMAP “Network Mapper” est un utilitaire de recherche/découverte de réseau, ainsi que d’audit de sécurité. Il est gratuit et open source. L’utilisation de NMAP a pour but de trouver des informations sur une cible. Les différentes informations sont de savoir s’il y a des ports d’ouverts, et si oui quels services et quelles version de ces services sont utilisés par les ports ouverts découverts. Il est aussi possible de déduire quel système d’exploitation est utilisé par la cible. NMAP dispose aussi d’un moteur de script “Nmap Scripting Engine -NSE” qui s’utilise grâce au langage Lua et qui fournis ainsi une infinité d’opportunités. Les informations trouvée a partir de l’utilisation de cet outil peuvent permettre de trouver des “failles” qui pourraient éventuellement être utilisées pour les exploiter et prendre le contrôle du système scanné. Je vous rappelles que scanner un réseau qui ne vous appartient pas peut être considéré comme une intrusion est pourrait dans certains cas être sévèrement réprimé par la loi. Utilisez le donc toujours a bon escient en toute légalité, ayant toujours l’autorisation du propriétaire du réseau avec un contrat précis ou en passant par des sites/machines virtuelles délibérément vulnérables appelles “laboratoire de pentest”. Pour l’exemple j’utiliserais Metasploitable comme cible, je vous l’ai brièvement décrit dans un article précédent. Pour vous faciliter la tache si vous ne désirez par installer Metasploitable rendez vous sur www.root-me.org ou vous devrez vous inscrire et ensuite dans le menu “Capure the flag” cliquer sur “CTF all the day”. Vous pouvez ensuite créer votre propre machine “Metasploitable”, mais retenez que les machines sont limitées dans le temps. D’où l’avantage d’installer Metasploitable sur une machine virtuelle VirtualBox directement sur votre PC pour pouvoir vous entraîner dessus sans limitations.

J’insisterais sur le point que j’utiliserais pour la suite le terminal de kali-Linux sur lequel cet outil est installé d’office. Mais je vous explique malgré tout comment installer NMAP sur Windows, et je vous invite a passer par le site officiel en cliquant sur le lien suivant: https://nmap.org/dist/nmap-7.60-setup.exe. Pour une installation sur Linux , il vous suffit d’ouvrir le terminal et d’entrer la commande suivante: “apt-get update && apt-get install nmap”, sans les parenthèses. Voila NMAP est maintenant installé et prêt a l’emploi !

Connectez vous sur le “CTF all the day” de root-me en notant l’URL de la machine vulnérable lancée qui ressemblera a celle la: ctf07.root-me.org

Ou si vous avez opté pour l’installation sur VirtualBox notez l’IP de Metasploitable qui vous sera fournie par “ifconfig” dans métasploitable. elle ressemblera a celle la: 192.168.1.17

Ouvrez maintenant le terminal Kali-Linux. Découvrons avant de démarrer notre premier scan les différentes options présentes dans NMAP. Cette liste d’options a été directement prise sur le site officiel a cette adresse: https://nmap.org/man/fr/man-briefoptions.html

 

Utilisation: nmap [Type(s) de scan] [Options] {spécifications des cibles}

SPÉCIFICATIONS DES CIBLES:
Les cibles peuvent être spécifiées par des noms d’hôtes, des adresses IP, des adresses de réseaux, etc.
Exemple: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0-255.0-255.1-254
-iL <inputfilename>: Lit la liste des hôtes/réseaux cibles à partir du fichier
-iR <num hosts>: Choisit les cibles au hasard
–exclude <host1[,host2][,host3],…>: Exclut des hôtes/réseaux du scan
–excludefile <exclude_file>: Exclut des hôtes/réseaux des cibles à partir du fichier

DÉCOUVERTE DES HÔTES:
-sL: List Scan – Liste simplement les cibles à scanner
-sP: Ping Scan – Ne fait que déterminer si les hôtes sont en ligne -P0: Considère que tous les hôtes sont en ligne — évite la découverte des hôtes
-PN: Considérer tous les hôtes comme étant connectés — saute l’étape de découverte des hôtes
-PS/PA/PU [portlist]: Découverte TCP SYN/ACK ou UDP des ports en paramètre
-PE/PP/PM: Découverte de type requête ICMP echo, timestamp ou netmask
-PO [num de protocole]: Ping IP (par type)
-n/-R: Ne jamais résoudre les noms DNS/Toujours résoudre [résout les cibles actives par défaut]
–dns-servers <serv1[,serv2],…>: Spécifier des serveurs DNS particuliers

TECHNIQUES DE SCAN:
-sS/sT/sA/sW/sM: Scans TCP SYN/Connect()/ACK/Window/Maimon
-sN/sF/sX: Scans TCP Null, FIN et Xmas
-sU: Scan UDP
–scanflags <flags>: Personnalise les flags des scans TCP
-sI <zombie host[:probeport]>: Idlescan (scan passif)
-sO: Scan des protocoles supportés par la couche IP
-b <ftp relay host>: Scan par rebond FTP
–traceroute: Détermine une route vers chaque hôte
–reason: Donne la raison pour laquelle tel port apparait à tel état

SPÉCIFICATIONS DES PORTS ET ORDRE DE SCAN:
-p <plage de ports>: Ne scanne que les ports spécifiés
Exemple: -p22; -p1-65535; -pU:53,111,137,T:21-25,80,139,8080
-F: Fast – Ne scanne que les ports listés dans le fichier nmap-services
-r: Scan séquentiel des ports, ne mélange pas leur ordre
–top-ports <nombre>: Scan <nombre> de ports parmis les plus courants
–port-ratio <ratio>: Scan <ratio> pourcent des ports les plus courants

DÉTECTION DE SERVICE/VERSION:
-sV: Teste les ports ouverts pour déterminer le service en écoute et sa version
–version-light: Limite les tests aux plus probables pour une identification plus rapide
–version-intensity <niveau>: De 0 (léger) à 9 (tout essayer)
–version-all: Essaie un à un tous les tests possibles pour la détection des versions
–version-trace: Affiche des informations détaillées du scan de versions (pour débogage)

SCRIPT SCAN:
-sC: équivalent de –script=safe,intrusive
–script=<lua scripts>: <lua scripts> est une liste de répertoires ou de scripts séparés par des virgules
–script-args=<n1=v1,[n2=v2,…]>: passer des arguments aux scripts
–script-trace: Montre toutes les données envoyées ou recues
–script-updatedb: Met à jour la base de données des scripts. Seulement fait si -sC ou –script a été aussi donné.

DÉTECTION DE SYSTÈME D’EXPLOITATION:
-O: Active la détection d’OS
–osscan-limit: Limite la détection aux cibles prométeuses –osscan-guess: Détecte l’OS de façon plus agressive
–osscan-guess: Devine l’OS de facon plus agressive

TEMPORISATION ET PERFORMANCE:
Les options qui prennent un argument de temps sont en milisecondes a moins que vous ne spécifiiez ‘s’
(secondes), ‘m’ (minutes), ou ‘h’ (heures) à la valeur (e.g. 30m).

-T[0-5]: Choisit une politique de temporisation (plus élevée, plus rapide)
–min-hostgroup/max-hostgroup <msec>: Tailles des groupes d’hôtes à scanner en parallèle
–min-parallelism/max-parallelism <nombre>: Parallélisation des paquets de tests (probes)
–min_rtt_timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Spécifie le temps d’aller-retour des paquets de tests
–min_rtt_timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Spécifie le temps d’aller-retour des paquets de tests
–min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Précise
le round trip time des paquets de tests.
–max-retries <tries>: Nombre de retransmissions des paquets de tests des scans de ports.
–host-timeout <msec>: Délai d’expiration du scan d’un hôte –scan-delay/–max_scan-delay <msec>: Ajuste le délai de retransmission entre deux paquets de tests
–scan-delay/–max-scan-delay <time>: Ajuste le delais entre les paquets de tests.

ÉVASION PARE-FEU/IDS ET USURPATION D’IDENTITÉ
-f; –mtu <val>: Fragmente les paquets (en spécifiant éventuellement la MTU)
-D <decoy1,decoy2[,ME],…>: Obscurci le scan avec des leurres
-S <IP_Address>: Usurpe l’adresse source
-e <iface>: Utilise l’interface réseau spécifiée
-g/–source-port <portnum>: Utilise le numéro de port comme source
–data-length <num>: Ajoute des données au hasard aux paquets émis
–ip-options <options>: Envoi des paquets avec les options IP spécifiées.
–ttl <val>: Spécifie le champ time-to-live IP
–spoof-mac <adresse MAC, préfixe ou nom du fabriquant>: Usurpe une adresse MAC
–badsum: Envoi des paquets TCP/UDP avec une somme de controle erronnée.

SORTIE:
-oN/-oX/-oS/-oG <file>: Sortie dans le fichier en paramètre des résultats du scan au format normal, XML, s|<rIpt kIddi3 et Grepable, respectivement
-oA <basename>: Sortie dans les trois formats majeurs en même temps
-v: Rend Nmap plus verbeux (-vv pour plus d’effet)
-d[level]: Sélectionne ou augmente le niveau de débogage (significatif jusqu’à 9)
–packet-trace: Affiche tous les paquets émis et reçus
–iflist: Affiche les interfaces et les routes de l’hôte (pour débogage)
–log-errors: Journalise les erreurs/alertes dans un fichier au format normal
–append-output: Ajoute la sortie au fichier plutôt que de l’écraser
–resume <filename>: Reprend un scan interrompu
–stylesheet <path/URL>: Feuille de styles XSL pour transformer la sortie XML en HTML
–webxml: Feuille de styles de références de Insecure.Org pour un XML plus portable
–no_stylesheet: Nmap n’associe pas la feuille de styles XSL à la sortie XML

DIVERS:
-6: Active le scan IPv6
-A: Active la détection du système d’exploitation et des versions
–datadir <dirname>: Spécifie un dossier pour les fichiers de données de Nmap
–send-eth/–send-ip: Envoie des paquets en utilisant des trames Ethernet ou des paquets IP bruts
–privileged: Suppose que l’utilisateur est entièrement privilégié -V: Affiche le numéro de version
–unprivileged: Suppose que l’utilisateur n’a pas les privilèges d’usage des raw socket
-h: Affiche ce résumé de l’aide

Voila , les présentations étant faites passons a la suite et faisons un scan de démonstration avec différentes options prises dans la liste ci-dessus.

  • -sV pour trouver les services et leurs versions
  • -O pour trouver l’OS
  • L’adresse IP
  • -oX metasploitable.xml afin de générer un rapport en format .XML

Dans le terminal  de Kali-Linux entrez la commande: “sudo nmapsV -O 192.168.1.17 –oX metasploitable.xml” ou  si vous avez choisi de scanner votre machine par le biais de root-me “sudo nmap -sV -O ctfxx.root-me.org -oX metasploitable.xml” sans les parenthèses  et voyons le résultat. Je vous rappelles que l’URL ou l’IP devrons être noté et modifié par le votre comme expliqué plus haut ! Le fait de mettre “sudo” vous obligera a entrer votre mot de passe administrateur de votre machine Kali-Linux.

 

sudo nmap -sV -O 192.168.1.17 -oX metasploitable.xml
[sudo] Mot de passe de votre Kali-Linux :

Vous donnera le résultat suivant.

Vous allez maintenant transformer le résultat que vous avez exporté au format metasploitable.xml  dans le dossier ou vous avez fait le scan ! pas de panique dans le terminal faites un ‘ls” vous verrez que metasploitable.xml est bien affiché 🙂 Bref … pour transformer ce rapport dans un format plus facile a lire vous allez le transformer en HTML grâce a un outil qui s’appelle “xsltproc”, il  devra d’abord être installé en entrant la commande suivante dans le terminal: “apt-get install xsltproc” sans les parenthèses. Pour générer le rapport en HTML vous devrez entrer la commande suivante dans le terminal: xsltproc metasploitable.xml -o metasploitable.html

Naviguez maintenant dans le dossier ou se situe le rapport généré et cliquez dessus. vous verrez apparaître quelques chose qui devrait ressembler a ceci.

Vous pouvez maintenant constater les différentes informations que NMAP a trouvé et affiché ! Ces différentes informations seront utilisées dans un article suivant pour essayer de trouver des vulnérabilités !

0

Google dorks en phase de reconnaissance

Google est souvent utilisé par des pirates pour chercher différentes information sensibles. Cette même techniques est utilisée a coté d’autres outils par les professionnels de la sécurité informatique pour recueillir des données préliminaires ou des renseignements sur une cible (un client)  , afin de préparer un test de d’intrusion aussi appelé test de penetration. L’utilisation de certains mots clés qui entrées en association avec votre recherche donnera des résultats surprenant dans certains cas. Évitez certaines recherches car elle pourraient vous attirer beaucoup d’ennuis, renseignez vous toujours de la légalité de vos agissements. Ce tutoriel est uniquement destiné a être utilisé  dans le but de recherches personnelles et surtout comme un des différents outil en phase 1 d’un test d’intrusion, soit en passant par les différents sites qui proposent de vous entraîner en toute légalité , soit dans le cadre test d’intrusion que vous aurez préalablement validé par un contrat avec votre client.  Il est évident que dans le cas d’un test d’intrusion pour un client toutes les informations et les techniques que vous avez utilisé devront faire partie du rapport final pour en informer votre client qui prendra le mesures nécessaires pour éviter que des personnes malveillantes ne puissent trouver dans le futur ces mêmes informations qui peuvent dans certains cas être très sensibles. Voici une petite liste de certains de ces mots clés appelés “Google dorks”.

 

inurl:

inurl est utilisé pour rechercher n’importe quel texte à l’intérieur d’un url.

intext:

intext est utilisé pour rechercher n’importe quel texte dans le corps ou le code source du site Web.

filetype:

filetype est utilisé pour rechercher tout type de fichier que vous souhaitez localiser dans un site Web  ou sur un sujet particulier. Vous pouvez rechercher n’importe quel type de fichier.

intitle:

intitle est utilisé pour rechercher les titres des pages Web.

site:

site est utilisé pour réduire la zone de recherche à un site web particulier.

link:

link est utilisé pour vérifie d’autres sites Web contenant des liens vers un site Web.

 

Voici maintenant quelques exemples de l’utilisation de ces google dorks . pour ne pas etre trop long je n’en mettrait pas plus , mais vous pouvez bien sur faire une recherche sur Google pour avoir plus d’informations et d’exemples quand a l’utilisation de cette technique de recherche, ou directement cliquer sur le lien suivant: https://translate.google.fr/translate?sl=en&tl=fr&js=y&prev=_t&hl=fr&ie=UTF-8&u=http%3A%2F%2Fwww.googleguide.com%2Fadvanced_operators_reference.html&edit-text=&act=url

 

Un exemple pour retrouver dans le titre d’un site web le mot clé “cybersecurité” serait d’entrer le dork suivant dans la barre de recherches:

  •        intitle:cybersecurité

Un autre exemple avec le même dork mais un peu plus complexe vous permettra d’accéder a tous les sites ou il y a index.of dans le titre:

  •        intitle:index.of

Encore un exemple avec la même requête mais encore plus perfide cette fois pour trouver des sites avec un  type de serveur précis qui serait Apache version 2.0

  •       “Apache/2.0 Server at” intitle:index.of
0

Les phases d’un test d’intrusion

Je vais commencer par récapituler les cinq phases d’un test de pénétration. Les cinq phases se réfèrent à chaque étape primaire dans le processus d’un test de pénétration. le concept est primordial pour un nouveau venu dans ce domaine. Voici un bref aperçu des cinq phases d’un tests de pénétration

Phase1: Reconnaissance.

Reconnaissance est l’acte de recueillir des données préliminaires ou des renseignements sur votre cible.Les données sont collectées afin de mieux planifier votre attaque. La reconnaissance peut être effectuée activement (ce qui signifie que vous touchez directement la cible) ou passivement (ce qui signifie que votre reconnaissance est effectuée par un intermédiaire). La phase 1 comprends l’identification de la cible, la découverte de la plage d’adresses IP cible, le réseau, le nom de domaine, le serveur de messagerie, les enregistrements DNS, etc.

Phase2: Balayage.

La phase de Balayage (scanning) nécessite l’utilisation d’outils techniques pour recueillir davantage d’informations sur votre cible, dans ce cas, l’information recherchée concerne plus souvent les systèmes qui sont en place. Un bon exemple serait l’utilisation d’un scanner de vulnérabilité sur un réseau cible. La phase 2 comprends l’analyse de la cible pour les services en cours d’exécution, les ports ouverts, la détection de pare-feu, la recherche de vulnérabilités, la détection de l’os, etc.

Phase3: Obtenir l’accès.

L‘obtention de l’accès à la phase 3 nécessite de prendre le contrôle afin d’extraire des données de la cible ou d’utiliser cette cible pour lancer ensuite des attaques sur d’autres cibles. La phase 3 inclut l’exploitation des vulnérabilités, l’ingénierie sociale, etc.

Phase4: Maintenir l’accès.

Maintenir l’accès nécessite de prendre les mesures nécessaires pour pouvoir rester dans l’environnement cible afin de rassembler le plus de données possible. L’attaquant doit rester furtif dans cette phase, afin de ne pas être attrapé lors de l’utilisation de l’environnement hôte. La phase 4 inclut l’escalade des privilèges, l’installation de backdoor sur la cible pour pouvoir conserver l’accès acquis et voir se connecter à la cible à tout moment, etc.

Phase5: Effacer les traces.

Cette phase finale signifie simplement que l’attaquant doit prendre les mesures nécessaires pour supprimer tout semblant de traces. Toutes les modifications apportées, les autorisations qui ont été escaladées, etc. doivent toutes revenir à un état de non-reconnaissance par les administrateurs du réseau hôte.

 

On pourrait aussi ajouter deux autres phases:

Une phase de pré-engagement: qui se place avant la phase de reconnaissance et qui consiste a définir avec le client un périmètre du test d’intrusion qui va être réalisé, ce que l’on a le droit de faire et ce qu’il est totalement proscrit, ainsi que les objectifs.

Une phase ou l’on crée un rapport final: qui se place bien sur en dernière position. il s’agira de fournir au client un rapport documenté qui expliquera commentet avec quel outils le pentest a été effectué, quelles failles on été découvertes, quels sont les risques pour le client, et bien sur comment remédier a ces problèmes en expliquant comment corriger les différentes failles découvertes.

0

Metasploitable

Metasploitable est une machine virtuelle basée sur Linux. Elle est volontairement vulnérable et peut être utilisé pour être exploitée en toute légalité. Metasploitable Project est créé et maintenu par Rapid7 Community (Communauté Metasploit-FrameWork). En termes simples, Metasploitable est un système d’exploitation basé sur Linux,spécialement conçu pour la pratique des compétences de test de pénétration,compétence de sécurité réseau. Il peut être accessible en ligne, ou alors installé sur une machine virtuelle, il faudra a ce moment la télécharger en cliquant sur ce lien.

Je l’utiliserait pour faire des démonstrations de scan avec différents outils dans certains articles suivants. Il est bien sur évident que pour pouvoir utiliser les différents outils envers la machine vulnérable Metasploitable, celle ci devra être démarrée !

0

Securitytube Python Scripting Expert

Le SPSE est une certification en ligne qui vous aidera à maîtriser les scripts Python et leur application aux problèmes de sécurité informatique et réseau. Ce cours est idéal pour les testeurs de pénétration,les passionnés de sécurité et les administrateurs réseau qui souhaitent apprendre à automatiser des tâches ou aller au-delà de l’utilisation d’outils prêts à l’emploi.

Le formateur n’est rien d’autre que Vivek Ramachandran qui est le fondateur et le formateur en chef de SecurityTube. Il a notamment découvert l’attaque Caffe Latte, a brisé WEP Cloaking,un schéma de protection WEP en 2007 à la Defcon. Il est également l’auteur du livre “Backtrack 5 Wireless Penetration Testing”.

Cette certification se base sur un support de cours minimaliste . Fournissant simplement juste ce qu’il faut d’explications et d’exemples en vidéos qui serviront de base à approfondir par la suite…  Ce qui oblige donc tout les participants a faire d’énormes recherches par eux mêmes pour pouvoir réussir les différents exercices proposées. Ce que je trouve personnellement être une très bonne chose. Pour certaines parties Vivek utilise des modules assez anciens, mais il n’est pas interdit d’utiliser d’autres modules (d’ailleurs je conseillerais d’utiliser et de tester le plus de modules différents que possible). Un forum spécifique pour les inscrits a la certification est aussi disponible pour vous aider, mais je vous conseillerais biens sur de d’abord faire les  recherches et tests par vous même pour bien assimiler les différentes techniques

L‘examen final se compose de 4 scripts différents  a créer (basés sur ce que vous aurez appris) . Les sujets étant fournis environ 10 a 15 minutes avant le début de l’examen, pour lequel vous avez 6h pour rendre vos copies. Les  scripts a créer pour l’examen final sont différents pour chaque personne, ce qui évite la spoliation.

 

Voici une liste non exhaustive des différents modules qui sont enseignés 

Module 1: Scripting Python – Les bases du langage

Module 2: Programmation du système et sécurité

Module 3: Programmation de sécurité réseau – Renifleurs et Injecteurs de paquets

Module 4: Attaques d’applications Web

Module 5: Techniques d’exploitation

Module 6: Analyse des logiciels malveillants et ingénierie inverse

Module 7: Automatisation des tâches d’attaque

Module 8: Poursuite de l’étude et feuille de route

Module 9: Modèle d’examen et examen simulé

Pour accéder a la page d’accueil de la certification SPSE c’est par ici.