23 abr 2011

Detectar y eliminar intrusos en GNU/Linux

Hola a todos, bueno, muchas veces, o no, depende, algun kiddie les habra dicho en freenode o algun lugar asi "ahora te kakeo", o quizá, tienen la sospecha de que alguien se conecto de forma no deseada... ó por ahí simplemente quieren ver y matar una conexion.
Paso a paso, primero que nada, me dirán, si, uso el 'w' o el 'who', y veo quien inicio sesion... si, pero no es taann asi, esos son los logueos, y si tenes una conexion remota de algun servicio que vino preinstalado a un nosequienestamirando?, como?, how to?.

En primera instancia, podés usar el comando 'ss', con la sentencia -a -e y ver a grandes razgos las cosas, ejemplo mio:

State Recv-Q Send-Q Local Addressort Peer Addressort
ESTAB 0 0 192.168.1.34:xxxxx 65.54.48.75:msnp
CLOSE-WAIT 1 0 192.168.1.34:xxxxx 140.90.128.70:http
ESTAB 0 0 192.168.1.34:xxxxx 209.222.11.54:http
ESTAB 0 0 192.168.1.34:xxxxx 65.54.61.202:msnp

Y vos me diras, si, ahi veo todo, y como lo cerras sin hacer uso de iptables?, ahi se ve, mi host local, y msn, y http que estoy bajando algo, por ahi empezas, pero si te digo que con la misma pavada de comando lo ves mas claro e incluso el PID ( numero de proceso ), lo cual podes matar?.

Haciendo uso del netstat.
Con la sentencia netstat -putall, podemos ver lo mismo, mas detallado.

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost:34885 sn1msg1010608.phx.gbl:msnp ESTABLISHED 4437/python
tcp 0 0 localhost:43741 sn1msg3030104.sn1.gate:msnp ESTABLISHED 4437/python
tcp 0 0 localhost:42310 209.222.11.54:http ESTABLISHED 2158/firefox
tcp 0 0 localhost:59568 sn1msg3030108.sn1.gate:msnp ESTABLISHED 4437/python

Bueno, donde dice localhost, en realidad va a aparecer el nombre de su host, jose, pepe.
Como ven, les dice el host remoto, el puerto, el estado, y quien lo usa, si sabes quien, lo podes matar.
Supongamos que yo tengo todo cerrado de python, y en vez de sn1msg3030108.sn1.gate:msnp me dice por ej:
201.250.82.190:rpc
Primero.
nslookup 201.250.82.190 a ver quien es, luego, que es el puerto?.... o si fuera ssh?.
Simple, sudo o como root, ponen:
kill -9 4437
Suponiendo que el PID de la conexion extraña fuera ese, y tanto la conexion como lo que este dejandola, sea una shell, sshd, apache, etc, va a morir con ella.

No hay comentarios:

Publicar un comentario

Dejá tu comentario