Intrusion
C e document a pour but de vous initier
l'intrusion dans un systme informatique et ce, dans un but purement
ducatif. On considre ici que l'intrusion est un pas a franchir dans
le chemin qui mne a la notion de scurit informatique.
-
Vous n'y trouverez aucune formule magique pour
modifier votre compte bancaire ou hacker un site web ...
-
Nous prcisons que le terme hacker est
employ dans un contexte d'exploration et de dcouverte et non pas
dans un contexte mdiatique ou lgislatif.
-
Ce document n'a pas la prtention de tout
connatre, d'ailleurs nous attendons de votre part des remarques et
des suggestion, sa vie est de courte dure, au vu de l'intense
activit qui se droule actuellement dans ce secteur. C'est
pourquoi il sera mis a jour a chaque nouvelle information que nous
recevrons.
D epuis quelques temps, c'est la
srnade dans la presse informatique et nationale sur les nouveaux 'hackers',
pardon 'consultants en scurit' serait plus adquat, qui font
des essais d'intrusions, ils sont rmunrs pour hacker et tester la
scurit informatique ! Derrire le terme 'hacker' il y a des
comptences en techniques simples : une bonne connaissance de
l'informatique TCP/IP, Unix, un ou deux langages de programmation (de
prfrence C et Perl) et un esprit souple.
L a Technique de l'intrusion demande
surtout de savoir lire les faq des groupes de hackers amricains,
puisqu'il n'en existe pas rellement en franais. Pour le plaisir des
petit et des grands, nous allons dcouvrir le monde merveilleux de
l'intrusion.
Approche
Notre approche consiste attaquer selon 3 axes et en 3 phases. Les
3 axes :
- RTC pour dtection de porteuse et de modems non dclars
- X25 pour essayer de trouver des accs gros systmes SNA/DSA
ou decnet, ou des routeurs IP/X25
- Internet pour dtecter les points d'entre
Les 3 phases outre une phase de rcupration d'outils doivent
permettre :
- la rcupration d'un maximum d'adresses IP, de numros de
tlphone, de numro X25, d'adresses e-mail, etc. et d'infos de
configurations (voir hackoff3 sur le 'Social Engineering')
- l'utilisation des infos recueillies lors de la phase 1 pour
accder des machines et/ou des rseaux de la victime
- l'attaque des machines
Prliminaire : Le matos
Il faut disposer des quipements suivants :
- un modem RTC classique,
- une carte X25/X32, l'abonnement correspondant, les couches TCP/IP,
PAD, etc. ainsi qu'un kit de dveloppement TCP,
- une carte NUMERIS
Pour les OS, de LINUX ou de FreeBSD.
Pour les OS Win32, les soft pour le hack sont sous dimensionns, donc
on utilisera plutt Win 3.11 ou Linux.
Phase 0 : rcupration d'outils et configuration des machines
Les outils sont diffrents selon les axes d'attaques
et selon l'OS utilis pour l'attaque. Il est vident que UNIX est l'OS
le plus simple pour raliser ce type d'opration car la
quasi-totalit des outils sont standards et peuvent tre automatiss
dans un shell script.
Attention : Autant, il est " facile " de
communiquer vers un provider sous W3, W95 et Windows NT, autant cela
n'est pas simple sous LINUX.
Axe RTC
Outils standard
| Emulateur de terminal |
Chez http:/www.tucows.com/ |
| Emulateur Minitel |
En general fourni avec le modem (voir site constructeur) |
Outils spcifiques
| Dialer TONELOC |
Automate d'appel d'une plage de numro et dtection de
porteuse (fax ou modem) |
| Dialer NUAA |
Automate d'appel de rseau X25 en particulier SprintNet. |
| Pabxhack |
Comme son nom l'indique, outil de hacking de pabx. |
Dispo en telechargement sur des sites underground
repondant au mot-cl phreaking dans les moteurs de recherche.
Phase 1 : rcupration d'informations
Principe de base
Ce qui distingue cette phase de la suivante, c'est
que toutes les oprations ralises sont totalement licites. Il ne
s'agit que de rcupration d'informations disponibles sur Internet ou
ailleurs. Seules certaines rcuprations et l'usage de TONELOC (appels
des plages d'un autocom) sont limites.
Source d'informations "ponctuelles"
Les sources d'informations ponctuelles peuvent tre
multiples (carte de visite obtenues de diffrentes manires (visite
commerciale chez la victime, annuaire, Minitel, informations recueillies
par echanges, etc.). Elles ont pour objectif de rcuprer :
- des numros de tlphone (mme prfixe Tel et Fax ==>
Plage de n PABX pour le dialer)
- des adresses E-Mail ( connectivit internet + nom de domaine)
- des adresses Internet (nom de machines et @IP)
- des adresses X25 (C'est la seule source pour les @X25)
- des informations plus gnrales sur la victime, ses
interconnexions, etc.
Source d'informations techniques
Axe Internet
Les sources d'informations techniques peuvent tre
soit immdiatement obtenues par des informations "publiques"
sur la victime (son nom, le nom de ses filiales, etc.) soit itres en
fonction des rsultats du chapitre prcdent.
Rcupration d'informations par internet
Rcupration des adresses IP officielles dans
l'annuaire DNS avec "whois", "nslookup" et "dig
". Utilisation des vecteurs classiques (moteurs de recherche, news
via www.dejanews.com, email via www.four11.com, etc.) pour obtenir des
domaines de messagerie ou des serveurs web.
1. L'annuaire DNS mondial
- Whois
Whois est une couche rseau qui exploite les tables DNS. On
interroge tout d'abord la table internic (rs.internic.net) puis si
ncessaire d'autres serveurs . L'outil "whois" est
disponible sous Linux (filewatcher.org)
Avec cet outil, on peut :
- lui passer une chaine de caractre et il vous sort la liste
des noms de domaine DNS commencant par cette chaine de
caractre . A partir de ces noms de domaines, il faut faire
une seconde recherche pour avoir des informations plus
prcises,
- lui passer une adresse de rseau de classe C, B ou mme A
(192.93.10.0 ou 141.29.0.0 par exemple) pour savoir qui
elle est alloue.
Un nombre important d'adresses IP europennes est
aujourd'hui gre par le RIPE. Le serveur "whois.ripe.net"
permet de rcuprer des infos mais il n'est pas aussi souple sur les
caractres de substitutions que celui d'internic.
mettre un exemple de whois
Selon les cas, on trouve soit des adresses IP de
rseau (le pied) soit des noms de rseaux. Si on obtient des noms de
rseaux uniquement, il y a de forte chance pour que le site ne soit
pas directement connect internet mais uniquement via un provider
et en connexion la vole
A contrario, ce n'est pas parce que l'on obtient
une adresse IP que la socit est rellement connecte sur
Internet. Elle peut avoir simplement rserv cette adresse pour un
usage futur.
On doit donc utiliser dans cet outil :
- le nom de la socit et de ses filiales (ou des noms
intermdiaires),
- les noms de rseaux et de machines identifis lors de la phase
de rcupration d'informations ponctuelles (e-mail, news, etc.),
- les adresses de classe C ou B pour savoir qui elles
appartiennent (en les suffixant de 1 ou de 2 zro.)
L'usage de l'outil est bien entendu rcurant en fonction des
nouvelles infos dont on peut disposer.
Remarque :
Dans certains cas lorsque l'on cherche qualifier l'appartenance
d'une classe C ou d'une classe B, le site standard (rs.internic.net)
nous fournit des plages d'adresses en prcisant que ces plages ont
t alloues des organismes autres (plages RIPE en europe par
exemple). Dans la plupart de ces cas, il est prcis un autre site
qui donnera des informations complmentaires (whois.ripe.net par
exemple).
Netfind est un outil disponible sur le site internic et accessible en
HTTP via une URL gopher. Netfind permet d'effectuer des recherches sur
les domaines de messagerie. Ces recherches sont complmentaires de
celles ralises avec Whois. L'URL accder est :
gopher:/ds1.internic.net:4320/7netfind%20dblookup
C'est une couche rseau qui exploite les tables
DNS. On interroge tout d'abord la table internic (rs.internic.net)
puis si ncessaire d'autres serveurs .
"nslookup" est l'outil de base UNIX pour rcuprer des
informations au travers de DNS lorsque l'on connait le nom DNS de la
machine ou son adresse IP. Il permet d'obtenir diffrents types
d'informations en paramtrant la demande. L'objectif de son usage est
d'obtenir des adresses IP l ou whois nous avait donn des noms de
rseaux d'une part et d'obtenir des informations permettant de
relancer un whois sur les passerelles de messagerie identifies dans
les e-mail. "nslookup" est disponible sous plusieurs OS. Il
est par contre rarement paramtrable sous Windows NT ou 95. J'utilise
donc les versions Windows pour des requtes simples et UNIX pour les
requtes plus dtailles. La requete de base nslookup permet de
rcuprer l'adresse IP d'une machine (ou d'un nom de rseau) dont
on connat le nom. Cela s'obtient sous unix en mode commande en
lancant :
Nslookup permet d'autres informations en utilisant le paramtre
"-query". La commande est alors :
- nslookup -query=xxxx nom_de_machine
ou xxxx peut prendre les valeurs (je ne dtaille que celles que j'ai
utilises) :
Les autres valeurs sont : CNAME, NS, PTR, SOA, AXFR, MB, MD, MF, ANY
(qui ne marche pas). Pour plus de dtail, cf. Man nslookup et
rfc1035.
Remarque :
nslookup renvoie soit une adresse IP (passage au point suivant), soit
un message d'erreur du type "host unknown'", la machine ou
le rseau ne sont pas connect sur internet, ou un message d'erreur
du type "no record Adress (A) dispo". Il s'agit alors trs
frquemment d'une passerelle de messagerie dont on obtient les
caractristiques via le paramtre "-query=mx".
2. Les moteurs de recherches
(liste trouve par exemple "http:/ireste.ireste.fr/moteurs/"
ou directement sur l'un des moteurs (www.yahoo.fr, www.lycos.com,
etc.). On cherche alors le nom de la socit pour identifier les
endroits ou elle est cite sur le net. On obtient alors soit des noms
de sites WEB, soit des noms ou des e-mail d'utilisateurs de la
socit.
3. Les news
dans lesquelles des personnes de la socit ont pu dposer des
demandes ou effectuer des rponses. les news sont par exemple
accessibles au travers d'un site web comme "www.dejanews.com".
4. Les annuaires d'email.
Aujourd'hui nous utilisons :
- www.four11.com qui permet de rechercher les utilisateurs ayant
ne email par socit (il y a un champ socit dans la grille
de saisie des paramtres de recherche). On obtient une liste d'emails
dont on extrait le domaine :
Nom_du_domaine_de_messagerie Nom & adresse de la socit
correspondante
- une fois cette phase termine, il faut retourner la phase 1
pour vrifier si les domaines de messagerie sont relis des
domaines DNS (via whois) ou des machines IP (nslookup standard)
ou enfin des passerelles de mail uniquement (via nslookup -query=mx).
On qualifie ensuite toutes les adresses obtenues pour savoir si
elles appartiennent ou non a la victime (whois sur l'adresse de
rseau de classe B ou C).
Attention :
Les domaines d'email sont surement l'un des moyens les plus efficaces
pour trouver des adresses gres par des providers ou des sites qui
n'ont pas le nom des socits de la victime dans leur nom.
Axe RTC : Recherche de Modem
Utilisation du dialer MSDOS TONELOC pour dtecter
les porteuses de modems.
Une recherche de modem peut tre envisage ds
lors que l'on connat des numros ou des plages de numros
correspondant la socit cible. Cette mthode ne garantit
aucunement l'exhaustivit de la recherche puisque les modems sont
souvent accessibles au travers de numros analogiques qui ne sont pas
grs par le PABX. Une recherche plus efficace peut tre envisage
en parcourant exhaustivement les plages utilises sur le site
gographique de la cible. Il est par contre impossible dans ce cas
d'tre sr que les numros sur lesquels une porteuse est dtect
appartiennent bien la cible. Cela pose un problme financier (si des
particuliers sont appels, ils dcrocheront et la communication
deviendra payante).
Les contraintes
Le cot
Le cot d'un appel qui aboutit est a priori faible. Le nombre d'appels
peut cependant conduire un cot global important. Et ceci d'autant
plus s'il s'agit d'appels longue distance. On peut dire qu'un appel
aboutit ds lors qu'il y a dcrochage l'autre bout de la ligne :
une personne, un modem ou un fax, un rpondeur. La dure de la
communication peut tre variable suivant l'quipement qui dcroche.
Il est dans tous les cas probable qu'il y ait raccrochage avant
d'atteindre une minute. Les communications vers certains pays peuvent
quand mme atteindre 20F / minute. Pour minimiser le cot, il est donc
souhaitable d'avoir le moins possible de dcrochages, et notamment de
dcrochages par des personnes (qui contrairement aux machines peuvent
trouver a louche). Ceci conduit privilgier des compositions de
nuit, ou de jour lorsqu'il n'y a personne , c'est dire samedi,
dimanche, ou les jours fris.
Le temps
Pour chaque numro appel, il faut compter le temps de composition du
numro, et le temps d'attente avant raccrochage (dure au bout de
laquelle on estime qu'il n'y aura pas de rponse). Sur la base
raisonnable d'une trentaine de secondes pour chaque numro, il est
possible de composer une centaine de numros l'heure, soit de
l'ordre de 1200 numros entre 19h et 7h.
garantie de rsultat
L'exhaustivit des identifications (dans la limite des plages
auxquelles on applique la recherche) est dpendante
- de la bonne dtection de l'ventuel plantage du modem
- du fait que les modems que l'on recherche ne sont pas teints
manuellement (extinction), automatiquement (programmation horaire de
l'alimentation lectrique) ou logiciellement (programmation du
modem par la machine laquelle il est reli pour qu'il ne
rponde pas aux appels),
- de la configuration nocture du PABX, qui peut en fonction de
l'heure drouter les appels vers le standard (pour toutes les
lignes ou pour certaines seulement), ou rendre certains numros
inaccessibles.
Indications :
Les numros correspondant des fax (notamment celui que l'on trouve
avec le numro du standard) peuvent donner des plantage du modem. C'est
relativement alatoire puisque l'on ne peut prjuger de quand ces
numros seront composs, et quand on aura des problmes de
dtection.
Utilisation de toneloc
Ce programme sait grer le parcours automatique de
plages de numros, en identifiant des porteuses ou des tonalits. La
deuxime fonctionnalit est probablement inintressante en France, au
moins dans notre contexte. Une prsentation rapide du paramtrage de
ce produit est fournie en annexe 1.
Caractristiques
La dfinition d'une plage est faite en adjoignant un ou plusieurs X
un prfixe, et en spcifiant pour les chiffres manquants des valeurs
de dpart et de fin. Il est possible de dfinir des contraintes
horaires pour l'excution de toneloc. Les commutateur /s et /e
permettent en effet de dfinir une heure de dbut et une heure de fin.
Toneloc lanc avec l'option /s attendra l'heure spcifie pour
composer le premier numro, sauf si la touche Esc est tape. Le
programme arrtera de composer des numros ds qu'il aura dpass
l'heure spcifie avec le commutateur /e, et ne composera aucun
numro s'il est lanc alors que cette heure est dpasse. Attention
cependant au cas o l'on spcifie une heure d'arrt dans la matine
pour un programme lanc le soir. Il semble en effet que, l'heure
nocturne tant postrieure l'heure d'arrt (prise dans la mme
journe), que le programme ne se soit pas excut plusieurs fois.
Toneloc sait prendre en compte une liste noire dans laquelle on
recensera les numros qui ne doivent pas tre composs (celui du
standard pourrait y tre mis systmatiquement, ce qui vite qu'un
gardien ne s'tonne la nuit) Le parcours peut tre incrmental ou
alatoire, cette seconde option rduisant les risques de dtection
(cela aura tendance sonner dans n'importe quel endroit du site, et
pas deux fois de suite sur des postes situs au mme endroit). La
configuration de Toneloc est gre par un outil tlcfg. On y configure
notamment les chanes d'initialisation du modem, le numro de port
utilis, le dlai avant raccrochage et le format plus ou moins prolixe
d'enregistrement des connexions russies.
Toneloc produit trois fichiers diffrents lorsqu'il
s'excute (dans le meilleur des cas, c'est dire lorsqu'il a trouv
des porteuses, sinon deux fichiers seulement). Ce sont :
- tone.log : log des essais, avec en-tte, notification des
porteuses ventuelles, et bilan,
- found.log : enregistrement de ce qu'envoie le modem distant
(bannire par exemple) sans, puis avec titillement (envoi de
caractres par toneloc), des caractristiques de la connexion, et
le cas chant du nombre de secondes coules avant coupure de
la communication
- prfiXXX.dat, au format binaire, qui permet une visualisation par
tonemap des rsultats concernant la plage parcourue, et qui est
utilis par toneloc pour ne pas recomposer un numro dj
appel.
Lorsque ces fichiers existent dj, toneloc ajoute la fin des .log,
et complte le contenu du .dat
Limitations de toneloc :
- Il a t constat que toneloc ne dtecte pas les porteuses de
certains fax. le faible nombre de modems recenss pourrait laisser
penser qu'il en va de mme pour les porteuses de certains modems.
- Les capacits de dtection sont clairement dpendantes des
caractristiques du modem utilis (un modem V32 ne dtectera pas
bien la modulation d'un V34bis si ce dernier ne connecte qu' 33600
bps).
- Indpendamment de cela, il n'est pas impossible que les
dtections soient fonction du modle de modem utilis. De ce
fait, l'utilisation de modems diffrents pourrait permettre un
meilleur recensement, au prix toutefois d'un multiple parcours des
plages.
- L'existence de numros taille variable dans certains pays,
comme l'Allemagne, pose un problme avec toneloc.
- Il semble que le programme de fusion de deux .DAT relatifs la
mme plage ne soit pas compltement fonctionnel. Il faut donc
rutiliser les mmes .DAT lorsque l'on parcourt des plages
contigus.
Choix des plages
Si l'on connat un prfixe, il faut tre particulirement mfiant.
La cible ne dtient pas forcment tous les numros correspondant
toutes les valeurs de suffixe. Il faut dans ce cas valider manuellement
en procdant par encadrement de la plage. Si l'on dispose d'un ensemble
de numros (tirs d'un annuaire), il faut vrifier qu'ils partagent
un mme prfixe, puis rechercher les plus grand et plus petit numros
allous. On en dduit alors une plage en arrondissant au dessus et au
dessous. Cette plage est alors trs sre (sauf si elle se fonde sur
des informations primes), mais peut trs bien ne constituer qu'une
fraction de la vritable plage gre par l'autocommutateur. dans tous
les cas, il est intressant de valider la faisabilit de la recherche
sur cette plage
Astuces sans garantie
- privilgier les jours fris car il est plus vraisemblable
qu'il ne soient pas grs diffremment des jours ouvrs par le
PABX
- privilgier les priodes de vacances.
Exemple de rsultat d'un TONELOC
Les informations sont obtenues suite aux passages de l'outil TONELOC
pour dtecter des porteuses. On dtecte donc un certain nombre de
modem qui rpondent. Le rsultat typique d'un toneloc est :
04:26:10 "
04:26:10 ToneLoc v1.10 (Sep 29 1994)
04:26:10 ToneLoc started on 13-Mar-97
04:26:10 Using COM1 (16450 UART)
04:26:10 Data file: 011234567X.DAT
04:26:10 Config file: TL.CFG
04:26:10 Log file: TONE.LOG
04:26:10 Mask used: 011234567X
04:26:10 Range used: 0-9
04:26:10 Scanning for: Carriers
04:26:10 Initializing Modem ... Done
04:28:21 0112345675 - Timeout (3)
04:29:01 0112345670 - Timeout (0)
04:27:32 0112345671 - * CARRIER *
04:28:21 0112345674 - Timeout (3)
04:29:01 0112345676 - Timeout (0)
04:28:21 0112345672 - Timeout (3)
04:29:01 0112345679 - Timeout (0)
04:29:01 0112345673 - Timeout (0)
04:28:21 0112345678 - Timeout (3)
04:29:01 0112345677 - Timeout (0)
On y dtecte donc un modem sur le n 0112345671
A l'issu de ce travail (souvent rptitif environ
10000 appels pour 6 modems par exemple), on dispose donc de porteuses de
modem(s). Ces porteuses vont pouvoir ensuite tre accdes pour
vrifier si le modem accepte les connexions entrantes.
Axe X25
Nous ne disposons pas de moyens technique pour rcuperer des @X25.
Donc ce niveau le Social engineering prend toute son importance.
Phase 2 : Exploitation des informations recueillies
Principe de base
Attention, partir de cette phase, toutes les
oprations effectues peuvent tre interprtes la limite comme
une tentative d'intrusion. Elles ne sont par contre pas vraiment
punissables par la loi.
Axe Internet
On dispose l'issue de la phase 1 d'adresse IP de
rseau ou de machines.
- vrifier qu'elles sont actives et qu'elles donc rpondent au
ping
Rsum : ping limit (-c x) sur toutes les adresses
l'outil ping est disponible sous UNIX et dans les autres OS.
Je l'utilise plutt sous UNIX car il est plus facile de le paramtrer.
Nous avons bricol des outils qui permettent de grouper les ping. Ils
sont la base des shell-scripts. Nous avons deux versions :
- Une version trs rapide et simple. On cre une liste d'adresse
sous vi, puis on crit un mini-shell du type :
Son principal inconvnient est de ne pas trier les
rsultats et de ne pas gnrer le fichier de base des adresses.
- L'autre version, elle necessite la prsence dans le rpertoire
courant d'un fichier 1-255 contenant 255 lignes numrotes de 1
255. Elle prend en paramtre le nom du fichier rsultat et de la
plage d'adresse analyser. Elle s'appuie sur un shell script du
type :
Son principal inconvnient est de devoir tre
lance en arriere plan pour gagner du temps et de gnrer un fichier
rsultat par adresse de classe C. Les diffrentes variantes sont
lies soit un niveau de dtail dans le ping (-c 10, -d, etc.), soit
dans l'affichage des informations l'cran avant de les stocker dans
le fichier rsultat (| tee -a ...)
ATTENTION, les schells scripts lancs en
arrire plan ne doivent pas afficher de message donc eviter celui
contenant les "tee".
L'exploitation des rsultats peut-tre ralis
soit la main en visualisant le fichier (fastidieux) soit par des
greps +/- automatiss. Je me suis arrt une suite de grep du
style :
- grep " 0%" $1
- grep " 20%" $1
- grep " 40%" $1
- grep " 50%" $1
- grep " 60%" $1
- grep " 80%" $1
qui affiche si une ligne de rsultat est diffrente du classique
"packet lost 100%". Il faut alors se rferer au contenu du
fichier pour savoir laquelle. Si un Kador du shell-script et du sed/awk
fait mieux, merci. Les pourcentages possibles dpendent bien entendu du
paramtre -c qui prcise le nombre de paquets que l'on essaye de
lancer avant de passer l'adresse suivante. Je me suis bas sur 2
paquets, ce qui parait suffisant.
A la fin de cette phase, on est normalement mme
de savoir si certaines machines de la victime sont accessibles sur
Internet.
Attention, si une machine rpond sur un
sous-rseau, il est intressant de repasser le ping sur toute la plage
plusieurs fois. En effet, certaines machines peuvent ne pas avoir t
branches lors du premier passage ou n'avoir pas rpondu cause du
time-out faible. Il faut galement tenir compte du dcalage horaire si
ncessaire.
2.Regarder quels sont les services rseaux
accessibles sur ces machines.
Les outils d'intrusion
tcp_scan et udp_scan sur les machines actives pour
identifier les services disponibles Utilisation des couches actives
publiques pour recueillir des informations (rpc, nfs, finger, ftp
anonyme, smtp via telnet sur le port 25, etc.)
Cette opration peut s'effectuer la main ou
l'aide d'outils complets comme SATAN, Nessus ou NMAP.
- recherche des ports accessibles (tcp_scan et udp_scan).
Ces outils ne sont disponibles que sous UNIX. A priori, j'utilise les
outils fournis avec SATAN et compils sous LINUX. Ils sont stocks
dans le rpertoire bin de satan. On lance dont sur chacune des adresses
de machine :
- tcp_scan @IP_machine 1-65535 > resultat_machine
- udp_scan @IP_machine 1-65535 >> resultat_machine
Dans un second temps, des services comme smtp, telnet,
ftp et rlogin permettent de se connecter la machine.
- recherche d'informations si un port 79 (finger) est prsent :
Finger est une couche haute sur TCP qui permet de recueillir des
informations sur les utilisateurs d'une machine. La partie cliente de
finger est disponible sous la totalit des OS. J'utilise soit la
version UNIX avec la possibilit de l'automatiser dans un shell-script
(je n'en ai pas crit pour cette fonction mais a peut venir) et
l'outil "iefinger" sous Windows 3.11 qui permet de lancer un
batch sur plusieurs adresses. Dans un premier temps, on lance finger
pour obtenir la liste des utilisateurs connects sur la machine :
on obtient une liste du type :
On y trouve les infos suivantes :
- Le nom d'utilisateurs dclars dans le /etc/hosts sur la
machine,
- les machines a partir desquelles ils sont capables de communiquer
avec la machine (ce qui nous donne d'autres @IP et donc une
indication sur la connectivit de la machine vers un rseau
interne et de nouvelles cibles => retour au nslookup pour les
qualifier puis au ping),
- des infos complmentaires parfois sur le type de machine (linux)
son nom DNS/interne (rasta.legang.fr) , etc.
Dans un second temps, on lance finger pour obtenir des informations sur
les utilisateurs eux-mme :
- finger nom_user@IP_machine
On obtient une liste du type :
Toutes les informations sur le champ gecos, les
projets sur lesquels travaille l'utilisateur peuvent tre utilises
dans une phase ultrieure d'agression. Parmi les utilisateurs, certains
doivent tre remarqus. par exemple, les utilisateurs "guest"
ou "demo" qui n'ont frquemment pas de mot de passe ou les
comptes de produits (ingres, informix, etc.) qui ont frquemment des
mauvais mots de passe.
- Rcuprer des informations sur les RPC disponibles si le port
mapper est lanc
la commande "rpcinfo" permet d'obtenir la liste des service
RPC servis via le portmapper. Ces informations doivent tre stockes
pour un usage futur. la commande est :
L'un des points importants concerne la dtection de NFS (nfsd, mountd
dans les services). Un autre type de service doit tre remarqu,
l'usage de NIS et des yellows pages (yp). Je vous conseil d'utiliser un
autr OS que linux, il existe beaucoup de problme de compils et d'utilsation
de yp sur Linux, on peut via ces services optenir la map du yppasswd et
des autres fichiers grs par NIS (outil ypsnarf, ypghost, etc.).
- Rcuprer des informations sur les partitions NFS exportes
La commande "showmount" permet de savoir si des partitions NFS
sont accessibles et pour quelles machines. Ces informations doivent
tre stockes pour un usage futur. La commande est :
signifie que la partition /home est exportable pour toutes les machines
sur internet. Plus frquemment, on trouve un rpertoire exportable
vers des machines dsignes. Si elles appartiennent au client, on sait
que si on les cracke, on aura la possibilit de monter les rpertoires
correspondant sur une autre machine et ainsi de suite.
- Se connecter sous ftp en connection anonyme et regarder ce que
l'on trouve comme infos.
Certains sites mettent en place un site ftp d'accs libre. S'il existe,
il peut tre une source d'information (la version du ftpd, le type de
machine UNIX ou NT , un nom de compte oubli dans le /etc/passwd de la
partition anonyme, les vrais mots de passe dans le mme fichier mais
faut pas rver !). la commande est :
Rsultat :
On dispose alors d'une liste d'adresse IP de machines qui rpondent et
des informations sur les couches rseaux actives sur ces machines. En
ayant lanc soit le ftp, soit finger, soit le SMTP, on doit avoir
galement une ide des versions de ces diffrentes couches ainsi que
le type d'OS des machines. On peut galement avoir stock des noms
d'utilisateurs (finger, /etc/passwd du ftp anonyme, etc.). La plupart
des OS et des couches ont des bugs connus et rfrencs dans les avis
des CERTS US ou australiens
Remarque
Ici, je vous ai prsent diffrentes technique pour l'intrusion il en
existe des centaines, souvent ephmres leur solution rside souvent
dans l'application d'un patch, pour les secteurs d'actitvits qui
possdent un administrateur orient scurit, la porte est ouverte
quelques heures. Et pour d'autres c'est portes ouvertes tous les jours !
Pour connaitre les dernires failles, une culture des DOS (Denial of
Service) que je traduirai par trou de scurit, doit se faire par une
consultation des sites sur le sujets (www.antionline.com, www.rootshell
si il vit encore... voir liens sur le site)
Axe X25
Les moyens d'accs un rseau X25 sont variables
:
- PAD public de TRANSPAC
- PAD priv de la cible
- PAD via X32
- accs X25 natif via LS
- accs X25 natif via Transpac
- accs X25 natif via X32 par le RTC
- accs X25 natif sur le canal D Numris
Les outils dont nous disposons sont :
- l'accs au travers d'un PAD public en facturation au demand,
- l'utilisation de notre accs X32 en facturation au demandeur
(avec la possibilit sur cette carte de valoriser un champ USERDATA,
d'utiliser IP sur X25 (non qualifie), d'utiliser du PAD sur
l'accs X32, de dvelopper grace l'API de la carte).
Nous sommes donc a priori capable d'muler les
moyens d'accs 1, 3, 6. Si nous trouvons un PAD priv de la cible
(c'est arriv), nous sommes alors capable d'muler 2. Il nous manque
donc la LS (c'est vident), le X25 Transpac pur et Numris. Au moyen
des accs dont nous disposons, il est possible d'atteindre (suivant
leur configuration) des commutateurs, des routeurs ou des machines
terminales. Il est possible galement en spcifiant le contenu du
champ user data du paquet d'appel de diagnostiquer l'utilisation d'encapsulations
SNA/X25, DSA/X25 ou IP/X25. Utilisation d'un accs PAD
- connexion au PAD (ex 0836044444, 7E1)
- ventuellement contrle des paramtres : (PAR?), et
modification si ncessaire (SET X:Y pour changer)
- saisie d'une adresse Transpac ou d'une adresse avec des donnes
utilisateur au format adresseDdonnes et avec 16 caractres de
donnes seulement
Il y a alors soit connexion (affichage de COM, suivi d'autre chose),
soit rejet (message de libration CLR XX YYY o XX est la cause et YYY
le diagnostic) On peut en cours de communication repasser en mode
commande en faisant ^P
Utilisation de la carte X32
- La carte X32 est configure . Il faut donc dans un premier temps
lancer les services de rseau
- Ensuite au travers de l'icone "test X25", on peut
essayer diffrents types de connexions
- Saisie d'une adresse Transpac ou d'une adresse avec des donnes
utilisateur au format adresseDdonnes et avec 16 caractres de
donnes seulement
Il y a alors soit connexion (affichage de COM, suivi d'autre chose),
soit rejet (message de libration CLR XX YYY o XX est la cause et YYY
le diagnostic) on peut en cours de communication repasser en mode
commande en faisant ^P Mcanismes de controles possibles, par ordre de
ralisation
contrle de l'adresse appelante par le commutateur de la cible
contrle des donnes du paquet d'appel par le commutateur ou
l'quipement terminal
contrle en fonction de la sous adresse (qui suit les 9 chiffres) par
le commutateur
dans les trois cas, rejet par le distant, souvent LIB DTE
Accs des configurateurs
Les routeurs CISCO sont accessibles en PAD comme par telnet. Une access
list peut tre configure pour contrler les accs aux consoles
virtuelles (les mmes vtyX).
Les commutateurs X25 ont en gnral un
configurateur accessible en PAD
Si l'on ne fournit pas de sous adresse, le comportement dpend de la
configuration du commutateur et de leurs caractristiques par dfaut
| marque |
sous adresse |
mot de passe |
divers |
| matracom |
|
gsy91 |
faire ^U pour voir la bannire |
| OST |
9, 99, 999 |
bonjour ou hello |
|
| TRT |
Souvent des 9 |
CCLAER |
prompt = "*" |
Quelques infos sur les commutateurs TRT, en vrac :
- ils grent jusqu' des sous adresse de 4 chiffres, de taille
fixe
- il y a padding droite avec des 0, ou troncature des digits
surnumraires droite
- pas d'cho du mot de passe
- divers services sont accessibles suivant le contenu du champ USER
DATA
- 10CC configurateur
- 00GG gnrateur
- 14SS statistiques
- 04OO observation
- O2EE vnements remarquables
- 12MM tlmaintenance
Accs des routeurs
En connaissant les adresses de deux routeurs
communiquant en IP sur X25, et sous rserve qu'il n'y ait pas de GFA ni
de contrle de l'adresse de l'appelant, il doit tre possible de se
faire passer pour l'un des deux routeurs vis vis de l'autre.Ceci
donne donc un accs au rseau IP, et permet de plus d'usurper les
adresses IP
Il est plus que vraisemblable que ceci ne soit
ralisable que lorsque le routeur que l'on usurpe n'est pas en
communication avec le routeur cible.
Quelques rserves ( valider) sont cependant
mettre. Il semble en effet que dans le cas des routeurs CISCO, les
changes se fassent sur des circuits virtuels ditincts, le routeur
appel ouvrant alors le second circuit virtuel vers l'adresse X25 du
routeur que nous usurpons. Il ne peut donc alors y avoir de retour. Ceci
pourrait peut tre contourn en modifiant la configuration de la cible
via SNMP.
La fraude dans le cas de SNA sur X25 semble encore
plus complexe, car il est impratif de disposer d'un accs licitement
dfini dans la VTAM list, faute de quoi la communication ne saura
s'tablir.
Analyse des informations prsentes dans la configuration d'un
routeur
La connaissance de sa propre adresse X25 est
probablement impossible, puisqu'il n'y a pas de raison qu'elle soit
mentionne dans sa configuration.
Par contre, si l'on a accs aux configurations de
deux machines communiquant l'une avec l'autre travers X25 en faisant
de l'encapsulation, il doit tre possible de dperminer les adresses
X25 de chacune des deux :
- en regardant le routage au niveau de chacune des deux machines,
- en recherchant des correspondances d'adresses (par exemple IP et
X25) corrler avec la connaissace des adresses autres qu'X25 qui
correspondent chacun des deux quipements.
Phase 3 : Axe Internet
On dispose l'issue de la phase 2 d'adresses IP de
rseau ou de machines accessibles.
Il n'existe pas de mthode toute faite pour le hack,
chaque hacker detient son experience, c'est souvent partir ce cette
limite qu'il dcouvre son talent ou pas. A partir de cette tape tous
ce vous pouvez faire est considr comme illicite par la loi.
Il existe des techniques d'approche, je vous ai prsent la ligne
directrice vers le hack de base, cette mthode prsente un danger,
celui de la trace laisse par les diffrents outils utiliss (la
qualit d'un bon hack, va se lire sa tracabilit):
- Pour commencer lancer les outils d'analyses :
- SATAN (semble tre remplac par SAINT) ou Nessus (pour plus
d'informations voir le hackoff7).
- ISS version freeware. Il fait tellement peu de chose que ce n'est
mme pas la peine de le lancer.
- ISS en version commerciale => pour ceux qui l'ont achet...
- NAT10 qui est un outil pour rcuprer des infos sur les machines
supportant netbios.
A partir de cette tape, nous detenons un premir
audit du rseau: machines par IP, type d'OS, les ports ouverts, et les
eventuels DOS connu par l'outils d'analyses. Le passage d'un tel outil
laisse des traces et il existe des logiciel pour rprer des
tentatives d'intrusions, il est prfrable de se deconnecter et de se
faire attribuer une IP diffrentes, chez un provider gratuit avec une
identit inconnue (www.vunet.com)
La suite :
- utiliser les DOS et toutes les bug connus, identifis en phase 2
:
- tftp pour rapatrier /etc/passwd, /etc/hosts, etc.
- partition NFS montable pour tous,
- NIS accessible,
- etc.
- se connecter la machine au travers des mulateurs comme telnet,
rlogin, etc.
On connat les noms des utilisateurs (via finger), on connat
l'adresse IP de la machine, il est donc possible de tenter d'y acceder.
Telnet est disponible sous UNIX et sous Windows 3. A priori, il doit
tre possible de le rapatrier sous WinNT et 95. Personnellement
j'utilise plutt le telnet UNIX. Avec telnet, la commande est :
La machine vous demandera alors le nom d'utilisateur puis le mot de
passe si ncessaire. Si le compte dispose d'un mot de passe, on rentre
alors dans de la tentative de divination. Dans tous les cas, on obtient,
grce la bannire, le nom de la machine et trs frquemment son
OS. avec rlogin, la commande est :
- rlogin -l user @IP_machine
Il peut tre interessant de tester des comptes autres que
"root" si par hasard la machine met en oeuvre un dispositif de
confiance. Lancer les outils d'analyse :
Satan est donc disponible sur la machine Linux spcialise pour le
hacking. Utiliser les bugs dtect en phase 2 :
- vrifier s'il n'existe pas un compte "guest", "demo",
etc. sans mot de passe (rlogin ou telnet),
- vrifier si la machine n'accepte pas tftp,
- vrifier s'il n'est pas possible de monter par NFS une partition
utilisateur (showmount),
- vrifier si le client n'utilise pas NIS (ypxxxx dans rpcinfo) et
rcuprer alors les tables NIS (la mthode n'est pas encore trs
claire et n'est pas compilable sous linux qui ne supporte pas NIS
=> machine UNIX type SUN).
Si l'on est dans le cas 1,
- on se connecte, on recherche une faille systme (.rhost,
hosts.equiv, etc.),
- on rapatrie le fichier /etc/passwd, s'il n'est pas en mode C2, on
y trouve les mots de passe chiffrs => on peut le casser avec le
logiciel cracker, sinon on y trouve quant mme la liste des
utilisateurs et le champ commentaire associ (voir divination du
mot de passe).
Si l'on est dans le cas 2,
- on se connecte par tftp sur la cible,
- on tente de rapatrier le fichier /etc/passwd, s'il est accessible,
soit il contient les mots de passes chiffrs (passage du cracker),
sinon la liste des comptes (divination),
- on peut galement voir quels sont les autres fichiers qui peuvent
tre accds.
Si l'on est dans le cas 3,
Si l'on est dans le cas 4,
- on recherche le nom de domaine (a faire),
- on utilise "ypcat -d nom_du_domaine passwd" pour
rcuprer le fichier yppasswd et on le passe alors avec cracker
(cracker de mot de passe).
- retrouver les DOS frquents sur l'OS cible et les essayer
Annexes
Annexe 1 : Toneloc : l'outil de recherche de modem
Toneloc
toneloc datafile /M:[mask] /R:[range] /D:[range]
/X:[mask] /#:[nombre] /C[config] /S:[StartTime] /E:[EndTime]
/H:[heure] /T:[-] /K:[-]
RQ : le sparateur ":" n'est pas
obligatoire
Datafile Pas clair : plutot le fichier contenant la
liste des plages de numros essayer (ou fichier dans lequel est
enregistr le rsultat ?)
- /M:[mask] Le masque avec des X pour les numros devant tre
dials par exemple /M:01419139XX
- /R:[range] Limitation du mask une plage plus prcise devant
tre essaye par exemple /R:10-19
- /D:[range] Plage de numros ne pas essayer par exemple
/D:20-29
- /X:[mask] Masque des numros ne pas essayer (idem /D mais
sous forme de mask) par exemple /X:2X (rqs : ne pas mettre
014191392X et on peut mettre plusieurs exclusions)
- /#:[nombre] Limitation un nombre d'appel prcis par exemple
/#:99 pour nous
- /C[config] fichier de config de toneloc
- /S:[StartTime] heure de dbut en format /S:5:30p ou /S:17:30
- /E:[EndTime] heure de fin en format /E:5:30p ou /E:17:30
- /H:[heure] Dure de test (on utilise /E ou /H) format /H:3:30
- /T:[-] force un paramtre du fichier config.cfg : recherche de
tonalits (ou pas si /T:-)
- /K:[-] force un paramtre du fichier config.cfg : recherche de
porteuse (ou pas si /K:-)
Essai 1 : toneloc 01419139XX /D:10-99
Utilitaires autour de toneloc :
- TCONVERT : conversion de fichier de recherche de version
prcdente
Annexe 2 : Liste des outils de hacking sous UNIX
Recoupement d'informations : cakeii
Validation et correction(s): tobozo
Derniere mise a jour : 04-aout-99
no Serial Savate System
|