[Gentoo] Instalar Snort en gentoo

En esta ocasión les vengo a enseñar como instalar snort en nuestro sistema gentoo. Al intentarlo solamente con portage he tenido muchos problemas, ya que entraba en conflicto con las librerias glibc entre otras tantas.

Al final, pude realizar la instalación utilizando un ebuild externo, con lo que os mostraré los sencillos pasos.

Lo primero que tenemos que hacer es añadir el grupo snort y usuario snort a nuestros sistema:

groupadd snort

useradd -m -g snort -s /bin/bash snort

El overlay que necesitaba instalar era `snort-2.9.2.2-r9999` el cual estaba disponible en el repostirio llamado `pinkbyte`. Con lo que vamos a añadir este repositorio a layman para poder instalar paquetes de ese repositorio:

layman -a pinkbyte

 

Una vez añadido el repostirio a layman nos dispondremos a instalar snort, pero antes, necesitamos instalar `net-libs/daq-0.6.2`:

emerge =net-libs/daq-0.6.2-r1

Ahora ya estaremos en disposición de instalar snort:

emerge -a =net-analyzer/snort-2.9.2.2-r9999

 

 

Con estos sencillos pasos ya deberiamos tener snort funcionando en nuestro sistema.

Ahora, para ejecutarlo tenemos que pasarle algunos parámetros, como el lugar donde se encuentra la libreria daq y algunas cosas más:

snort -q -v -A console –daq-dir /usr/lib/daq

-q – Para eliminar gran parte de la salida por consola.

-v – verbose de los paquetes.

-A console – Para que muestre la información en la terminal

–daq-dir – Directorio donde se encuentra daq

 

Espero que les pueda ayudar estos sencillos pasos para realizar la instalación en sus equipos gentoo.

Share

Obtener subdominios de un dominio por diccionario

Hola.

En casos de una auditoria nos es muy útil poder descubrir los subdominios que cuelgan de un dominio. Esto se puede conseguir a traves de google o con distintas herramientas. Pero en esta ocasión vamos a realizar un script propio, sencillo, el cual a traves de un diccionario creado por nosotros mismos vamos a poder averiguar los subdominios que cuelgan de un dominio y sus respectivas direcciones IP, empecemos.

Como siempre lo único que necesitamos para realizar esta tarea es, un equipo y como no, nuestro sistema operativo favorito, LINUX.

  1.  Creación del fichero de diccionario para búsqueda de dominios: Lo llamaremos ‘palabras.txt’ y lo podemos crear con nano por ejemplo. Este seria su contenido:

estudiante
intranet
correo
email
mail
primario
secundario
backup
intranet
gerencia
administracion
seguridad
contabilidad
contable

tecnico

admin

sistemas

interior

exterior

2. Creación del script:

for i in $(cat palabras.txt);
do
host $i.DOMINIO.COM;
done

Tenemos que cambiar el contenido de DOMINIO.COM por el DOMINIO que queremos analizar.

 

De esta forma si corremos ese comando con el dominio: GOOGLE.com este seria el resultado:

Host estudiante.google.com not found: 3(NXDOMAIN)
Host intranet.google.com not found: 3(NXDOMAIN)
Host correo.google.com not found: 3(NXDOMAIN)
email.google.com is an alias for gmail.google.com.
gmail.google.com is an alias for www3.l.google.com.
www3.l.google.com has address 216.58.201.142
www3.l.google.com has IPv6 address 2a00:1450:4003:804::200e
mail.google.com is an alias for googlemail.l.google.com.
googlemail.l.google.com has address 216.58.201.133
googlemail.l.google.com has IPv6 address 2a00:1450:4003:804::2005
Host primario.google.com not found: 3(NXDOMAIN)
Host secundario.google.com not found: 3(NXDOMAIN)
Host backup.google.com not found: 3(NXDOMAIN)
Host intranet.google.com not found: 3(NXDOMAIN)
Host gerencia.google.com not found: 3(NXDOMAIN)
Host administracion.google.com not found: 3(NXDOMAIN)
Host seguridad.google.com not found: 3(NXDOMAIN)
Host contabilidad.google.com not found: 3(NXDOMAIN)
Host contable.google.com not found: 3(NXDOMAIN)
Host mx.google.com not found: 3(NXDOMAIN)
Host mx01.google.com not found: 3(NXDOMAIN)
Host mx02.google.com not found: 3(NXDOMAIN)

Como podemos ver ha encontrado el subdominio ‘mail’ y el subdominio ‘email’.

Este seria el objetivo. Adaptar las palabras claves para el dominio que necesitamos y con esto podemos obtener muy buena información. Ademas, podemos filtrar un poco más la salida para obviar los resultados que no han coincidido, lo podemos hacer con grep:

for i in $(cat palabras.txt); do host $i.google.com; done | grep has

Ahora, esta seria la salida:

www3.l.google.com has address 216.58.201.142
www3.l.google.com has IPv6 address 2a00:1450:4003:804::200e
googlemail.l.google.com has address 216.58.201.133
googlemail.l.google.com has IPv6 address 2a00:1450:4003:804::2005

Mucho más sencilla, ¿verdad?

 

 

Espero os pueda servir de utilidad.

Un saludo.

Share

Bloquear windows update con iptables

Son muchos los administradores de redes que quieren bloquear las actualizaciones de windows para todos los usuarios de su red.

En las últimas versiones de Windows , Windows 8 y Windows 10 las actualizaciones se descargan en segundo plano sin interacción ninguna con el usuario y muchas veces el usuario desconoce esto. Mientras se esta realizando esta descarga se esta consumiendo un gran ancho de banda. Existe un método rápido para bloquear las actualizaciones de windows 10 en cada máquina con windows 8 o windows 10:

Inicio -> services.msc -> Buscar servicio ‘Windows Update’ -> Detener servicio y Deshabilitar.

En este manual vamos a ir mas allá y lo que vamos a hacer es bloquear las actualizaciones de windows pero para TODA NUESTRA RED.

 

Para ello necesitamos:

  • Máquina linux como router
  • Dnmasq instalado
  • Una regla de iptables para redirigir las peticiones DNS hacia dnsmasq

 

Con dnsmasq instalado lo único que tenemos que hacer es editar su archivo de configuración en /etc/dnsmasq.conf y añadir lo siguiente:

 

address=/download.microsoft.com/127.0.0.1
address=/windowsupdate.microsoft.com/127.0.0.1
address=/windowsupdate.windows.com/127.0.0.1
address=/update.microsoft.com/127.0.0.1
address=/update.windows.com/127.0.0.1
address=/crl.microsoft.com/127.0.0.1
address=/office.microsoft.com/127.0.0.1
address=/download.windowsupdate.com/127.0.0.1
address=/wustat.microsoft.com/127.0.0.1
address=/wustat.windows.com/127.0.0.1

expand-hosts

Guardamos los cambios en el archivo dnsmasq.conf y pasamos al siguiente paso.

 

2. Redirigir las peticiones DNS de nuestra red hacia dnsmasq:

iptables -t nat -A PREROUTING -i <INTERFAZ_LAN> -p udp –dport 53 -j DNAT –to <IP_LINUX_ROUTER>:53

Si tenemos un firewall con politica por defecto DROP, tendriamos que dar acceso al trafico del puerto 53, en ambos sentidos. Trafico de ida y de vuelta. Lo podemos hacer con las siguientes sencillas reglas iptables:

iptables -t filter -A INPUT -p tcp –dport 53 -j ACCEPT

iptables -t filter -A OUTPUT -p tcp –sport 53 -j ACCEPT

iptables -t filter -A OUTPUT -p udp –dport 53 -j ACCEPT

iptables -t filter -A OUTPUT -p udp –sport 53 -j ACCEPT

 

3. Reiniciar el servicio dnsmasq..

Ahora solo nos queda reiniciar el servidor dnsmasq y nuestro pequeño truco empezará a funcionar:

/etc/init.d/dnmasq restart

A partir de ahora, ninguna máquina en nuestra red con windows 8 o windows 10 podrá realizar una actualización y conseguiremos ahorrar un monton de ancho de banda que estas actualizaciones generan.

 

Share

Monitorizar una IP o tu conexión a internet. Script BASH

¿Alguna vez has querido monitorizar tu conexión a internet para detectar si cae o tiene perdida de paquetes, o monitorizar quizás un servidor en internet?

En esta ocasión os traigo un pequeño script bash para realizar esto. El script comprobará si existen perdida de paquetes a una IP en concreto y lo reflejará en el log del sistema, ademas, aprovecharemos y guardaremos la caída en un archivo llamado log_fails.txt.

El tema del aviso tambien se puede configurar para que os envie un SMS a cualquier móvil, un mail… un sin fin de posibilidades.

El script en cuestión seria este:


#!/bin/bash
SITIO1=8.8.8.8 # DNS de Google principal
SITIO2=8.8.4.4 # DNS de Google secundario

while true
do
ping -c8 ${SITIO1} >/dev/null 2>/dev/null

respuesta1=$? #Guardamos estado de stderr

if [ $respuesta1 -eq 1 ];
then
sleep 10 # Esperamos 10 segundos para realizar una 2º prueba
ping -c3 ${SITIO2} >/dev/null 2>/dev/null
respuesta2=$?
if [ $respuesta2 -eq 1 ];
then
logger SERVIDOR CAIDO. HORA: $(date)
echo "SERVIDOR CAIDO. HORA: $(date)" >> log_fails.txt
fi
fi
sleep 10 # Esperamos 10 segundos para volver a comprobar desde el inicio
done

Guardamos este archivo con el nombre check.sh por ejemplo….

Le damos permisos de ejecución y ejecutamos con &exit para que quede en proceso de 2º plano:


chmod +x check.sh
sh check.sh &exit

Como podeis observar registramos la caída con el comando logger. Esto simplemente añade una linea con el texto «SERVIDOR CAIDO. HORA: » en /var/log/messages…

Esta pequeña receta con pocas lineas, nos servirá de mucho si queremos monitorizar nuestra conexión a internet o cualquier otra IP de nuestra red o de internet.

Si lo que quereis es monitorizar es solamente una IP, tendreis que fijar en las variables ‘SITIO1’ y ‘SITIO2’ la misma IP.

Espero os sirva de ayuda.
Un saludo.

Share

Clonar paquetes hacia otra máquina con iptables

Con la extensión ‘TEE’ de iptables podemos clonar un paquete dirigido hacia otra máquina a la nuestra.

Si quisieramos clonar el trafico de entrada del host 192.168.1.5 y mandarlo a nuestra maquina (192.168.1.100):


iptables -t mangle -A PREROUTING -d 192.168.1.15 -j TEE --gateway 192.168.1.100

Si buscamos hacer lo mismo con el trafico de salida del host 192.168.1.5 y mandarlo a nuestra maquina (192.168.1.100):


iptables -t mangle -A PREROUTING -s 192.168.1.15 -j TEE --gateway 192.168.1.100

Fuentes:

http://ipset.netfilter.org/iptables-extensions.man.html

http://superuser.com/questions/853077/iptables-duplicate-traffic-to-another-ip

Share

Tormenta broadcast NETGEAR ONO

Hola de nuevo a todo el mundo!

Despues de mucho tiempo offline volvemos a mostrarnos al mundo. Esta vez vengo a plasmar una experiencia personal con los famosos router netgear que entrega ONO.

Por cuestiones tecnicas del escenario que nos encontrábamos, el router de ONO debía estar configurado en modo NAT, es decir, en el mismo router, una ip publica y otra privada para nuestra LAN.

La máquina con Gentoo conectada a un puerto ethernet del router NETGEAR, seria algo así:


ROUTER ONO -----> 84.128.X.X. -- PUBLICA
192.168.1.1 -- PRIVADA


MAQUINA GENTOO -------> IP WAN 192.168.1.2
-------> IP LAN 192.168.10.1

Una vez realizado lo anterior. ¡Nos pusimos a probar nuestra instalación!
Todo funcionaba de maravilla hasta pasar 15 o 20 minutos. Poco a poco la velocidad a Internet caía, casi no podia abrir simples paginas web..

Con lo que, despues de horas y horas de pruebas y no encontrar una solución, puse a funcionar ‘tcpdump’ en la tarjeta de red donde estaba conectado el router NETGEAR.

Y esto fué lo que me encontré (lineas y lineas de lo que pego a continuación):


ARP Who has 192.168.1.2 Tell 192.168.1.1
ARP Who has 192.168.1.3 Tell 192.168.1.1
ARP Who has 192.168.1.4 Tell 192.168.1.1
ARP Who has 192.168.1.5 Tell 192.168.1.1
ARP Who has 192.168.1.6 Tell 192.168.1.1
ARP Who has 192.168.1.7 Tell 192.168.1.1
ARP Who has 192.168.1.8 Tell 192.168.1.1
ARP Who has 192.168.1.9 Tell 192.168.1.1
ARP Who has 192.168.1.10 Tell 192.168.1.1
ARP Who has 192.168.1.11 Tell 192.168.1.1
ARP Who has 192.168.1.12 Tell 192.168.1.1
ARP Who has 192.168.1.13 Tell 192.168.1.1
ARP Who has 192.168.1.14 Tell 192.168.1.1
ARP Who has 192.168.1.15 Tell 192.168.1.1
ARP Who has 192.168.1.16 Tell 192.168.1.1
ARP Who has 192.168.1.17 Tell 192.168.1.1
ARP Who has 192.168.1.18 Tell 192.168.1.1
ARP Who has 192.168.1.19 Tell 192.168.1.1
ARP Who has 192.168.1.20 Tell 192.168.1.1
ARP Who has 192.168.1.21 Tell 192.168.1.1
ARP Who has 192.168.1.22 Tell 192.168.1.1
.........

Esto, lo emitia el router de ONO cada 2 o 3 segundos. Estaba provocando una tormenta broadcast impresionante. Parecia que el router estaba intentando ponerse en contacto con equipos que no existian en la red, desde 192.168.1.2 hasta 192.168.1.254.

No conozco el porque de esto, supongo que será algun defecto del router.

¿LA SOLUCIÓN?

Bastaria con configurar el NETGEAR en modo bridge. O si necesitamos si o si una ip local, configurariamos el NETGEAR en modo bridge y lo conectariamos a un router, y este a la máquina Linux configurada para manejar el trafico.

INSISTO. En la instalación que estaba realizando era ESTRICTAMENTE NECESARIO trabajar con el router del proveedor en modo NAT. Si no hubiera sido así podria haber configurado en modo bridge el router y problema solucionado.

Espero que esta entrada le sirva a alguien de ayuda ya que yo estuve pegando cabezazos hasta que encontré el por que y una solución.

Share

Network Address Translation. Tipos de NAT.

Hola a todos.  Esta vez voy a escribir un pequeño texto que estoy seguro, les servirá de utilidad. Lo voy a hacer a modo de apunte personal, pero como he dicho, seguro que les servirá a más de uno.. Empecemos…

 

1. ¿Que es NAT? ¿Y que hace exactamente?

Las siglas NAT significa Network Address Translation y fué creado para «ahorrar» direcciones IPv4 gracias al gran auge de internet. Si no hubiera sido por NAT la migración a IPv6 ya haría muchisimo tiempo que se habría completado.

Realiza la traducción para que los equipos internos de una red local puedan comunicarse con el mundo exterior.

 

 

Veamos un ejemplo:

Hemos contratado una linea ADSL, el proveedor nos a facilitado un router el cual tiene 4 bocas LAN para conectar 4 ordenadores en casa.

El router en este caso tendria 2 direcciónes IP: 99.99.99.99 (la publica) y 192.168.1.1 (la privada).

Los ordenadores conectados al router también tendrían direcciones ips privadas..

(A – 192.168.1.2), (B- 192.168.1.3), (C – 192.168.1.4), y (D – 192.168.1.5).

 

 

Lógicamente las direcciones privadas de los ordenadores conectados a ese router no son alcanzables desde internet ni ellos tampoco pueden acceder al mundo exterior. (por ahora…jeje)

Pero el caso… es que, cuando tenemos este escenario tan tipico, los pc’s internos de nuestra casa conectados al router, si pueden entrar a internet perfectamente….¿Que pasó? ¿¿¿¿ como es que funciona???  He ahí la magia de NAT.

Lo que hace en este caso es, cuando desde el pc A (192.168.1.2) se intenta conectar con un destino remoto de internet (22.22.22.22)…

El paquete es dirigido desde el pc A al router:

PC 192.168.1.2 —————> Router 192.168.1.1

– El router comprueba que la dirección IP con la que se desea establecer la conexión es de Internet, con lo que, convierte mediante un mecanimo (más adelante veremos los distintos tipos) la IP Privada del pc A 192.168.1.2 en la IP Externa 99.99.99.99.

– El router una vez hecha la traducción envía la petición al equipo de Internet (22.22.22.22) apareciendo ahora el router (99.99.99.99) como remitente de la conexión.

– Dicha conversión se guarda en una tabla internamente en el equipo enrutador.

– El equipo remoto (22.22.22.22) recibe la petición y contesta al remitente de la conexión (aparece como remitente 99.99.99.99)

– El router (que es el que contiene la ip 99.99.99.99) recibe la contestación del equipo de Internet (22.22.22.22). Ahora el router verifica los registros de la tabla NAT. Se realiza internamente la siguiente pregunta:

¿Que equipos conectados a mi quisieron contactar con 22.22.22.22? Y ahí esta en la tabla de NAT. El equipo 192.168.1.2 fué el que origino la conexión.

– El router envia desde su ip interna (192.168.1.1) la contestación del equipo remoto (22.22.22.22) al pc interno (192.168.1.2)

 

Para dicha conversión NAT juega con los puertos TCP y UDP. Depende del tipo de NAT, elije de una forma u otra la asignación de dichos puertos.

 

2. Tipos de NAT

Como he dicho anteriormente. NAT realiza asignaciones de de puerto origen/puerto destino para poder realizar esas conversiones. No siempre se realiza de la misma forma y esto depende del tipo de NAT que contenga el equipo enrutador.

 

Full cone:  Se fijan un único par  Ip puerto interno / Ip puerto router. Esta establecido desde el principio no hace falta que el cliente inicie una petición de conexión. Por ejemplo: Ya estaría establecido que el pc con IP 192.168.1.2 y puerto 80 sale por la IP 99.99.99.99 y puerto 2211.  Si el equipo de internet 22.22.22.22 envia un paquete a la IP 99.99.99.99 y puerto 2211, este paquete será reenviado automáticamente al pc interno 192.168.1.2.

No entiende de control de sesiones. Es bastante inseguro. Este tipo de NAT ya casi a desaparecido.

 

Restricted cone NAT: Conocida como NAT estricta. Se establece la IP y Puerto publico solamente cuando el cliente inicia un inicio de conexión a una máquina remota. El enrutador guarda la dirección ip de destino y solo atenderá tráfico de respuesta de esa dirección. Con este tipo de NAT un equipo remoto no podrá «responder» a una petición si primero no a realizado el inicio de conexión.

Este tipo de NAT es muy utilizado por los administradoes con Netfilter/Iptables y se basa en, aceptar conexiones pertenecientes a  una sesión (conexión) ya establecida. (RELATED en iptables). Máxima seguridad.

 

Port Restrited Cone NAT: Lo mismo que Restricted cone NAT pero añade un dato más a la asociación, el puerto. Si el destino quiere contestar al remitente y no envia su numero de puerto la información no llegará al cliente.

 

Symetric NAT:  Para cada petición de cada máquina remota se asocia un numero de puerto. Puertos aleatorios. Si el destino quisiera responder al remitente deberá saber el puerto que se le asigno para su sesión, si no, no podrá hacerlo.

 

 

Espero que lo hayan comprendido correctamente he intentado explicar cada concepto y cada escenario de la manera más amena posible.

 

Un saludo y muchas gracias por visitar este blog.

Hasta la próxima!

PD: Debo añadir, que actualmente los enrutadores comerciales, mezclan varios tipos de NAT y no se basan estrictamente en uno de los aquí listados, esto es solamente, para que sepan como trabaja por lo general NAT.

 

Share

Intento Hack Asterisk. Fuerza Bruta contra Asterisk

Hoy me encontraba navegando tranquilamente y monitorizando todos los servidores propios, cuando de repente en la consola de asterisk me aparece lo siguiente:

[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5465″<sip:5465@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5466″<sip:5466@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5467″<sip:5467@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5468″<sip:5468@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»44114411″<sip:44114411@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5469″<sip:5469@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5470″<sip:5470@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»44124412″<sip:44124412@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5471″<sip:5471@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5472″<sip:5472@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5473″<sip:5473@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»44134413″<sip:44134413@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5474″<sip:5474@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5475″<sip:5475@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5476″<sip:5476@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»44144414″<sip:44144414@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5477″<sip:5477@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5478″<sip:5478@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5479″<sip:5479@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5480″<sip:5480@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5481″<sip:5481@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5482″<sip:5482@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5483″<sip:5483@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5484″<sip:5484@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5485″<sip:5485@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5486″<sip:5486@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5487″<sip:5487@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5488″<sip:5488@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5489″<sip:5489@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5490″<sip:5490@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5491″<sip:5491@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5492″<sip:5492@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5493″<sip:5493@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5494″<sip:5494@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found
[Feb 26 00:54:13] NOTICE[8658]: chan_sip.c:21821 handle_request_register: Registration from ‘»5495″<sip:5495@81.56.122.35>’ failed for ‘139.153.12.78’ – No matching peer found

Es obvio que estan atacando a nuestro asterisk con un ataque Brute Force (Fuerza bruta).
Seguro que no es ningúna persona fisica si no cualquier máquina comprometida con software instalado para tal fin
(Encontrar máquinas con asterisk y realizár ataques de fuerza bruta).
Con la cual pueden intentar millones de combinaciones para autentificarse en nuestro Asterisk.

La ip que generaba esto era la: 139.153.12.78 y según he podido averiguar es de una universidad de UK la cual tiene asignado un rango de ips que es el siguiente:

139.153.0.0/16

La solución fué sencilla, para este tema, Iptables como no 😛

iptables -t filter -A INPUT -s 139.153.0.0/16 -j DROP

Todo el tráfico que venga de ese rango, lo dropeará.

Ya he informado a la gente que administra dicha red y se han puesto manos a la obra para solventar el problema.

Saludos.

Share

Tormentas Broadcast (ARP Storm). Descubriendo el pc infectado

Hola.

En este articulo les enseñaré como descubrir el dispositivo que tantas peticiones  broadcast esta generando y tanto dolor de cabeza nos esta creando.

No vamos a utilizar ningún software milagroso ni nada excepciónal, nos valdremos de nuestro entorno bash, tcpdump y algo de ingenio con bash scripting…..

1 – Nuestro primer objetivo es ver el tráfico arp de nuestra red con tcpdump…
Sigue leyendo

Share