CategoríaTips

Violando sistemas: Sniffeando la red

Cuando se logra vulnerar la seguridad de un sistema informático y obtenemos acceso al servidor tenemos varias formas de continuar el ataque, ya sea revisando los archivos del servidor buscando información interesante, controlar distintos servicios como el de base de datos o de correo, revisar la información de cada usuario de sistema, dejar una puerta trasera para volver a ingresar al servidor, etc. Una de las cosas que más me gustan es saltar a otros servidores, hacer un análisis de la red y poder tener control sobre la mayor cantidad de máquinas que forman la red, ya sean servidores físicos o virtuales.
El primer paso para armar un diagrama lógico de red es empezare a ver la configuración de la o las tarjetas de red, ver los últimos accesos que se han hecho en forma local o desde la lan, revisar logs, archivo de hosts y obviamente empezar a escanear usando nmap (obviamente de forma local) o alguna otra utilidad que tenga instalada o que podamos instalar. Si no tenemos nmap lo podemos hacer con un simple script en bash que haga ping a todo un rango y nos diga qué dirección está arriba:

#!/bin/bash
NETWORK=192.168.1
FROM=100
TO=110
for x in $(seq $FROM $TO)
do
	ping -c 1 $NETWORK.$x >/dev/null 2>&1
	if [ $? -eq 0 ]; then
		echo $NETWORK.$x is up.
	else
		echo $NETWORK.$x is down.
	fi
done

Una vez que tengamos el mapa mental-lógico de la red podemos empezar a analizar el tráfico que pasa por ellas y acá es donde entran en juego los famosos sniffers, que nos ayudarán a reforzar nuestro diagrama:

Seguir leyendo

Imagenes y snapshots: Respaldo de servidores

Mi propósito era crear imágenes de todos los servidores del datacenter para que, en caso de cualquier contingencia, levantar un nuevo servidor identico simplemente traspasando la imágen de respaldo hacia ese servidor. Los sistemas estaban instalados usando volumenes lógicos (LVM) por lo que sería mucho más fácil crear imágenes y snapshots de respaldos. En un prinicpio pensé hacer directamente dd sobre los volumenes lógicos pero la imágen se corrompía y en muchos casos no podía volver a recuperarla. Existe la posibilidad de montar el volumen lógico en un directorio y respaldar, usando tar, bzip y esas cosas, sólo los archivos, pero no era mi propósito, ya que para restaurar solamente los archivos, debía tener una partición ya preparada, con el sistma de ficheros, sistema instalado, etc etc. En cambio, con la imágen simplemente hacia un dd para restaurarla, sin tener el sistema de archivos creado, etc.

Por twitter me recomendaron varias opciones. @Apostols me recomendó las herramientas “puppet” y “rlbackup”, mientras que @ssugasti “mondorescue”, pero yo seguia con mi idea de usar directamente “dd”. Debía hacer el mismo procedimiento en mas de 40 servidores, por lo que usar una aplicación “cliente->servidor” no era mi solución. Usar aplicaciones que requieran modo grafico o que requieran mucha interacción con el usuario tampoco me servian, yo necesitaba algo automatizado que pueda dejar corriendo de noche y volver al otro día y encontrar el trabajo hecho.

Seguir leyendo

Script para escanear la red en busca de servidores y servicios

Hace un par de días tuve la necesidad de escanear 3 redes completas, mas de 50 direcciones ip, en busca de servicios que corrieran en ellas. Obviamente, no iba a ingresar a cada servidor y hacer un netstat o revisar uno por uno que servicios tenia instalado, si para eso existe nmap!
Lo que hicste fue separar los rangos de ip en archivos distintos, para tener un orden y escanear la red en orden según los segmentos y luego hice un script que leia cada archivo y escaneaba la ip en busca de servicios, la salida del nmap la parseaba y lo guarda en un archivo separado por comas. En un principio el script mostraba todo en el stdout pero para que quedara más ordenado, preferí hacerlo en un CSV para poder abrirlo con oocalc.
El script me genera un archivo con la siguiente información:

host, IP, Servicio, Puerto, Version

Seguir leyendo

SSH, Port Forwarding y Tunneling: Saltarse las restricciones del firewall

En mi nuevo lugar de trabajo, misteriosamente está bloqueado por el firewall, entre otras cosas, la salida al puerto 25 de cualquier servidor. Desde mi portatil uso el cliente de correo Thunderbird conectandose a distintas cuentas  de correo que tengo alojadas en Google Apps asi que no podía quedarme sin revisar mis cuentas de correo, por lo que tuve que buscar la forma de hacerlo.
Lo primero que se me vino a la cabeza es hacer un port forwarding con ssh usando un servidor externo, sabiendo que tengo el puerto 22 desbloqueado para salir. Entonces, accedería a cualquier servicio corriendo en el puerto 25 mediante un redireccionamiento a traves del puerto 22. Con esta técnica podemos saltarons el firewall y todas las restricciones.

Seguir leyendo

Emulación de consolas en GNU/Linux: NeoGeo, MAME, SNES y PSX

No soy muy amante de los juegos pero debo reconocer que hay algunos que si me gustan, especialmente los de consola como NeoGeo, Súper Nintendo y Play 1. En busca de entretención y de distracción, el otro día me compré un joystick que me costó CLP$1.600 (unos USD$3)

Y luego me puse a probar distintos emuladores y juegos de consolas: NeoGeo, MAME, SNES, N64, PSX, etc.

Para emular juegos de NeoGeo tenemos el gngeo y el mame-sdl, para snes el famoso zsnes, para n64 mupen64 y para psx el epsxe.
A continuación, una pequeña muestra de cada emulador corriendo algún juego en especial.

Seguir leyendo

Bottom Stack en Dynamic Window Manager (DWM)

Hace meses que me decidí por usar DWM y de a poco voy teniendo distintas necesidades, por lo que he ido configurando poco a poco el gestor. Ultimamente, me dieron ganas de querer ordenar las ventanas de forma horizontal y revisando el sitio de DWM he encontrado el llamado “Bottom Stack”, que me ayudará a cumplir mi propósito.

Para lograrlo, simplemente tenemos que agregar un par de líneas al config.h y volver a compilarlo.

Seguir leyendo