Bon, on va reprendre entierement le systeme...
On abordera dans cette
première partie que les faille du systeme
UNiX. On vera comment hacker
ce systeme dans une deuxime partie.
C pour ca que ca risque d'être long...
A noter que je tiens c informations d'un bouquin
sur la securite :
"securite reseaux", j'en remercie l'auteur:)).
-------------------------|
I-:presentation d'UNiX : |
-------------------------|
UNiX est un systeme qui a ete cree en 1972. C
un extraordinaire OS
qui depuis la date de ca creation reste inegale
en matiere de
portabilite et d'interoperabilite. Le reseau
internet est presque
entierement constitue de machine UNiX. D'ou l'importance
de cet OS.
Mais en fait cet Os a une grande faiblesse : la securite... ;)))
Meme si de part son architecture, il offre une
+ grande securite que
ms-dos.
Je v presenter dans le tableau si dessus les differences
importantes entre
ms-dos et UNiX :
__________________________________________________________________________
|____________________________________|___________________________________|
|
|
|
|
UNiX |
Ms-dos
|
|____________________________________|___________________________________|
|
|
|
|UNiX est multi-utilisateur. C à dire|Ms-dos
n'a pas ce concepte multi- |
|que sa securite est base sur un sys-|utilisateur.
C à dire que une fois |
|teme de privileges. Les utilisateur |connecte
à une machine dos tous |
|d'UNiX ont chacun un passwd & ont
|vous est permis...
|
|chacun des autorisations + ou -
|
|
|grande en ce qui concerne le reseau.|
|
|L'utilisateur le + interessant est |
|
|le root.
|
|
|____________________________________|___________________________________|
|
|
|
|Sous UNiX les programmes ne peuvent |Sous Ms-dos
le programme peut |
|pas ecrire sous n'importe quelle
|ecrire n'importe meme là ou se |
|du HD...
|trouve le systeme d'explotation... |
|____________________________________|___________________________________|
|
|
|
|UNiX ne permet à aucun programme de |Cela
est possible sous Ms-Dos |
|de modifier un file.
|
|
|____________________________________|___________________________________|
--------------------------------------------------------------------------
Voila a peut près les differences entre UNiX et Ms-Dos.
Meme si, on le voit dans ce tableau, UNiX est
+ securise que le Dos, il n'a
pas ete concu pour offrir un maximum de securite.
On peut biensur rendre
UNiX + sur mais il n'est pas configure en tant
que tel dans sa version par
default ;))))) .
Si l'on configure UNiX pour qu'il soit + securise
alor il faudra faire ca
en trois parties :
-la securites des comptes
-la securites des connexions exterieurs
-la securites des fichiers et des repertoires
--------------------------------------------------|
II-Les bugs et les erreurs d'utilisation d'UNiX
: |
--------------------------------------------------|
I-La securite des comptes :
----------------------------
1.Les passwd :
---------------
La securite des comptes sont surtout du aux passwords.
Pour un utilisateur
UNiX, il faut choisir un passwd qui ne puisse
etre devine. Par exemple
pour l'utilisateur root, son passwd ne sera pas
"root". C une question pri-
maire, mais que beaucoup d'utilisateur oublie...
:))))))))))) Mais ne
comptez pas sur cette faille, pour hacker une
machine sous UNiX. Seul les
utilisateur qui ne sont pas expert en informatique
ne prennent pas guarde
à leur passwd & par consequent c utilisateurs
ne sont pas très important
dans la pyramide des privileges... Toute fois
vous pouvez essailler cette
faille pour des reseaus tout nouveau qui n'ont
pas encore ete configures...
La + part des reseau UNiX obligent leur utilisateur
à changer regulièrement
leur passwd :(((, mais on vera ca dans la seconde
partie.
2.Les comptes obsoletes :
-------------------------
Il arrive que l'on puisse trouver des comptes
obsoletes qui n'ont pas encore
ete anulé (mort de l'utilisateur, ou depart
en vacance). L'administrateur
reseau peut donc annuler ces comptes en mettant
une date d'expiration des
comptes. La encore on peut prendre la place de
account :))).
3.Les comptes des visiteurs :
-----------------------------
C un cauchemar pour la securite :))). les comptes
visiteurs sont
les premiers a essailler dans un systeme UNiX
recent qui n'a donc pas pu etre
configure... ;))))))))))))))
4.Les comptes sans passwd :
---------------------------
C fou, non ??? & pourtant ca existe !!!
5.Les groupes et les comptes de groupes :
-----------------------------------------
Pour enregistrer des groupes il y a deux maniere
de le faire :
a:laissez les utilisateur du groupes connectes
avec le meme passwd et le meme
nom d'utilisateur. ;)))
b:editer le fichier de group /etc/group, creer
le groupe et d'y associer la
liste des utilisateur...
Le format du fichier est :
nom du groupe:passwd:numero d'identification:utilisateur1,utilisateur2
....
6.Le systeme NIS :
------------------
Le systeme NIS est un moyen très pratique
de partager, entre plusieur machines
un seul fichier passwd et un seul fichier group
;))).
Par exemple si on veut changer un passwd sur
un reseau, il faut le faire sur
toute les machine, lorsqu'il n'y a pas NIS. Sur
les grand reseaux de 1000
becanes, c assez dur.... Voila pourkoi on a fait
NIS.
NIS fonctionne ainsi : sur la machine cliente,
le fichier passwd contient
une entré libellee +::0.0:: . Lorsque
l'utilisateur ce connecte sur une machi-
ne client, NIS demande le login et le passwd.
Au signe + près, l'entre passwd
est exactement la meme que celle d'un compte
root sans nom d'utilisateur ni
passwd. :))) On vera en detail le systeme NIS
dans une autre partie...
II-Securites des connexionx exterieures :
-----------------------------------------
Voila, on va attaquer des choses un peu plus interressantes :))).
1.Les machines equivalentes :
-----------------------------
Le mecanisme des machines equivalentes (trusted
host) permet de specifier une
liste de machines ou un utilisateur ayant le
meme nick sur les deux machines
peut etablir une session ou executer une commande
à distance sur une machine
cible sans passwd.
Le fichier /etc/hosts.equiv contient la listes
des machines equivalentes. Les
utilisateur qui ouvrent une session pas la commande
rlogin ou excutent une
commande par rsh n'ont pas a fournir de passwd
;))) s'il viennent d'une
machine listee dans ce fichier (spoof, spoof,
spoof :))).
Certaines version de UNiX sont livrees avec une
seule entree dans le fichier
host.equiv : un "+". Si c le cas sur la machine
convoitee et libre acce pour
tout le monde car le "+" signifie que toutes
les machines sont classees comme
equivalentes ;)))))))).
Les fichier .rhost permet à des utilisateur
specifiques d'acceder a des
becanes specifiques sans passwd. Tout utilisateur
peut creer un fichier
.rhostdans son repertoire de connexion et autoriser
l'acce a son compte
sans passwd. Tout utilisateur peut donner un
acces sans passwd à n'importe
qui !!! :))))
2.Les terminaux securises :
---------------------------
Selon les versions d'UNiX, le fichier qui definie
les terminaux securises est
soit : /etc/ttyab, soit : /etc/ttys. Pour autoriser
le super utilisateur
a se connecter à partir d'un terminal
donne, faut ajouter dans le fichier le
mot cle "secure" a la fin de la ligne d'identification
du terminal.
Si "secure" n'est pas mis a la fin de ligne d'identification
du terminal, un
utilisateur etant super utilisateur peut se connecter
sur un compte ordinaire
et ensuite devenir super utilisateur avec la
commande "su" :))).
3.NFS :
-------
NFS (Network File System) est un protocole qui
permet à plusieur machines de
partager des fichiers. Il est très utile
pour permettre aux stations sans HD
de stosker leur fichier dans une autre machine
+ centralisee.
Le fichier /etc/exports contient la liste des
fichiers que les autres
machines ont le droit de monter sur le reseau.
Voici les differrents droit de
ces machine :
root=machines (machines etant la description
des machines) : lorque
l'ontvois ca, c que les machines sitees ont le
droit root (ou super
utilisateur).
access=machines : la ce sont seulement
les machines autorisees a
monter des repertoires...
lorqu'il n'y a pas d'option access, toutes les
machines sont autorises à mon-
ter le repertoire.
/etc/exports est presente comme suit en presence
de l'option access :
/usr access=machine1:machine2:machine3...
ou bien /usr root=machine1:machine2:machine3...
De plus si l'adminitrateur lors de l'edition du
fichier a oublier de taper la
commande : # exportfs -a, le systeme ne relira
pas forcement le fichier :))).
4.FTP (file transfert protocole):
---------------------------------
Bon. Je pense que vous connaissez. A partir de
FTP on peut facilement<<<<<aquerir l'acces root, mais en
ce qui concerne le fichier passwd, souvent
le droit d'acces en lecture est coupe pour ce
fichier....
EX d'intrusion :
ftp> open victim.com
Connected to victim.com
220 victim.com FTP server ready.
ftp> quote user ftp
331 Guest login ok, send ident as password.
ftp> quote cwd ~root
530 Please login with USER and PASS.
ftp> quote pass ftp
230 Guest login ok, access restrictions
apply.
5.TFTP :
--------
Le petit frère de FTP!!! Son port est
le 69a
TFTP peut presentez des brèches assez
grandes pour faire passer un TGV... :))
essayer donc la sequence de commandes suivantes
:
evil %tftp
tftp>connect la_machine
tftp>get /etc/passwd
tftp>quit
6.Sendmail :
------------
Sendmail a aussi un gros bug de securite, meme
si on a refait des versions
+ securise, parfois les entreprises mettent du
temps a changer leur version.
Connectez vous au sendmail par telnet (port 25=smtp)
et tapez debug...
Si la reponse n'est pas "unrecognised command",
c que la version du sendmail
est encore buge et que vous pouvez en profiter
7.Finger :
----------
le finger permet a un utilisateur distant de
voir le nom complet d'un
utilisateur, son repertoire de connexion, la
date de sa derniere
connexion, et la date ou il a lu son courrier
pour la derniere fois...
III.Securite des fichiers et des repertoires
:
-----------------------------------------------
1.Les bits de droit d'accès :
-----------------------------
Tous les fichiers et repertoires UNiX ont trois
ensemble de bits de droit d'
acces associes. Le prmier ensemble definit quels
sont les droits du proprio
du fichier, le second definit quels sont les
droits du groupes proprio du
file & le dernier quels sont les droits d'acces
aux autres utilisateurs ;)).
Voici à quoi correspondent les bits des droits d'acces :
*droit d'acces en lecture (read).
*droit d'acces en ecriture (write).
*droit d'execution (execute).
*setuid : lorceque ce bit est positionne sur
un fichier, cela signifie que le
fichier est execute avec le droit du proprietaire
du fichier.
*setgid : lorceque ce bit est positionne sur
un fichier, cela signifie que le
fichier est execute avec le droit du groupe proprietaire
du fichier.
Si il n'y a aucun bits associe aux fichiers, tout
le monde peut tout faire
avec. ;]
2.Crypt :
---------
Crypt est un moyen de chiffrer les fichiers sous
UNiX.
Des cracker les dechiffrent assez vites. On les
trouves un peu partout sur le
net.....
3.Les peripheriques de /DEV :
-----------------------------
UNiX accede aux disques et à la memoire
par l'intermedeiaire des fichiers (dit
speciaux)du repertoire /dev mais aussi aux machines
du style imprimante...
Essaillez donc d'avoir acces a ce genre de fichier,
cela peut etre assez amusant
de leur imprimer certaine chose (hihi). Le +
souvent seul le root
à acces à ces fichiers.
-----------------------------------|
III-: la surveillance du systeme : |
-----------------------------------|
Une fois parti de la machine que vous avez hacker
croyez ne pas avoir laissez
de trace ???? Vraiment ???? :)))
Je vous demontre le contraire!!!!
I-surveillance des comptes :
----------------------------
1.le fichier /usr/adm/lastlog :
-------------------------------
Ce fichier est une trace de la date de la derniere
session etablie par chaque
utilisateur. Profitez en pour savoir quand se
connecte l'utilisateur que
vous avez hacker... Ca pourra vous servir si
vous comptez revenir. Je ne
vous le conseille toute fois pas.
2.le fichier /etc/utmp :
------------------------
Le fichier /etc/utmp enregistre qui est connecte
sur le moment sur le
systeme. On peut le visualiser avec la commande
who.
Soyez donc discret & evitez de faire des
choses qui allerterait tout
le monde (surtout tard le soir & meme en
root).
3.le fichier /usr/adm/wtmp :
----------------------------
Ce file enregistre les debuts et les fins de
sessions de tous les
utilisateurs. On peut executer la commande who
sur ce fichier :
who /usr/adm/wtmp
Pour isoler ce qui vous interresse tapez :
last /usr/adm/wtmp username
ou bien :
last /usr/adm/wtmp terminal
4.le fichier /var/adm/acct :
----------------------------
Ce file enregistre toutes les commandes executes
et le user qui les a
executes.
Pour avoir acces à ce fichier tapez :
latscomm /var/adm/acct username
ou bien :
latscomm /var/adm/acct terminal
II-Surveillance des connexions reseau :
---------------------------------------
1.La commande syslog :
----------------------
Avec syslog, on peut forcer n'importe quelle
commandes à envoyer des
informations, ainsi que les messages d'erreurs,
vers un fichier traces tel
que /usr/adm/messages. Si vous arrivez à
vous connecter sur le reseau, en
pleine journee vous pouvez vous contenter d'effacez
si vous le pouvez les
traces d'erreurs que vous avez pu commetre, mais
il est preferable d'effacer
toutes les traces que vous avez laissez sur ce
fichier et sur les autres de
jour ou de nuit.
2.La commande showmount :
-------------------------
Elle permet de voir toute les machines qui ont
monte quelque chose à partir
d'un serveur NFS. Sans option elle donne simplement
la liste des mac