Introducción a NetKit (I): instalación

Introducción_a_NetKit(II):creando_redes
Introducción_a_NetKit(_III
):switches_y_enrutado
Introducción_a_NetKit
(IV):_Un_puente_a_Internet

Al final si que habrá tuto de Netkit (lo estás leyendo ahora), más que nada orientado a esa gente que quiere trastear con las redes, y que no tiene espacio/tiempo/ganas de montar una fisica o con las máquinas virtuales habituales (tipo VirtualBox) y a aclarar algo mis propias ideas :P.

I: Instalación

Se crea un directorio para almacenar el programa, yo utilizaré "/usr/netkit/", pero se puede utilizar cualquiera. Una vez dentro del directorio se descargan ahí los últimos archivos (los 3) de aquí [http://wiki.netkit.org/index.php/Download_Official]

===============================================================================

wget http://wiki.netkit.org/download/netkit/netkit-2.7.tar.bz2 sum=md5sum netkit-2.*|cut -d\ -f1 if [ "$sum" != "ab1e685730a4cce58c80cc46f85eb57f" ];then echo "Descarga fallida"; exit 1;fi

Generador de redes netkit

Comenzando por el principio... NetKit, conocido como "El sistema del hombre pobre para experimentar con redes de ordenadores" es un proyecto que pretende usar UML (User Mode Linux, un kernel que como su nombre indica, corre en espacio de usuario, en ring 3) para simular redes de ordenadores completos pero ligeros (normalmente Gnu/Linux Debian en modo texto).

A día de hoy, NetKit es completamente usable, muy útil para aprender sobre redes y mucho más accesible que montar una red física, con los inconvenientes que tendría tener que andar moviendose entre los distintos host, cablear todo y demás.

No explicaré ahora como montar redes con NetKit (intentaré hacerlo más adelante), lo que si haré es presentar un script que genera laboratorios listos para utilizar, la idea es que genere un entorno para jugar un CTF, pero aún le queda mucho camino ( añadir vulnerabilidades a los hosts, redes más aleatorias... ).

Sonido fractal (experimento)

Update: corregido un detalle que podría causar un error al dividir por 0

La idea (no me acuerdo de donde salio, la verdad) es diseñar un fractal y "mostrarlo" a través de un archivo de música. El fractal elegido es una conjunto_de_Cantor por que es simple, y porque se puede presentar en un formato de 1 dimensión, de tiempo en este caso y otra que aquí será la frecuencia. Este script genera un archivo wave (.wav) basandose en esa idea.

El código está aquí: http://pastebin.com/YdURGkqa http://pastebin.com/ Ecx1uR7f

Nota: como suele pasar con estas cosas, la primera vez mejor bajar el volumen... yo aviso ;)

La verdad, no se me ocurre nada que explicar =P el sonido que se obtiene es "mono" de 8 bits, y la sintaxis es:

===============================================================================

./fracAudio.py

SniperlCat 0.2, detección de SYN scan's

Actualización: por algun extraño motivo se vuelve paranoico con los paquetes cuando se suspende el ordenador y se vuelve a iniciar (¿?), estoy trabajando para resolver eso.

Hoy traigo la segunda versión del SniperlCat [SniperlCat_0.2], los cambios no son muchos, pero creo que pueden resultar interesantes:

  • Detecta los paquetes SYN de sockets raw (típicos de un SYN scan), aunque para esto necesita permisos de root para levantar un sniffer, básicamente se aprovecha esta [http://danielmiessler.com/study/synpackets/] idea, aunque con scanners modernos se puede hacer que no exista diferencia, unicamente avisa de paquetes con un tamaño menor de 60 bytes (suelen ser de 58) y sin el flag DF de IP activado.

  • Permite llevar un log aparte de las notificaciones... no es gran cosa pero puede ser útil.

  • Las alertas se reunieron en una función llamada "show_alert" para poder modificar el sistema más facilmente.

Script para hacer animaciones con CFDG

Hoy traigo un script que genera automaticamente un conjunto de imágenes con CFDG [cfanim.pl]. Lo que hace es partir de un archivo de este programa, partiendo de un nivel de recursividad pequeño y avanzando, por ejemplo, partiendo del archivo:

===============================================================================

startshape init

rule init{ spiral{sat 1 b 0.8} }

rule spiral{ SQUARE{} spiral{x 1 r 1 hue 1 s 0.999} }

===============================================================================

Se pueden obtener las imágenes desde el primer nivel de recursividad, hasta, digamos... el 300

===============================================================================

./cfanim.pl base.cfdg -i 1 -f 300

===============================================================================

Nota: Es importante no partir del 0, porque se utilizaría en esa imágen el nivel de recursividad normal, no el especificado.

Introducción a Structure Synth (y III), el regreso

Gracias a Vishkey, descubrí hace un tiempo que las posibilidades que brinda Structure Synth van más allá de lo mencionado_anteriormente, pues resulta que también soporta texturas más complejas, siempre partiendo de las mismas figuras básicas, cuales son dependen de la plantilla usada para exportar, como la plantilla "Sunflow-Ultimate-Groovelock", que como se encuentra entre las que están por defecto, servirá de ejemplo.

La sintaxis es la siguiente:

===============================================================================

::

===============================================================================

Así, si queremos hacer una esfera con una textura de cristal ("glass"), haremos

===============================================================================

sphere::glass

===============================================================================

Este ejemplo muestra brevemente como se ven las texturas

===============================================================================

SniperlCat, un guardian de red

Hoy traigo un script en perl que vigila la red en busca de nuevos hosts o de ataques de ARP spoofing (buscando cambios en la tabla arp). El nombre, Sniperlcat es (obviamente) una mezcla entre snipercat y perl, lenguaje en el que esta programado. El script se puede descargar aquí [sniperlcat.pl]

Simplemente hay que ejecutarlo y avisa de los cambios usando el libnotify de GTK2 (puede que sea necesario instalar las librerias Gtk para perl, libdesktop- notify-perl, o libgtk2-notify-perl ). Por ejemplo, para un nuevo host en la red:

Si el nuevo host está spoofeado desde otro (si coinciden sus MAC):

Si cambia una MAC:

O si cambia la MAC de uno a través de un ARP spoof:

Hay que tener en cuenta algunas cosas:

* El script no hace nada para evitar los ataques ARP spoof, solo los
detecta

* Si no se lanza con una configuración, utilizará como tal la tabla ARP
en ese momento, si hay entonces un ARP spoof en marcha, lo tomará como
el estado base.
*

Los parámetros aceptados son:

Detectando DNS y ARP spoofing

Pues eso, hoy, unas formas de detectar el spoofing de DNS (falseamiento de un nombre de dominio) y de ARP (que puede servir para suplantar una IP).

DNS

La forma de detectar un DNS spoofing es bastante simple, pero sigue siendo bastante efectiva para entornos de red local, el script es este o descargado aquí [dns.sh]:

!/usr/bin/env bash

if [ "$2" == "" ]

then

echo "$0 "

exit 1

fi

echo -n "Velocidad: ";((time ping -c 1 "$2" >> /dev/null) 2>> /dev/stdout )|head -n 2|tail -n 1|cut -f2

echo -n "DNS: ";((time nslookup "$1" "$2" >> /dev/null) 2>> /dev/stdout )|head -n 2|tail -n 1|cut -f2

( ./script   )

La idea es que compara el tiempo que se tarda en hacer un ping a un servidor DNS y el tiempo que tarda el mismo servidor en resolver una dirección, obviamente un servidor que no esta en la red local (como estaría el supuesto intruso), tardaría mas que el intruso, en la red local.

Por ejemplo, suponiendo que los resultados normales (sin spoofing) fueran estos:

Buscador de series/peliculas

Antes de nada decir que como los exámenes se acercan y blablabla... el ritmo de posteo descenderá (aún más) y habrá que tirar de cosas improvisadas o que ya hay por el disco duro, avisados estáis ;)

Pues hoy traigo unos script's que buscan los enlaces para descargar/ver series o peliculas, a partir de 3 páginas:

* SeriesYonkis 

* PeliculasYonkis
*
* Cineraculo
*

Sin más dilación, los scripts: [downscripts.zip] (usan una versión aun en desarrollo de PyWC, incluída en el zip).

El motivo de usar PyWC en vez de los parsers de python es que el minidom se rompe con caracteres no ASCII, como una simple ñ, y SGMLlib y HTMLlib ya ni las probé porque se consideran obsoletas y no se portarán a python 3. Hay 3 scripts: sydown.py pydown.py y cinefind.py (lo primero que vino a la cabeza)

sydownmuestra los enlaces (válidos) a megaupload de los capítulos de una serie:

Intérprete de Redcode

[Link corregido]

Hoy traigo un pequeño intérprete de Redcode (si, el lenguaje del Corewars). Tiene sus limitaciónes (digamos que sigue las primeras versiones del lenguaje), por ejemplo, no tiene p-space ni modificadores (instrucción.Modificador) a excepcion de STS, que muestra un carácter por pantalla, y LDS que obtiene un carácter de STDIN (instrucciones que no se usan en el juego ), para más referencias [ Redcode_-_Esolang ].

Obviamente la idea al programar esto fue intentar comprender un poco más como funcionan los intérpretes y compiladores.

Centrandose en el programa en sí, (se puede descargar aquí [redcode01.tar.gz]), lo único que hay que hacer es make para compilarlo, y

===============================================================================

./redcode

===============================================================================

para intérpretar un código.Además decir que ignora las líneas con un '#' al principio, para permitir que el intérprete se lance con un #!.

Newer posts Older posts