Reconnaissance OSINT (Information Gathering)

La prise d'information est une des étapes clefs avant une cyberattaque ou pendant un pentest, celle-ci peut etre considéré comme l'étape la plus longue avant l'attaque concrète.

Le périmètre d'une cible peut inclure clients, employés, opérations réseaux et systèmes.

La reconnaissance se coupe et deux parties principales:

Reconnaissance Passive : Recueil d'information sans interaction direct avec la cible (Whois, Information publique, ...)

Reconnaissance Active : recueil d'information avec interaction envers la cible (Scan, Prise de version des services/applications, Ingénierie social, ...)

Ces collectes d'informations permettra une fois complète de planifier et définir la méthodologie de l'attaque.

Grossièrement la prise d'empreinte s'effectue sur ces 3 points

  • La collecte d'information (Information gathering)
  • Mapping du réseau et de l'architecture
  • Recherche de vulnérabilités

Les méthodologies sont variables selon les cibles, dans un premier temps la recherche sera passive (Aucun contact direct avec la cible/SI)

Reconnaissance Passive

Le web regorge d'information intéressantes :

  • Les pages jaunes
  • Information fiscale (partenaires, marchés en cours, ...)
  • Information sur les sociétés (http://www.societe.com)
  • Réseaux sociaux (Pour étendre son champ d'action)
  • GOOGLE (Google hacking ;) )

Des services online sont aussi disponibles :

dnshistory recense les anciennes entrées des domaines de l'internet.
https://dnshistory.org

WayBackMachine permet de remonter le temps et retrouvé du contenue web à une certaine periode
https://archive.org/web/

Facebook / Linkedin / Viadeo .... sont aussi des sources débordantes d'informations sur la/les cibles

Checkusernames lance des recherches sur plusieurs réseaux sociaux
https://checkusernames.com/

PeekYou est aussi une source de renseignements précieux http://www.peekyou.com

Pipl permet lui aussi cela avec en prime une situation géographique
https://pipl.com/

Netcraft permet de trouver des informations concernant les serveurs d'un site web
http://www.netcraft.com

Robtek est un de mes services préférés, il donne beaucoup d'infos et les schématises
http://www.robtex.com

Shodan la référence, il permet de trouver des serveurs web, ftp, et de nombreux périphériques faillible à la pelle
https://www.shodan.io/

Censys moteur de recherche collectant toutes les informations des devices en IPv4 sur le net
https://censys.io/

Google hack Google est un gouffre à données à tel point qu'il est capable de référencer de la donnée confidentielle

  • + (and) : recherche des pages web regroupant des mots clefs : k-lfa+best+geek
  • - (not) : retire une expression de la recherche : K-lfa - porn (Page contenant le terme k-lfa mais ne contenant pas porn
  • | (pipe) considère plusieurs motifs dans la recherche : CVE
    +(exploit | root)
    la recherche se fera sur les pages contenant CVE et exploit ou root
  • "" (guillemet) recherche les expression exacts : "k-lfa google hacking"
  • .. (double point) permet de rechercher tous les nombres de la plages spécifiée :  bande passante 500..1000 Méga Opérateur avec bande passante entre 500 et 1000

Les opérateurs avancés :

  • site: recherche les pages du site ou domaine spécifié.
  • Filetype: recherche par type de fichier. Ex : filetype:.doc
  • Cache: donne la dernière version de la page web indexée par le robot Google.
  • Related: renvoie les pages liées à un URL. Ex : related:eni.fr
  • allintext: restreint la recherche au corps du texte de la page (balise body). Ex. : allintext malware wannacry remonte les pages où on parle du malware wannacry.
  • intext: fonctionne de la même manière que allintext mais un seul mot peut être recherché. Ex. : intext:wannacry.
  • allintitle: recherche un ou plusieurs mots dans le titre de la page (balise title).
  • intitle: même principe mais la recherche n’est possible que sur un seul terme.
  • allinurl: la recherche s’effectue uniquement sur les URL des pages web pour un ou plusieurs mots.
  • inurl: même principe pour un seul terme de recherche.
  • stocks: en indiquant le nom de l’entreprise ou son code action, il permet de suivre le cours de ses actions en bourse. Ex : stocks:nissan
  • info: donne certaines informations sur le site web passé en argument. Ex : info:eni.fr et donne l’accès à d’autres informations (cache, pages similaires...)

Quelques exemples :

filetype:txt admin+ (password | passwd) Recherche des fichier text avec les champs

site: pastebin.com "admin+ (password | passwd)"

Les googles dorks ont eux aussi leur utilités puisqu'ils récupèrent des informations sensibles (il s'agit en fait de requêtes googles avec des opérateurs qui pointent sur de l'information sensibles)
https://www.exploit-db.com/google-hacking-database#

De nombreux outils automatise tout ce travail et permette de gagner du temps sur la prise d'information

theharvester
permet de récupérer des comptes mails, nom d'utilisateurs, des noms de domaines et sous domaines

theharvester -d k-lfa.info -b google -h

  *******************************************************************
*                                                                 *
* | |_| |__   ___    /\  /\__ _ _ ____   _____  ___| |_ ___ _ __  *
* | __| '_ \ / _ \  / /_/ / _` | '__\ \ / / _ \/ __| __/ _ \ '__| *
* | |_| | | |  __/ / __  / (_| | |   \ V /  __/\__ \ ||  __/ |    *
*  \__|_| |_|\___| \/ /_/ \__,_|_|    \_/ \___||___/\__\___|_|    *
*                                                                 *
* TheHarvester Ver. 2.7.2                                         *
* Coded by Christian Martorella                                   *
* Edge-Security Research                                          *
* cmartorella@edge-security.com                                   *
*******************************************************************

[-] Starting harvesting process for domain: k-lfa.info

[-] Searching in Google:
	Searching 0 results...
	Searching 100 results...
	Searching 200 results...
	Searching 300 results...
	Searching 400 results...
	Searching 500 results...

 Harvesting results


[+] Emails found:
------------------
No emails found
 
[+] Hosts found in search engines:
------------------------------------
No hosts found
[+] Shodan Database search:

uberharvest
script analysant un site web pour y retrouver les mails, serveurs et téléphones

host
Utilitaire permettant d'afficher les redirections DNS et de demander un transfert de zone

host k-lfa.info
k-lfa.info has address 51.38.234.244
k-lfa.info mail is handled by 1 mx1.mail.ovh.net.
k-lfa.info mail is handled by 5 mx2.mail.ovh.net.
k-lfa.info mail is handled by 100 mx3.mail.ovh.net.

host -l k-lfa.info 213.251.128.148
Using domain server:
Name: 213.251.128.148
Address: 213.251.128.148#53
Aliases: 

Host k-lfa.info not found: 5(REFUSED)
; Transfer failed.

whois
Permet d'obtenir des info sur le propriétaire d'un domaine et sur l'attribution de la plage IP

whois k-lfa.info
Domain Name: K-LFA.INFO
Registry Domain ID: D503300000053646349-LRMS
Registrar WHOIS Server: whois.ovh.com
Registrar URL: http://www.ovh.com/
Updated Date: 2018-10-01T19:12:37Z
Creation Date: 2017-10-08T13:02:13Z
Registry Expiry Date: 2019-10-08T13:02:13Z
Registrar Registration Expiration Date:
Registrar: OVH sas
Registrar IANA ID: 433
Registrar Abuse Contact Email: abuse@ovh.net
Registrar Abuse Contact Phone: +33.972101007
Reseller:
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Registrant Organization:
Registrant State/Province:
Registrant Country: FR

dig
Utilitaire pour les tests et intérrogations de serveur DNS

dig k-lfa.info

; <<>> DiG 9.10.3-P4-Ubuntu <<>> k-lfa.info
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39659
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;k-lfa.info.			IN	A
;; ANSWER SECTION:
k-lfa.info.		2259	IN	A	51.38.234.244
;; Query time: 0 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Dec 10 23:04:14 CET 2018
;; MSG SIZE  rcvd: 55

dig @NS104.OVH.NET axfr k-lfa.info

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @NS104.OVH.NET axfr k-lfa.info
; (2 servers found)
;; global options: +cmd
; Transfer failed.

dnsenum
Permet de récupérer des infos sur un domaine donné (NS, transfert de zone, sous-domaine, serveurs MX, bruteforce DNS, ...)

dnsenum -f subdomains.txt youporn.com -w

-----   youporn.com   -----

Host's addresses:
__________________

youporn.com.                             5        IN    A        216.18.168.116

Name Servers:
______________

sdns3.ultradns.com.                      5        IN    A        156.154.140.3
dns4.p03.nsone.net.                      5        IN    A        198.51.45.67
ns1.p44.dynect.net.                      5        IN    A        208.78.70.44
ns2.p44.dynect.net.                      5        IN    A        204.13.250.44
sdns3.ultradns.biz.                      5        IN    A        156.154.142.3
sdns3.ultradns.org.                      5        IN    A        156.154.143.3
ns4.p44.dynect.net.                      5        IN    A        204.13.251.44
sdns3.ultradns.net.                      5        IN    A        156.154.141.3
ns3.p44.dynect.net.                      5        IN    A        208.78.71.44
dns1.p03.nsone.net.                      5        IN    A        198.51.44.3
dns3.p03.nsone.net.                      5        IN    A        198.51.44.67
dns2.p03.nsone.net.                      5        IN    A        198.51.45.3

Mail (MX) Servers:
___________________

mxa-002a0701.gslb.pphosted.com.          5        IN    A        67.231.151.26
mxb-002a0701.gslb.pphosted.com.          5        IN    A        67.231.151.26

Trying Zone Transfers and getting Bind Versions:
_________________________________________________

Trying Zone Transfer for youporn.com on sdns3.ultradns.com ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for youporn.com on dns4.p03.nsone.net ... 
AXFR record query failed: NOTIMP

Trying Zone Transfer for youporn.com on ns1.p44.dynect.net ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for youporn.com on ns2.p44.dynect.net ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for youporn.com on sdns3.ultradns.biz ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for youporn.com on sdns3.ultradns.org ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for youporn.com on ns4.p44.dynect.net ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for youporn.com on sdns3.ultradns.net ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for youporn.com on ns3.p44.dynect.net ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for youporn.com on dns1.p03.nsone.net ... 
AXFR record query failed: NOTIMP

Trying Zone Transfer for youporn.com on dns3.p03.nsone.net ... 
AXFR record query failed: NOTIMP

Trying Zone Transfer for youporn.com on dns2.p03.nsone.net ... 
AXFR record query failed: NOTIMP

Brute forcing with subdomains.txt:
___________________________________

blog.youporn.com.                        5        IN    A        31.192.120.40
cms.youporn.com.                         5        IN    A        31.192.116.25
de.youporn.com.                          5        IN    CNAME    youporn.com.
youporn.com.                             5        IN    A        216.18.168.116
en.youporn.com.                          5        IN    CNAME    youporn.com.
youporn.com.                             5        IN    A        216.18.168.116
es.youporn.com.                          5        IN    CNAME    youporn.com.
youporn.com.                             5        IN    A        216.18.168.116
feedback.youporn.com.                    5        IN    CNAME    youporn.uservoice.com.
youporn.uservoice.com.                   5        IN    A        104.17.29.92
youporn.uservoice.com.                   5        IN    A        104.17.28.92
youporn.uservoice.com.                   5        IN    A        104.17.27.92
youporn.uservoice.com.                   5        IN    A        104.17.30.92
youporn.uservoice.com.                   5        IN    A        104.17.31.92
fr.youporn.com.                          5        IN    CNAME    youporn.com.
youporn.com.                             5        IN    A        216.18.168.116
it.youporn.com.                          5        IN    CNAME    youporn.com.
youporn.com.                             5        IN    A        216.18.168.116
jp.youporn.com.                          5        IN    CNAME    youporn.com.
youporn.com.                             5        IN    A        216.18.168.116
m.youporn.com.                           5        IN    A        216.18.168.116
mobile.youporn.com.                      5        IN    CNAME    m.youporn.com.
m.youporn.com.                           5        IN    A        216.18.168.116
nl.youporn.com.                          5        IN    CNAME    youporn.com.
youporn.com.                             5        IN    A        216.18.168.116
origin.youporn.com.                      5        IN    A        94.199.254.4
preprod.youporn.com.                     5        IN    A        31.192.120.46
pt.youporn.com.                          5        IN    CNAME    youporn.com.
youporn.com.                             5        IN    A        216.18.168.116
rt.youporn.com.                          5        IN    CNAME    youporn.com.
youporn.com.                             5        IN    A        216.18.168.116
ru.youporn.com.                          5        IN    CNAME    youporn.com.
youporn.com.                             5        IN    A        216.18.168.116
smtp.youporn.com.                        5        IN    A        94.199.255.23
stage.youporn.com.                       5        IN    A        31.192.120.46
store.youporn.com.                       5        IN    A        216.18.168.79
w.youporn.com.                           5        IN    A        216.18.168.79
ww.youporn.com.                          5        IN    A        216.18.168.79
www.youporn.com.                         5        IN    CNAME    youporn.com.
youporn.com.                             5        IN    A        216.18.168.116
wwww.youporn.com.                        5        IN    A        216.18.168.79

youporn.com class C netranges:
_______________________________

 31.192.116.0/24
 31.192.120.0/24
 94.199.254.0/24
 94.199.255.0/24
 216.18.168.0/24

Performing reverse lookup on 1280 ip addresses:
________________________________________________

0 results out of 1280 IP addresses.

youporn.com ip blocks:
_______________________

done.

dnsscan
dispose des mêmes fonctionnalités que dnsenum, mais l'utilisation des deux peut se compléter
https://github.com/rbsec/dnscan

./dnscan.py -d youporn.com -w subdomains.txt -r -o dnsscan_result.txt
[*] Processing domain youporn.com
[+] Getting nameservers
156.154.142.3 - sdns3.ultradns.biz
204.13.250.44 - ns2.p44.dynect.net
198.51.45.67 - dns4.p03.nsone.net
198.51.44.67 - dns3.p03.nsone.net
208.78.71.44 - ns3.p44.dynect.net
198.51.45.3 - dns2.p03.nsone.net
156.154.140.3 - sdns3.ultradns.com
204.13.251.44 - ns4.p44.dynect.net
198.51.44.3 - dns1.p03.nsone.net
156.154.143.3 - sdns3.ultradns.org
208.78.70.44 - ns1.p44.dynect.net
156.154.141.3 - sdns3.ultradns.net
[-] Zone transfer failed

[+] TXT records found
"v=spf1 include:_ipv4spf.youporn.com ptr:closedrelay.com ptr:emailsrvr.com mx a:smtp.youporn.com mx a:smtp2.youporn.com mx ptr:reflected.net ip4:66.254.119.174 ip4:66.254.113.78 -all"

[+] MX records found, added to target list
10 mxa-002a0701.gslb.pphosted.com.
10 mxb-002a0701.gslb.pphosted.com.

[*] Scanning youporn.com for A records
216.18.168.116 - youporn.com                           
31.192.120.40 - blog.youporn.com                      
31.192.116.25 - cms.youporn.com                                
216.18.168.116 - de.youporn.com                       
216.18.168.116 - en.youporn.comm                              
216.18.168.116 - es.youporn.com                                 
104.17.29.92 - feedback.youporn.com               
104.17.28.92 - feedback.youporn.com
104.17.27.92 - feedback.youporn.com
104.17.30.92 - feedback.youporn.com
104.17.31.92 - feedback.youporn.com
216.18.168.116 - fr.youporn.com                     
216.18.168.116 - it.youporn.com                    
216.18.168.116 - jp.youporn.com                   
216.18.168.116 - m.youporn.com                        
216.18.168.116 - mobile.youporn.com                 
216.18.168.116 - nl.youporn.com                     
94.199.254.4 - origin.youporn.com                   
31.192.120.46 - preprod.youporn.com                     
216.18.168.116 - pt.youporn.com                   
216.18.168.116 - ru.youporn.com                     
216.18.168.116 - rt.youporn.com             
94.199.255.23 - smtp.youporn.com                     
31.192.120.46 - stage.youporn.com                     
216.18.168.79 - store.youporn.com                  
216.18.168.79 - w.youporn.com                      
216.18.168.79 - ww.youporn.com                       
216.18.168.116 - www.youporn.com                  
216.18.168.79 - wwww.youporn.com                
64.210.159.151 - stage.blog.youporn.com                              
31.192.120.46 - stage.cms.youporn.com                               
31.192.120.46 - preprod.de.youporn.com                             
31.192.120.46 - stage.de.youporn.com                     
31.192.120.46 - preprod.en.youporn.com                                  
31.192.120.46 - stage.en.youporn.com                                     
31.192.120.46 - preprod.es.youporn.com                         
31.192.120.46 - stage.es.youporn.com                           
31.192.120.46 - preprod.fr.youporn.com                             
31.192.120.46 - stage.fr.youporn.com

Bluto
Récupère les informations DNS et analyse les métadatas des documents disponibles (pour aussi agir en tant que email hunter)
pip install git+git://github.com/darryllane/Bluto


Reconnaissance Active

Nmap est un scanner (ports, services, vulnérabilité, OS, ...) très complet en plus de faire de l'OSINT il est capable de détecter des vulnérabilités

https://k-lfa.info/nmap/

nmap 192.168.239.129 -sT -sU -Pn -O -p 1-2100,8080 -sV --version-all --open
ORT     STATE         SERVICE     VERSION
21/tcp   open          ftp         vsftpd 2.3.4
22/tcp   open          ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp   open          telnet      Linux telnetd
25/tcp   open          smtp        Postfix smtpd
53/tcp   open          domain      ISC BIND 9.4.2
80/tcp   open          http        Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp  open          rpcbind     2 (RPC #100000)
139/tcp  open          netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp  open          netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp  open          exec        netkit-rsh rexecd
513/tcp  open          login       OpenBSD or Solaris rlogind
514/tcp  open          tcpwrapped
1099/tcp open          rmiregistry GNU Classpath grmiregistry
1524/tcp open          bindshell   Metasploitable root shell
2049/tcp open          nfs         2-4 (RPC #100003)
53/udp   open          domain      ISC BIND 9.4.2
68/udp   open|filtered dhcpc
69/udp   open|filtered tftp
111/udp  open          rpcbind     2 (RPC #100000)
137/udp  open          netbios-ns  Samba nmbd netbios-ns (workgroup: WORKGROUP)
138/udp  open|filtered netbios-dgm
946/udp  open|filtered unknown
2049/udp open          nfs         2-4 (RPC #100003)
MAC Address: 00:0C:29:BC:3D:00 (VMware)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.9 - 2.6.33
Network Distance: 1 hop
Service Info: Hosts:  metasploitable.localdomain, localhost, METASPLOITABLE; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2532.87 seconds


dirb

dirb est un énumerateur de web directory pouvant également effectuer du bruteforce de dossier non linké dans le code HTML (des paramètres peuvent lui être passé pour changer l'user agent, Header HTTP, ...)

#Simple scan
dirb http://192.168.1.19

Scanning URL: http://192.168.1.19/ ----
+ http://192.168.1.19/cgi-bin/ (CODE:403|SIZE:293)                             
==> DIRECTORY: http://192.168.1.19/dav/                                        
+ http://192.168.1.19/index (CODE:200|SIZE:891)                                
+ http://192.168.1.19/index.php (CODE:200|SIZE:891)                            
+ http://192.168.1.19/phpinfo (CODE:200|SIZE:48062)                            
+ http://192.168.1.19/phpinfo.php (CODE:200|SIZE:48074)                        
==> DIRECTORY: http://192.168.1.19/phpMyAdmin/                                 
+ http://192.168.1.19/server-status (CODE:403|SIZE:298)                        
==> DIRECTORY: http://192.168.1.19/test/                                       
==> DIRECTORY: http://192.168.1.19/twiki/              
....

dirb http://192.168.1.19 /usr/share/wordlists/dirb/big.txt -o Dirb-Report.txt
---- Scanning URL: http://192.168.1.19/ ----
+ http://192.168.1.19/cgi-bin/ (CODE:403|SIZE:293)                             
==> DIRECTORY: http://192.168.1.19/dav/                                        
+ http://192.168.1.19/index (CODE:200|SIZE:891)                                
==> DIRECTORY: http://192.168.1.19/phpMyAdmin/                                 
+ http://192.168.1.19/phpinfo (CODE:200|SIZE:48062)                            
+ http://192.168.1.19/server-status (CODE:403|SIZE:298)                        
==> DIRECTORY: http://192.168.1.19/test/                                       
==> DIRECTORY: http://192.168.1.19/tikiwiki/                                   
==> DIRECTORY: http://192.168.1.19/twiki/                                      
                                                                               
---- Entering directory: http://192.168.1.19/dav/ ----
...

intrace

Permet d’énumérer les sauts vers la cible sur une connections TCP (équivalent traceroute en protocole TCP)

intrace -h 192.168.1.19 -p 22 

whatweb

Permet de détecter la technologie utilisé derrière la web app

whatweb 192.168.1.19

http://192.168.1.19 [200 OK] Apache[2.2.8], Country[RESERVED][ZZ], HTTPServer[Ubuntu Linux][Apache/2.2.8 (Ubuntu) DAV/2], IP[192.168.1.19], PHP[5.2.4-2ubuntu5.10], Title[Metasploitable2 - Linux], WebDAV[2], X-Powered-By[PHP/5.2.4-2ubuntu5.10]