Packages & Commandes

De Wiki - kr[HACK]en
Aller à : navigation, rechercher

Voici une page listant des commandes et des outils correspondant au hacking:

Arachni

Arachni est un scanneur de vulnérabilité Web.
Installation:

http://www.arachni-scanner.com/download/

Puis:

tar -xvzf arachni-1.4-0.5.10-linux-x8664.tar.gz

Ensuite vous pouvez lancer l'outil:

./arachniweb 

Enfin pour scanner des vulnérabilités, vous pouvez faire:

arachni -mods=xss @IP

Pour les plus fainéant il existe une interface web et un wiki Pour les plus motivés, vous pouvez regardez les possibilités avec:

arachni -h

REMARQUE: Si vous voulez enregistrez les résultats dans un fichier, Arachni possède une extension (.afr) et vous pourrez ensuite le convertir comme vous le voulez

arachni http://example.com --report-save-path=example.com.afr
arachni_reporter example.com.afr --reporter=html:outfile=my_report.html.zip

ou en général:

arachni_reporter --reporters-list

REMARQUE: * = wildcards, - = exclusion:

arachni http://example.net --checks=*,-csrf

Exclut uniquement csrf

arachni http://example.net --checks=xss*

Check xss Ceci n'était que quelques exemples, voici les références

Volatility

Volatility synonyme d'Analyse Mémoire. Pour l'installer: volatility.
Ensuite, quand on a le dump, il faut connaître le système d'exploitation à partir duquel le dump a été fait:

python vol.py -f ledump.raw imageinfo

Le résultat propose des suggestions d'OS (en général le premier est le bon).
La seconde étape est de faire lister les processus s'y trouvant:

python vol.py -f ledump.raw -profile=leprofil pslist

Note: le profil est de la forme WinXPSP3x86 Pour dumper des binaires, créer un dossier puis :

python vol.py -f ledump.raw ledump–profile=leprofil –dump-dir votredossier

Si vous êtes curieux, allez jetez un coup d'oeil à : PassKeep.exe car nous on va s'intéresser à Dumplt.exe:

python vol.py -f ledump.raw –profile=leprofil dlllist –pid=PIDduProcessDumplt

ASTUCE: Sous Windows: C:\Documents and Settings\nomd'utilisateur\Desktop\
Normalement une liste de fichiers DLL (qui a été chargé par le processus) apparaît. On va vouloir extraire les infos d'1 DLL:

 python vol.py -f ledump.raw –profile=leprofil dlldump -r lenomdufichierdll -D undossier

En allant dans le dossier, vous pouvez :

  • Lister les connections actives avec:
python vol.py -f ledump.raw connections
  • Lister les ports en écoute:
python vol.py -f ledump.raw –profile=leprofil sockets
  • Analyser la base de registre en localisant les adresses virtuelles des ruches (notion: c'est un fichier du disque stocké dans :%SystemRoot%\System32\Config):
python vol.py -f ledump.raw –profile=leprofil hivelist
  • Ensuite pour faire afficher les sous clés « \Device\HarddiskVolume1\WINXP\system32\config\SAM » par exemple située à l'adresse virtuelle 0xe145d820 :
python vol.py -f ledump.raw –profile=leprofil hivedump -o 0xe145d820

Si vous souhaitez une (sous)clé encore plus précisément:

 python vol.py -f ledump.raw –profile=leprofil printkey -K « Software\Microsoft\Windows\CurrentVersion\Internet Settings »
  • On peut aller chercher la mémoire en cache:
    • Depuis SYSTEM (-y) à SAM (-d) :
python vol.py -f /root/Desktop/memdump.raw hashdump -y 0xe1019600 -s 0xe145d820
  • Si cela ne marche pas, vous pouvez remplacer SAM par SECURITY... Vous pouvez aussi allez regarder les clés présentes dans « \Device\HarddiskVolume1\WINXP\system32\config\software » par exemple:
python vol.py -f ledump.raw –profile=leprofil printkey –hive-offset adressevirtuelle
  • Des sous-clés vont apparaître (S=stable, V=volatile) et pour aller dans une sous-clé, vous pouvez refaire la commande précédante en ajoutant l'option:
-key nomdelasous-clé

ou

-key nomdelasous-clé\soussous-clé

Evidemment cela ne sert à rien mais au moins, vous connaîtrez les commandes. Mais vous pouvez trouver des mots de passe dans la base de registre, analysez des processus...

Nessus

Nessus est un scanneur réseaux de vulnérabilité. Il est surtout utilisé en entreprises mais il existe une version gratuite (Nassus Home). Il va permettre de signaler des faiblesses sur la/les machine(s) testées (services vulnérables, patchs de sécu non appliqués...).

Il existe une version Windows et une version Linux. Je vous laisse vous occupez de l'installation. Une fois terminée vous le lancez sous Linux:

service nessusd start 

Pour accéder à l'interface web, le port d'écoute est le 8834. Vous devez également créer un compte admin, téléchargez les plugins (il y aura une phase d'initialisation plutôt longue).

CONSEIL: Configurez les paramètres situés dans la partie Serveur Mail pour être notifié des alertes.
Cliquez sur l'onglet Policy avant de faire votre scan pour préciser ce que vous voulez scanner : (appli web, réseau...).
Pour un scan, choisissez le scan en interne. Une fois la politique enregistrée, vous pouvez lancer votre scan! Vous pouvez réaliser ces scan périodiquement et les rapports seront envoyés par mail.
Pour plus d'infos voici un guide.

Nmap

Il s'agit d'un scanneur qui permet de récupérer beaucoup d'infos de différents types. Voici une liste de commandes qui pourra vous être utile:
Pour scanner une adresse IP, un hôte, un ensemble d'@IP, un sous réseau:

nmap x.x.x.x
nmap www.toto.com
nmap x.x.x.x-20
nmap x.x.x.x/x

SPÉCIFICATIONS DES PORTS ET ORDRE DE SCAN:

-p <plage de ports>: Ne scanne que les ports spécifiés

Exemple: -p22; -p1-65535; -pU:53,111,137,T:21-25,80,139,8080

TECHNIQUES DE SCAN:

-sS/sT/sA/sW/sM: Scans TCP SYN/Connect()/ACK/Window/Maimon 
-sU: Scan UDP

DÉTECTION DE SERVICE/VERSION:

-sV: Teste les ports ouverts pour déterminer le service en écoute et sa version
--version-

DÉTECTION DE SYSTÈME D'EXPLOITATION:

-O: Active la détection d'OS

INFORMATON HTTP:

--script=http-headers Récupère les headers d'un service Web.

INFORMATION IP:

--script=asn-query,whois,ip-geolocation-maxind 

DIVERS:

-6: Active le scan IPv6
-A: Active la détection du système d'exploitation et des versions
-T[0-5]: Choisit une politique de temporisation (plus élevée, plus rapide)
-oX fichier.xml: Sauvegarde les résultats dans fichier xml

Exemple: nmap -A x.x.x.x.
Plus d'informations sur ce site

hping3

L'outil hping3 permet de crafter vos propres paquets avant de les envoyer.
Voici son manuel: man et il est inclus sur la distribution Kali.
L'outil supporte UDP, TCP, IP et ICMP. Avec hping vous pouvez faire du scan de ports, tester des firewall...

root@kali:~# hping3 -h
usage: hping3 host [options]
  -h  --help      show this help
  -v  --version   show version
  -c  --count     packet count
  -i  --interval  wait (uX for X microseconds, for example -i u1000)
      --fast      alias for -i u10000 (10 packets for second)
      --faster    alias for -i u1000 (100 packets for second)
      --flood      sent packets as fast as possible. Don't show replies.
  -n  --numeric   numeric output
  -q  --quiet     quiet
  -I  --interface interface name (otherwise default routing interface)
  -V  --verbose   verbose mode
  -D  --debug     debugging info
  -z  --bind      bind ctrl+z to ttl           (default to dst port)
  -Z  --unbind    unbind ctrl+z
      --beep      beep for every matching packet received
Mode
  default mode     TCP
  -0  --rawip      RAW IP mode
  -1  --icmp       ICMP mode
  -2  --udp        UDP mode
  -8  --scan       SCAN mode.
                   Example: hping --scan 1-30,70-90 -S www.target.host
  -9  --listen     listen mode
IP
  -a  --spoof      spoof source address
  --rand-dest      random destionation address mode. see the man.
  --rand-source    random source address mode. see the man.
  -t  --ttl        ttl (default 64)
  -N  --id         id (default random)
  -W  --winid      use win* id byte ordering
  -r  --rel        relativize id field          (to estimate host traffic)
  -f  --frag       split packets in more frag.  (may pass weak acl)
  -x  --morefrag   set more fragments flag
  -y  --dontfrag   set don't fragment flag
  -g  --fragoff    set the fragment offset
  -m  --mtu        set virtual mtu, implies --frag if packet size > mtu
  -o  --tos        type of service (default 0x00), try --tos help
  -G  --rroute     includes RECORD_ROUTE option and display the route buffer
  --lsrr           loose source routing and record route
  --ssrr           strict source routing and record route
  -H  --ipproto    set the IP protocol field, only in RAW IP mode
ICMP
  -C  --icmptype   icmp type (default echo request)
  -K  --icmpcode   icmp code (default 0)
      --force-icmp send all icmp types (default send only supported types)
      --icmp-gw    set gateway address for ICMP redirect (default 0.0.0.0)
      --icmp-ts    Alias for --icmp --icmptype 13 (ICMP timestamp)
      --icmp-addr  Alias for --icmp --icmptype 17 (ICMP address subnet mask)
      --icmp-help  display help for others icmp options
UDP/TCP
  -s  --baseport   base source port             (default random)
  -p  --destport   [+][+]<port> destination port(default 0) ctrl+z inc/dec
  -k  --keep       keep still source port
  -w  --win        winsize (default 64)
  -O  --tcpoff     set fake tcp data offset     (instead of tcphdrlen / 4)
  -Q  --seqnum     shows only tcp sequence number
  -b  --badcksum   (try to) send packets with a bad IP checksum
                   many systems will fix the IP checksum sending the packet
                   so you'll get bad UDP/TCP checksum instead.
  -M  --setseq     set TCP sequence number
  -L  --setack     set TCP ack
  -F  --fin        set FIN flag
  -S  --syn        set SYN flag
  -R  --rst        set RST flag
  -P  --push       set PUSH flag
  -A  --ack        set ACK flag
  -U  --urg        set URG flag
  -X  --xmas       set X unused flag (0x40)
  -Y  --ymas       set Y unused flag (0x80)
  --tcpexitcode    use last tcp->th_flags as exit code
  --tcp-mss        enable the TCP MSS option with the given value
  --tcp-timestamp  enable the TCP timestamp option to guess the HZ/uptime
Common
  -d  --data       data size                    (default is 0)
  -E  --file       data from file
  -e  --sign       add 'signature'
  -j  --dump       dump packets in hex
  -J  --print      dump printable characters
  -B  --safe       enable 'safe' protocol
  -u  --end        tell you when --file reached EOF and prevent rewind
  -T  --traceroute traceroute mode              (implies --bind and --ttl 1)
  --tr-stop        Exit when receive the first not ICMP in traceroute mode
  --tr-keep-ttl    Keep the source TTL fixed, useful to monitor just one hop
  --tr-no-rtt       Don't calculate/show RTT information in traceroute mode
ARS packet description (new, unstable)
  --apd-send       Send the packet described with APD (see docs/APD.txt)

Voici quelques exemples d'usage:

  • Traceroute en mode ICMP (-1)
hping3 --traceroute -V -1 www.example.com
  • Check le port (-d) à partir d'un port (-s)
hping3 -V -S -p 80 -s 5050 0daysecurity.com

Aircrack-ng

Aircrack-ng est un casseur de clés WEP, WPA-PSK. Ce petit outil fonctionne avec d'autres:

  • airodump-ng, le logiciel de capture de paquets, c'est lui qui scan les réseaux et conserve les paquets qui serviront à décrypter la clef.
  • aireplay-ng, un logiciel dont la principale fonction est l'envois de paquets dans le but de stimuler le reseau et capturer plus de paquets.

Voici son man:

root@kali:~# aircrack-ng --help
Aircrack-ng 1.2 rc4 - (C) 2006-2015 Thomas d'Otreppe http://www.aircrack-ng.org
usage: aircrack-ng [options] <.cap / .ivs file(s)>
Common options:
-a <amode> : force attack mode (1/WEP, 2/WPA-PSK) -e <essid> : target selection: network identifier -b <bssid> : target selection: access point's MAC -p <nbcpu> : # of CPU to use (default: all CPUs) -q  : enable quiet mode (no status output) -C <macs>  : merge the given APs to a virtual one -l <file>  : write key to file
Static WEP cracking options:
-c  : search alpha-numeric characters only -t  : search binary coded decimal chr only -h  : search the numeric key for Fritz!BOX -d <mask>  : use masking of the key (A1:XX:CF:YY) -m <maddr> : MAC address to filter usable packets -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> : disable one attack method (1 to 17) -x or -x0  : disable bruteforce for last keybytes -x1  : last keybyte bruteforcing (default) -x2  : enable last 2 keybytes bruteforcing -X  : disable bruteforce multithreading -y  : experimental single bruteforce mode -K  : use only old KoreK attacks (pre-PTW) -s  : show the key in ASCII while cracking -M <num>  : specify maximum number of IVs to use -D  : WEP decloak, skips broken keystreams -P <num>  : PTW debug: 1: disable Klein, 2: PTW -1  : run only 1 try to crack key with PTW
WEP and WPA-PSK cracking options:
-w <words> : path to wordlist(s) filename(s)
WPA-PSK options:
-E <file>  : create EWSA Project file v3 -J <file>  : create Hashcat Capture file -S  : WPA cracking speed test -r <DB>  : path to airolib-ng database (Cannot be used with -w)
Other options:
-u  : Displays # of CPUs & MMX/SSE support --help  : Displays this usage screen

Usage: Il faut d'abord scanner le réseau Wifi avec airodump-ng:

airodump-ng --write output (pour spécifier--channel N°CH) interface

BSSID correspond à l'adresse MAC des points d'accès.
ESSID/SSID ( Service Set Identifier) correspond au nom du réseau.
La colonne qui nous intéresse est le #data.
Maintenant on se focus uniquement sur la capture de paquets du point d'accès qui nous intéresse et récupérer les données:

airodump-ng --write fichier -channel n°CH --bssid 00:11:22:33:44:55 interface

De plus on peut regarder le type d'encodage avec la colonne ENC.

Airodump-ng

Vous avez donc eu le droit à une brève introduction de l'outil Airodump-ng. Cet outil est utilisé pour capturer des paquets Wifi (IEEE 802.11).
Voici son man:

root@kali:~# airodump-ng --help
Airodump-ng 1.2 rc4 - (C) 2006-2015 Thomas d'Otreppe http://www.aircrack-ng.org
usage: airodump-ng <options> <interface>[,<interface>,...]
Options: --ivs  : Save only captured IVs --gpsd  : Use GPSd --write <prefix> : Dump file prefix -w  : same as --write --beacons  : Record all beacons in dump file --update <secs> : Display update delay in seconds --showack  : Prints ack/cts/rts statistics -h  : Hides known stations for --showack -f <msecs> : Time in ms between hopping channels --berlin <secs> : Time before removing the AP/client from the screen when no more packets are received (Default: 120 seconds) -r <file> : Read packets from that file -x <msecs> : Active Scanning Simulation --manufacturer  : Display manufacturer from IEEE OUI list --uptime  : Display AP Uptime from Beacon Timestamp --wps  : Display WPS information (if any) --output-format <formats> : Output format. Possible values: pcap, ivs, csv, gps, kismet, netxml --ignore-negative-one : Removes the message that says fixed channel <interface>: -1 --write-interval <seconds> : Output file(s) write interval in seconds
Filter options: --encrypt <suite>  : Filter APs by cipher suite --netmask <netmask>  : Filter APs by mask --bssid <bssid>  : Filter APs by BSSID --essid <essid>  : Filter APs by ESSID --essid-regex <regex> : Filter APs by ESSID using a regular expression -a  : Filter unassociated clients
 By default, airodump-ng hop on 2.4GHz channels.
 You can make it capture on other/specific channel(s) by using:
     --channel <channels>  : Capture on specific channels
     --band <abg>          : Band on which airodump-ng should hop
     -C    <frequencies>   : Uses these frequencies in MHz to hop
     --cswitch  <method>   : Set channel switching method
                   0       : FIFO (default)
                   1       : Round Robin
                   2       : Hop on last
     -s                    : same as --cswitch
     --help                : Displays this usage screen

Voici quelques examples d'utilisation:
Sniff sur une interface

airodump-ng interface

Sniff interface channel 6 et écrit en sortie

airodump-ng -c 6 -w /root/chan6 interface

Aireplay-ng

Aireplay-ng est un outil qui permet d'injecter des trames pour le protocol 802.11.
Voici son man:

root@kali:~# aireplay-ng --help
Aireplay-ng 1.2 rc4 - (C) 2006-2015 Thomas d'Otreppe http://www.aircrack-ng.org
usage: aireplay-ng <options> <replay interface>
Filter options:
-b bssid  : MAC address, Access Point -d dmac  : MAC address, Destination -s smac  : MAC address, Source -m len  : minimum packet length -n len  : maximum packet length -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 -D  : disable AP detection
Replay options:
-x nbpps  : number of packets per second -p fctrl  : set frame control word (hex) -a bssid  : set Access Point MAC address -c dmac  : set Destination MAC address -h smac  : set Source MAC address -g value  : change ring buffer size (default: 8) -F  : choose first matching packet
Fakeauth attack options:
-e essid  : set target AP SSID -o npckts : number of packets per burst (0=auto, default: 1) -q sec  : seconds between keep-alives -Q  : send reassociation requests -y prga  : keystream for shared key auth -T n  : exit after retry fake auth request n time
Arp Replay attack options:
-j  : inject FromDS packets
Fragmentation attack options:
-k IP  : set destination IP in fragments -l IP  : set source IP in fragments
Test attack options:
-B  : activates the bitrate test
Source options:
-i iface  : capture packets from this interface -r file  : extract packets from this pcap file
Miscellaneous options:
-R  : disable /dev/rtc usage --ignore-negative-one : if the interface's channel can't be determined, ignore the mismatch, needed for unpatched cfg80211
Attack modes (numbers can still be used):
--deauth count : deauthenticate 1 or all stations (-0) --fakeauth delay : fake authentication with AP (-1) --interactive  : interactive frame selection (-2) --arpreplay  : standard ARP-request replay (-3) --chopchop  : decrypt/chopchop WEP packet (-4) --fragment  : generates valid keystream (-5) --caffe-latte  : query a client for new IVs (-6) --cfrag  : fragments against a client (-7) --migmode  : attacks WPA migration mode (-8) --test  : tests injection and quality (-9)
--help  : Displays this usage screen

Voici quelques exemples:
Fausse authentification:

aireplay-ng --fakeauth 0 -e "your network ESSID" -a 00:01:02:03:04:05 interface

rsync

rsync est un logiciel de synchronisation de fichiers. Il est souvent utilisé pour faire des backup à distance.
rsync peut être utilisé entre plusieurs plateformes (Windows, Linux...).
Ce lien donne d'excellentes explications: https://everythinglinux.org/rsync/
On l'installe:

sudo apt-get install rsync

Son utilisation:

rsync source destination

Pour transférer des données ailleurs:

rsync -e ssh -avz source ip:destination

où:

  • -z: Compresse
  • -v: Verbose
  • -a: Copie de manière récursive (archivage).

cryptcat

Cryptcat est le netcat sécurisé.
Cryptcat utilise les mêmes commandes de netcat et on l'installe avec:

sudo apt-get install cryptcat

Pour avoir de l'aide:

cryptcat -h

Pour se connecter à une machine:

cryptcat -v @ip port

Pour lancer une serveur:

cryptcat -l -p numéroPort -v