Sunteți pe pagina 1din 9

PRACTICA 2 SEGURIDAD EN REDES

AVANZADA
Jorge Daniel Alvarez Garcia
Especializacin en Seguridad Informtica
tekodan@gmail.com

ABSTRACT

The Present Practical Work It intends to enter more


advanced in the security of networks, being one of the
subjects and highs the automation of actions of detection
in red based on signatures or heuristics, in this case it
addresses both passive and active motorization systems
( IDS / IPS), and we proceed to know the practical
management of a well-known IDS called snort, which we
must install with a graphic environment that allows us to
consume its data.

I.INTRODUCCIN

El Presente Trabajo Practico Pretende adentrarnos a


aspectos mas avanzados en la seguridad de redes, siendo
uno de los temas mas lgidos la automatizacin de acciones
de deteccin en red basados en firmas o heuristicas, en este
caso abordamos tanto sistemas de motorizacin pasivos
como activos (IDS/IPS) , y procedemos a conocer el manejo
practico de un IDS muy conocido llamado snort , el cual
deberemos instalar con un entorno grfico que nos permita
el consumo de sus datos. Figura 1, FlujoGrama IDS/IPS

II.DIAGRAMA DE FLUJO IDS/IPS III. DIAGRAMA DE TOPOLOGIA DE RED

IV. INSTALACION KALI LINUX


Instalacin en Linux (Debian) mediante paquetes deb que
podemos encontrar en
https://www.virtualbox.org/wiki/Linux_Downloads
tomado de
https://www.virtualbox.org/wiki/Linux_Downloads
luego de descargar se ejecuta la orden .

Figura 5, Descarga Kali Linux

Descargamos el sistema operativo una ves descargada la


imagen preparamos la maquina virtual Kali Linux es una
distribucin basada en Debian por ello las configuraciones
F i g u r a 3 . Vi r t u a l B o x se irn con este tipo de sistema operativo as la
configuracin de la maquina se configura con mnimo 1 Gb
de memoria o mas en este caso configurare con 2 gb y
Sudo dpkg i virtualbox-5.1_5.1.18- tambin un disco pequeo dinmico de 12 gb ya que la
14002~Ubuntu~xenial_amd64.deb maquina sera voltil, una vez la tengamos creada debemos
seleccionar nuestra ISO anteriormente descargada de KALI
pudiendo sustituir el nombre del archivo por cualquier como se mira en la siguiente imagen
versin o compatible con paquetes deb como, Debian,
Ubuntu o Linux mint. Por ultimo tendremos una instalacin
de VM Virtual Box Totalmente funcional .

Figura 6 Instalacin Kali Linux

podemos ejecutar el sistema en modo live, que es un modo


Figura 4 , Aplicacion VirtualBox no persistente si realizamos alguna configuracin adicional
no se guardara ni dato alguno.
Instalacin de la distribucin de Seguridad Kali Linux la
distribucin kali Linux especializada en auditoria de
seguridad informtica se consigue en la direccin
https://www.kali.org/downloads/ podemos escoger la
versin que se adapta a nuestras necesidades y tambin el
mtodo de descarga que puede ser descarga directa o torrent,
por lo general torrent suele ser mas rpido as que
escogemos esta opcin, si queremos hacer descarga directa,
recomiendo descargar a modo de Plug-in un gestor de
descargas as la descarga ira mas rpido y si se cae podr ser
retomada en cualquier punto
Figura 7. Kali Linux en Funcionamiento
le diremos que no desactive por ultimo podemos restablecer
Tambien en otra instalaremos la maquina vitual dvi el servicio con service snort restart.
solicitada en la guia, una vez descargada la imagen se debe
realizar su descompresion , se demora un poco ya que vota Snort tiene un archivo de configuracion que podremos
un archivo de 7 GB, vamos a crear una maquina virtual encontrar en el siguiente directorio
como la que hermos creado anteriormente a diferencia de
que creremos la maquina tomando el disco .vdi que hemos sudo nano /etc/snort/snort.conf
descompreso asi commo se muestra la siguiente imagen

V.INSTALACION DE UBUNTU VII.INSTALACION DE RUBY

En la instalacion de la maquina viritual de ubuntu debemos Ahora que tenemos snort instalado y el sitio Web
ademas instalar un servidor apache y tambien una pagina Habilitado, instalaremos Snorby que es una interfaz visual
web para ello utilizaremos los siguientes comandos para snort Lo primero que tenemos que hacer es instalar los
pre-requisitos necesarios, para ello ejecutamos.
sudo apt-get install apache2
sudo apt-get install libapache2-mod-php
sudo apt-get install php-mysql apt-get update
sudo apt-get install php-simplexml apt-get install libgdbm-dev
sudo apt-get install mysql-server libncurses5-dev
git-core
curl
NOTA: la configuracion de red para las maquinas virtuales zlib1g-dev
en todas debe ser en modo puente build-essential
libssl-dev
libreadline-dev
VI.INSTALACION DE SNORT libyaml-dev
libsqlite3-dev
sqlite3
Para Instalar Snort se debe ejecutar los siguientes comandos libxml2-dev
en Ubuntu 12,04 libxslt1-dev
libcurl4-openssl-dev
sudo apt-get update python-software-properties
sudo apt-get install snort libffi-dev
imagemagick
en la siguiente pantalla nos pedira que indiquemos nuestro apache2
segmento de red libyaml-dev
libxml2-dev
sudo dpkg-configure snort libxslt-dev
git
libssl-dev
libmysqlclient-dev

Snorby est escrito en Ruby, y para su correcto


funcionamiento hay que instalar la versin 1.9.3 de Ruby.
Adems, hay que instalar una serie de gemas necesarias para
su correcta ejecucin.
Para acelerar la instalacin hay que ejecutar los siguientes
comandos para evitar la descarga e instalacin de
documentacin.
Figura 8. Configuracion de Snort
echo gem: no-rdoc no-ri > ~/.gemrc
una ves realizada esta configuracion nos dire que tipo de sh -c echo gem: no-rdoc no-ri > /etc/gemrc
arranque por el momento lo pondremos en manual con
nuestra interfaz de conexin a red eth0 la direccion ip con //apt-get install ruby-rvm
su mascara anteriormente establecida y en modo promiscuo apt-get install ruby1.9.3
VIII.INSTALACION DE SNORBY

git clone http://github.com/Snorby/snorby.git


/srv/www/htdocs/snorby
cd /var/www/html/snorby

Instalacin de las Gemas.

Sudo gem install wkhtmltopdf


sudo gem install bundler
sudo gem install rails
sudo gem install rake version=0.9.2
sudo gem install debugger Figura 10, Gem Install
sudo gem install do-myql --force
sudo gem install dm-mysql-adapter

si nos bota el error de que byebug solo esta disponible


si una gema no kiera instalar utilizamos el siguiente procedemos a editar el GemFile y borrar ese requerimiento,
comando gem install <nombre de gem> --force tambien es posible que nos pida que tengamos instalado el
user-install si la gema no es encontrada se puede do de postgres como instalaremos en en mysql debemos
descargar directamente de algun sitio en linea. quitar este requerimiento.
ahora copiaremos dos archivos de configuracion y base de
ahora corremos datos con los siguiente comandos

cd /var/www/snorby cp /var/www/html/snorby/config/database.yml.example
sudo chmod 777 -R *.* /var/www/html/snorby/config/database.yml
bundle install
es necesario que en el ultimo archivo cambiomos la clave
root de mysql con el comando:

nano /var/www/html/snorby/config/database.yml

luego ejecutamos los siguientes comandos:

cp
/var/www/html/snorby/config/snorby_config.yml.exa
mple
/var/www/html/snorby/config/snorby_config.yml
sed -i
Figura 9, Install Bundle s//usr\/local\/bin\/wkhtmltopdf/\/usr\/bin\/wkhtml
topdf/g
/var/www/html/snorby/config/snorby_config.yml

Instalamos Snorby con:

bundle exec rake snorby:setup


configuramos la base de datos
mysql -u root -p
create user snorby@localhost IDENTIFIED BY
password;
grant all privileges on snorby.* to snorby@localhost
with grant option;
flush privileges;
exit
Figura 11, Mysql config

nuevamente corregimos el fichero de base de datos Figura 13, Instalacion de Passanger

nano /var/www/html/snorby/config/database.yml en esta ultima opcion nos pedira instalar ruby y


phyton como solo estamos utilizando ruby
cambiamos la clave(clave snorby,usuario snorby, base de unicamente llevaremos esta configuracion al finalizar
datos snorby) a la que pusimos en la base de datos el proceso el programa nos vota una configuracion
con el siguiente comando vamos a poner nuestro snorby en que sera parecida, es parecidad dependiendo de
linea muchos aspecto por eso no debemos copiar esta sino
la que nos vota el sistema y la pondremos al final del
cd /var/www/html/snorby/ archivos
bundle exec rails server -e production

podremos verlo en ejecucion en cualquier navegador desde


http://localhost:3000

Figura 14, Apache Reload

nano /etc/apache2/apache2.conf

agregando estas lineas (este es un ejemplo se debe


Figura 12, Snort Login tomar estrictamente las que genere el sistema)

hasta este momento el snorby pareciera funcionar pero si LoadModule passenger_module


intentamos ingresar nos daremos cuenta que no permite las /var/lib/gems/1.9.1/gems/passenger-
credenciales de acceso en este caso son 5.0.21/buildout/apache2/mod_passenger.so
snorby@example.com password snorby pero no nos <IfModule mod_passenger.c>
permitira ingresar en este momento solo es para probar la PassengerRoot /var/lib/gems/1.9.1/gems/passenger-5.0.21
instalacion para poder utlizarlo dbemos utilizar Phusion PassengerDefaultRuby /usr/bin/ruby1.9.1
Passenger que describiriremos a continuacion </IfModule>

IX.INSTALAR PHUSION PASSENGER

primero instalacion de prerequisitos

sudo apt-get install -y libcurl4-openssl-dev apache2-


threaded-dev libaprutil1-dev libapr1-dev

luego instalamos los modulos necesarios ya de bebe estar


instalado apache2 para todo esto y realizada la instalaicion
Figura 15, Finaliza instalacion Passenger
de snorby.
Ahora corremos las siguiente lineas para iniciar el
sudo gem install passenger modulo passenger
sudo passenger-install-apache2-module
sudo a2enmod passenger
sudo service apache2 restart

generamos el sitio de snorby con.

/etc/apache2/sites-available/snorby.conf

con estas lineas

<virtualhost *:80>
ServerAdmin webmaster@localhost Figura 16, Snorby Frontend
ServerName snorby.sublimerobots.com
y aqu es donde tendramos nuestro snorby pero todavia
DocumentRoot /var/www/html/snorby/public
requrimos instalar el enlace entre snort y snorby y tambien
<directory "/var/www/snorby/public">
las reglas que se van a usar por snort ,observar que en la
AllowOverride all
parte de arriba ya no nos da la alerta de que el servicio
Order deny,allow
snorby no esta activo
Allow from all
Options -MultiViews
</directory>
X.INSTALAR PULLEDPORK
</virtualhost>

ahora realizamos la ultima configuracion Snorby


Snort cuenta con una gran comunidad que apoya esta
aplicacin pero ademas proveernos de esta herramienta
sudo a2ensite snorby
debemos tener en cuenta que requerimos de una cantidad de
sudo service apache2 reload
reglas que dia a dia van cambiando estas reglas por si solas
sudo a2dissite default
son dificiles de configurar pero para esto los mismos
sudo service apache2 reload
creadores de Snort nos brinda su herramienta PullePork ,
con todo lo anterior realizado ya podremos ingresar a
pullepork es una forma automatizada para crear todas las
snorby por la direccion local y con las credenciales
reglas y asociarlas directamente a snork junto con sitios de
de acceso snorby@example.com a veces el
lista negra y lista blanca que la misma comunidad va
@example cambia por @snorby tambien hay que ver
agregando, para descargar estas reglas requerimos de algo
bien esto y la clave es snorbyahora configuramos
denominado <OINKCODE> este oinkcode es unico para
el snoby como servicio con los siguientes comoandos
cada cuenta de SNORT.ORG y es el que nos permitira
descargar reglas cada que se actualicen.
sudo nano /etc/init/snorby_worker.conf

le adicionamos las siguientes lineas

description "Snorby Delayed Job"


stop on runlevel [!2345]
start on runlevel [2345]
chdir /var/www/html/snorby

script
exec /usr/bin/ruby script/delayed_job start
end script
Figura 17, Cuenta Snort con OinkCode

Luego de hacer este procedemiento iniciamos con la


damos permisos de ejecucion
instalacion de PulledPork, para eso primero instalaremos las
dependencias
sudo chmod +x /etc/init/snorby_worker.conf
initctl list | grep snorby_worker
sudo apt-get install -y libcrypt-ssleay-perl liblwp-useragent-
snorby_worker stop/waiting
determined-perl

ahora instalamos PulledPork con los siguientes comandos

cd ~/snort_src
wget sudo /usr/local/bin/pulledpork.pl -c
https://github.com/finchy/pulledpork/archive/66241690356d /etc/snort/pulledpork.conf -l
54faa509625a78f80f326b75c339.tar.gz -O pulledpork-
0.7.2-194.tar.gz seguido esto indicamos a snort que utilice las reglas que
tar xvfvz pulledpork-0.7.2-194.tar.gz hemos descargado con los siguientes comandos
mv pulledpork-
66241690356d54faa509625a78f80f326b75c339 pulledpork- sudo nano /etc/snort/snort.conf
0.7.2-194
cambiamos la siguient linea en el archivo en la linea 547
cd pulledpork-0.7.2-194/
sudo cp pulledpork.pl /usr/local/bin include $RULE_PATH/snort.rules
sudo chmod +x /usr/local/bin/pulledpork.pl sudo snort -T -c /etc/snort/snort.conf
sudo cp etc/*.conf /etc/snort

INSTALACION DE SNORT-MYSQL
ahora debemos hacer unos cuantos cambios al
pulledpork.conf, es muy importante que en esta parte con el fin de poder hacer la conexin entre snort y snorby es
tengamos muy presente nuestro <OINKCODE> para hacer importante que snort ponga las alertas en un log especifico
los cambios, los cambios que haremos son en una base de datos , normalmente este proceso de hace
con barnyard2 pero en este caso utilizaremos un metodo
Line 19 & 26: enter your oinkcode where appropriate (or mas sencillo con el siguiente comando
comment out if no oinkcode)
Line 29: Un-comment for Emerging threats ruleset (not tested sudo apt-get install snort-mysql
with this guide)
Line 74: change to: rule_path=/etc/snort/rules/snort.rules inmediatemante instalamos este comando nos va a pedir que
indiquemos una base de datos y una contrasea, pondremos
Line 89: change to: local_rules=/etc/snort/rules/local.rules
las que hemos generado en snorby que sera:
Line 92: change to: sid_msg=/etc/snort/sid-msg.map
Line 96: change to: sid_msg_version=2 nombre de base datos:snorby
Line 119: change to: config_path=/etc/snort/snort.conf
usuario de base de datos: snorby
clave: <password>
Line 133: change to: distro=Ubuntu-12-04
Line 141: change to: una vez tengamos esto hecho reiniciamos el servicio snort y
black_list=/etc/snort/rules/iplists/default.blacklist llamaremos el snort de una forma especifica que citaremos a
Line 150: change to: IPRVersion=/etc/snort/rules/iplists continuacion

sudo /usr/sbin/snort -d -i eth1 -u snort -g snort -c


/etc/snort/snort.conf -l /var/log/snort --daq pcap --daq-mode
passive

con el anterior comando podremos tener a snort capturando


lo que sucede en nuestra red

XI.ATAQUE DESDE KALI LINUX

Figura 18 , PulledPork Descargando reglas En cali linux se utilizo dos herramientas para atacar al sitio
web que contenia el snort pero que monitorea toda la red,
para finalizar es posible que el archivo al que hacemos inicialmente se utilizo zend map
relacion en la linea 19 no este disponible en la version que
vote nuestra version de pulledpork , para eso deberemos
poner una ruta estatica con el archivo seguido de los digitos
de la ultima version disponible.

Una vez hecho esto podemos correr nuestro script y


descargara informacion de reglas automaticamente a
nuestros directorios SNORT con el siguiente comando
XII.RESULTADOS DESDE SNORBY

En snorby podemos visualizar toda clase de intentos de


conexin a nuestra maquina divididos en de acuerdo al nivel
de impacto, esto nos permite establecer quien esta
merodeando en nuestra maquina y asi poder tomar
correctivos, suele suceder tambien que a veces se generar
falsos positivios , como por ejemplo los ping que estamos
haciendo desde nuestro equipo

Figura 19, ZendMap Scan

Figura 22, Snort Dashboard 1

Figura 23, Snorby Dashboard 2


y luego se utliza el w3af que nos permite generar un stack
de pruebas basado en el top OWASP Figura 20, w3af Owasp
profile

Figura 24, Snorby Sensors

Figura 21 , w3af Owasp Scan

mientras tanto en nuestra maquina real tambien hacemos un


ping
Figura 25, Snorby Events

ping 192.168.0.122
KALI LINUX, tomado www.kali.org el 31 de Marzo de
2017
Steps to Install and Configure Snort on Kali Linux
tomado de
https://techcyberz.wordpress.com/2014/12/02/steps-to-
install-and-configure-snort-on-kali-linux/ el 12 de Mayo
de 2017

Instalacion de Snorby recuperado de https://hacking-


etico.com/2016/03/08/snorby/ el 12 de Mayo de 2017
Figura 26, Snorby Event Detail
Snorby With Barnyard,
https://sublimerobots.com/2015/12/snort-2-9-8-x-on-
XIII.CONCLUSIONES ubuntu-part-7b/

Hoy en dia gracias a la necesidad de crear mas y mejores installing snorby on


sistemas de seguridad surgen soluciones de software que ubuntu,http://blog.muhammadattique.com/installing-snorby-
permiten evitar muchas vulnerabilidades en las redes mas on-ubuntu-for-snort-with-barnyard2/
sin embargo todava estamos un poco lejos para poder
confiar al 100% en estas herramientas y todava requieren XV.BIOGRAFIA
de alguna intervencin humana, hoy en dia hay una gran
comunidad que soporta herramientas como snort que hacen Me agrada trabajar en lo que hago creo
del mundo de la seguridad informtica avance y puedan que tengo cualidades investigativas y
generarse soluciones de seguridad automatizadas y tambin proactivas para solucionar problemas,
la construccin de un conocimiento colectivo como es el inicialmente me forme como tecnico en
proyecto PulledPork que nos ayuda a generar reglar para la Sistemas y Electronica y luego ya pase
configuracin de Snort, la herramienta como tal de snort es a mi formacion profesional como
una herramienta muy til pero el uso de snorby como ingeniero de sistemas , y en este
interface grafica hace de la experiencia de usarla algo mas momemento estudio una
gratificante y optimo. especializacion en seguridad informatica, tengo ya varios
aos de expereriencia en diseo y programacion de software
y base de datos en los lenguajes java y php y base de datos
XIV. BIBLIOGRAFIA sqllite,mysql, Postgres y Oracle , tambien en sido
Webmaster,DB Manager y e realizado produccion de piezas
OWASP, tomado de graficas publicitarias, me gusta siempre trabajar en entornos
https://www.owasp.org/index.php/Main_Page el 31 de de software libre de los cuales soy defensor, actualmente
Marzo de 2017 trabajo en la Gobernacion de Nario en la cual soy
Descargade de VM Virtual Box recuperado de desarrollador de software.
https://www.virtualbox.org/wiki/Linux_Downloads el 30 de
Marzo de 2017

S-ar putea să vă placă și