Google dorks in recognition phase

 

Google is often used by hackers to search for various sensitive informations. This same technique is used along with other tools by IT security professionals to gather preliminary data or information about a target (a customer), in order to prepare a penetration test. The use of certain keywords that enter in association with your search will give surprising results in some cases. Avoid certain searches as they could get you into a lot of trouble, always check the legality of your actions. This tutorial is only intended to be used for personal research and especially as one of the different tools in phase 1 of an intrusion test, either through the different sites that offer to train you legally, or within the framework of an intrusion test that you will have previously validated by a contract with your client. It is obvious that in the case of a penetration test for a client, all the information and techniques that you have used must be included in the final report to inform your client, who will take the necessary measures to prevent malicious people from finding this information in the future, who can in some cases be very sensitive. Here is a small list of some of these keywords called «Google dorks»

 

inurl is used to search for any text inside a url.

intext is used to search for any text within the body or source code of the website.

filetype is used to search for any type of file you want to locate within a website or on a particular topic. You can search for any type of file.

intitle is used to search for web page titles.

site is used to narrow the search area to a particular website.

link is used to check other websites containing links to a website.

 

Here are some examples of the use of these google dorks. Not to be too long I would not put more, but you can of course do a search on Google to have more information and examples when using this search technique, or directly click on the following link: http://www.googleguide.com/advanced_operators_reference.html

 

An example to find the keyword « cybersecurity » in the title of a website would be to enter the following dork in the search bar:

  • intitle:cybersecurity

Another example with the same dork but a little more complex will allow you to access all sites where there is index.of in the title:

  • intitle:index.of

Another example with the same query but even more perfidious this time to find sites with a specific type of server which would norlamly be Apache version 2.0

  • « Apache/2.0 Server at » intitle:index.of
  •  intitle:index.of “Apache” “server at”

Thats is for this simple and short tutorial. Use it wisely and in legality.

 

 

OWASP

OWASP (Open Web Application Security) is a charity and non-profit organization. It is a global community dedicated to promoting knowledge to improve web application security. Its mission is to share information and free ways to train and make the right decisions about securing applications for individuals, professionals, universities and government agencies.

OWASP is known for publishing various documents, including the OWASP top 10, of which I will give you a brief description. This is a document that OWASP published the last two times in 2013 and 2017. It includes a list of the top 10 application security risks faced by developers and organizations, with the goal of helping developers and security teams better secure the applications they build and deploy, as well as techniques and best practices for avoiding and fixing vulnerabilities. Most security audits and specialized tools are based on this Top 10.

Here is the 2017 list of the top 10 most common vulnerabilities:

1   Injections
2   Broken Authentication
3   Sensitive Data Exposure
 XML External Entities (XXE)
5   Broken Access Control
6   Security Misconfiguration
7   Cross-Site Scripting (XSS)
8   Insecure Deserialization
9   Using Components with Known Vulnerabilities
10 Insufficient Logging & Monitoring

I provide you with the official link of the OWASP document that you can go through and analyze as you wish. It contains this list, with very detailed explanations, scenarios, as well as countermeasures to apply to secure your web applications. It also contains some links that I invite you to consult.

However, you should know that these are only the 10 main risks for web applications, and that there are many other more or less advanced ones. Don’t hesitate to get information and to consult official websites, books, links, etc. to learn more.

Here is the official document of the OWASP top 10 of 2017 in the original and complete version: https://owasp.org/www-pdf-archive/OWASP_Top_10_2017_RC2_Final.pdf

Clarification about penetration testing

 

The terms penetration testing and vulnerability assessment are often confused and used interchangeably, when in fact the two terms have distinct meanings.

Penetration testing, also known as penetration testing or simply pentesting, is a continuous cycle of searching for and attacking a target in order to identify vulnerabilities within a computer system, network, or web application that an attacker could exploit and then attempt to gain potential access to various confidential data and information about the system under a test.

Vulnerability assessment is the process of defining, identifying, and classifying potential security vulnerabilities in the target system.

Penetration testing can be automated with software applications or can be performed manually. In both cases, the process includes collecting information about the target before the test (reconnaissance), identifying possible entry points, attempting to break in (virtual or real), and reporting the results.

When a penetration test is performed correctly, the results allow professionals to make recommendations to solve the problems detected during the test. The main objective of penetration testing is to improve the security of the computer system, network, or web application and to provide protection for the entire network and connected devices against future attacks.

There are three types of penetration testing, depending on the company‘s expectations:

Black box: The tester puts himself completely in the shoes of a hacker. He does not have any information.
Grey box: The tester has a limited amount of information.
White box: The tester has all the information he needs.

I can’t stress the fact enough that you should always make sure that you are in the right by either going through specialized sites or by concluding a proper contract with your client before starting.

0

Phases of a pentest


I will begin by summarizing the five phases of a penetration test.
The five phases refer to each primary step in the process of a penetration test. Here is a brief overview of the five phases of a penetration test

Phase 1: Reconnaissance.

Reconnaissance is the act of gathering preliminary data or information about your target. The data is collected to better plan your attack. Reconnaissance can be done actively (meaning you hit the target directly) or passively (meaning your reconnaissance is done by an intermediary). Phase 1 includes identifying the target, discovering the target IP address range, network, domain name, mail server, DNS records, etc.

Phase 2: Scanning.

The Scanning phase requires the use of technical tools to gather more information about your target, in this case. The information sought is more often about the systems that are in place. A good example would be the use of a vulnerability scanner on a target network. Phase 2 includes scanning the target for running services, open ports, firewall detection, vulnerability scanning, bone scan, etc.

Phase 3: Obtaining access.

Obtaining access in Phase 3 requires taking control in order to extract data from the target or using that target to then launch attacks on other targets. Phase 3 includes exploiting vulnerabilities, social engineering, etc.

Phase 4: Maintaining access.

Maintaining access requires taking the necessary steps to be able to stay in the target environment to gather as much data as possible. The attacker must remain stealthy in this phase, so as not to be caught while using the host environment. Phase 4 includes escalation of privileges, installation of backdoor on the target to be able to keep the acquired access and see to connect to the target at any time, etc.

Phase 5: Erasing the traces.

This final phase simply means that the attacker must take the necessary steps to remove any semblance of traces. Any changes that were made, permissions that were escalated, etc. should all revert to a state of non-recognition by the host network administrators.


We could also add two other phases:

A pre-engagement phase: which takes place before the recognition phase and which consists of defining with the client a perimeter of the penetration test that is going to be carried out, what is allowed to be done and what is totally forbidden, as well as the objectives.

A phase where we create a final report: which is of course in the last position. It will be to provide the customer with a documented report that will explain how and with which tools the pentest was performed, what flaws were discovered, what are the risks for the customer, and of course how to remedy these problems by explaining how to correct the various flaws discovered.

0

Télécharger gratuitement le manuel officiel de Kali LInux

 

Kali Linux est une distribution basée sur Debian. Elle est le successeur de Backtrack. C’est un projet maintenu par Offensive Security qui est orienté test d’intrusion, analyse forensique, ingénierie inversée, audit de sécurité etc…
Cette distribution est la distribution favorite des professionnels de la sécurité de l’information dans le monde entier, elle contient plus de 600 des meilleurs outils préinstallés. Offensive Security propose le téléchargement gratuit d’un document en Anglais de 344 pages qui est considéré comme le premier manuel officiel de Kali Linux.
Que vous soyez débutant ou confirmé ce document sera pour tout le monde une mine d’or que vous consulterez régulièrement pour vous guider ou vous rafraichir la mémoire. En outre ce document pourra servir de feuille de route, de référence technique et de guide d’études pour ceux qui souhaiteraient suivre la certification KLCP (Kali Linux Certified Professional) proposée par Offensive Security.

Sans plus attendre voici donc le liens pour télécharger gratuitement et légalement le manuel.

https://kali.training/downloads/Kali-Linux-Revealed-1st-edition.pdf

 

N’oubliez pas que l’utilisation des différents outils et techniques pourrait dans certaines circonstances vous mettre hors la loi. Veuillez respecter la législation en vigueur en France en suivant les consignes que j’ai publie dans l’article intitulé “Rappel des textes en vigueur concernant les atteintes aux systèmes de traitement automatisé de données

0

Scanner de ports en Python (Phase2)

 

 

Comme un scan de port n’est rien sans un petit banner grabbing. Je vous propose de compléter le script utilisé dans le premier article. Afin d’extraire les versions des différents services utilises par les ports ouverts découverts durant le scan de Metasploitable.

La partie intéressante destinée a la récupérations des différentes bannières se situe a la fin du code, juste après:

[pastacode lang= »python » manual= »if%20__name__%20%3D%3D%20’__main__’%3A%0A%20%20%20%20main() » message= » » highlight= » » provider= »manual »/]

 

Je remets pour informations le code au complet avec son extension.

[pastacode lang= »python » manual= »%23%20coding%3A%20utf-8%0A%0Aimport%20socket%0Afrom%20multiprocessing%20import%20Pool%0Afrom%20datetime%20import%20datetime%0A%0A%0Aopen_p%2C%20closed_p%20%3D%20%5B%5D%2C%20%5B%5D%0Areponse%20%3D%20%5B%22OPEN%20PORTS%22%2C%22CLOSED%20PORTS%22%2C%22SCANNING%20PORTS%22%2C%22TYPE%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%22SCANNING%22%2C%22ADDRESS%22%2C%22NUMBER%20OF%20PROCESSES%22%2C%22RANGE%20MIN%22%2C%22RANGE%20MAX%22%2C%22HOST%22%2C%22HAS%20IP%22%2C%22UNREACHABLE%22%5D%0A%0A%0A%0Atarget_ip%20%3D%20raw_input(%22%7B%7D%3A%20%22.format(reponse%5B5%5D))%0Atry%3A%0A%20%20%20%20ip%20%3D%20socket.gethostbyname(target_ip)%0A%20%20%20%20host%20%3D%20socket.gethostbyaddr(target_ip)%0A%20%20%20%20print%20%22%22%0A%20%20%20%20print%20%22%7B0%7D%20%7B1%7D%3A%20%7B2%7D%22.format(reponse%5B5%5D%2C%20reponse%5B10%5D%2C%20ip)%0A%20%20%20%20print%20%22%7B0%7D%20%3A%7B1%7D%22.format(reponse%5B9%5D%2C%20host%5B0%5D)%0A%20%20%20%20print%20%22%22%0Aexcept%3A%0A%20%20%20%20print%20%22%7B0%7D%20%7B1%7D%22.format(reponse%5B5%5D%2C%20reponse%5B11%5D)%0A%0Anum_procs%20%3D%20int(raw_input(%22%7B0%7D%3A%20%22.format(reponse%5B6%5D)))%0Aminp%20%3D%20int(raw_input(%22%7B0%7D%3A%20%22.format(reponse%5B7%5D)))%0Amaxp%20%3D%20int(raw_input(%22%7B0%7D%3A%20%22.format(reponse%5B8%5D)))%0Aprint%20%22%7B0%7D%3A%7B1%7D%5Cn%22.format(reponse%5B4%5D%2Cip)%0A%0A%0AstartTime%20%3D%20datetime.now()%0Aprint%20%22DEPART%20COMPTEUR%3A%20%22%2C%20startTime%0A%0A%0A%0Adef%20scan(arg)%3A%0A%20%20%20%20target_ip%2C%20port%20%3D%20arg%0A%20%20%20%20sock%20%3D%20socket.socket(socket.AF_INET%2C%20socket.SOCK_STREAM)%0A%20%20%20%20sock.settimeout(.17)%0A%20%20%20%20result%20%3D%20sock.connect_ex((target_ip%2Cport))%0A%20%20%20%20if%20result%20%3D%3D%200%3A%0A%20%20%20%20%20%20%20%20sock.shutdown(2)%0A%20%20%20%20%20%20%20%20return%20port%2C%20True%0A%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20return%20port%2C%20False%0A%20%20%20%20%20%20%20%20sock.close%0A%0A%0Adef%20main()%3A%0A%20%20%20%20ports%20%3D%20range(minp%2C%20maxp%2B1)%0A%20%20%20%20pool%20%3D%20Pool(processes%3Dnum_procs)%0A%20%20%20%20print%20%22%7B0%7D%3A%20%22.format(reponse%5B2%5D)%0A%20%20%20%20for%20port%2C%20status%20in%20pool.imap_unordered(scan%2C%20%5B(target_ip%2C%20port)for%20port%20in%20ports%5D)%3A%0A%20%20%20%20%20%20%20%20print%20port%2C%0A%20%20%20%20%20%20%20%20open_p.append(port)if%20status%20else%20closed_p.append(port)%0A%0A%0A%0Aif%20__name__%20%3D%3D%20’__main__’%3A%0A%20%20%20%20main()%0A%0A%0Aprint%20%22%5Cn%5CnOPEN%20PORTS%3A%20%22%2C%20open_p%2C%22%5Cn%22%0Aprint%20%22BANNER%20GRABING…%5Cn%22%0A%0Afor%20elements%20in%20open_p%3A%0A%20%20%20%20try%3A%0A%20%20%20%20%20%20%20%20print%20%22%7B0%7D%20%7B1%7D%20%3A%7B2%7D%22.format(elements%2Creponse%5B3%5D%2Csocket.getservbyport(elements))%0A%20%20%20%20except%3A%0A%20%20%20%20%20%20%20%20continue%0A%20%20%20%20addr%20%3D%20(target_ip%2Celements)%0A%20%20%20%20sock%20%3D%20socket.socket()%0A%20%20%20%20sock.settimeout(.17)%0A%20%20%20%20sock.connect_ex(addr)%0A%20%20%20%20sock.send%20(%22GET%20%2F%20HTTP%2F1.0%5Cr%5CnHost%3A%20%22%20%2B%20target_ip%20%2B%20%22%5Cr%5Cn%5Cr%5Cn%22)%0A%20%20%20%20try%3A%0A%20%20%20%20%20%20%20%20print%20sock.recv(1024)%2C%20%22%5Cn%22%0A%20%20%20%20%20%20%20%20sock.close()%0A%20%20%20%20except%3A%0A%20%20%20%20%20%20%20%20print%20%22NON3%5Cn%22%0A%20%20%20%20%20%20%20%20sock.close%0A%0Aprint%20%22%5Cn%5Cn%5CnTOTAL%20TIME%3A%20%22%2Cdatetime.now()%20-%20startTime » message= » » highlight= » » provider= »manual »/]

 

Un bref aperçu d’un scan de Metasploitable  affichera comme prévu la liste des ports ouverts, mais aussi leur versions des services. Voici donc une copie d’écran des informations intéressantes extraites par ce script.

 

Vous pourrez maintenant utiliser ce script ainsi  que les informations retournées par celui-ci dans vos propres CTF ou test de vulnérabilité afin de vérifier quels sont les ports d’ouverts et quelles sont les version des services. Mais aussi si les versions des différents services sont vulnérables. Grâce aux différentes ressources disponible sur internet que je vous ai énumérées ici.

Je vous invite a explorer et disséquer ce script afin de comprendre son fonctionnement. Je vous invite aussi a le modifier car il n’est évidement pas parfait (il est loin de l’être). Mais il serait sympa de mentionner sa source en ajoutant un commentaire avec le lien de cet article ainsi que le nom de mon blog si vous comptez l’utiliser.

 

N’oubliez pas que l’utilisation des différents outils et techniques pourrait dans certaines circonstances vous mettre hors la loi. Veuillez respecter la législation en vigueur en France en suivant les consignes que j’ai publie dans l’article intitulé « Rappel des textes en vigueur concernant les atteintes aux systèmes de traitement automatisé de données« 

0

Web Scraping avec Python

Dans cet article je vais vous faire une petite démonstration d’extraction d’informations pour un CTF ou un test d’intrusion. Grâce a python2 ainsi que les modules Beautifulsoup et urllib2 , vous allez extraire d’un code source différentes informations comme (liste non exhaustive):

  1. Les métatags
  2. Les lien
  3. Les scripts

Pour l’exemple je vous propose d’utiliser Mutillidae en passant par Metasploitable ou cet environnement d’apprentissage est installé et accessible directement. Pour ma part j’ai installé Metasploitable sur une machine virtuelle VirtualBox, mais vous pouvez également y accéder en passant par les CTF all the day chez Root-Me.

 

Voici donc le script.  L’URL devra être remplacée par celle que vous fournira soit Root-me ou Mutillidaé sur VirtualBox.

  • Dans le cas de VirtualBox ce sera une URL de type : http://192.168.1.17/mutillidae/
  • Dans le cas de CTF all the day ce sera une url de type: ctfXY.root-me.org

 

import urllib2
from bs4 import BeautifulSoup
url = "http://192.168.1.17/mutillidae/"
page = urllib2.urlopen(url)
soup = BeautifulSoup(page) #page entiere

 

Vous pouvez des a présent extraire différentes informations grâce a l’intégration des différentes balises HTML   et par exemple vérifier s’il y a des balises « meta » et quel est leur contenu.

meta = soup.find_all('meta')
for elements in meta:
    print (elements)
    print ("\n\n")

Effectivement il y a un retour.

<meta content="text/html; charset=utf-8" http-equiv="content-type"/>

 

La présence des différents liens pourrait surement aussi vous intéresser en intégrant la balises « a » et l’attribut « href« .

ancre = soup.find_all("a")
for elements in ancre:
    print elements.get("href")

Cette partie du script retournes effectivement une belle liste.

index.php?page=home.php
./index.php?page=login.php
./index.php?do=toggle-hints&page=home.php
./index.php?do=toggle-security&page=home.php
set-up-database.php
./index.php?page=show-log.php
./index.php?page=captured-data.php
#
index.php?page=home.php
./index.php?page=login.php
./index.php?do=toggle-security&page=home.php
set-up-database.php
./index.php?page=show-log.php
./index.php?page=credits.php
#
http://www.owasp.org/index.php/Top_10_2010-A1

./index.php?page=user-info.php

./index.php?page=login.php

./index.php?page=register.php

./index.php?page=login.php
./index.php?page=user-info.php

./index.php?page=view-someones-blog.php
./index.php?page=user-info.php

?page=add-to-your-blog.php

./index.php?page=site-footer-xss-discussion.php


index.php?page=html5-storage.php

index.php?page=capture-data.php

./index.php?page=dns-lookup.php

./index.php
./index.php?page=password-generator.php&username=anonymous

./index.php?page=user-poll.php

./index.php?page=set-background-color.php

./index.php?page=pen-test-tool-lookup.php
http://www.owasp.org/index.php/Top_10_2010-A2

./index.php?page=dns-lookup.php
./index.php?page=pen-test-tool-lookup.php
./index.php?page=text-file-viewer.php
./index.php?page=user-info.php
./index.php?page=set-background-color.php
./index.php?page=html5-storage.php
./index.php?page=capture-data.php

?page=add-to-your-blog.php
?page=view-someones-blog.php
?page=show-log.php

index.php?page=html5-storage.php

?page=add-to-your-blog.php
?page=view-someones-blog.php
?page=show-log.php
?page=text-file-viewer.php
./index.php?page=dns-lookup.php
?page=user-info.php
./index.php
./index.php?page=set-background-color.php
./index.php?page=pen-test-tool-lookup.php

./index.php?page=browser-info.php
./index.php?page=show-log.php
./index.php?page=site-footer-xss-discussion.php
./index.php?page=html5-storage.php

./index.php

index.php?page=html5-storage.php

./index.php?page=pen-test-tool-lookup.php

index.php?page=capture-data.php
http://www.owasp.org/index.php/Top_10_2010-A3
index.php
?page=login.php
http://www.owasp.org/index.php/Top_10_2010-A4
index.php?page=text-file-viewer.php
index.php?page=source-viewer.php
index.php?page=credits.php
index.php
index.php?page=arbitrary-file-inclusion.php
http://www.owasp.org/index.php/Top_10_2010-A5
index.php?page=add-to-your-blog.php
./index.php?page=register.php
http://www.owasp.org/index.php/Top_10_2010-A6
index.php?page=home.php
./index.php?page=user-info.php
http://www.owasp.org/index.php/Top_10_2010-A7
index.php?page=user-info.php
index.php?page=html5-storage.php
http://www.owasp.org/index.php/Top_10_2010-A8
index.php?page=secret-administrative-pages.php
http://en.wikipedia.org/wiki/Robots_exclusion_standard
http://www.owasp.org/index.php/Top_10_2010-A9
?page=login.php
?page=user-info.php
http://www.owasp.org/index.php/Top_10_2010-A10
?page=credits.php
#
#
http://www.owasp.org/index.php/Top_10_2007-A3
?page=text-file-viewer.php
?page=source-viewer.php
http://www.owasp.org/index.php/Top_10_2007-A6
index.php
index.php
index.php
index.php?page=framing.php
framer.html
index.php?page=html5-storage.php

?page=text-file-viewer.php
?page=show-log.php

index.php?page=login.php
index.php?page=add-to-your-blog.php
index.php?page=html5-storage.php

index.php?page=capture-data.php
index.php?page=captured-data.php
#
index.php?page=change-log.htm
index.php?page=installation.php
/mutillidae/documentation/mutillidae-installation-on-xampp-win7.pdf
index.php?page=documentation/vulnerabilities.php
index.php?page=documentation/how-to-access-Mutillidae-over-Virtual-Box-network.php
#

https://www.owasp.org/index.php/Top_Ten
http://samurai.inguardians.com/
https://addons.mozilla.org/en-US/firefox/collections/jdruin/pro-web-developer-qa-pack/
http://www.irongeek.com/i.php?page=security/mutillidae-deliberately-vulnerable-php-owasp-top-10
http://www.hackersforcharity.org/ghdb/
https://www.owasp.org
https://addons.mozilla.org/en-US/firefox/collections/jdruin/pro-web-developer-qa-pack/

http://www.youtube.com/user/webpwnized
http://www.irongeek.com
http://www.irongeek.com/i.php?page=security/mutillidae-deliberately-vulnerable-php-owasp-top-10
./index.php?page=installation.php
./index.php?page=usage-instructions.php
./index.php?page=php-errors.php
./index.php?page=change-log.htm
./index.php?page=notes.php
http://www.backtrack-linux.org/
http://samurai.inguardians.com/
http://www.eclipse.org/pdt/
http://www.php.net/
http://www.quest.com/toad-for-mysql/
http://www.hackersforcharity.org/
http://www.irongeek.com/i.php?page=security/mutillidae-deliberately-vulnerable-php-owasp-top-10
http://irongeek.com
>>> 

 

Il pourrait être intéressant de jeter un coup d’œil aux différents scripts présents.

scripts = soup.find_all('script')
for script in scripts:
    print (script)
    print ("\n")

Et les voici.

<script src="./javascript/bookmark-site.js" type="text/javascript"></script>


<script src="./javascript/ddsmoothmenu/ddsmoothmenu.js" type="text/javascript"></script>


<script src="./javascript/ddsmoothmenu/jquery.min.js" type="text/javascript">
    /***********************************************
    * Smooth Navigational Menu- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)
    * This notice MUST stay intact for legal use
    * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
    ***********************************************/
  </script>


<script type="text/javascript">
    ddsmoothmenu.init({
      mainmenuid: "smoothmenu1", //menu DIV id
      orientation: 'v', //Horizontal or vertical menu: Set to "h" or "v"
      classname: 'ddsmoothmenu', //class added to menu's outer DIV
      //customtheme: ["#cccc44", "#cccccc"],
      contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"]
    });
  </script>


<script type="text/javascript">
    var onLoadOfBody = function(theBody){
      var l_securityLevel = '0';
            var l_hintsStatus = 'Disabled (0 - I try harder)';
      
      switch(l_securityLevel){
        case "0": var l_securityLevelDescription = 'Hosed'; break;
        case "1": var l_securityLevelDescription = 'Arrogent'; break;
        case "2": var l_securityLevelDescription = '2'; break;
        case "3": var l_securityLevelDescription = '3'; break;
        case "4": var l_securityLevelDescription = '4'; break;
        case "5": var l_securityLevelDescription = 'Secure'; break; 
      }// end switch
      //document.getElementById("idSystemInformationHeading").innerHTML = l_loginMessage;
      document.getElementById("idHintsStatusHeading").innerHTML = 'Hints: ' + l_hintsStatus;
      document.getElementById("idSecurityLevelHeading").innerHTML = 'Security Level: ' + l_securityLevel + ' (' + l_securityLevelDescription + ')';
    }// end function onLoadOfBody()
  </script>

 

Voici la fin de ce mini tutoriel traitant de l’utilisation de Python, Beautifulsoup et urllib  pour extraire des données d’un un code-source. Il est évident que ce n’était qu’une infime partie de ce qu’il est possible de faire. Je vous invite a explorer, tester et bien sur modifier le script  a votre guise grâce aux liens qui sont fournis dans cet article.

 

 

N’oubliez pas que l’utilisation de ce genre de techniques est limité a une utilisation dans un cadre légal. Pour rappel je vous invite a lire cet article: Rappel des textes en vigueur concernant les “atteintes aux systèmes de traitement automatisé de données”

 

 

0

Rappel des textes en vigueur concernant les « atteintes aux systèmes de traitement automatisé de données »

 

Vous souhaitez vous lancer dans la cybersecurité et en particulier dans les test d’intrusion. C’est une très bonne chose car quasiment toutes les entreprises sont concernées et elles ont besoin de personnes qualifiées et compétentes dans ce domaine pour évaluer entre autres la solidité de leur réseau informatique afin de trouver des failles potentiellement utilisables par de pirates. Ces différentes failles serviront ensuite a élaborer et mettre en œuvre des contre-mesures visant a améliorer la sécurité du système. Mais je ne rappellerais jamais assez le fait de rester dans la légalité en remplissant un contrat entre votre client et vous même. Ne vous amusez JAMAIS a outrepasser la loi. Si vous souhaitez vous entrainer, il existe assez de possibilités de le faire légalement, comme par exemple des sites spécialisés qui vous permettront de vous entrainer sur différentes machines comme (liste non exhaustive): lab.pentestit.ru, practicalpentestlabs.com, root-me.org, hacking-lab.com, ctf365.com, hackthebox.eu ainsi que vulnhub.com

Le fait d’outrepasser la loi pourra dans le pire des cas vous faire séjourner derrière les barreaux, mais aussi vous faire payer très grosses amendes. Je vais donc vous exposer ici a titre informatif les différents textes de loi concernant les atteintes aux systèmes de traitement automatisé de données, de l’article 323.1 a l’article 323.8 de code pénal (source https://www.legifrance.gouv.fr). Ce qui vous permettra de savoir ce qu’il vous attends réellement au cas ou vous décideriez de ne pas vous tenir aux règles établies.

Article 323-1
Modifié par LOI n°2015-912 du 24 juillet 2015 – art. 4
Le fait d’accéder ou de se maintenir, frauduleusement, dans tout ou partie d’un système de traitement automatisé de données est puni de deux ans d’emprisonnement et de 60 000 € d’amende. Lorsqu’il en est résulté soit la suppression ou la modification de données contenues dans le système, soit une altération du fonctionnement de ce système, la peine est de trois ans d’emprisonnement et de 100 000 € d’amende. Lorsque les infractions prévues aux deux premiers alinéas ont été commises à l’encontre d’un système de traitement automatisé de données à caractère personnel mis en œuvre par l’État, la peine est portée à cinq ans d’emprisonnement et à 150 000 € d’amende.

Article 323-2
Modifié par LOI n°2015-912 du 24 juillet 2015 – art. 4
Le fait d’entraver ou de fausser le fonctionnement d’un système de traitement automatisé de données est puni de cinq ans d’emprisonnement et de 150 000 € d’amende.Lorsque cette infraction a été commise à l’encontre d’un système de traitement automatisé de données à caractère personnel mis en œuvre par l’État, la peine est portée à sept ans d’emprisonnement et à 300 000 € d’amende.

Article 323-3
Modifié par LOI n°2015-912 du 24 juillet 2015 – art. 4
Le fait d’introduire frauduleusement des données dans un système de traitement automatisé, d’extraire, de détenir, de reproduire, de transmettre, de supprimer ou de modifier frauduleusement les données qu’il contient est puni de cinq ans d’emprisonnement et de 150 000 € d’amende. Lorsque cette infraction a été commise à l’encontre d’un système de traitement automatisé de données à caractère personnel mis en œuvre par l’État, la peine est portée à sept ans d’emprisonnement et à 300 000 € d’amende.

Article 323-3-1
Modifié par LOI n°2013-1168 du 18 décembre 2013 – art. 25
Le fait, sans motif légitime, notamment de recherche ou de sécurité informatique, d’importer, de détenir, d’offrir, de céder ou de mettre à disposition un équipement, un instrument, un programme informatique ou toute donnée conçus ou spécialement adaptés pour commettre une ou plusieurs des infractions prévues par les articles 323-1 à 323-3 est puni des peines prévues respectivement pour l’infraction elle-même ou pour l’infraction la plus sévèrement réprimée.

Article 323-4
Modifié par Loi n°2004-575 du 21 juin 2004 – art. 46 JORF 22 juin 2004
La participation à un groupement formé ou à une entente établie en vue de la préparation, caractérisée par un ou plusieurs faits matériels, d’une ou de plusieurs des infractions prévues par les articles 323-1 à 323-3-1 est punie des peines prévues pour l’infraction elle-même ou pour l’infraction la plus sévèrement réprimée.

Article 323-4-1
Modifié par LOI n°2015-912 du 24 juillet 2015 – art. 4
Lorsque les infractions prévues aux articles 323-1 à 323-3-1 ont été commises en bande organisée et à l’encontre d’un système de traitement automatisé de données à caractère personnel mis en œuvre par l’État, la peine est portée à dix ans d’emprisonnement et à 300 000 € d’amende.
Article 323-5 En savoir plus sur cet article…Les personnes physiques coupables des délits prévus au présent chapitre encourent également les peines complémentaires suivantes :

  1.  L’interdiction, pour une durée de cinq ans au plus, des droits civiques, civils et de famille, suivant les modalités de l’article 131-26 ;
  2.  L’interdiction, pour une durée de cinq ans au plus, d’exercer une fonction publique ou d’exercer l’activité professionnelle ou sociale dans l’exercice de laquelle ou à l’occasion de laquelle l’infraction a été commise ;
  3.  La confiscation de la chose qui a servi ou était destinée à commettre l’infraction ou de la chose qui en est le produit, à l’exception des objets susceptibles de restitution ;
  4.  La fermeture, pour une durée de cinq ans au plus, des établissements ou de l’un ou de plusieurs des établissements de l’entreprise ayant servi à commettre les faits incriminés ;
  5.  L’exclusion, pour une durée de cinq ans au plus, des marchés publics ;
  6.  L’interdiction, pour une durée de cinq ans au plus, d’émettre des chèques autres que ceux qui permettent le retrait de fonds par le tireur auprès du tiré ou ceux qui sont certifiés ;
  7.  L’affichage ou la diffusion de la décision prononcée dans les conditions prévues par l’article 131-35.

Article 323-6
Modifié par LOI n°2009-526 du 12 mai 2009 – art. 124
Les personnes morales déclarées responsables pénalement, dans les conditions prévues par l’article 121-2, des infractions définies au présent chapitre encourent, outre l’amende suivant les modalités prévues par l’article 131-38, les peines prévues par l’article 131-39. L’interdiction mentionnée au 2° de l’article 131-39 porte sur l’activité dans l’exercice ou à l’occasion de l’exercice de laquelle l’infraction a été commise.

Article 323-7
Modifié par Loi n°2004-575 du 21 juin 2004 – art. 46 JORF 22 juin 2004
La tentative des délits prévus par les articles 323-1 à 323-3-1 est punie des mêmes peines.

Article 323-8
Créé par LOI n°2015-912 du 24 juillet 2015 – art. 18
Le présent chapitre n’est pas applicable aux mesures mises en œuvre, par les agents habilités des services de l’État désignés par arrêté du Premier ministre parmi les services spécialisés de renseignement mentionnés à l’article L. 811-2 du code de la sécurité intérieure, pour assurer hors du territoire national la protection des intérêts fondamentaux de la Nation mentionnés à l’article L. 811-3 du même code.

 

 

0

Le Département de la défense des États-Unis se paye des hackers.

Une première pour le gouvernement Américain. En 2016 le D.O.D département de la défense des États-Unis s’est lancé dans son premier bug bounty « Hack the Pentagon program « , proposant par le biais du site HACKERONE a des Hackers « white hat » de tester la solidité de leur différents réseaux publics pour une durée de 24 jours. S’ensuivirent d’autre bug bounty incluant celui de l’US Army en 2016, qui a duré un peu plus de 3 semaine, ainsi que celui de l’US AirForce en avril 2017 qui a duré plus de 25 jours.

Pour le programme « Hack The Pentagon ». Parmi les 200 rapports  soumis, 138 ont été jugés « légitimes, uniques et éligibles à une prime », faisant gagner aux 250  hackers éligibles a ce challenge un total de 75.000 $ en récompenses totales. Le premier rapport ayant été remis au bout de 13 minutes. Le plus jeune participant avait 14 ans et le plus âgé en avait 53. Parmi les différentes vulnérabilité découvertes une des plus critiques était une faille de type injection SQL qui fait partie du top 10 des vulnérabilités les plus répandues selon le top 10 de l’OWASP.

Le programme « Hack The Army » avait quand a lui 371 participants éligible a ce challenge  qui ont soumis un total de 416 rapports. Le premier rapport ayant été remis après seulement 5 minutes. La totalité des rapports jugés « légitimes, uniques et éligibles à une prime » au nombre de 118 on fait gagner aux hackers durant cette campagne une somme totale de 100.000$. Une vulnérabilité extrêmement critique a été découverte par un pirate informatique qui enchaînait créativement une série de bugs. Ce qui lui a permis d’accéder a un réseau interne au département de la défense des États-Unis, et qui n’aurait du être accessible qu’avec des informations d’identifications spéciales.

Ce fut ensuite le tour du programme « Hack The US Air Force » qui fut aussi très productif. Le premier rapport a été remis au bout de 1 minute. 272 pirates éligibles a ce challenge  participèrent a ce bug bounty.  Parmi le rapports jugés « légitimes, uniques et éligibles à une prime » pas moins de 207 vulnérabilités uniques ont été découvertes. Faisant gagner un total de pas moins de 130.000$ aux divers participants. Un participant âgé de 17 ans a même trouvé plus de 30 vulnérabilités a lui tout seul. Un  « Hack The US Air Force 2.0 » à également eu lieux entre décembre 2017 et janvier 2018.

Avant que le D.O.D ait commencé ses programmes de bug bounty, il aurait été impensable car totalement illégal pour ces pirates de faire une recherche de vulnérabilité sur les différents sites web publics du département de la défense, même si leur but avait été de dévoiler les différentes failles au D.O.D.

Voici donc un bel exemple de prise de conscience en matière de cybersecurité en impliquant légalement les Hackers « White Hat » dans le processus de reconnaissance des problèmes. Une phase très importante dans la sécurisation des réseaux. Un bel exemple que devraient suive tous les Opérateurs d’Importance Vitale (O.I.V), ainsi que les différents organismes gouvernementaux.

0

Recherches de vulnérabilités

Dans cet article je vais expliquer comment faire une recherche manuelle de vulnérabilités. Avant tout il faudra utiliser un outil de type NMAP, lequel permettra de scanner les différents ports d’une cibles. J’utiliserais pour illustrer cette recherches de vulnérabilités, les informations contenues dans cet article, que j’avais rédige pour faire une démonstration d’un scan de Metasploitable.

En commençant par la lecture du rapport final du scan de Metasploitable. J’utiliserait simplement le premier port ouvert découvert par NMAP durant le scan, et je vous laisserais le soin de continuer vos recherches par vous même pour les autres ports.

Voici une copie du rapport final.

 

Le premier port ouvert est: le port 21/tcp utilisant le service FTP dans sa version VSFTPD 2.3.4

Grâce a ces informations Il est maintenant possible de vérifier la présence d’une vulnérabilité en faisant une recherche manuelle sur le site https://www.exploit-db.com avec comme terme de recherches la version du service: VSFTPD 2.3.4.

 

Exploit-db nous retournes un résultat. Cliquez dessus pour afficher les détails.

 

 

Une vulnérabilité est présente dans la version VSFTPD 2.3.4 et elle est exploitable par l’intermédiaire d’un script, qui après inspection indique:

<<This file is part of the Metasploit Framework and may be subject to
redistribution and commercial restrictions. Please see the Metasploit
Framework web site for more information on licensing and terms of use.
http://metasploit.com/framework/>>

Qui veut dire que ce script fait partie du framework metasploit qu’il sera possible d’utiliser en phase d’exploitation.

Il est aussi indiqué dans le même script que:

<<This module exploits a malicious backdoor that was added to the VSFTPD download
archive. This backdoor was introdcued into the vsftpd-2.3.4.tar.gz archive between
June 30th 2011 and July 1st 2011 according to the most recent information
available. This backdoor was removed on July 3rd 2011.>>

Ce qui veut dire q’un backdoor a été ajouté à la version vsftpd 2.3.4 entre le 30 juin 2011 et le 1er juillet 2011. il aurait été supprimé le 3 juillet 2011.

En continuant la recherches d’information concernant la faille présente dans VSFTPD 2.3.4, il sera judicieux d’utiliser Google avec les termes suivants: vsftpd 2.3.4 vulnérabilité (en n’omettant pas d’activer l’option « recherche en français uniquement »).

Le premier lien qui devrait s’afficher devrais être: https://vigilance.fr/vulnerabilite/vsftpd-backdoor-de-la-version-2-3-4-10805

 

 

Une brève lecture de la description de la vulnérabilité retournera des informations très inintéressantes.

Description de la vulnérabilité
Le code source du serveur FTP vsftpd est hébergé sur le site vsftpd.beasts.org. Cependant, entre le 30 juin 2011 et le 3 juillet 2011, un backdoor a été ajouté dans ce code source. Ce backdoor détecte si le nom de login commence par « 🙂 », et ouvre un shell sur le port 6200/tcp. Un attaquant distant peut donc employer ce backdoor, afin d’accéder au système.

La constatation est sans appel. Cette vulnérabilité permettrait donc grâce a quelques simples manipulations d’accéder au système ainsi que de passer en mode root afin de prendre le contrôle total de la machine…

Tentez maintenant de trouver quelles sont les autres services qui sont vulnérables, et n’oubliez pas que plus vous trouverez d’information il vous sera facile d’exploiter les différentes failles. Pour vous aider vous pourrez utiliser différents sites web dont (liste non exhaustive):

https://www.exploit-db.com
https://cve.mitre.org
https://nvd.nist.gov
https://www.rapid7.com/db/search
https://www.cert.ssi.gouv.fr
https://www.cvedetails.com
https://www.google.com/

 

ATTENTION: utilisez toujours ces informations et ces techniques dans un cadre légal. Toute entrave a cette régle pourait vous étre tres douloureuse. les amendes et les peines de prison étant trés lourdes

0

Testez la sécurité de votre ordinateur sous Linux

Lynis est un utilitaire open source d’audit de la configuration sécurité des systèmes d’exploitation basés sur UNIX (Linux, Max, etc…). Son utilisation se fait par le terminal en lignes de commande. Il permet par la mise en place de multiples tests, d’évaluer la sécurité de votre système. En générant un rapport final Lynis vous permettra de consolider les poins faibles découverts en affichant des alertes « warnings », des suggestions et un index de sécurisation « Hardening index ». Dans ce mini tutoriel je vous propose de vous guider dans l’utilisation de ce logiciel grâce a un audit d’un système d’exploitation Ubuntu.
Avant tout vous devrez installer Lynis, grâce a la commande suivante que vous entrerez dans le terminal: sudo apt-get install lynis
Ensuite je vous propose de faire connaissance avec les différentes options offertes par Lynis en affichant l’aide grâce a la commande: lynis -h

lynis -h

Je vais maintenant vous faire la démonstration d’un audit système de Ubuntu en mode  » NON-PRIVILEGED SCAN MODE  » en entrant la commande: lynis audit system.
Pour auditer en mode « PRIVILEGED SCAN MODE » il suffira d’ajouter « sudo » devant la commande « lynis audit system ».

lynis audit system

 

A la fin du processus d’audit vous pourrez constater qu’il n’y a aucune alerte chez moi, mais des diverses suggestions.

 

Vous aurez remarqué différentes références derrière les diverses suggestions. Elles vont servir a afficher plus de détails grâce a la commande: lynis show details TEST-ID
Par exemple pour la référence « PROC-3612 » il faudra entrer la commande:  lynis show details PROC-3612

 

Vous verrez aussi le fameux « Hardening index » qui vous permettra de vous faire une idée globale de la bonne configuration de votre Système d’exploitation. Plus l’index est haut mieux c’est.

 

Voila ce mini tutoriel est maintenant termine je vous laisse essayer par vous même en espérant vous avoir aidé un peu a sécurises votre système basé sur UNIX!

 

0

Scanner de ports en Python

Un petit scanner de ports que je me suis amusé a scripter il y a un bout de temps . Ce scanner utilise les modules socket qui sont des objets permettant d’ouvrir une connexion avec une machine locale ou distante et d’échanger avec elle, et multiprocessing qui permet de créer plusieurs processus séparés, et de les orchestrer pour qu’ils travaillent ensemble. Ce script est simple d’utilisation mais pourra bien sur être amélioré de plusieurs manières. Je vous invite a d’abord bien le regarder et a vous renseigner sur les différentes techniques grâce a la documentation officielle de python puis bien sur de le tester. Vous verrez il n’est pas parfait mais il fait son affaire et j’ai grâce au module multiprocessing rendu un tout petit peu plus rapide qu’il ne l’était sans !

# coding: utf-8

import socket
from multiprocessing import Pool


open_p, closed_p = [], []
reponse = ["OPEN PORTS","CLOSED PORTS","SCANNING PORTS","TYPE",
           "SCANNING","ADDRESS","NUMBER OF PROCESSES","RANGE MIN","RANGE MAX","HOST","HAS IP","UNREACHABLE"]



target_ip = raw_input("{}: ".format(reponse[5]))
try:
    ip = socket.gethostbyname(target_ip)
    host = socket.gethostbyaddr(target_ip)
    print ""  
    print "{0} {1}: {2}".format(reponse[5], reponse[10], ip)  
    print "{0} :{1}".format(reponse[9], host[0])
    print ""
except:    
    print "{0} {1}".format(reponse[5], reponse[11])

num_procs = int(raw_input("{0}: ".format(reponse[6])))
minp = int(raw_input("{0}: ".format(reponse[7])))
maxp = int(raw_input("{0}: ".format(reponse[8])))
print "{0}:{1}\n".format(reponse[4],ip)


def scan(arg):
    target_ip, port = arg
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    
    sock.settimeout(.11)  
    result = sock.connect_ex((target_ip,port))
    if result == 0:             
        sock.shutdown(2)
        return port, True
    else:       
        return port, False
    sock.close
   

def main():  
    ports = range(minp, maxp+1)
    pool = Pool(processes=num_procs)
    print "{0}: ".format(reponse[2])
   
    for port, status in pool.imap_unordered(scan, [(target_ip, port)for port in ports]):
        print port,
        open_p.append(port)if status else closed_p.append(port)
        

if __name__ == '__main__':
    main()
   
print "\n\n{0}".format(reponse[0])
for elements in open_p:
    print "{0} {1} :{2}".format(elements,reponse[3],socket.getservbyport(elements))

 

Pour la démonstration je l’ai enregistré sous le nom « scanner.py » puis entré la commande suivante dans le terminal de linux: python scanner.py
Il suffit ensuite de suivre les instructions affichées pour l’utiliser. Pour l’exemple j’ai utilise les réglages suivant

  • ADDRESSE: 192.168.1.17 qui est celle de metasploitable sur ma machine virtuelle
  • NOMBRE DE PROCESS: 10
  • RANGE MIN: 10
  • RANGE MAX:500

Le résultat retournes la liste des différents ports ouverts que le script a découvert ainsi que les services utilisés par chaque port. Il serait intéressant de modifier le script pour pouvoir choisir entre une gamme de ports (range) et une liste de ports choisis. Il serait tout aussi intéressant de faire en sorte que ce script affiche les versions des services trouvés, ce qui pourrait ensuite servir a trouver différentes failles qu’il serait possible d’exploiter ultérieurement !

Je n’ai volontairement pas donné d’explications quand au fonctionnement du script pour vous laisser la chance de rechercher par vous même dans la documentation officielle ou sur d’autres sites, et de tester les différentes parties en les disséquant et les modifiant a votre guise.

Je rappellerais comme a chaque fois d’utiliser les différents outils dans la légalité. L’inverse pouvant vous coûter très cher (Voire sur Légifrance)

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 !