elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad (Moderador: r32)
| | |-+  Snort: Detección de intrúsos y ataques
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Snort: Detección de intrúsos y ataques  (Leído 14,954 veces)
MurdeR^^

Desconectado Desconectado

Mensajes: 54



Ver Perfil
Snort: Detección de intrúsos y ataques
« en: 24 Septiembre 2007, 09:16 am »

Snort: Detección de intrúsos y ataques  //  By MurdeR ( http://www.thefreeks.com.ar , x3m_murder@hotmail.com )

#######################
Instalación de Snort+ ACID:
#######################

Instalaremos Snort, utilizando una base de datos mysql y apache para el ACID (para ver estadísticas en vivo).

Paso 1: Bajar todos los paquetes;

- snort-x.x.x.tar.gz
- acid-x.x.x
- adodb-x.x-for-php
- jpgraph-x.x
- mysql-x.x.x
- apache-1.3.x
- php-4.x

(recomiendo apache 1.3 y php 4 ya que algunas características cambian en diferentes versiones)


Paso 2:

Descomprimir y compilar snort;

root@murder # tar -zxvf snort.tar.gz
root@murder # cd snort
root@murder # ./configure --sysconfdir=/etc --prefix=/usr --with-mysql=/usr && nice -19 make
root@murder # make install
y creamos un directorio para los logs:
root@murder # mkdir /var/log/snort

Paso 3:

Instalar mysql, apache y php;

http://www.diosdelared.com/foro/index.php?topic=636.0

Paso 4:

Crear tablas y configurar usuario en mysql;

root@murder # mysql -u root -p

Desde aca en mysql...

Creamos la db:

$ CREATE DATABASE snort

Le ponemos clave:

$ grant all on snort.* to root@localhost identified by "password"

$exit

Salimos de mysql.. volvemos a la consola;

root@murder # mysql -u root -ptu_contraseña < /usr/src/snort-x.x.x/schemas/create_mysql snort

Paso 5:

Configuramos Snort;

root@murder # mkdir /etc/snort; mkdir /etc/snort/rules
root@murder # cd /usr/src/snort-2.3.3/
root@murder # cp etc/* /etc/snort
root@murder # cd rules
root@murder # cp * /etc/snort/rules

Editamos el conf file;

root@murder # gedit /etc/snort/snort.conf

usando control f (buscar) buscamos la linea que pone RULE_PATH y la sustituimos por:

var RULE_PATH /etc/snort/rules

y localizamos la que pone "output database" y la sustituimos por:

output database: log, mysql, user=root password=tu_contraseña dbname=snort host=localhost

Guardar y cerrar gedit (o vim o lo que sea)

Paso 6:

Instalando ACID;

root@murder # tar zxvf acid-x.x.x.tar.gz

Lo movemos a htdocs (o donde pitos este el home de apache..)

root@murder # mv ./acid /var/www/htdocs/

Descomprimimos tambien jpgraph (para las imagenes) y adodb y los movemos:

root@murder # tar zxvf jpgraph-x.x.tar.gz
root@murder # mv ./jpgraph-x.x /var/www/htdocs/acid/jpgraph
root@murder # tar zxvf adodbxxx.tgz
root@murder # mv ./adodb/var/www/htdocs/acid/adodb

Editamos el conf file de acid:

root@murder # gedit /var/www/htdocs/acid/acid_conf.php

Localizamos y modificamos la linea que pone: $Dblib_path

$DBlib_path = "/var/www/htdocs/acid/adodb";

Y modificamos las alertas (control f, $alert ;), deben quedar así:

$alert_dbname = "snort";
$alert_host = "localhost";
$alert_port = "";
$alert_user = "root";
$alert_password = "tu_contraseña";
$ChartLib_path = "/var/www/htdocs/acid/jpgraph/src";

Ahora creamos el siguiente archivo:
root@murder # gedit /var/www/htdocs/acid/.htaccess

(Esta en blanco..) y ponemos lo siguiente:

AuthName ?Acid Access?
AuthType Basic
AuthUserFile /var/www/htdocs/acid/htpasswd.users
require valid-user

Guardar, salir y listo.


Paso (ya me perdi xD) ah si, 7:

Editamos el access de apache;

root@murder # gedit /etc/apache/access.conf

y agregamos:

<Directory /var/www/htdocs/acid/>
AllowOverride AuthConfig
order allow,deny
allow from all
Options ExecCGI
</Directory>

al final o donde quieran... guardar, salir

ahora editamos httpd.conf:

root@murder # gedit /etc/apache/httpd.conf

y modificamos el user  y group por:

User web

Group web

guardar, salir..

Para terminar, reiniciamos apache:

root@murder # apachectl restart

o si no esta arrancado:

root@murder # apachectl start

Paso final de la instalacion (8...):

Activamos el snort:

root@murder # snort -devyq -c /etc/snort/snort.conf -l /var/log/snort/ -D

y lo añadimos a rc.local (script bash de arranque-.-) para que arranque cada vez que se reinicia:

root@murder # echo snort -devyq -c /etc/snort/snort.conf -l /var/log/snort/ -D >> /etc/rc.d/rc.local

Para ver las estadisticas en el acid pongan en el navegador:

http://localhost/acid

y voilá.



#######################
Usando snort a mano:
#######################

Es muy sencillo e intuitivo, ponemos el snort a snifar el trafico de la interfaz deseada, en este caso eth0:

murder@murder $ snort -c /var/log/snort -i eth0

Listo, esto registrará todas las alertas de ataques, scaneos, etc. en los logs. Para verlo no hay mas que

murder@murder $ cd /var/log/snort
murder@murder $  ls
 y obtendran un resultado como este:

192.168.0.2/   200.129.x.x/ alert


###################
Configuracion avanzada:
###################

Snort se basa en reglas para detectar los intentos de ataques, estas reglas se pueden crear manualmente (un rollazo) o descargar y cargar de la siguiente manera:

root@murder # wget http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_os/snortrules-snapshot-CURRENT.tar.gz

Creamos un dir para las reglas:

root@murder # mkdir /etc/snort/rules

Descomprimimos:

root@murder # tar -zxvf snortrules-snapshot-CURRENT.tar.gz

Movemos al directorio recien creado:

root@murder # cp * /etc/snort/rules

root@murder # cd /etc/snort
root@murder # gedit snort.conf

y lo modificamos de la siguiente forma:

#######################################

var HOME_NET 192.168.126.0/24
        var EXTERNAL_NET !$HOME_NET
        var RULE_PATH /etc/snort/rules

--------include classification.config --> include
$RULE_PATH/../classification.config
--------include reference.config --> include $RULE_PATH/../reference.config

######################### end  #############################

Y despues de la linea preprocessor stream4_reassemble agregar lo siguiente:

###

preprocessor stream4_reassemble: both,ports 21 23 25 53 80 110 111 139
143 445 513 1433

### end ###

Descomentamos la linea:

#####
output database: log, mysql, user=snort password=snort dbname=snort host=localhost
#### end ####

Guardar... cerrar..


Ahora le cambiamos el propietario/grupo al dir de las reglas:

root@murder # chown -R snort.snort /etc/snort/rules

Y list...


########################
Actualización automatica: (esta parte es extraida de nabble.com)
########################

Instalar y Configurar OinkMaster para actualizar automaticamente snort
descargamos oinkmaster desde sourceforge y lo descomprimimos
cd /root/snortinstall
wget http://superb-west.dl.sourceforge.net/sourceforge/oinkmaster/oinkmaster-2.0.tar.gz
tar -zxvf oinkmaster-2.0.tar.gz

copiamos el archivo oinkmaster.pl a /usr/sbin/ y el archivo
oinkmaster.conf lo copiamos en /etc/
cd /root/snortinstall/oinkmaster-2.0/
cp oinkmaster.pl /usr/sbin/
cp oinkmaster.conf /etc/

le cambiamos los permisos a esos archivos:

        chmod +x /usr/sbin/oinkmaster.pl
        chmod 755 /etc/snort ????
       
entramos en la pagina de snort: http://www.snort.org y entramos con
nuestra cuenta de snort,
despues del acceso, nos dirigimos a la parte inferior de la pagina y
presionamos el boton "Get Code"
copiamos ese codigo y luego editamos el archivo /etc/oinkmaster.conf asi:
debemos copiar el codigo de seguridad generado anteriormente y
reemplazarlo donde dice <oinkcode>

        #url = http://www.snort.org/pub-bin/oinkmaster.cgi/<oinkcode>/snortrules-snapshot-CURRENT.tar.gz
        url = http://www.snort.org/pub-bin/oinkmaster.cgi/79a09e5e6d8531a8f34bc582167ab4ecb469bfcb/snortrules-snapshot-CURRENT.tar.gz

como superusuario le ponemos una contrasena al usuario snort:
su -
passwd snort
       
luego ejecutamos la actualizacion:
sudo -u snort /usr/sbin/oinkmaster.pl -o /etc/snort/rules

para programar la actualizacion todos los dias a las 7:30, agregamos
la siguiente linea al archivo /etc/crontab:
30 7 * * * snort /usr/bin/oinkmaster.pl -o /etc/snort/rules

###########

FIN

###########


En línea





http://www.diosdelared.com -> Blogs && Wargames
Lisbeth Salander

Desconectado Desconectado

Mensajes: 41


Ver Perfil
Re: Snort: Detección de intrúsos y ataques
« Respuesta #1 en: 18 Abril 2008, 10:01 am »

Mi pregunta es si es realmente necesario instalar una base de datos mysql y apache para el ACID o si por el contrario es solo un complemento. Gracias


En línea

T0rete
Colaborador
***
Desconectado Desconectado

Mensajes: 4.926


Ver Perfil WWW
Re: Snort: Detección de intrúsos y ataques
« Respuesta #2 en: 18 Abril 2008, 10:50 am »

Con mysql y acid en otra maquina se trata de tener las alertas en otra maquina, de una forma ordenada y facil de consultar. Desde luego que puedes instalar simplemente el snort en una maquina y simplemente mira los logs.

Si lo vas a instalar en una red con algo de tráfico te recomiendo que instales estos u otros complementos que te premitan ver y clasificar los logs de forma clara.
En línea

Lisbeth Salander

Desconectado Desconectado

Mensajes: 41


Ver Perfil
Re: Snort: Detección de intrúsos y ataques
« Respuesta #3 en: 18 Abril 2008, 11:41 am »

Gracias por la informacion. Bueno pues estoy usando snort y estoy intentando añadir nuevas reglas, pero no se en que directorio estan ni que fichero tengo que modificar.
Concretamente quiero generar una alerta para detectar un ping procedente de una maquina que esta dentro de mi propia subred. Que es lo que hay que hacer?
En línea

T0rete
Colaborador
***
Desconectado Desconectado

Mensajes: 4.926


Ver Perfil WWW
Re: Snort: Detección de intrúsos y ataques
« Respuesta #4 en: 18 Abril 2008, 15:57 pm »

La verdad es que nunca he hecho una regla (lo tengo en la maquina con el IPCOP), me limito a actualizar las firmas y activar las alertas que vienen en el conf pero es algo muy interesante.

En este taller viene como se crea una regla para un TCP ping, espero que te sea de ayuda.
http://nautopia.coolfreepages.com/snort_cap3.htm

Citar
alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"Escaneo ping con nmap";flags:A;ack:0; reference:arachnids,28;classtype:attempted-recon; sid:628; rev:1;)

Supongo que podrás hacer una regla para ICMP.
« Última modificación: 18 Abril 2008, 15:59 pm por T0rete » En línea

Nedsecurity

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Snort: Detección de intrúsos y ataques
« Respuesta #5 en: 1 Mayo 2014, 18:00 pm »

Hola, sé que este hilo está ya completamente en deshuso, pero me gustaría saber algunas reglas de snort para proteger un servidor de correo, he estado investigando y he visto pop3.rules, pero no se muy bien como usarla, si alguien me pudiese ayudar...

Un saludo
En línea

Aprendiz-Oscuro
Colaborador
***
Desconectado Desconectado

Mensajes: 6.776



Ver Perfil
Re: Snort: Detección de intrúsos y ataques
« Respuesta #6 en: 3 Mayo 2014, 22:47 pm »

Pues haces referencia a dicho hilo si quieres pero abriendo un tema nuevo. No se reviven temas tan antiguos. Lo siento.


Saludos!!
En línea

Leer las reglas del Foro

Hago montajes y/o configuraciones detalladas de ordenadores a medida. Para más información mandar mensaje privado.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sistema de detección de intrusos
Seguridad
biancai 2 3,927 Último mensaje 16 Mayo 2011, 08:18 am
por sprito
Deteccion de ataques « 1 2 »
Seguridad
makinavaja3500 10 6,830 Último mensaje 7 Septiembre 2011, 15:25 pm
por laurita22
[CONSULTA] Detección de intrusos
Hacking Wireless
Srare 2 2,721 Último mensaje 21 Febrero 2017, 11:05 am
por ppzeta
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines