Hacking


Cap�tulo 4

Entrar en un sistema y "enrootarse"

En esta unidad aprenderas:
C�mo recoger informaci�n del sistema al que queremos entrar 
T�cnicas para entrar sin tener una cuenta en el sistema 
C�mo conseguir root dentro del sistema 
Qu� hacer una vez se es root en el sistema 
C�mo asegurar el futuro acceso al sistema una vez se es root

Si est�s aqu� se supone que sab�s:

Lo que es en realidad el hacking

Para qu� sirve el hacking

C�mo se comporta un hacker

Qu� es LINUX

Iniciarse en el entorno LINUX/UNIX

Entender el entorno multiusuario UNIX

Otros ejercicios pr�cticos para LINUX

Mucho sobre sistemas UNIX

Clasificaci�n de sistemas UNIX

Caracter�sticas de los diferentes sistemas UNIX


Bien, estamos ante la lecci�n clave de este curso. Para entenderla, es esencial que hayas leido las lecciones anteriores, especialmente la 1 y la 2.


Entrar en un sistema:
Esta es la acci�n principal y primordial para hackear.

La acci�n de entrar en un sistema se puede dividir en dos fases :

Recopilacion de informacion

Incursi�n en el sistema:

o bien

A trav�s de una cuenta shell

A trav�s de otros m�todos

Pero tambi�n tenemos que saber que la entrada en un sistema puede ser, seg�n el nivel de privilegio:

Directamente como root

Como usuario normal

como usuario an�nimo (pero esta �ltima queda descartada ya que como usuario an�nimo no podemos hacer pr�cticamente nada.)

As� pues, antes de entrar en un sistema (aunque ya tengamos una cuenta shell), tenemos que pasar por la etapa de recopilacion de informacion


1 - Recopilacion de informaci�n
La informaci�n que debemos saber de cualquier sistema la vamos a dividir en:

Informaci�n primordial

Informaci�n extendida

Informaci�n complementaria

La informaci�n primordial la tenemos que saber sea como sea, si no, ya nos podemos olvidar del sistema y buscarnos otro. La informaci�n extendida nos ser� de utilidad m�s adelante, y la complementaria... bueno, siempre va bien tenerla.


Informaci�n primordial: cu�l es y c�mo se consigue
La informaci�n primordial de cualquier sistema es qu� Host/IP tiene, as� como la versi�n de UNIX que usa. Si tenemos el host y queremos saber la IP, basta con teclear:



# nslookup <host>

Una vez sabemos el Host/IP de un sistema, tenemos que hacer un telnet a �ste y observar qu� versi�n de UNIX usa. El nombre del sistema nos basta para la informaci�n primordial (si es SunOS, si es Solaris, si es Linux, etc...).



# telnet <host>
SunOS v3.25
login:

Informaci�n extendida: cu�l es, para qu� usarla y c�mo se consigue
Al hacer el telnet, no estar�a mal que apareciese qu� versi�n (sea el UNIX que sea) est� usando. Es un dato que puede ayudarnos a elegir exploits para usarlos m�s adelante.

Otro dato que nos puede ayudar (y mucho) es la versi�n de Sendmail que usa. Esto lo conseguimos haciendo un telnet al puerto 25 del host.



Nota: si el sistema que queremos hackear no permite hacer un telnet al puerto 25, deberemos descartar cualquier ataque v�a Sendmail.

Para hacer un telnet al puerto 25 del host, escribimos simplemente esto:



# telnet <host> 25

Y nos aparecer� una l�nea con la versi�n del Sendmail.

Otra informaci�n extendida importante es saber detectar si el host tiene alguna actividad NFS. NFS (Network File System) es un sistema por el cual un ordenador puede compartir directorios con otros ordenadores, de manera que estos pueden manejar dichos directorios como si fuesen suyos. En muchos sistemas UNIX, el NFS est� mal configurado, lo que supone un fallo de seguridad. Para saber si este sistema recibe directorios NFS, y si es que s�, cu�les son, escribiremos:



# showmount -e <host>

Podr�amos considerar importante m�s informaci�n, pero con esta ya tenemos de momento suficiente.


Informaci�n complementaria
    Siempre va bien saber, por ejemplo, qu� tipo de sistema es (si es gubernamental, si es una universidad...), en qu� sitio geogr�fico est� situado, cu�nto tiempo lleva on-line, qu� servicios ofrece, y un largo etc�tera.

Hay muchos programas como por ejemplo el nmap, que se usan para saber que tipo de sistema operativo se esta usando, este programa tiene la caracteristica que nos dice hasta que version es, por
ejemplo linux red-hot 6.2 , solaris 6.0 etc,tiene a su ves funciones que no permiten al otro sistema leer
nuestra direccion ip puesto que usa una tecnica muy avanzada para peticionar la informacion, pero por
el momento no te preocupes por esto ya que deberas saber lo basico.


2 - Incursi�n en el sistema
    Bien, ahora que ya tenemos suficiente informaci�n vamos a tratar algunos de los m�todos que se suelen usar para entrar en un sistema (los m�s f�ciles, por supuesto).

Si ya tenemos una cuenta shell, nos basta con entrar v�a telnet, poner el login y el password y ya estamos dentro. Si este es el caso, deberemos pasar a ver c�mo podemos obtener root.

Pero si estamos en nuestro ordenador y no tenemos ni siquiera un login,,y no sabemos qu� hacer para poder entrar, antes que nada probaremos los m�todos que s�lo funcionan de vez en cuando, m�todos que pueden parecer anti-elitistas, pero que muchas veces nos ahorran esfuerzo mental si, de casualidad, funcionan, claro est�.

Un ejemplo puede ser un rlogin . Por incre�ble que parezca, mi primera incursi�n en un sistema fue gracias a esta t�ctica. Simplemente escribimos:



# rlogin <host>

Y hay una probabilidad entre 100 de que entremos. Pero lo bueno es que entramos directamente como root, que fue lo que a mi me sucedi�. Lo que ocurre es que, al no especificar con qu� nombre (login) queremos entrar en el sistema, el comando entiende que queremos entrar como root, y como no hemos puesto password, entiende que el password es simplemente, ENTER (o sea, nada). En otras palabras, que hemos entrado con la cuenta de root sin asignar password, el root no tiene aun un password asignado, cosa que es pr�cticamente imposible (para qu� negarlo) � Pero nunca est� de m�s probarlo !

Y otra t�ctica de este tipo consiste en hacer lo mismo, pero usando las "default counts", que son las cuentas que vienen por defecto en cualquier sistema UNIX, y, a no ser que el root les cambie el password o las desactive, se pueden usar. Esto es bueno probarlo porque algunas veces el root solo actualiza las cuentas que usa y las otras las deja activadas. Las default counts, en sistemas UNIX son:



Login / Password

admin - admin
sysadmin - sysadmin o admin
unix - unix
uucp - uucp
rje - rje
guest - guest
demo - demo
daemon - daemon
sysbin - sysbin
bin - bin




Las cuentas bin son muy interesantes ya que permiten la manipulaci�n de muchos ficheros importantes como el fichero passwd.

adm - adm
nuucp - nuucp
lp - lp

Si con �stas no funciona, entonces tenemos que pensar un poco m�s. Vamos a ver, si el sitio al que nos conectamos se llama por ejemplo "Daddy's INC", no estar�a de m�s probar a entrar como daddys, o daddy.

Algunos sistemas UNIX tienen una cuenta llamada test abierta, sin password, o con el mismo login y password (test/test).

En unos pocos sistemas UNIX, podemos ejecutar algunos comandos en el prompt de login. Estos pueden ser b�sicamente tres:



who
rwho
finger

Con lo que podemos saber si hay alguien dentro del sistema. Y, si hay alguien, ya tenemos el login de un usuario. Imaginemos que hay un tal "pepe" conectado. Probablemente, ser� de esos que prefiere conectar r�pido al sistema y no le ha pasado nunca por la cabeza que alg�n hacker pueda usar su cuenta. As� que no estar�a de m�s intentar entrar como pepe y poner como password pepe, pepe1, pp, o lo que se nos pase por la cabeza...

Bueno, como seguramente no hemos entrado en el sistema, ya nos podemos quitar las lega�as y pasar a hacer algo m�s serio. Si seguimos fuera del sistema, tenemos varias opciones:

Explotar el Sendmail

Explotar el NFS mediante un IP Spoofing

Lo primero, consiste en usar el sistema de Mail del ordenador para obtener privilegios de root. Esto se hace aprovechando los fallos que presenta seg�n la versi�n que use (ver informaci�n extendida). As� que a partir de ahora ya podemos empezar a usar exploits para hacer nuestras tareas m�s f�ciles. Muchos no sabran de lo que estoy hablando. As� que vamos a explicar lo que es un exploit.



Un exploit:
no es m�s que un programa que aprovecha los bugs de un sistema UNIX determinado. Hay, por supuesto, muchos exploits, para cada tipo de sistema, y diariamente van saliendo nuevos seg�n los sistemas se actualizan y se van encontrando nuevos fallos. Los buenos hackers saben programar sus propios exploits, pero de momento vamos a usar los que ya est�n hechos. Una direcci�n donde podemos encontrar muchos es: www.rootshell.com. Los exploits est�n programados en C o en shell. Y, dentro de la programaci�n en shell podemos encontrar diferentes tipos, seg�n el tipo de shell en que se base (BASH, PERL...). Una vez tenemos el exploit que queremos usar, debemos editarlo, leer las instrucciones que contenga (muchos contienen lineas de texto haciendo referencia a las maneras que hay de usarlo, c�mo hay que usarlo para que funcione de una manera u otra, etc) y salvar s�lo la parte ejecutable (ya sea en shell o en C). Si est� en C tendremos que compilar el exploit. Si est� en shell, basta con darle permiso de ejecuci�n y ya est� listo para usar. Poco a poco  ir� hablando de las diferentes maneras de usar los exploits.

Ahora que ya sabemos lo que es un exploit, podemos ir a cualquier site y bajarnos todos los que haya referentes a la versi�n de Sendmail que usa este sistema, compilarlos (si necesitan ser compilados), y usarlos.

Realmente, el sistema de Mail de UNIX es muy �til para hacer fake mails, una vez dentro del sistema. Podemos hacernos pasar por cualquier direcci�n de correo existente.



    Es importante la organizaci�n de los exploits en el disco duro, la mejor manera es clasificarlos seg�n: qu� tipo de exploit son y a qu� sistema hacen referencia.

    Bueno, los exploits locales son una buena manera de entrar directamente, pero no siempre funcionan, sobretodo porque los mismos exploits suelen tener bugs y tenemos que saber modificarlos, pero por esto de momento no te preocupes. Hay, por supuesto, t�cnicas m�s avanzadas para entrar en sistemas. Una de ellas es el IP Spoofing.

    El IP Spoofing nos permite cambiar nuestra IP.  pero � Qu� ganamos con eso ? Bien, supongamos que el sistema al que queremos entrar est� en una subred, y, por lo tanto, se comunica con sistemas trusteds, sistemas que son "colegas". � Qu� quiere decir que son colegas ? Pues que est�n comunicados entre s� y que por lo tanto tienen ciertos privilegios (tienen acceso a directorios compartidos v�a NFS). Los programas de IP Spoofing lo que hacen es (de manera simplificada), intentar comunicar con un sistema trusted (colega del sistema al que queremos entrar), hacer que no responda y en ese intervalo de tiempo alterar nuestra IP para hacernos pasar por ese sistema, de manera que ya tenemos ciertos privilegios en el sistema en el que queremos entrar.

    Lo primero que tienes que hacer para poner en pr�ctica esta t�ctica es bajarte un buen programa de IP Spoofing. Mejor b�jate varios por si alguno no funciona. Ahora tienes que saber cu�les son los sistemas trusteds del sistema al que quieres entrar. En otras palabras, qu� estructura NFS tiene. Para esto escribe lo siguiente:



# showmount -e <host>

Por otra parte, esto ya lo tendr�as que haber hecho al recopilar la informaci�n del sistema.

    Y, con estos datos, ya puedes ejecutar el programa de IP Spoofing, que seguramente lo har� todo �l solito. No olvides compilarlo (si est� en C) y quitar las instrucciones.

    En teor�a con todas estas t�cnicas puedes pasarte un buen rato intentando entrar en un sistema. He dejado muchas t�cnicas por explicar y las que he descrito las he descrito muy por encima, porque considero que un hacker novicio ha de empezar siempre teniendo shells. Es decir, que ya conozcas de antemano alguna cuenta en ese sistema, eso facilita much�simo las cosas. La �nica manera de conseguir una sino puedes ni siquiera entrar de forma an�nima en un sistema es utilizar la ingenier�a social. Si conoces el lugar f�sico en el que est� ubicado el sistema, tienes que relacionarte con la gente que accede a �l, robar papelillos o buscarlos en la papelera, espiar, hacer lo que sea hasta conseguir una cuenta en el sistema. El IRC puede ser un buen medio, pero tambi�n tienes que saber pedir las cosas. Internet, en definitiva, es un buen medio. Alguna que otra p�gina encontrar�s con shells. El fake mail puede ser tambi�n �til, hacerte pasar por alguna direcci�n importante de un proveedor de internet y enviar un mail a un usuario de ese proveedor para de alguna manera averiguar su login y password, aunque para eso tienes que estar antes en un sistema UNIX, y no todos los sistemas UNIX permiten hacer fake mails, o sea que esta t�cnica queda descartada. Pero si buscas informaci�n al respecto no te estar� de m�s.


Conseguir ROOT una vez dentro del sistema
    Bien, si hemos conseguido finalmente entrar en el sistema con shell de usuario ordinario, tenemos muchas cosas que hacer. Lo primero que querremos hacer es, por supuesto, ver qu� posibilidades nos ofrece nuestra cuenta.

1 - Hacemos un listado de nuestro directorio de inicio

2 - Miramos qu� programas colectivos podemos ejecutar

3 - Echamos un vistazo al archivo .profile

    Nuestro directorio de inicio, dependiendo de en qu� tipo de ordenador estemos estar� generalmente ocupado por programas en C o documentos relacionados con carreras universitarias (si estamos en una universidad). Conviene no modificar ninguno de estos elementos, porque el usuario real de esta shell se dar�a cuenta de que la fecha ha cambiado. Y a�n peor si se nos ocurre borrarlos. Simplemente les echamos un vistazo (si nos interesa, claro).    

    Ahora ejecutamos el comando help para ver qu� programas colectivos podemos ejecutar (editores de texto, programas de mail, etc...). Y por �ltimo, no nos ir� mal saber qu� hay en nuestro .profile, y, si tenemos que modificarlo, no tenemos que olvidar volver a poner la fecha original (con el comando touch).
   
    Despu�s tenemos que intentar movernos del directorio en el que estamos, a ver si podemos explorar otras �reas del sistema. Si no podemos, no hay que desesperarse. Quiz�s s� podemos leer ficheros del sistema aunque no podamos movernos del directorio, por eso tenemos que probar a hacer esto:



$ cat /etc/passwd

Si estamos de suerte y sale algo, pues grabamos la informaci�n en un fichero nuestro.



$ cat /etc/passwd >> passwd

Y ya tenemos el archivo passwd.

Ahora vamos a mirar m�s archivos importantes



$ cat /etc/hosts

    Este archivo te mostrar� todos los sistemas que est�n en la subred del sistema en el que est�s. Esto te puede ser �til porque, si te cierran la cuenta aqu�, probablemente puedas intentar entrar en alg�n sistema de la misma subred con la misma cuenta. Si te interesa, salva esta informaci�n en otro archivo.

Ahora vamos a ver qu� podemos hacer con el archivo passwd.

    Como ya sabes, este fichero contiene las cuentas del sistema. Tambi�n sabes qu� elementos contiene. Cuando dije que conten�a el password del usuario dije que nunca aparec�a tal y como era. El password puede aparecer de varias formas:

Shadow
    Cuando el password est� shadow, en realidad se encuentra en otro archivo que se llama shadow, que no es visible m�s que por el root. En este caso no podemos hacer nada. Aparece shadow si aparece como un asterisco o una x:



Anastasio:*:1500:10:Anastasio Fernandez:/usr/anastasio:/bin/sh
Anastasio:x:1500:10:Anastasio Fernandez:/usr/anastasio:/bin/sh

Encriptado
    El password est� encriptado si est� formado por una combinaci�n muy extra�a de car�cteres. Esta combinaci�n no es el password en s�, sino el password encriptado. En este caso s� podemos hacer algo, es m�s, tenemos muchas posibilidades de descubrir de qu� password se trata. Lo que tenemos que hacer es bajarnos un buen desencriptador de passwords. Yo suelo usar el John The Ripper, es un desencriptador muy bueno. Los desencriptadores suelen funcionar intentando asociar una serie de palabras agrupadas por temas a los passwords encriptados. Estas agrupaciones se llaman diccionarios y tambi�n se pueden bajar. Aunque, si queremos desencriptar bien las contrase�as hay algunos desencriptadores que hacen una desencriptaci�n completa, sin usar ning�n diccionario, prueban todas las combinaciones posibles. Lo malo que tiene este sistema es que el proceso de desencriptaci�n puede tardar muchas horas, pero vale la pena sobretodo si tienes un archivo de passwords con una cuenta root encriptada.

    Los desencriptadores, por supuesto, funcionan off-line. As� que lo que tienes que hacer si has conseguido el archivo de contrase�as encriptado es desconectar y probar a desencriptarlo.

Una cuenta encriptada tiene este aspecto:



Anastasio:Mo54Wasl6H:1500:10:Anastasio Fernandez:/usr/anastasio:/bin/sh

Normal
    Si encuentras alguna cuenta as�, te mereces un premio, porque pr�cticamente es imposible de encontrar. Simplemente la contrase�a se muestra tal cual es.



Anastasio:juana:1500:10:Anastasio Fernandez:/usr/anastasio:/bin/sh

Sin password
    En este caso no hay password, para acceder con esta cuenta simplemente hacemos telnet, ponemos el login y ya estamos dentro.



Anastasio::1500:10:Anastasio Fernandez:/usr/anastasio:/bin/sh

Nota: Hay que tener en cuenta que si nos encontramos un espacio en blanco, un asterisco o un signo de admiraci�n delante del password, la cuenta est� inhabilitada temporalmente, eso significa que el acceso del usuario al sistema ha sido restringuido por el admin (� o por un hacker !).

    Bueno, crackear el archivo password es una posibilidad a tener en cuenta para conseguir acceso root, averiguando cu�l es la contrase�a que usa el root. En el hipot�tico caso de que lleguemos a saber cu�l es la contrase�a del root, lo que tenemos que hacer es, ante todo, no cambiarla (una vez estemos dentro como root). Despu�s, pasar a mirar la parte de esta unidad referente a qu� hacer cuando se es root.

    Si lo del archivo passwd no ha resultado, vamos a pasar a intentar buscar defectos en el sistema en el que estamos. Ya podemos ir preparando los exploits que necesitemos. Ahora bien, � Con qu� criterio hay que elegirlos ? Los exploits que ejecutes en el sistema tienen que cumplir siempre estas condiciones:

1 - La m�s trivial, que hagan referencia al sistema UNIX en el que est�s. No ejecutes un exploit para HP-UX si est�s en un Solaris.

2 - Que hagan referencia a la versi�n exacta del sistema UNIX en el que est�s. De una versi�n a otra se corrigen los errores, por lo tanto un exploit para AIX 3.25 no funcionar� en un AIX 4.x

3 - Que sean lo m�s nuevos posibles. Los exploits aparecen a medida que se van encontrando los errores en los sistemas. Por lo tanto, hay m�s posibilidades que el admin del sistema no haya tenido tiempo a parchear el bug al que haga referencia el exploit. En ciertos sites como rootshell.com aparecen exploits nuevos cada mes.

4 - Que hagan lo que necesitas que hagan. Leete qu� es lo que hacen, inicialmente te interesa ganar acceso root, pues busca solo los que hagan esto. No te interesar�, por ejemplo, hacer caer el sistema, ni colocar un sniffer. Tambi�n habr�n exploits que para ejecutarlos necesitar�s ser root en el sistema � Tampoco te interesan !

    No todos los exploits son iguales, eso es algo que ya hemos comentado antes. Antes he mencionado la palabra exploit local. Llegados a este punto, tienes que entender la diferencia entre exploit local y exploit remoto:

- Exploit local: tanto si est� en C como en Shell, tiene que ejecutarse sin estar conectado a ning�n sistema (� pero s� a Internet !).

- Exploit remoto: Si est� en C, hay que subir el c�digo fuente al sistema y compilarlo DENTRO del sistema. Una vez compilado se ejecuta. Si est� en Shell simplemente hay que subirlo al sistema y ejecutarlo dentro del sistema.

Ahora vamos a ver c�mo podemos poner a punto nuestro exploit. Debes seguir este proceso:

1 - Descomprime el exploit si est� en formato .tgz. Esto lo puedes hacer con:



# tar xfvz <nombre del archivo>.tgz

2 - Edita el exploit.

    Te encontrar�s con que algunos exploits no son m�s que un archivo de texto explicando c�mo aprovechar un bug. Si este es el caso, l�ete cuidadosamente el archivo y apunta en un papel lo que te diga que tienes que hacer (normalmente te dir� que usando un comando de tal manera puedes conseguir root o leer ciertos archivos...). Otros exploits ser�n shellscripts, y al principio habr�n las instrucciones. Tienes que le�rtelas bien, y guardar en otro archivo solo el shellscript (quitando las l�neas de texto que sobren). Para poder ejecutarlo tienes que darle permiso de ejecuci�n. Otros ser�n programas en C, en este caso si hay instrucciones, estas son ignoradas al compilar, as� que no hay problema. Ya sabes que si es un exploit remoto tienes que subir el c�digo al sistema (esto puedes hacerlo a trav�s de una sesi�n FTP, usando el mismo login y el mismo password que para la sesi�n telnet), y una vez dentro, compilarlo (haciendo una sesi�n telnet) usando esta l�nea:



$ gcc <archivo>.c

    Y el resultado de esta operaci�n ser� un archivo llamado a.out, que tienes que renombrar a tu gusto ( o ejecutar directamente con ese nombre ).

Hay exploits que son una mezcla entre C y shellscript, es decir, que una parte est� en C y otra en shell. En este caso tienes que separar las dos partes en dos archivos distintos y hacer lo que ya sabes.

3 - La �ltima parte es ejecutarlos, esperando que funcionen. Suelen funcionar si el sistema no est� parcheado al m�ximo.

Experimenta por ti mismo todo lo referente a exploits, ahora que ya sabes c�mo utilizarlos.

    Pero recuerda, si los exploits que has seleccionado no funcionan, no hagas el tonto subiendo otros que sabes que no van a funcionar. Debes saber que todo lo que haces en un sistema UNIX queda registrado en varios logs (algo que veremos en la pr�xima lecci�n), as� que si en una sesi�n no has conseguido hacerte root, al cabo de un d�a tu cuenta estar� cerrada porque, probablemente, el admin se habr� dado cuenta de que has estado haciendo cosas "sospechosas". Por si acaso, si te tienes que ir, no olvides dejar el directorio de inicio del usuario tal y como estaba. Si te dejas tus exploits ah�, te puedo asegurar que te van a cerrar la cuenta pase lo que pase (porque el usuario se dar� cuenta y lo comunicar� al admin). Tambi�n he comentado que, si has modificado alg�n archivo ya existente, tienes que volver a ponerle la fecha que ya ten�a con el comando touch.

Pero si te han cerrado la cuenta, lo que tienes que hacer es buscarte m�s shells y seguir practicando.

Si has conseguido nivel root, vamos a pasar a explicar qu� es lo que tienes que hacer.


� Qu� hacer una vez se es ROOT ?
    Una vez eres root, el sistema es tuyo. No hay ning�n tipo de restricci�n, puedes pasearte por el sistema como si fuese tuyo. Es muy importante, cuando se es root, asegurarse de que nos vamos a ir sin dejar ninguna huella. Pero esto lo voy a explicar en la pr�xima lecci�n. As� mismo, si queremos asegurarnos nuestra continuidad como hacker en ese sistema, tenemos que ingeniarnos alg�n m�todo para que podamos entrar y salir siendo siempre root. Una manera ser�a hacer el mismo proceso que hemos hecho para conseguir root. Pero, � Y si es un proceso demasiado largo ? � Y si tenemos root y no sabemos ni c�mo lo hemos conseguido ?

    Podr�amos crear una cuenta con acceso root, pero el admin del sistema lo acabar�a viendo. Lo que podemos hacer es usar el .profile del root para asegurarnos el futuro acceso mediante un caballo de troya.

    Muchos se preguntaran � Qu� es un caballo de troya ? Bueno, un caballo de troya no es m�s que un proceso oculto. Vamos a verlo mediante un ejemplo muy sencillo:

Caballo de troya 1
Vamos a meter un caballo de troya en el archivo .profile de un usuario normal. Nos movemos a su directorio de inicio.

Lo primero que hacemos es una copia del archivo original a un archivo temporal oculto:



# cp .profile .temp

Ahora, editamos el archivo .profile y a�adimos estas l�neas al final:



echo " Bienvenido, Anastasio Fern�ndez "
echo " Que tengas un buen d�a. "
echo " � A que no sabes c�mo te est�n llegando estas l�neas ? "

Y la l�nea m�s importante que tenemos que a�adir es:



mv .temp .profile

�Qu� hemos hecho con esto?. Acabamos de ocultar un proceso, en este caso un mensage de bienvenida. El archivo original .profile estaba guardado en en uno temporal (.temp). De manera que cuando Anastasio entra en el sistema, su .profile (que es el que hemos modificado) se encarga de ocultarse moviendo el contenido del archivo temporal otra vez al archivo profile, de manera que cuando Anastasio mire en su .profile no ver� nada anormal. Excepto la fecha de modificaci�n, pero eso lo podemos arreglar a�adiendo un comando touch al final del caballo de troya.

Naturalmente no es muy recomendable hacer esto, ya que a un usuario normal no le har�a mucha gracia y comunicar�a al admin que ha entrado un hacker en el sistema.

Ahora que ya sabemos qu� es un caballo de troya, vamos a hacer el caso que nos ocupa:

Caballo de troya 2
Vamos a hacer que un usuario normal consiga root instant�neamente al entrar en el sistema.

Hacer una copia del .profile del root en el directorio de inicio de un usuario normal

Convertir esta copia a ejecutable

Hacer una copia del .profile del usuario normal a un archivo temporal oculto

Modificar el .profile para que el usuario, cuando entre:

Ejecute el .profile de root

Borre el .profile de root

Mueva el contenido de la copia de su .profile (temp) a su .profile real

Si seguiste las lecciones hasta aqu� no tendras problema en hacer este caballo de troya.

Pero para los m�s despistados, aqu� est� el proceso:



# cd /root
# cp .profile /usr/anastasio/.runme
# cd /usr/anastasio
# chmod a+x .runme
# cp .profile .temp
# ed .profile


Y a�adimos:

.runme
rm .runme
mv .temp .profile

    As�, cada vez que entremos con la cuenta de Anastasio, seremos root. Naturalmente tambi�n puede ser que Anastasio Fern�ndez, el usuario real de la cuenta, entre y vea que es root. Por eso recomiendo hacer esto: salir del sistema a hacer lo que tengamos que hacer, y al cabo de un rato volver a entrar (seremos root) y no volver a hacer este caballo de troya. Si en este intervalo de tiempo ha entrado Anastasio Fern�ndez, ya no hay nada que hacer. Pero siempre podemos pensar que hemos hecho feliz a alguien.

    Bueno, siendo root se pueden hacer infinidad de cosas. Si quieres, disfruta de tu limitado acceso root (ahora que no sabes c�mo borrar tus huellas) curioseando por el sistema. No te recomiendo que borres nada. Simplemente mira a ver qu� hay. Y, ahora que sabes hacer caballos de troya, puedes divertirte haci�ndolos en los .profile's de los usuarios normales. Por ejemplo, puedes poner un mensage personal si conoces a alguien del sistema.
Curso de Hacking


Noticias                   
Definiciones               Seguridad                   Crack                        Hacking                     Virus Inform�ticos      Troyanos                   Phreaking                
Vulnerabilidades        
       Secciones        
Tu Pc


Textos                       Softwares                  Literatura                   Virus                         Cracking y Seguridad Crackeadores           
Crading                      Troyanos                 
Hardware                  
     Descargar      


Visual Basic               Html                          Visual C, C+, C++      Algoritmos                
  Programaci�n     


Chat                          WebMaster                E-mail                      
  Comunicate    
INICIO
Volver
You need Java to see this applet.
Hosted by www.Geocities.ws

1