The Needle


July 16, 20242 minutes

As a part of our SDLC process, we’ve got our firmware ready for security testing. Can you help us by performing a security assessment?

Como parte de nuestro proceso SDLC, tenemos nuestro firmware listo para pruebas de seguridad. ¿Podrías ayudarnos realizando una evaluación de seguridad?

Archivos proporcionados: firmware.bin

Empezamos extrayendo los archivos del firmware

d3bo@lenovo ~/D/h/c/needle> binwalk --extract firmware.bin
d3bo@lenovo ~/D/h/c/needle> ls
    _firmware.bin.extracted  firmware.bin

Nuestro objetivo es encontrar credenciales.

Empecé enumerando archivos como shadow, passwd…

d3bo@lenovo ~/D/h/c/n/_firmware.bin.extracted [1]> cat shadow
   1   root::0:0:99999:7:::
   2   daemon:*:0:0:99999:7:::
   3   ftp:*:0:0:99999:7:::
   4   network:*:0:0:99999:7:::
   5   nobody:*:0:0:99999:7:::
   6   dnsmasq❌0:0:99999:7:::
d3bo@lenovo ~/D/h/c/n/_firmware.bin.extracted> cat passwd

Pero no había nada destacable.

Después empecé a filtrar con grep por archivos que contengan la palabra pass o user y tampoco encontré nada

grep -r 'user' .
grep -r 'pass' .

Al filtrar por archivos que contengan la palabra login, vemos un posible usuario llamado Device_Admin y como contraseña se usa $sign.

d3bo@lenovo ~/D/h/c/n/_firmware.bin.extracted> grep -r 'login'
 .......
telnetd.sh:		telnetd -l "/usr/sbin/login" -u Device_Admin:$sign	-i $lf &
 .......

Vamos a ver donde se declara la variable $sign para poder ver su valor

d3bo@lenovo ~/D/h/c/n/_firmware.bin.extracted> grep -r 'sign='
telnetd.sh:sign=`cat /etc/config/sign`

Parece ser que sign tiene de valor el contenido del archivo /etc/config/sign

d3bo@lenovo ~/D/h/c/n/_firmware.bin.extracted> cat sign
     qS6-X/n]u>fVfAt!

Ya tenemos las credenciales: Device_Admin:qS6-X/n]u>fVfAt!

d3bo@lenovo ~/D/h/c/n/_firmware.bin.extracted> nc 94.237.53.157 47932

ng-822100-hwtheneedle-8twgm-5c74c747b5-8gmb2 login: Device_Admin
Device_Admin
Password: qS6-X/n]u>fVfAt!

ng-822100-hwtheneedle-8twgm-5c74c747b5-8gmb2:~$ ls
flag.txt

Ya podemos ver la flag