Para los preocupados de tener intrusos en su red.

tuxwar

Bovino maduro
#1
Mucho se ha dicho en este foro sobre la indignacion que sienten porque personas con una distro como wifiway, wifislax o backtrack pueden hacer de las suyas y robar las claves wep de los vecinos, bien pues aqui les traigo un script que detecta equipos que no deben estar dentro de la red esta comentado asi que no hay mucho que aclarar, tengo que aclarar para evitar malos entendidos que no es de mi autoria y sinceramente esta lleno de lineas que no son necesarias pero funciona, yo ya lo habia depurado pero no recuerdo donde deje mi archivo jeje lo siento de momento aqui les dejo este.

para la implementacion es muy sencilla abre tu gedit como root y guarda el archivo en tu home con el nombre que tu quieras yo lo llame alertared despues editas crontab
con el comando $ crontab -e y añades la siguiente linea

*/5 * * * * /home/usuario/alertared

lo cual indica que se ejecutara cada 5 minutos hay que hacerle unas modificaciones al codigo pero son muy simples dentro del codigo estan los comentarios de lo que se debe hacer.

DESCARGA


Código:
#!/bin/bash
#declaracion de arrays
declare -a IPS_CONOCIDAS
declare -a MACS_CONOCIDAS

####################
#Configuracion:
####################

#Array de ip's conocidas, la primera debe ser la del router, no hace falta poner la propia
#separar por espacios las ips
IPS_CONOCIDAS=( "192.168.1.200"  )

#Array de MAC's conocidas (para que no liste las direcciones DHCP de ordenadores conocidos)
#para conocer una MAC, usar el comando "arp IP"
#separar por espacios las macs
MACS_CONOCIDAS=( "00:11:21:33:44:55" )

#Interfaz de red (eth0, wlan0, etc)
DEVICE="wlan0"

#Mascara de red (24=255.255.255.0, 16=255.255.0.0)
MASK=24

#####################
#Menu de opciones
for opt in $@; do
    if [ "$opt" = "-h" ]; then
        echo "alertared 1.0 (http://www.tuxapuntes.com/drupal/node/1710) por Ivan Vergés"
        echo "Este programa busca los host de una red y devuelve los conectados y su MAC"
        echo "USO alertared [Parametros]"
        echo "OPCIONES:"
        echo "    -h Muestra esta ayuda"
        echo "    -l Usa el script en modo LOG, es decir pone una linea por host"
        echo "       intruso con la fecha primero, no escribe ninguna otra información"
        echo "    -n No hace uso del programa notify-send que informa al escritorio de los resultados"
        echo "    -m No hace uso del programa arp y no resuelve las MAC de los resultados"
        echo "    -a Devuelve todos los hosts encontrados independientemente de las"
        echo "       variables internas IPS_CONOCIDAS y MACS_CONOCIDAS"
        exit
    fi
    if [ "$opt" == "-l" ]; then
        LOG=1
    fi
    if [ "$opt" == "-n" ]; then
        NONOTIFY=1
    fi
    if [ "$opt" == "-m" ]; then
        NOMAC=1
    fi
    if [ "$opt" == "-a" ]; then
        IPS_CONOCIDAS=( )
        MACS_CONOCIDAS=( )
    fi
done

#aqui obtenemos la nuestra ip
ip=$(/sbin/ifconfig "$DEVICE" | grep "inet" | awk '{print $2}' | cut -c 6-)
if [ ! $LOG ]; then
    echo "Mi ip: $ip"
fi
#añadimos nuestra IP al array
IPS_CONOCIDAS[${#IPS_CONOCIDAS
[*]}]=$ip
if [ ! $LOG ]; then
    echo "No se controlan los equipos siguientes: "${IPS_CONOCIDAS
[*]}
    if [ "${MACS_CONOCIDAS
[*]}" != "" ] && [ ! $NOMAC ]; then
         echo "No se controlan los equipos con las MAC siguientes: "${MACS_CONOCIDAS
[*]}
    fi
fi

#Comprovar si existen los programas que usaremos:
if [ ! -x /usr/bin/nmap ]; then
    echo "El programa nmap no está instalado!"
    exit
fi
if [ ! $NONOTIFY ] && [ ! -x /usr/bin/notify-send ]; then
    echo "El programa notify-send no está instalado!"
    echo "Puedes llamar al programa con la opcion -n para no usar notify-send"
    exit
fi
if [ ! $NOMAC ] && [ ! -x /usr/sbin/arp ]; then
    echo "El programa arp no está instalado!"
    echo "Puedes llamar al programa con la opcion -m para no usar arp"
    exit
fi

#con este comnado de nmap nos muestra los hosts conectados
#y los guarda en el fichero "-" que es la salida standard
#redireccionada a la variable variable HOST_IPS
if [ ! $LOG ]; then
    echo "Buscando equipos..."
fi
HOST_IPS=$(/usr/bin/nmap -sP ${IPS_CONOCIDAS[0]}/$MASK -oG -)

#aqui cortamos el formato obtenido anteriormente de archivo para solo obtener las ip's
IPS=$(echo "$HOST_IPS" | grep Host | cut -c 7-20 | tr -d "\()")

#aqui capturamos el numero de lineas que tiene nuestro archivo
#en este caso la cantidad de ip's que hay en el archivo "-" (entrada standard)
contador=$(echo "$IPS" | wc -l - | cut -c 1-2)
total=$(expr $contador - 1)

#esto es para que el script tenga acceso a las X des de crontab
export DISPLAY=:0
export XAUTHORITY="$HOME/.Xauthority"

#Bucle de búsqueda entre las ip's encontradas
var=0
while [ $var -le $total ]; do
    SALTA_BUCLE=0
    let var=$var+1
    #capturamos la ip por linea
    linea=$(echo "$IPS" | sed -n "$var p")
    #quitamos espacios sobrantes
    linea=${linea/ /}
    for i in ${IPS_CONOCIDAS
[*]}
    do
        if [ "$i" == "$linea" ]; then
            if [ ! $LOG ]; then
                echo "La IP $linea está en la red conocida"
            fi
            SALTA_BUCLE=1
            break
        fi
    done
    if [ "$SALTA_BUCLE" == "1" ]; then
        continue
    fi
    #obtenemos informacion de la ip
    if [ ! $NOMAC ]; then
        ARP=$(/usr/sbin/arp -a $linea)
    else
        ARP=""
    fi
    #nos quedamos con la mac
    MAC=$(echo "$ARP" | awk '{print $4}')
    #quitamos espacios sobrantes
    MAC=${MAC/ /}
    #el nombre de host a veces sale también
    NAME=$(echo "$ARP" | awk '{print $1}')
    for i in ${MACS_CONOCIDAS
[*]}
    do
        if [ "$i" == "$MAC" ]; then
            if [ ! $LOG ]; then
                echo "La IP $linea (HOST: $NAME MAC: $MAC) está en la red conocida"
            fi
            SALTA_BUCLE=1
            break
        fi
    done
    if [ "$SALTA_BUCLE" == "1" ]; then
        continue
    fi

    if [ ! $NOMAC ]; then
        AVISO="Conectado $linea (HOST: $NAME MAC: $MAC)"
    else
        AVISO="Conectado $linea"
    fi

    if [ ! $NONOTIFY ]; then
        #aviso al sistema de notificaciones de escritorio
        /usr/bin/notify-send "$AVISO"
    fi

    if [ $LOG ]; then
        #modo log, una sola linea con la fecha
        if [ ! $NOMAC ]; then
            echo `/bin/date --rfc-3339=seconds`" HOST $linea ARP $ARP"
        else
            echo `/bin/date --rfc-3339=seconds`" HOST $linea"
        fi
    else
        #modo normal
        #Para enterar-se por la consola también:
        echo "$AVISO"
    fi
    
done
 
#2
oye está genial, como siempre. Una pregunta cómo podría modificar un scrip, sucede que tengo uno que reduce la calidad de las imágenes pero lo tengo que ir haciendo una por una... me gustaría seleccionar varias y que al mismo tiempo me redujera la calidad... qué dices?? me haces el paro pa que suba el scrip??
 

tuxwar

Bovino maduro
#5
Respuesta...

oye está genial, como siempre. Una pregunta cómo podría modificar un scrip, sucede que tengo uno que reduce la calidad de las imágenes pero lo tengo que ir haciendo una por una... me gustaría seleccionar varias y que al mismo tiempo me redujera la calidad... qué dices?? me haces el paro pa que suba el scrip??
Si subelo para revisarlo, espero tu respuesta.
 

ohem

Bovino maduro
#8
que bien, es bueno para los administradores, lamentablemente no todos los usuarios normales por asi decirlo usan linux y pueden implementar el script

Saludos
 

cballivian

Bovino maduro
#9
oye está genial, como siempre. Una pregunta cómo podría modificar un scrip, sucede que tengo uno que reduce la calidad de las imágenes pero lo tengo que ir haciendo una por una... me gustaría seleccionar varias y que al mismo tiempo me redujera la calidad... qué dices?? me haces el paro pa que suba el scrip??
La verdad no se como hacerlo con un script pero yo uso el gthumb, te permite seleccionar varias imagenes y reducirlas a la calidad que selecciones, espero te sirva
 

tuxwar

Bovino maduro
#10
Gracias por sus comentarios, y cualquier duda tratare de responderle, por cierto una diskulpa si no les kontesto a tiempo es ke he tenido mucho trabajo por eso es ke no he podido aotar mas pero voy a tratar de rehabilitar mi blog para dejar aho todo lo que he aportado y lo puedan seguir consultando, saludos y como siempre mil gracias.
 
#11
creo que hay una aplicacion llamada angry ipscanner que te hace este trabajo, la pregunta es si tengo corriendo firestarter en mi laptop y tengo inhabilitada la respuesta icmp, me seguiran detectando en la red???, normalmente me conecto usando macs "familiares" que se conectan a los infinitums,
saludos
 

tuxwar

Bovino maduro
#12
es muy posible usando, nmap o wireshark o ettercap, etc existe un sin fin de herramientas claro que debes saber usarlas jajajaja no creo que estas seguro alguien que deja po default su proteccion wep seguro que no sabe ni que es un modem saludos.
 
Arriba