Herramientas de usuario

Herramientas del sitio


sad:ubuntu:p14

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
sad:ubuntu:p14 [2018/01/13 23:05]
José Manuel Guallar creado
sad:ubuntu:p14 [2019/01/04 13:18] (actual)
Línea 1: Línea 1:
-¿Qué es PortSentry?+**¿Qué es PortSentry?**
  
 PortSentry es parte del conjunto de herramientas de seguridad del Proyecto Abacus. Es un programa diseñado para detectar y responder escaneos de puertos contra un host objetivo en tiempo real. PortSentry es parte del conjunto de herramientas de seguridad del Proyecto Abacus. Es un programa diseñado para detectar y responder escaneos de puertos contra un host objetivo en tiempo real.
Línea 7: Línea 7:
 PortSentry informará todas las violaciones a los demonios syslog locales o remotos que indiquen el nombre del sistema, la hora de ataque, la IP del host atacante y el puerto TCP o UDP en el que se realizó un intento de conexión. Una vez que se detecta un escaneo, su sistema se convertirá en un agujero negro y desaparecerá del atacante. PortSentry informará todas las violaciones a los demonios syslog locales o remotos que indiquen el nombre del sistema, la hora de ataque, la IP del host atacante y el puerto TCP o UDP en el que se realizó un intento de conexión. Una vez que se detecta un escaneo, su sistema se convertirá en un agujero negro y desaparecerá del atacante.
  
-  +** Requisito previo**
-Requisito previo+
  
-    ​Instalación de Ubuntu Desktop 12.04 LTS +Instalación de Ubuntu Desktop 12.04 LTS 
-    Instalación de BackTrack 5 R1+Instalación de BackTrack 5 R1
  
 +**Notas de la practica**
  
-Notas de la practica +  * En esta practica veremos cómo hacer lo siguiente:
- +
-    ​En esta practica veremos cómo hacer lo siguiente:+
   * Instalaremos PortSentry en Ubuntu.   * Instalaremos PortSentry en Ubuntu.
   * Probamos NMAP en un PortSentry no configurado   * Probamos NMAP en un PortSentry no configurado
Línea 22: Línea 20:
   * Probaremos NMAP en un PortSentry configurado   * Probaremos NMAP en un PortSentry configurado
   * Le mostraremos cómo desbloquear un atacante.   * Le mostraremos cómo desbloquear un atacante.
 +
 +**Verificamos que tenemos conexión**
 +
 +<code bash>
 +root@ubuntu12:/#​ ifconfig -a
 +</​code>​
 +
 +Si no tenemos conexion
 +
 +<code bash>
 +root@ubuntu12:/#​ dhclient -v
 +root@ubuntu12:/#​ /​etc/​init.d/​networking restart
 +</​code>​
 +
 +====== Actualización del indice de paquetes ======
 +
 +<code bash>
 +root@ubuntu12:/#​ apt-get update
 +</​code>​
 +
 +Buscamos denyhosts
 +
 +<code bash>
 +root@ubuntu12:/#​ apt-cache search portsentry
 +</​code>​
 +
 +Instalamos los paquetes necesarios
 +
 +<code bash>
 +root@ubuntu12:/#​ apt-get install portsentry ​
 +</​code>​
 +
 +{{:​sad:​ubuntu:​p14:​01.png?​500|}}
 +
 +Verificamos que se está ejecutando \\
 +<code bash>
 +root@ubuntu12:/#​ ps -eaf | grep -v grep | grep portsentry
 +</​code>​
 +
 +**ps -eaf**, muestra todos los procesos.\\
 +**grep -v grep**, filtra el proceso grep. \\
 +**grep denyhosts**,​ muestra solo el proceso portsentry. \\
 +
 +**ver los ficheros de configuracion**
 +
 +<code bash>
 +root@ubuntu12:/​etc/​init.d#​ ls -l /​etc/​portsentry/​
 +</​code>​
 +
 +observamos 3 ficheros
 +**portsentry.conf ** que es el fichero de configuración \\
 +**portsentry.ignore** es el fichero donde añadimos las ips que PortSentry ignora si es escaneado \\
 +**portsentry-ogmpre-statcc** es el script para empezar el demonio \\
 +
 +{{:​sad:​ubuntu:​p14:​02.png?​500|}}
 +
 +Para ver los mensajes de PortSentry en **/​grep/​log/​syslog**
 +
 +<code bash>
 +root@ubuntu12:/​etc/​init.d#​ grep portsentry /​var/​log/​syslog
 +</​code>​
 +
 +Nos indica que está instalado y está monitoreando varios puertos tanto TCP como UDP
 +
 +{{:​sad:​ubuntu:​p14:​03.png?​500|}}
 +
 +**Observamos si el script de portsentry se encuenta en init.d**
 +<code bash>
 +root@ubuntu12:/​etc#​ ls -l /​etc/​init.d/​portsentry
 +root@ubuntu12:/​etc#​ find /​etc/​rc*.d/​* -print | xargs ls -l | grep portsentry
 +</​code>​
 +
 +**Nivel de ejecución**
 +Identifica las secuencias de comandos de inicio y finalización para denyhosts \\
 +Identifica el nivel de ejecución actual.\\
 +0 System Halt \\
 +1 usuario individual \\
 +2 Modo multiusuario completo (predeterminado) \\
 +3-5 Igual que 2 \\
 +6 Reinicio del sistema \\
 +
 +====== Detenemos el servicio y volvemos a arrancarlo con /​etc/​init.d/​portsentry ======
 +<code bash>
 +root@ubuntu12:/​etc#​ cd /etc/init.d
 +root@ubuntu12:/​etc/​init.d#​ ./​portsentry stop
 +root@ubuntu12:/​etc/​init.d#​ ps -eaf | grep -v grep | grep portsentry
 +</​code>​
 +No devuelve nada, el servicio está parado
 +<code bash>
 +root@ubuntu12:/​etc/​init.d#​ ./​portsentry start
 +root@ubuntu12:/​etc/​init.d#​ ps -eaf | grep -v grep | grep portsentry
 +</​code>​
 +Ahora nos devuelve 1 linea porque el servicio está ejecutandose
 +
 +====== Parar e iniciar el servico squid3 con el comando "​service"​ ======
 +
 +<code bash>
 +root@ubuntu12:/​etc/​init.d#​ service portsentry status
 +</​code>​
 +Nos muestra el numero de proceso o PID, en mis caso es  3386.
 +<code bash>
 +root@ubuntu12:/​etc/​init.d#​ ps -eaf | grep -v grep | grep 3386
 +</​code>​
 +Tienes que reemplazar el PID por el tuyo
 +<code bash>
 +root@ubuntu12:/​etc/​init.d#​ service portsentry stop
 +</​code>​
 +este comando parara el demonio
 +<code bash>
 +root@ubuntu12:/​etc/​init.d#​ ps -eaf | grep -v grep | grep portsentrys
 +</​code>​
 +No muestra nada porque el proceso está detenido
 +<code bash>
 +root@ubuntu12:/​etc/​init.d#​ service portsentry start
 +</​code>​
 +Iniciamos el servicio
 +<code bash>
 +root@ubuntu12:/​etc/​init.d#​ ps -eaf | grep -v grep | grep portsentry
 +</​code>​
 +
 +
 +Abrimos el BackTrack y corremos un nmap con portsentry sin configurar
 +
 +<code bash>
 +root@bt:~# nmap -p 1-65535 -T4 -A -v -PE -PS22,25,80 -PA21,23,80 192.168.153.47
 +</​code>​
 +{{:​sad:​ubuntu:​p14:​04.png?​500|}}
 +
 +hacemos un ping
 +<code bash>
 +root@bt:~# ping -c 5 192.168.153.47
 +</​code>​
 +Y observamos la respuesta
 +
 +Volvemos al Ubuntu y observamos que se ha registrado alguna acción
 +
 +<code bash>
 +root@ubuntu12:/#​ grep "​attackalert"​ /​var/​log/​syslog
 +</​code>​
 +
 +{{:​sad:​ubuntu:​p14:​05.png?​500|}}
 +
 +Ha detectado el BackTrack, ahora vamos a configurar el PortSentry en el Ubuntu
 +
 +<code bash>
 +root@ubuntu12:/#​ grep -n "​BLOCK_UDP="​ /​etc/​portsentry/​portsentry.conf
 +</​code>​
 +En mi cado da la linea 135, abro con la sentencia nano
 +<code bash>
 +root@ubuntu12:/#​ nano +135 /​etc/​portsentry/​portsentry.conf
 +</​code>​
 +y cambio los valores de BLOCK_UDP Y BLOCK_TCP de 0 a 1
 +
 +{{:​sad:​ubuntu:​p14:​07.png?​500|}}
 +
 +Guardo los cambios y reinicio el servicio
 +<code bash>
 +root@ubuntu12:/#​ service portsentry stop
 +root@ubuntu12:/#​ service portsentry start
 +</​code>​
 +{{:​sad:​ubuntu:​p14:​08.png?​500|}}
 +
 +Vuelvo al BackTrack y ejecuto el nmap
 +<code bash>
 +root@bt:~# nmap -p 1-65535 -T4 -A -v -PE -PS22,25,80 -PA21,23,80 192.168.153.47
 +</​code>​
 +{{:​sad:​ubuntu:​p14:​09.png?​500|}}
 +
 +Hacemos un ping
 +<code bash>
 +root@bt:~# ping -c 5 192.168.153.47
 +</​code>​
 +Hacemos un telnet ssh
 +<code bash>
 +root@bt:~# telnet 192.168.153.47 22
 +</​code>​
 +Intentamos ver el puerto 80
 +<code bash>
 +root@bt:~# telnet 192.168.153.47 80
 +</​code>​
 +Todo inaccesible,​ nos ha bloqueado 8-)
 +
 +{{:​sad:​ubuntu:​p14:​10.png?​500|}}
 +
 +Ahora volvemos al ubuntu y vamos a estudiar los resultados
 +<code bash>
 +root@ubuntu12:/#​ grep -n DENY /​etc/​hosts.deny
 +</​code>​
 +Ahora vamos a ver el fichero que contien las ips bloqueadas por escaneo
 +<code bash>
 +root@ubuntu12:/#​ grep -n Blocked /​var/​lib/​portsentry/​portsentry.blocked.tcp
 +</​code>​
 +Para ver las ips bloqueadas por puerto tcp 
 +<code bash>
 +root@ubuntu12:/#​ grep -n Blocked /​var/​lib/​portsentry/​portsentry.history
 +</​code>​
 +Para ver las ips bloqueadas por puerto tcp y udp
 +<code bash>
 +root@ubuntu12:/#​ grep -n Blocked /​var/​lib/​portsentry/​portsentry.blocked.udp
 +</​code>​
 +Para ver las ips bloqueadas por puerto udp
 +<code bash>
 +root@ubuntu12:/#​ netstat -rn | grep "​192.168.153.43"​
 +</​code>​
 +{{:​sad:​ubuntu:​p14:​11.png?​500|}}
 +**
 +Para desploquear el BackTrack** tenemos que quitarlo del fichero hosts.deny
 +
 +<code bash>
 +root@ubuntu12:/#​ service portsentry stop
 +root@ubuntu12:/#​ cd /etc/
 +root@ubuntu12:/​etc#​ grep -v "​192.168.153.43"​ hosts.deny > hosts.deny.new
 +root@ubuntu12:/​etc#​ grep "​192.168.153.43"​ hosts.deny.new | wc -l
 +root@ubuntu12:/​etc#​ mv hosts.deny hosts.deny.old
 +root@ubuntu12:/​etc#​ mv hosts.deny.new hosts.deny
 +</​code>​
 +{{:​sad:​ubuntu:​p14:​12.png?​500|}}
 +
 +**Para borrar el historial**
 +<code bash>
 +root@ubuntu12:/​var/​lib/​portsentry#​ grep -v "​192.168.153.43"​ portsentry.history > portsentry.history.new
 +root@ubuntu12:/​var/​lib/​portsentry# ​
 +root@ubuntu12:/​var/​lib/​portsentry#​ grep "​192.168.153.43"​ portsentry.history.new | wc -l
 +root@ubuntu12:/​var/​lib/​portsentry#​ mv portsentry.history.new portsentry.history
 +</​code>​
 +
 +{{:​sad:​ubuntu:​p14:​13.png?​500|}}
 +
 +**Para borrar el tcp**
 +
 +<code bash>
 +root@ubuntu12:/​var/​lib/​portsentry#​ grep -v "​192.168.153.43"​ portsentry.blocked.tcp > portsentry.blocked.tcp.new
 +root@ubuntu12:/​var/​lib/​portsentry#​ grep "​192.168.153.43"​ portsentry.blocked.tcp.new | wc -l
 +root@ubuntu12:/​var/​lib/​portsentry#​ mv portsentry.blocked.tcp.new portsentry.blocked.tcp
 +</​code>​
 +
 +{{:​sad:​ubuntu:​p14:​14.png?​500|}}
 +
 +**Para eliminar la ruta de rechazo**
 +
 +<code bash>
 +root@ubuntu12:/​var/​lib/​portsentry#​ netstat -rn
 +root@ubuntu12:/​var/​lib/​portsentry#​ route del -host 192.168.153.43 reject
 +root@ubuntu12:/​var/​lib/​portsentry#​ netstat -rn
 +</​code>​
 +
 +{{:​sad:​ubuntu:​p14:​15.png?​500|}}
 +
 +Volvemos a iniciar el servicio y hacemos un ping desde el Backtrack
 +
 +{{:​sad:​ubuntu:​p14:​16.png?​500|}}
 +
 +Ya nos vuelve a aceptar ​ LOL
 +
 +''​** Print de pantalla que hay que entregar desde el Ubuntu**''​
 +
 +
 +<code bash>
 +root@ubuntu12:/​var/​lib/​portsentry#​ cd /var/log
 +root@ubuntu12:/​var/​log#​ grep portsentry syslog | awk '​{print $6}' | sort | uniq -c
 +root@ubuntu12:/​var/​log#​ date
 +root@ubuntu12:/​var/​log#​ echo "tu nombre"​
 +</​code>​
sad/ubuntu/p14.1515884739.txt.gz · Última modificación: 2019/01/04 13:18 (editor externo)