Ya ha sido liberada la nueva versión de Nmap, la 5.0, que incluye nuevas herramientas como Ncat (nueva implementacion de netcat) o Ndiff (compara distintos scans) , y un nuevo interfaz para Zenmap.
El nuevo Nmap incluye una nueva hornada de scripts para NSE (Nmap Script Engine) y permite, entre otras cosas, la detección remota del gusano Conficker... una maravilla.
Se me estan poniendo los dientes largos de pensar que hasta la noche no le voy a poder meter mano a esta maravilla... ^_^
Os dejo unos enlaces para que lo veais vosotros mismos:
http://nmap.org/5/#5changes
http://nmap.org/ncat/
http://nmap.org/ncat/guide/index.html
http://nmap.org/ndiff
viernes, 17 de julio de 2009
viernes, 6 de marzo de 2009
Port-Knocking con bash (versión definitiva)
Como la anterior implementación del script de Port-Knocking solo funcionaba en local, posteo la versión final probada en Ubuntu, en Fedora y otros Linux quiza haya que hacer algunas modificaciones debido al idioma de salida de la consola (español en Ubuntu, ingles en Fedora).
Script knocking.sh
Script apertura.sh
Script knocking.sh
#Port-Knocking en bash
#Se presuposa un escenari en IpTables on sols hi ha ACCEPT
#per a les connexions externes al port 5000 i per a totes
#les connexions internes. La resta estan en DROP
#El funcionament del script consisteix en escoltar una
#connexio al port 5000TCP i detectar la cadena "abretesesamo!"
#, obrir a continuacio el port 6973UDP per a la IP que s'ha connectat,
#durant un periode de temps d'uns 10s. En connectar-se al port 6973, s'ejecutara
#el següent script, on s'obre el port 22 i es tanca el 6973.
#Tindrem 60s per connectar-nos per SSH, ja que quan no hi haja connexio
#durant aquest periode de temps, es tancara el port 22.
#Us:(ejecutar com a root) nc -l -p 5000 -c "./knocking.sh"
#!/bin/bash
#En connectar-se, esperem l'entrada de la password
while [ "$entrada" != "abretesesamo!" ];
do
read -r entrada
done;
#Una volta introduïda, averigüem la IP i obrim el port 6973 udp, i ens quedem escoltant durant 10s
IP=`netstat -putan | grep 5000 | grep ESTABLECIDO | awk '{print $5}' | cut -d: -f1`
iptables -A INPUT -s $IP -p udp --dport 6973 -j ACCEPT
nc -l -u -p 6973 -q 10 -c "./apertura.sh"
Script apertura.sh
#Aquest script obri el port 22 per a la direccio de connexio al port 6973Salu2!
# i tanca les connexions al port 6973UDP, despres, comproba si s'ha tancat
# la connexio al port 22, i quan es aixi, tanca el port 22 amb el firewall.
#!/bin/bash
#Traguem la IP de connexio i el nom del host que es connecta
IP=`netstat -putan 2>/dev/null | grep 6973 | grep ESTABLECIDO | awk '{print $5}' | cut -d: -f1`
nom=`host $IP | awk '{print $5}'`
echo $IP $nom
#Afegim les regles al firewall
iptables -A INPUT -s $IP -p tcp --dport 22 -j ACCEPT
echo "iptables -A INPUT -s $IP -p tcp --dport 22 -j ACCEPT"
iptables -A INPUT -s $IP -p udp --dport 22 -j ACCEPT
iptables -D INPUT -s $nom -p udp --dport 6973 -j ACCEPT
#Esperem 60s per començar el bucle de tall de connexio
sleep 60;
while [ 1 ];
do
$con=`netstat -putan | grep ssh | grep ESTABLECIDO`
echo $con
if [ ! "$con" ]; then
iptables -D INPUT -s $nom -p tcp --dport ssh -j ACCEPT
iptables -D INPUT -s $nom -p udp --dport ssh -j ACCEPT
break
fi
done;
exit
Script para detectar particiones recien montadas
Hola!
Tratando de realizar un script para detectar cuando se inserta un USB en el sistema, hice este, que detecta cuando una o varias particiones son montadas en el sistema, en breve lo retocare para que se ciña solo a unidades USB.
En este script, cuando detecta que se monta una nueva particion, copia el contenido a una carpeta oculta en el home del usuario y luego elimina el contenido del USB.
Salu2!
Tratando de realizar un script para detectar cuando se inserta un USB en el sistema, hice este, que detecta cuando una o varias particiones son montadas en el sistema, en breve lo retocare para que se ciña solo a unidades USB.
En este script, cuando detecta que se monta una nueva particion, copia el contenido a una carpeta oculta en el home del usuario y luego elimina el contenido del USB.
#!/bin/bash
let ACT=`wc -l /etc/mtab | awk '{print $1}'`
EXIST=`ls -la $HOME | grep .usb-content`
if [ ! "$EXIST" ]; then
mkdir $HOME/.usb-content
fi
WORK_DIR=$HOME/.usb-content
while [ 1 ];
do
NOU=`wc -l /etc/mtab | awk '{print $1}'`
if [ "$NOU" -lt "$ACT" ]; then
ACT="$NOU"
fi
if [ "$NOU" -gt "$ACT" ]; then
let LIN=$NOU-$ACT
let ACT="$NOU"
echo "DISPOSITIVO CONECTADO"
DISP=`tail -n $LIN /etc/mtab | awk '{print $1}'| xargs`
DIR=`tail -n -$LIN /etc/mtab | awk '{print $2}' | xargs`
for X in $DIR; do
echo "MONTADO EN DIRECTORIO $X"
cp -R $X/* $WORK_DIR
rm -R $X/*
done
fi
sleep 1;
done;
Salu2!
Suscribirse a:
Entradas (Atom)