lunes, 21 de noviembre de 2011

Android

Lamentablemente ya no tengo Laptop hasta nuevo aviso, asi que tendre mucho menos tiempo para postear pero bueno tratare de hacer algo mas adelante, tambien perdi mi cel N8 (choros de m...) pero hice un esfuerzo y compre un SGS2 con Android asi que estare jugando con mi cel por un tiempo.
Saludos

viernes, 29 de julio de 2011

Could not initialize NSS

En Eclipse Indigo al momento de bajar e instalar el maven me salia un error asi en los logs del eclipse

Could not initialize NSS

Una rapida busqueda me arroja lo siguiente, falta configurar un archivo del sistema

Editamos

/etc/java-6-openjdk/security/nss.cfg

y lo cambiamos esto

nssLibraryDirectory = /usr/lib

por lo siguiente:

nssLibraryDirectory = /usr/lib/x86_64-linux-gnu

Listo ya se instalo el Maven en el Eclipse Indigo en un Debian Testing

Fuente:

http://www.linux-archive.org/debian-user/553391-problem-libnss3-1d.html

sábado, 9 de julio de 2011

Good times

Vamos bien para adelante, nuevos desafios

viernes, 8 de abril de 2011

LightSquid en Debian



Pasos para instalar Lightsquid

1. Descargar el archivo lightsquid-1.8.tgz en
# cd /var/www/
# mkdir lightsquid
# cd lightsquid
# tar -xzf lightsquid-1.8.tgz
# mv lightsquid-1.8 lightsquid

en /var/www/lightsquid/lightsquid
#chmod +x *.cgi
#chmod +x *.pl

Cambiando permisos en lightsquid

chown -R www-data.www-data *

2. Ahora vamos a configurar el apache2

# nano /etc/apache2/sites-available/default

Agregamos estas lineas

< Directory "/var/www/lightsquid/lightsquid" >
AddHandler cgi-script .cgi
AllowOverride All
AuthType Basic
AuthName "Lightsquid Secured"
AuthUserFile /etc/apache2/lightpass
require valid-user
< /Directory >

Luego creamos el usuario para que pueda ver la pagina.
# htpasswd -c /etc/apache2/lightsquid usuario

Reiniciamos el servicio
# /etc/init.d/apache2 restart

3.- Instalamos las librerias GD
# apt-get install libgd-gd2-perl

4.- Modificamos las variables del archivo:
# nano /var/www/lightsquid/lightsquid/lightsquid.cfg

#path to additional `cfg` files
$cfgpath ="/var/www/lightsquid/lightsquid";
#path to `tpl` folder
$tplpath ="/var/www/lightsquid/lightsquid/tpl";
#path to `lang` folder
$langpath ="/var/www/lightsquid/lightsquid/lang";
#path to `report` folder
$reportpath ="/var/www/lightsquid/lightsquid/report";
#path to access.log
$logpath ="/var/log/squid";
#path to `ip2name` folder
$ip2namepath ="/var/www/lightsquid/lightsquid/ip2name";


5.- Agregamos esta linea al crontab -e

*/10 * * * * /var/www/lightsquid/lightsquid/lightparser.pl




Fuente:

http://lightsquid.sourceforge.net/
http://es.scribd.com/doc/30479848/Procedimiento-para-la-Instalacion-de-Light-Squid
http://www.agix.com.au/blog/2010/09/restricting-access-to-apache-via-username-password/

domingo, 27 de marzo de 2011

OpenVPN en Squeeze



Configurando un OpenVPN Roadwarrior

Primero lo primero:

# aptitude install openvpn

Vamos al directorio donde estan los certificados easy-rsa
#cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/

Creamos los certificados para el CA

#. ./vars



#./clean-all

#./build-ca

Creando el certificado para el server

#./build-key-server server

Creamos el certificado para el cliente

#./build-key cliente

Construimos el diffie hellman

#./build-dh

Las llaves creadas estan en la carpeta keys

#cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/

#ls -al

ca.key ca.crt server.key server.csr server.crt cliente.key client.crt cliente.csr

Tenemos lo siguiente

ca.key-> debe estar en el Server CA
client.crt-> debe estar en el cliente
client.key-> debe estar en el cliente
server.crt-> debe estar el server OPENVPN
server.key-> debe estar el server OPENVPN
ca.crt-> Debe estar en el server y en todos los clientes.

Vamos a modificar el archivo server.conf que esta en:

#cd /usr/share/doc/openvpn/examples/sample-config-files/

# nano server.conf
port 1194
proto udp
dev tun
ca /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ca.crt
cert /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/server.crt
key /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/server.key
dh /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.1.0 255.255.255.0"
;push "redirect-gateway def1"
push "dhcp-option DNS 192.168.1.1"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
log-append /var/log/openvpn.log
verb 3

Despues de modificarlo copiarlo a /etc/openvpn" directory

#cp server.conf /etc/openvpn/

Iniciamos el servicio

# /etc/init.d/openvpn start

configurar el iptables con las reglas basicas

Si ya se tiene un firewall se debe adicionar estas reglas

iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT

Con eso se tiene la parte del server, pero falta el cliente
Si es un winbug que es el comun de los casos se hace lo siguiente:

Se instala el cliente openvpn:

http://openvpn.se/download.html

Despues de instalar openvpn cliente, poner los archivos en la carpeta config

Creamos el archivo cliente.ovpn con el contenido

*****
client
dev tun
proto udp
remote ipdelserver 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca “C:\\Archivos de programa\\OpenVPN\\config\\ca.crt”
cert “C:\\Archivos de programa\\OpenVPN\\config\\cliente.crt”
key “C:\\Archivos de programa\\OpenVPN\\config\\cliente.key”
comp-lzo
verb 4
*****

Creamos la interface del openvpn en el winbugs

Inicio --> todos los programas --> OpenVPN --> Add a new TAP-win32 virtual ethernet adapter

En la capeta:

C:\Archivos de programa\OpenVPN\config

Debemos tener los archivos

cliente.ovpn, cliente.crt, cliente.key y ca.crt

Luego recien vamos al icono en la parte inferior, le damos click derecho y conect, te debe salir verde como en la figura sino cuestion de mirar los logs



PD: Siempre es bueno mirar los logs en el cliente y en el server para detectar posibles inconvenientes.

Fuente:

http://openvpn.net/index.php/open-source/documentation/howto.html
http://cihan.me/how-to-setup-openvpn-server-on-debian-lenny/

Ntop en Wheezy


Ntop es una famosa herramienta para visualizar el trafico en tiempo real

Actualmente se encuentra en los repositorios de Wheezy lo instalamos

# aptitude install ntop

Luego te pide un pass para el admin



Y listo ya tienes el ntop:

http://laipdentop:3000

Luego de un rato te muestra el trafico



Ahora si desean que pida password al inicio de abrir la pagina solo basta ir a
Admin -> Configure -> protect URLs y abajo hacer clic en "Add URL"
No añadir nada dejarlo en blanco
Seleccionar el usuario puede der el admin
luego click en el boton "Add URL"

Ahora cuando vayas al link

http://laipdentop:3000

Saldra una ventana para que pongas el user y pass

Fuente:

http://www.ntopsupport.com/faq.html

miércoles, 23 de marzo de 2011

PostgreSQL server failed to start

El problema inicial para variar era que no se podia iniciar el servicio del postgresql, lo que paso fue lo siguiente:

Tenia configurado el network-manager de gnome y por ello comente todo el contenido de /etc/network/interfaces

No podia hacer ping al localhost y me salia este mensaje cada vez que queria levantar el servicio

Starting PostgreSQL 9.0 database server: mainThe PostgreSQL server failed to start. Please check the log output: 2011-03-23 10:31:36 PET LOG: no se pudo enlazar al socket IPv4: No se puede asignar la direcci?n solicitada 2011-03-23 10:31:36 PET HINT: ?Hay otro postmaster corriendo en el puerto 5432? Si no, aguarde unos segundos y reintente. 2011-03-23 10:31:36 PET WARNING: no se pudo crear el socket de escucha para <> 2011-03-23 10:31:36 PET FATAL: no se pudo crear ning?n socket TCP/IP ... failed!


Solucion:

Agregar en el /etc/network/interfaces

auto lo
iface lo inet loopback


Listo con ello ya se puede levantar el servicio

Habilitar acceso remoto al Postgresql

nano /etc/postgresql/9.0/main/postgresql.conf

listen_addresses = '*'

nano /etc/postgresql/9.0/main/pg_hba.conf

host all all 0.0.0.0/0 md5

Reiniciar el servicio y listo

Desde otra ubicacion
# psql -h ipexterna -U usario -W

Listo

Saludos

Fuente:

http://ubuntuforums.org/showthread.php?t=1612198


http://kb.mediatemple.net/questions/1237/How+do+I+enable+remote+access+to+my+PostgreSQL+server%3F

martes, 22 de marzo de 2011

Drivers HP dv6 en Debian Wheezy & candy tools

Para el conky solo basta seguir los pasos de este link

http://gnome-look.org/content/show.php/CONKY-colors?content=92328

En caso del compiz

# aptitude install compiz compizconfig-settings-manager compiz-fusion-plugins-main compiz-gnome compiz-gtk
# aptitude install fusion-icon

Ir a Sistema -> Preferencias -> aplicaciones al inicio
Y poner los datos
Nombre: compiz
comando: compiz --replace

El Network manager:

http://wiki.debian.org/NetworkManager


Para setear levantar el wifi

# aptitude install wireless-tools
# aptitude install firmware-b43-lpphy-installer
# iwconfig

Listo wifi up

Para levantar el sonido en una HP dv6

Basta hacer como root:

# alsctl init

Y hace la magia del sonido

Fuente:
http://forums.debian.net/viewtopic.php?f=7&t=42350

http://wiki.debian.org/bcm43xx

http://wiki.debian.org/Compiz

jueves, 17 de marzo de 2011

Sagan 0.1.8 con Barnyard2 support en Snorby 2.2.5



Es una herramienta para visualizar los logs en realtime, ademas usa una serie de reglas (tipo snort) para detectar anomalias en la red.

Ademas existen varios front ends para snort que pueden ser usados por sagan como es el Snorby, Base, Sguil, etc .. En este caso vamos a usar Snorby

Vamos con los paquetes necesarios, primero actualizamos
# aptitude update
# aptitude upgrade

Necesitamos el paquete PCRE
aptitude install libpcre3-dev libpcre3

Paquetes opcionales:
Si deseas recibir alertas en tu correo
# aptitude install libesmtp-dev

Si deseas guardar la info en una base de datos mysql
# aptitude install libmysqlclient15-dev

Si deseas usar postgresql
#aptitude install postgresql-server-dev-8.4

Security Information Management System
#aptitude install libprelude-dev

Log normalizing library
#aptitude install liblognorm-dev

Para este caso vamos a usar el mysql

*************
Bajamos el sagan http://sagan.softwink.com/download

La version actual es la 0.1.8 con soporte unified2

Compilamos e instalamos
# ./configure --disable-postgresql
# make && make install

Ahora sigue la configuracion del syslog-ng, si no lo tenemos lo instalamos de los repositorios
# aptitude install syslog-ng

Ahora sagan tiene dos formas de tratar los datos entrantes, por medio de FIFO o program mode:

- FIFO (First In/First Out),
Syslog-ng envia los eventos al archivo /var/run/sagan.fifo, de este modo Sagan logra leer este archivo.

Para ello se debe crear el archivo
mkfifo /var/run/sagan.fifo
ls -l /var/run/sagan.fifo
prw------- 1 root root 0 mar 17 17:56 /var/run/sagan.fifo

Debemos modificar el syslog-nd.conf, y añadir las lineas correspondientes segun el archivo ejemplo de la pagina de sagan http://sagan.softwink.com/syslog-ng-fifo.txt

- Program mode
significa que Sagan tomara los eventos via standard input (stdin)

Igualmente reemplazamos el archivo syslog-ng.conf o usamos el dado por la pagina del autor
http://sagan.softwink.com/syslog-ng-program.txt

En mi caso escogo el modo FIFO y renombro el syslog-ng.conf que viene por default y uso el archivo ejemplo syslog-ng.conf de la pagina sagan.

Ahora vamos a modificar el archivo de configuracion sagan.conf, que debe estar en
/usr/local/etc/sagan.conf

Modificamos
sagan_host 192.168.0.2 --> poner la ip de la PC

Si deseamos loggearnos a una base de datos snort;
# [Required if logging to a Snort database]

; sagan_hostname sagan
; sagan_interface syslog
; sagan_filter none
; sagan_detail 1

; maxdb_threads 50
; output database: log, mysql, user=sagan password=secret dbname=snort_db host=192.168.0.1

#Vamos a usar el Unified2 output plugin
output unified2: filename sagan.log, limit 128

En mi caso comente lo siguiente
porque al ejecutar el sagan me salia violacion de segmento:

#normalize: cisco, $RULE_PATH/cisco-normalize.rulebase
#normalize: openssh, $RULE_PATH/openssh-normalize.rulebase
#normalize: smtp, $RULE_PATH/smtp-normalize.rulebase
#normalize: dns, $RULE_PATH/dns-normalize.rulebase
#normalize: imap, $RULE_PATH/imap-normalize.rulebase

Reglas de Sagan
Para poder usar las reglas dadas por sagan hay que descargarlo de:
http://sagan.softwink.com/rules/sagan-rules-current.tar.gz

Y copiamos los archivos a la ruta definida por la variable $RULE_PATH
var RULE_PATH /usr/local/etc/sagan-rules

Creamos la carpeta sagan-rules y copiamos los archivos ahi

Creamos el usuario sagan luego, lo hacemos propietario de los archivo con el comando chown

debian:~# chown -R sagan.sagan /var/log/sagan
debian:~# chown -R sagan.sagan /var/run/sagan
debian:~# chown -R sagan.sagan /var/run/sagan.fifo

Configurando Barnyard2

Copiamos el archivo de ejemplo de la pagina de sagan

https://wiki.softwink.com/bin/view/Main/Barnyard2HowTo

Y modificamos la ultima linea con los datos respectivos de la base de datos.

creamos el archivo
# touch /var/log/barnyard2/barnyard2-sagan.waldo
# chown -R sagan.sagan /var/log/barnyard2/barnyard2-sagan.waldo

Ejecutamos sagan

# /usr/local/bin/sagan



Ejecutamos el Barnyard2

# /usr/local/bin/barnyard2 -c /usr/local/etc/barnyard2.conf -d /var/log/sagan -f sagan.log -w /var/log/barnyard2/barnyard2-sagan.waldo -S /usr/local/etc/sagan-rules/sagan-sid-msg.map -C /usr/local/etc/sagan-rules/classification.config

Si todo sale bien sale un mensaje como este:



Despues de un rato vemos que aparece el sensor y los respectivos eventos



Vamos a la interface del snorby y vemos la aparicion de un sensor mas:



Vemos los eventos de ese sensor



Y los detalles



PD: A veces tenia el problema que al momento de ejecutar el barnyard2 me salia un mensaje como este:

WARNING: Can't extract timestamp extension from 'sagan.log'using base 'sagan.log'
Waiting for new data
WARNING: Can't extract timestamp extension from 'sagan.log'using base 'sagan.log'


Esto sucede porque hay un sagan.log que tiene informacion acerca del funcionamiento de sagan y el unified2 tambien se llama sagan.log.

Para solucionarlo modificamos el archivo sagan.conf en la parte de unified2
output unified2: filename sagan.u2, limit 128

Y el comando quedaria asi:
# /usr/local/bin/barnyard2 -c /usr/local/etc/barnyard2.conf -d /var/log/sagan -f sagan.u2 -w /var/log/barnyard2/barnyard2-sagan.waldo -S /usr/local/etc/sagan-rules/sagan-sid-msg.map -C /usr/local/etc/sagan-rules/classification.config

Ahora si no habria conflictos de ningun tipo

Fuente:
Help from Champ Clark III Sagan's creator
https://wiki.softwink.com/bin/view/Main/SaganHOWTO
http://muchikon.blogspot.com/2010/07/sagan-en-debian.html

OpenFPC 0.5 con Snorby 2.2.5



OpenFPC es basicamente un conjunto de herramientas que permite capturar el trafico de determinado evento y dartelo en formato *.pcap para su posterior analisis con el wireshark por ejemplo, vamos integrar esta opcion con el snorby.

OpenFPC tiene muchas mas opciones las cuales pueden ser revisadas en su pagina oficial

Actualizamos el sistema

# aptitude update
# aptitude upgrade
# aptitude install apache2 daemonlogger tcpdump tshark libarchive-zip-perl libfilesys-df-perl libapache2-mod-php5 mysql-server php5-mysql libdatetime-perl libdbi-perl libdate-simple-perl php5-mysql libterm-readkey-perl libdate-simple-perl

Vamos a descargar el openfpc de su pagina oficial
http://code.google.com/p/openfpc/downloads/list

# tar zxvf openfpc-0.5-281.tgz
# mv openfpc-0.5-281 /var/www/
# mv openfpc-0.5-281/ openfpc
# cd openfpc
# ./openfpc-install.sh install
# openfpc –action start



# openfpc-client -a status



Habilitamos el openfpc en a interface de administracion de Snorby





Fuente:

http://leonward.wordpress.com/2010/12/06/insta-snorby-0-4-with-openfpc/
http://www.openfpc.org/
http://code.google.com/p/openfpc/

miércoles, 16 de marzo de 2011

Pulledpork en Debian Wheezy



Vamos a configurar el pulledpork en el Snort

Descargamos
# wget http://pulledpork.googlecode.com/files/pulledpork-0.5.0.tar.gz
# tar -zxf pulledpork-0.5.0.tar.gz && cd pulledpork-0.5.0
# cp pulledpork.pl /usr/sbin && cp etc/*.conf /etc/snort

Vamos a bajar las reglas del snort para ello necesitamos el oinkcode
https://www.snort.org/account/oinkcode

Ahora procedemos a modificar el archivo pulledpork.conf

# nano /etc/snort/pulledpork.conf

Comentamos lo referente a emergingthreats
Modificamos la ruta:
rule_url=http://www.snort.org/reg-rules/|snortrules-snapshot-2900.tar.gz|oinkcode
Cambiamos:
rule_path=/etc/snort/rules/snort.rules
rule_path=/etc/snort/rules/local.rules
sid_msg=/etc/snort/sid-msg.map
config_path=/etc/snort/snort.conf
distro=Debian-Lenny
snort_version=2.9.0.4
/etc/snort/enablesid.conf
/etc/snort/disablesid.conf
/etc/snort/modifysid.conf
Y comentamos
#sostub_path=/usr/local/etc/snort/rules/so_rules.rules


Deshabilita las reglas de bloqueo (fwsam)
# echo pcre:fwsam /etc/snort/disablesid.conf

Modificamos
# nano /etc/snort/modifysid.conf

La ultima linea cambiarlo a (hay un error de tipeo):
302,429,1821 "$EXTERNAL_NET" "$HOME_NET"

# pulledpork.pl -c /etc/snort/pulledpork.conf



Al final tenemos el mensaje de Fly piggy Fly !!!



Reiniciamos el servicio

# /etc/init.d/snortbarn restart

Snort is on Fire !!!



Fuente:

https://www.snort.org/docs

Snort 2.9.0.4 en Debian Wheezy con Barnyard2



Vamos con la instalacion de un IDS famoso "Snort", con barnyard en base de datos mysql.

Actualizamos
# aptitude update
# aptitude upgrade

Instalamos las dependecias

# aptitude install apache2 libapache2-mod-php5 libwww-perl mysql-server mysql-common mysql-client php5-mysql libnet1 libnet1-dev libpcre3 libpcre3-dev autoconf libcrypt-ssleay-perl libmysqlclient-dev php5-gd php-pear libphp-adodb php5-cli libtool libssl-dev gcc-4.4 g++ automake gcc make flex bison apache2-doc ca-certificates vim

Instalamos los prerequisitos

libpcap, libdnet, and DAQ.

Install libpcap:
# cd /usr/src
# wget http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz
# tar -zxf libpcap-1.1.1.tar.gz && cd libpcap-1.1.1
# ./configure --prefix=/usr --enable-shared
# make && make install

Install libdnet:
# cd /usr/src
# wget http://libdnet.googlecode.com/files/libdnet-1.12.tgz
# tar -zxf libdnet-1.12.tgz && cd libdnet-1.12
# ./configure --prefix=/usr --enable-shared
# make && make install

Install DAQ:

# cd /usr/src
# wget http://www.snort.org/dl/snort-current/daq-0.5.tar.gz
# tar -zxf daq-0.5.tar.gz && cd daq-0.5

DAQ necesita ser parchado para reconocer el parametro "buffer_size".

# vi /usr/src/daq-0.5/os-daq-modules/daq_pcap.c
En la linea line 219 reemplazar:

context->buffer_size = strtol(entry->key, NULL, 10);
con:
context->buffer_size = strtol(entry->value, NULL, 10);

# ./configure
# make && make install

Actualizamos la ruta del "shared library"
# echo >> /etc/ld.so.conf /usr/lib && ldconfig

Bajamos e instalamos el snort
# wget http://www.snort.org/dl/snort-current/snort-2.9.0.4.tar.gz -O snort-2.9.0.4.tar.gz
# tar -zxf snort-2.9.0.4.tar.gz && cd snort-2.9.0.4
# ./configure --with-mysql --enable-dynamicplugin --enable-perfprofiling --enable-ipv6 --enable-zlib --enable-reload
# make && make install

Creamos las carpetas
# mkdir /etc/snort /etc/snort/rules /var/log/snort /var/log/barnyard2 /usr/local/lib/snort_dynamicrules

Buscamos la regla para usuarios registrados
https://www.snort.org/snort-rules/?#rules

Descomprimimos las reglas en el directorio de snort
# tar xvfz snortrules-snapshot-2903.tar.gz -C /etc/snort

agregamos el usuario y grupo snort, configuramos permisos y copiamos archivos
# groupadd snort && useradd -g snort snort
# chown snort:snort /var/log/snort /var/log/barnyard2
# cp /usr/src/snort-2.9.0.4/etc/*.conf* /etc/snort
# cp /usr/src/snort-2.9.0.4/etc/*.map /etc/snort

Nota: No encontre con el snort el archivo "sid-msg.map" para configurar el barnyard2 por lo que me baje el archivo de
wget http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz
Luego fui a la carpeta rules y copie el archivo.
cp sid-msg.map /etc/snort/

Creamos un acceso directo del snort
#ln -s /usr/local/bin/snort /usr/sbin/snort

Configuracion del archivo snort.conf

# nano /etc/snort/snort.conf

Buscamos “RULE_PATH ../rules” y lo reemplazamos por:
var RULE_PATH /etc/snort/rules
Seguimos buscamos por “PREPROC_RULE_PATH ../preproc_rules”, y reemplazar por:
PREPROC_RULE_PATH /etc/snort/preproc_rules

Como vamos a usar el barnyard2 adicionamos en el archivo
output unified2: filename snort.log, limit 128

Buscamos:
# include $PREPROC_RULE_PATH/preprocessor.rules
# include $PREPROC_RULE_PATH/decoder.rules
Y lo descomentamos

Buscamos y lo comentamos quedando
#preprocessor normalize_ip4
#preprocessor normalize_tcp: ips ecn stream
#preprocessor normalize_icmp4
#preprocessor normalize_ip6
#preprocessor normalize_icmp6

Coonfiguramos el MySQL

# mysql -u root -p #Pones el password
mysql> create database snort;
mysql> create user 'snortuser'@'localhost' IDENTIFIED BY 'pass';
mysql> grant all privileges on snort.* to 'snortuser'@'localhost' with grant option;
mysql> flush privileges;
mysql> exit;

Ahora vamos a importar el esquema de la base de datos:
Vamos a la carpeta schema del directorio donde descomprimimos el snort
# cd schemas/
# mysql -p -u snortuser snort < create_mysql
Enter password:

# mysql -u root -p
Enter password:

mysql> use snort;
mysql> show tables; # deberiamos ver las tablas que importamos.
mysql> exit;

Instalacion y configuracion del barnyard2

# cd /usr/src
# wget http://www.securixlive.com/download/barnyard2/barnyard2-1.9.tar.gz
# tar -zxf barnyard2-1.9.tar.gz && cd barnyard2-1.9
# ./configure --with-mysql
# make && make install
# mv /usr/local/etc/barnyard2.conf /etc/snort
# nano /etc/snort/barnyard2.conf
Buscamos la linea #215 y lo cambiamos por: output alert_fast
Al final del archivo agregamos la conexion al mysql
output database: log, mysql, user=snortuser password=pass dbname=snort host=localhost

La prueba de fuego

Ejecutamos el snort
# /usr/local/bin/snort -q -u snort -g snort -c /etc/snort/snort.conf -i eth0

Ejecutamos el barnard2
# /usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /etc/snort/bylog.waldo -G /etc/snort/gen-msg.map -S /etc/snort/sid-msg.map -C /etc/snort/classification.config

Si todo sale bien con el barnyard tendran una imagen similar a esta:



Vemos que los datos estan siendo insertados en la base de datos

# mysql -u root -p -D snort -e "select count(*) from event"

Script de inicio de snort y barnayard2

# nano /etc/init.d/snortbarn
y copiamos el contenido

--------------------------------------------------------------------------------------
#! /bin/sh
#
### BEGIN INIT INFO
# Provides: snortbarn
# Required-Start: $remote_fs $syslog mysql
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Start Snort and Barnyard
### END INIT INFO
. /lib/init/vars.sh
. /lib/lsb/init-functions
mysqld_get_param() {
/usr/sbin/mysqld --print-defaults \
| tr " " "\n" \
| grep -- "--$1" \
| tail -n 1 \
| cut -d= -f2
}
do_start()
{
log_daemon_msg "Starting Snort and Barnyard" ""
# Make sure mysql has finished starting
ps_alive=0
while [ $ps_alive -lt 1 ];
do
pidfile=`mysqld_get_param pid-file`
if [ -f "$pidfile" ] && ps `cat $pidfile` >/dev/null 2>&1; then ps_alive=1; fi
sleep 1
done
/sbin/ifconfig eth1 up
/usr/local/bin/snort -q -u snort -g snort -c /etc/snort/snort.conf -i eth1 &
/usr/local/bin/barnyard2 -q -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /etc/snort/bylog.waldo \
-G /etc/snort/gen-msg.map -S /etc/snort/sid-msg.map -C /etc/snort/classification.config 2> /dev/nul &
log_end_msg 0
return 0
}
do_stop()
{
log_daemon_msg "Stopping Snort and Barnyard" ""
kill $(pidof snort) 2> /dev/nul
kill $(pidof barnyard2) 2> /dev/nul
log_end_msg 0
return 0
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
restart)
do_stop
do_start
;;
*)
echo "Usage: snort-barn {start|stop|restart}" >&2
exit 3
;;
esac
exit 0
--------------------------------------------------------------------------------------

Lo hacemos ejecutable
# chmod +x /etc/init.d/snortbarn
# insserv -f -v snortbarn

Snort y Barnyard2 empezara autmaticamente al bootear

Nota: para hacerlo funcionar con el snorby, bastaria obviar la creacion de bd hecho en este jautu, porque con el snorby tambien lo creas.

Los datos de usuario y base de datos lo sacamos del archivo barnyard2.conf esos datos deben coincidir con los datos del archivo de snorby database.yml

Una vez echo eso e iniciar el worker, veras los datos procesados en el snorby



Fuente:

http://www.snort.org/docs

Snorby 2.2.5 en Debian Wheezy



Snorby es un frontend para IDS como es el snort, mas info en su pagina oficial

A continuacion los pasos para tener configurado el snorby, luego en otro post lo uniremos con el snort.

Primero actualizar el sistema
# aptitude update
# aptitude upgrade

Luego instalamos las paquetes necesarios
aptitude install gcc g++ build-essential libssl-dev libreadline5-dev zlib1g-dev linux-headers-generic libsqlite3-dev libxslt-dev libxml2-dev imagemagick git-core libmysqlclient-dev mysql-server libmagickwand-dev default-jre

Bajamos el wkhtmltopdf

# wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2
# tar xvjf wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2
# cp wkhtmltopdf-i386 /usr/sbin/wkhtmltopdf

Bajamos el ruby

# wget http://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz
# tar -xvzf ruby-1.9.2-p0.tar.gz
# cd ruby-1.9.2-p0
# ./configure
# make && make install

Vemos la version:
# ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]

Instalamos los gems

# gem install thor i18n bundler
# gem install tzinfo builder memcache-client rack rack-test erubis mail text-format
# gem install rack-mount --version=0.4.0
# gem install rails sqlite3-ruby

Instalando Snorby

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

Editamos los archivos de configuracion
# nano /var/www/snorby/config/database.yml
snorby: &snorby
adapter: mysql
username: root
password: poner el pass de root
host: localhost


Editamos
# nano /var/www/snorby/config/snorby_config.yml
development:
domain: localhost:3000
wkhtmltopdf: /usr/sbin/wkhtmltopdf
#wkhtmltopdf: /Users/mephux/.rvm/gems/ruby-1.9.2-p0/bin/wkhtmltopdf

test:
domain: localhost:3000
wkhtmltopdf: /usr/sbin/wkhtmltopdf

production:
domain: localhost:3000
wkhtmltopdf: /usr/sbin/wkhtmltopdf



Luego de modificar vamos con la configuracion del Snorby

# cd /var/www/snorby
# bundle install
# bundle update activesupport
# bundle update railties
# bundle update rails
# rake snorby:setup

En el archivo inicial de database.yml

edit /var/www/snorby/config/database.yml pusimos el pass de root, ahora crearemos un usuario para esa base de datos

# mysql -u root -p

creat user 'snorbyuser'@'localhost' IDENTIFIED BY 'pass';
grant all privileges on snorby.* to 'snorbyuser'@'localhost' with grant option;
flush privileges;

Ahora modificamos el archivo database.yml
snorby: &snorby
adapter: mysql
username: snorbyuser
password: pass
host: localhost


Integracion de Snorby con el Apache2 Passenger

Instalamos las dependencias
aptitude install apache2 apache2-prefork-dev libapr1-dev libaprutil1-dev libopenssl-ruby libcurl4-openssl-dev

# /etc/init.d/apache2 restart

Instalamos el modulo passenger

# gem install --no-ri --no-rdoc --version 3.0.3 passenger

Instalamos el passenger modulo para apache2
Nos vamos al directorio
# cd /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.3/bin

En ese directorio ejecutamos

# ./passenger-install-apache2-module -a



Creamos el archivo con el contenido
# nano /etc/apache2/mods-available/passenger.load

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.3/ext/apache2/mod_passenger.so

Creamos el archivo con el contenido
# nano /etc/apache2/mods-available/passenger.conf



Habilitamos los modulos
# a2enmod passenger
# a2enmod rewrite
# a2enmod ssl

# /etc/init.d/apache2 restart

Integramos Snorby con Apache2

Creamos el archivo "snorby" dentro de /etc/apache2/sites-available :



Habilitando el website :

# ln -s /etc/apache2/sites-available/snorby /etc/apache2/sites-enabled/snorby

Agregamos en el archivo /etc/apache2/ports.conf
NameVirtualHost *:90
Listen 90


# /etc/init.d/apache2 restart

Finalmente tenemos la pagina de logueo



usuario: snorby@snorby.org
pass: snorby





PD1: Si tienes algun inconveniente seria bueno revisar el archivo /var/log/apache2/error.log
PD2: Tambien es bueno correr en modo consola con el
# rails s -e production
y ver la salida por si se presenta algun detalle
PD2: Verificar que todo el contenido de /var/www/snorby pertenezca a www-data
PD3: Thanks to mephux for the support through the snorby irc channel, very helpful

Saludos

Fuente:

http://snorby.org/
http://www.corelan.be/index.php/2011/02/27/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x/

viernes, 25 de febrero de 2011

Armitage en Debian Wheezy con PostgreSQL



Vamos con la instalacion de Armitage sobre Debian Testing ahora Wheezy, basandome en un post anterior --> aqui

Basicamente se pide 3 requisitos

Tener java 1.6.0, Metasploit 3.5.1 y una base de datos para conectarnos





Luego de tener los requisitos se procede a bajar el paquete linux y descomprimirlo.
Ahora se tiene la siguiente version:

http://www.fastandeasyhacking.com/download/armitage022511.tgz

En la consolo ejecutamos los comandos
#msfrpcd -f -U msf -P test -t Basic

Lo que hace el comando es ejecutar el msfrpcd con el user msf y el passowrd test
ademas habilita el ssl listener en el puerto por defecto 55553

Luego en el directorio donde bajamos el armitage encontraremos el archivo armitage lo ejecutamos

#./armitage

En el campo "tupass", poner el pass que se le puso al usuario postgres




Si todo salio bien tendras la ventana final



Fuente:
http://www.fastandeasyhacking.com/faq

sábado, 19 de febrero de 2011

Twitcam en Debian Squeeze amd64



Tengo una laptop hp pavillion dv6 y la webcam me funciona bien con el cheese, pero decidi probar el twitcam, solo para ver si habia algo adicional a realizar en el Iceweasel.

Aqui los pasos que segui.

1.- descargar la ultima version del adobe flash, aqui el link

http://labs.adobe.com/downloads/flashplayer10_square.html

2.- Una vez instalado puedes ir a esta pagina para ver que funcione y la version que tienes

http://www.adobe.com/software/flash/about/

En mi caso: You have version 10,3,162,29 installed

3.- Ir a este link para configurar las opciones del flash

http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager06.html



4.- Una vez configurado ya pueden ir a twitcam.com, una vez logueado en la pagina le dan broadcast y te pedira permiso para usar la camara, le dices si, y listo empieza el show :P

Saludos

Fuente:
http://www.linuxquestions.org/questions/linux-general-1/cant-get-twitcam-to-work-on-linux-ff-808024/

martes, 15 de febrero de 2011

Instalando Debian 6.0

La nueva version Debian 6.0 Squeeze



Saludos

viernes, 11 de febrero de 2011

Heartbeat en Debian Squeeze


El famoso Heartbeat

Nos permite tener alta disponibilidad en caso haya problemas con un server estara el otro que permitira continuar con el servicio, siendo transparente para el usuario final, en este caso un ejemplo sencillo con el servicio web

El esquema es el siguiente

IP HA (compartida): 192.168.0.199

ServerA 192.168.0.200
ServerB 192.168.0.201

Configuramos el archivo /etc/hosts en ambos servers

127.0.0.1 localhost
192.168.0.200 ServerA
192.168.0.201 ServerB

Instalamos el paquete heartbeat en ambos servers

apt-get install heartbeat

En ambos server agregamos estas lineas en el /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind=1

Lo ejecutamos con:

sysctl -p

Se genera el archivo y se copia en ambos servers sino lo hacen sale error cuando reinicien el hearbeat

#nano /etc/ha.d/authkeys
auth 3
3 md5 clave

Donde clave es el password.

Ahora configuramos los permisos del archivo

chmod 600 /etc/ha.d/authkeys

En Debian el archivo no encontraran el archivo en /etc/ha.d sino esta en /usr/share/doc/heartbeat/ha.cf.gz simple lo descomprimen y lo copian en /etc/ha.d.

Editamos el archivo /etc/ha.d/ha.cf en ServerA:

#
# keepalive: how many seconds between heartbeats
#
keepalive 2
#
# deadtime: seconds-to-declare-host-dead
#
deadtime 10
#
# What UDP port to use for udp or ppp-udp communication?
#
udpport 694
bcast eth0
mcast eth0 225.0.0.1 694 1 0
ucast eth0 192.168.0.201 #La ip del serverB
# What interfaces to heartbeat over?
udp eth0
#
# Facility to use for syslog()/logger (alternative to log/debugfile)
#
#logfacility local0
#
# Tell what machines are in the cluster
# node nodename ... -- must match uname -n
node ServerA
node ServerB

Copiamos el archivo al ServerB solo que cambiamos la ip de ServerA

Ahora vamos a modificar el archivo haresources, igual lo copiamos del /usr/share/doc/heartbeat/

Y hay ponemos la IP HA (compartida)

ServerA 192.168.0.199 apache2

Reiniciamos el servicio

:~# /etc/init.d/heartbeat restart
Stopping High-Availability services: Done.

Waiting to allow resource takeover to complete:Done.

Starting High-Availability services: IPaddr[3275]: INFO: Resource is stopped
Done.

:~#

Listo !!!
A modo de prueba reinicien uno de los servers y en el browser apunten a la IP HA (compartida), en mi caso 192.168.0.199, veran que no cae, es mas modifiquen el index en uno que diga ServerA y el otro serverB y refresquen el browser.

PD: La interface virtual donde estara la IP pues lo configuramos en /etc/network/interfaces
y agregamos.

auto lo eth0 eth0:0
allow-hotplug eth0 eth0:0
iface eth0:0 inet static
addres 192.168.0.199
netmask 255.255.255.0

Fuente:

http://bytecoders.net/content/servidores-de-alta-disponibilidad-heartbeat.html
http://lubl.de/blog/2009/10/setting-up-hearbeat-failover-for-an-ip-adress-on-debian-squeeze/

viernes, 21 de enero de 2011

apt-get -f install

Tuve un pequeño problema al momento de querer instalar los paquetes en mi debian

# dpkg --configure -a
Configurando keyboard-configuration (1.68) ...
insserv: warning: script 'snort' missing LSB tags and overrides
insserv: There is a loop between service munin-node and snort if stopped
insserv: loop involving service snort at depth 2

Adjunto el grafico



Como siempre quise desinstalar el paquete en conflicto "munin" que quiza me generaba el "error"

#apt-get remove --purge munin
#apt-get remove --purge munin-node

sin exito aun no se podia instalar nada seguia con el mismo error, probe con aptitude igual entonces googleando por "E: Sub-process /usr/bin/dpkg returned an error code (1)"

http://www.linuxquestions.org/questions/debian-26/sub-process-usr-bin-dpkg-returned-an-error-code-1-a-171107/
http://www.esdebian.org/articulos/23994/correcion-sistema-paquetes-cuando-no-te-deja-instalar

Lo probe sin exito hasta que busque en google por: "dpkg: error al procesar initscripts (--configure):"

http://www.esdebian.org/foro/35449/problema-grave-aptitude-no-actualiza-instala-o-desinstala

Hay estaba la solucion, recientemente habia instalado snort, y puse el script de start/stop en el /etc/init.d/snort, lo que hize fue retirarlo y milagro !!!! quedo solucionado

ya puedo actualizar instalar nuevos paquetes en el debian squeeze, era solo remover ese script nada mas.

Saludos

lunes, 17 de enero de 2011

Google Earth 6.0 en Debian Squeeze 64bits

Luego de instalar nuevamente el google earth, pues en la version anterior se cerraba el programa ni bien empezaba a cargar los mapas, asi que aprovechando una nueva version le instale la 6.0.

Para ello siguiendo un jautu pasado, "logre instalarlo" pero al querer abrir el programa google earth mostraba el error

# googleearth

/usr/bin/googleearth: 14: /usr/lib/googleearth/googleearth-bin: not found

Pues leyendo en los foros de ubuntu encontre la solucion !!

bastaba instalar el paquete lsb-core

#apt-get install lsb-core

Listo !!!



Saludos

viernes, 7 de enero de 2011

Pgadmin3 1.12 en Debian



Si tenemos instalado el Postgresql 9.0, y queremos administrarla mediante el pgadmin3 pues tendremos dificultad al conectarnos, debido a que en los repos tenemos la version 1.10.

Para poder acceder a la Base de datos PG 9.0, pues tenemos que "actualizar" la version del pgadmin por la 1.12, para ello descargamos los archivos de esta direccion

http://rhonda.deb.at/debian/bpo/pgadmin3/

pgadmin3-data*****.deb
pgadmin3_1.12*****.deb

desinstalamos la version antigua de pgadmin3

#apt-get remove --purge pgadmin3

Luego procedemos a instalar la nueva version

# dpkg -i pgadmin3-data*****.deb
# dpkg -i pgadmin3_1.12*****.deb

Finalmente tenemos la version 1.12

PD: Al momento de instalar la nueva version te pide la instalacion de un paquete que esta en los repositorios (problema de dependencias incumplidas), un simple apt-get install paquete_faltante y listo.

# aptitude install libkrb53 libwxgtk2.8-0
Luego
# dpkg -i pgadmin3_1.12*****.deb



Saludos

Fuente:
http://lists.debian.org/debian-backports/2010/11/msg00027.html

db_autopwn con postgresql en squeeze

Holas

Un quick jautu de como instalar esta metralleta, que dispara todas las balas (exploits) contra la maquina elegida.

En un post previo se tiene un metasploit configurado pero con mysql y sqlite, ahora vamos por el postgres

un rapido #apt-get install postgresql, y ya tenemos el postgresql 8.4 en la PC, ahora vamos por lo requerido segun el db_driver se necesita esta libreria para tenerlo instalado



#apt-get install libpq-dev

despues hacemos un

#gem install postgres



Vemos que tenemos instalado el postgresql, ahora segun los reportes el Metasploit esta generando errores en el certificado SSL, cada vez que te conectas a la BD, bueno vamos con los pasos para superarlo.

Editamos el archivo
# nano /etc/postgresql/8.4/main/postgresql.conf

Buscamos esta linea y comentamos el ssl = true

#authentication_timeout = 1min # 1s-600s
#ssl = true # (change requires restart)

guardamos los cambios una reiniciada del servicio

#etc/init.d/postgresql restart

#su postgres -c psql
ALTER USER postgres WITH PASSWORD ‘tupass’;
\q

passwd -d postgres
su postgres -c passwd

Ahora vamos y ejecutamos el metasploit



En la imagen nos muestra un ejemplo de conexion pues hacemos eso un db_connect,

db_connect user:pass@192.168.0.2/metasploit3

El user : postgres
El pass : 'tu pass'
La base de datos: metasploit3 (previamente la creaste o no ??, puedes crear una al toque con el pgadmin3)

Una vez conectado a la base de dato

db_nmap IPdelavictima

un db_hosts para ver los datos de la misma, una vez con eso sacamos la metralleta

db_autopwn



Y empieza la carniceria ...

Fuente:
http://www.kalenarndt.com/security/backtrack-4-r1-db_autopwn-with-postgres-sql/

http://blog.metasploit.com/2006/09/metasploit-30-automated-exploitation.html