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
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]