Zona de Espionaje

Dentro de las lineas enemigas

[ Esnifadores de red ] [ Detectando espías ] [ Eliminando intrusos ] [ Estamos dentro! ] [ Borrando nuestro rastro ]


 
 

0. Esnifadores de red:

Existe un grupo de programas que se encargan de "esnifar" los interfaces de red, esto es, detectar y analizar toda la información que circula a través de ellas. Su función suele ser depurar fallos en las redes, analizar los protocolos ... pero en nuestro caso lo usaremos para detectar los ataques "finos", desde simples pings hasta silenciosos escaneadores de puertos.

1. Detectando espías:

Como saber cuando alguien esta entrando?

De nuevo tcp_wrappers nos va a ser de gran ayuda para esto. Podemos usar sus comandos para mantenernos alerta.
Una linea como la siguiente nos será de gran ayuda:
ALL: ALL: twist ( echo -n "Intruso %a %n en %d" > /dev/console ) &
Esto hace que cada vez que seamos atacados o escaneados aparezca una linea por pantalla similar a esta:
Intruso 195.75.7.201 ji-21.net.es en ftpd

Una de las herramientas de información general mas potentes de linux es el syslogd, no es difícil configurar este demonio para que nos de información detallada de todo lo que pasa en nuestra máquina.
Por ejemplo basta con poner en /etc/syslogd la siguiente linea:
*.* /dev/tty12
Para tener información puntual de todo lo que pasa en nuestro ordenador con tan solo movernos a la consola 12.

Los intentos de acceso por telnet se ven así:
Dec 1 16:58:10 localhost PAM_pwdb[175]: LOGIN ON tty2 BY dani

Y así se ve un intento fallido de login:
Dec 1 18:06:40 localhost login: FAILED LOGIN 1 FROM ij-21.arrakis.es FOR root, Authentication failure
Dec 1 18:06:42 localhost login: FAILED LOGIN 2 FROM ij-21.arrakis.es FOR root, Authentication failure
Dec 1 18:06:44 localhost login: FAILED LOGIN 3 FROM ij-21.arrakis.es FOR root, Authentication failure
Dec 1 18:06:47 localhost login: FAILED LOGIN SESSION FROM ij-21.arrakis.es FOR root, Authentication failure
Dec 1 18:06:47 localhost PAM_pwdb[347]: 4 authentication failures; (uid=0) -> root for login service
Dec 1 18:06:47 localhost PAM_pwdb[347]: service(login) ignoring max retries; 4 > 3

Y cualkier intento de ganar los permisos de root con el comando su:
Dec 1 18:09:50 localhost PAM_pwdb[349]: 1 authentication failure; pedro(uid=500) -> root for su service

Otras técnicas son el uso periódico de comandos como w, who,netstat y otras herramientas similares que nos ofrece linux.

Para acabar usuarios.sh.gz es un script en bash que he hecho para detectar en tiempo real los accesos a tu máquina por telnet, ademas de información complementaria sobre las conexiones tcp/ip, información general sobre el sistema ...

2. Eliminando intrusos:

Que hago cuando hay un intruso en mi sistema!!!????

Ante todo mantener la calma, sacarlo es muy fácil, lo mas radical es kill -9 PID, que como sabes el PID? Si te estas planteando esto mas vale que olvides lo de ser hacker ... bueno, lo explico: el comando es ps aux, el resultado depende de lo que estemos buscando, por ejemplo:

root 1833 0.2 1.9 1084 600 ? S 15:02 0:00 in.telnetd
Esto indica que nuestra máquina esta soportando una conexión telnet

dani 1836 0.2 3.0 1444 960 p1 S 15:02 0:00 /bin/login -h Claudia.net -p
Y esto delata al intruso, en estos momentos le tenemos cogido por los eggs y solo hay que hacer un sutil kill -9 1836 para que aparezca un bonito Conection closed by foreign host en su terminal.

Truco: Cuando no haya manera humana de sacarlo ... killall -9 login (Iros todos a tomar por culo! by Extremoduro)

Otro ejemplo: una conexión que suponemos sospechosa por ftp, el ps aux:

ftp 1857 0.2 2.4 1324 764 ? S 15:12 0:00 ftpd: Claudia.net: anonymous/root@: IDLE
Pues lo mismo, kill -9 1857 y la conexión se esfuma.

Ahora que nuestro sistema esta limpio procedemos al registro, leyendo el /var/log/messages sabremos por donde se puede entrar y con que nombre de usuario lo ha hecho (arreglarlo es de maxima prioridad, porque el intruso volverá a intentarlo), una vez subsanado intentaremos ver que ha hecho este espía prestando especial atención a los troyanos; para esto miraremos el .bash_history del usuario hackeado y seguiremos todas sus pistas. Elimina absolutamente todos los archivos que haya podido colarte, ninguno es bueno.

Truco: Abre un terminal y realiza exactamente los mismos pasos que hizo el intruso, te da una idea general de lo que intentaba hacer.

3. Estamos dentro!:

Vaya! Somos tan buenos (o ellos tan malos) que ni siquiera todas las medidas de protección han podido pararnos, y ahora que?
Bueno, ante todo muchísima cautela, esto es ilegal por lo que no lo hagas a menos que quieras meterte en problemas. Recomendación no toques nada, no hagas nada.

Aun sigues ahí? Bueno, en fin ... los archivos mas ansiados son /etc/passwd (para conseguir los passwords de los usuarios), /etc/shadow (si los passwords estan "sombreados"), /etc/syslog.conf (para repasar donde se guardan los datos de nuestra excursión por el sistema remoto) y todo lo que haya en /etc/ppp (sobretodo, si existe, el /etc/ppp/pap-secrets o chap-secrets o infoviappp)

Si puedes hacerte con los permisos de root mucho mejor, ya que te servirán para leer el /etc/shadow y toquetear el sistema a tu antojo (recuerda cd / ; rm -rf )
Ademas cada objetivo en particular puede tener otros atractivos (las notas de la facultad, la investigación de la competencia ...)

Truco: La gente abusa del SUID, el comando "find . -perm -4000 -print" es una mina de oro, pues nos da una lista de programas que podremos usar con permisos de root. Imaginaos si algún editor de textos tuviese estos permisos ... :)
Cuidado! Esto genera gran actividad de HDD en el sistema remoto. No lo olvides.

4. Borrando nuestro rastro:

Ahora hay que evitar que nos pillen. aquí es donde entra en juego el /etc/syslogd.conf, lo leeremos y veremos donde se guardan nuestros datos para proceder a eliminarlos si es que contamos con los permisos suficientes.
Tanto cuando estamos dentro como cuando ya nos hemos ido hay gran cantidad de huellas que nos delatan, el objetivo: eliminarlas.

Para empezar evitaremos acciones que puedan levantar sospechas en el ordenador remoto, como alta actividad de HDD, sonidos por el speaker ... (a menos que tengamos la absoluta certeza de que no hay nadie delante del otro ordenador) también evitaremos todas las acciones que tengan como resultado un log puesto que después será difícil borrarlos a menos que tengamos acceso a la cuenta root, por ejemplo hay que evitar realizar cualkier actividad como conexiones a otros PCs, montar unidades, provocar fallos en demonios ... puesto que en general quedará registrada la hora y la persona que la hizo.

Antes de salir deberemos asegurarnos de que hemos dejado todo como estaba, salvo lo que hemos venido a cambiar, claro. La mayoría de editores guardan copias de seguridad con el nombre archivo~, hay que eliminarlas.
Edita el archivo ~/.bash_history y elimina todos los comandos que tu has hecho, si tienes suficientes permisos edita el final del archivo /var/log/messages y elimina las lineas que delatan tu entrada.

Otra cosa que no debemos olvidar es que login informa de cual fue el ultimo acceso de ese usuario y por que consola, esto puede delatarnos.

Truco: Coloca un archivo que se llame .hushlogin y login dejara de informar del ultimo acceso. La utilidad de esto es dudosa porque nos pueden detectar por haber colocado ese archivo pero al menos nos cubrimos las espaldas, tu mismo.
 


 [ Linux Hack Zone ]
[ Zona de Seguridad ] [ Zona de guerra ] [ Zona de Espionaje ] [ Logística ]