Sobreviviendo en la consola (Parte III)

linux_secTodos muchas veces nos hemos preguntado si nuestro equipo ha sido hackeado en algún momento (¿o soy yo el único que piensa eso?). Pues como siempre nuestro querido linux trae algunas herramientas de consola para ayudarnos a ver si esto ha podido suceder. Como el tema da para mucho, como siempre os doy unas pinceladas y os muestro alguna herramienta. Profundizar en ellas ya queda de vuestra mano.

Lo primero que se debe de mirar son los logs del sistema situados en /var/www. Estos nos pueden indicar si ha habido alguna actividad inusual en muchos servicios que podemos tener en nuestro ordenador. Si tenemos un servidor apache y salida directamente a internet podemos ver que nuestro log tendrá entradas de todo tipo intentando conseguir acceso (algo digno de ver la verdad). Otro detalle que es importante mirar es que no haya nuevos usuarios en el /etc/shadows que no deberían estar ahí.

Luego ya podemos pasar a mirar alguna otra cosilla, como por ejemplo ver si actualmente existe un usuario extraño conectado con el comando who, mirar los procesos del sistema con el comando ps y ver si hay alguno extraño, el comando lsof  o netstat para ver cuales son los procesos que tienen abiertos puertos a internet, incluso un nmap puede ayudarnos mucho en esta tarea. No creo que haya que decir que no estaría mal mirar si tenemos la tarjeta de red en modo promiscuo con ifconfig.

Algo muy típico es que si os han entrado hayan intentando dejar una puerta de acceso para volver a pillar privilegios otra vez, sin volver a hacer lo que sea que hayan hecho. Para ello es muy típico buscar ficheros con más permisos de la cuenta mediante el comando find, como el archiconocido «find / -user root -perm -4000 -print«. Si creemos que el atacante puede haber ido más lejos podemos mirar los módulos que tiene cargados el kernel, con un «ls -R /lib/modules/$(uname -r)» o buscando rootkits con el la herramienta chkrootkit.

Tampoco estaría de más si comprobais los /etc/hosts.allow y /etc/hosts.deny, para comprobar que no hay ninguna ip rara (normalmente no suelen contener nada). Estos dos fichero son consultados por utilidades como el rlogin para saber si pueden permitir hacer login remoto.

También estaría bien revisar la configuración del ssh, si es que tenéis este servicio en vuestro ordenador. Son muchas las opciones que pueden hacer que un usuario entre por un ssh legítimo pero mal configurado, por no decir que con solo añadir una en authorized_keys podría entrar en el sistema sin falta de contraseña.

Y por último no dejéis de mirar las tareas que hay en el cron de usuarios con muchos privilegios. Quizá no se esté ejecutando algo en todo momento pero cada cierto tiempo puede estar mandando vuestra información o ejecutando tareas de limpieza para no ser cazado.

Bueno, siento no haber sido muy especifico y me he dejado muchas cosas en el tintero, pero como siempre, espero haber despertado vuestra curiosidad y hacer que miréis un poco más este tema.

Iván Garcia
Acerca de
Consultor de Ciberseguridad en Grupo Oesía
Expertise: Model Checking, Mathematics, Malware