Hola a todos Hoy consideraremos la opción de ejecutar mimikatz en Windows 10. Mimikatz es una herramienta que implementa la funcionalidad del Editor de credenciales de Windows y le permite extraer los datos de autenticación del usuario que inició sesión en el sistema en forma abierta.
Durante el primer momento, es útil tener algo que elimine las contraseñas de los usuarios, pero ahora incluso el Windows Defender estándar integrado en Windows se está convirtiendo en un problema y puede interferir con nuestros grandiosos planes.
Observo que este método también es adecuado para otros productos antivirus (Virustotal ANTES y DESPUÉS también lo cree), que realizan un análisis estático de binarios por firma.
Entonces, aunque es poco probable que este método lo ayude contra las soluciones EDR, puede sortear fácilmente Windows Defender.
Anteriormente, podía evitarlo cambiando las palabras en el archivo de mimikatz a mimidogz, eliminando un par de líneas en los metadatos y las pancartas. Ahora se ha vuelto más difícil, pero aún posible.
Por la idea de toda esta acción, expreso gratitud a la persona con el apodo ippsec.
En este artículo usaremos:
Al copiar mimikatz en la computadora de la víctima, se espera que veamos tal alerta.
A continuación, realizaremos una serie de manipulaciones para que Defender deje de ver la amenaza aquí.
En primer lugar, encontraremos y reemplazaremos las palabras mimikatz. Reemplace mimikatz, por ejemplo, con thunt (puede reemplazarlo con cualquier cosa) y MIMIKATZ con THUNT. Se ve algo como esto.
A continuación, editaremos el archivo mimikatz \ mimikatz \ mimikatz.rc en Visual Studio (que después de que nuestro reemplazo ahora sea thunt.rc), reemplazando mimikatz y gentilkiwi con cualquier cosa, tampoco olvidaremos reemplazar mimikatz.ico con cualquier otro ícono. Haga clic en "reconstruir solución" (o reconstruir solución) y obtenga nuestra versión actualizada de mimikatz. Copiamos a las víctimas a la computadora, ii ... alerta. Veamos para qué trabaja Defender. La forma más fácil es copiar un binario con un tamaño diferente antes de la primera operación del antivirus.
Primero, copie la mitad y cópielo en una máquina con Windows 10.
head –c 600000 mimikatz.exe > hunt.exe
El defensor está en silencio, ya no está mal. Experimentando, encontramos la primera operación. Se veía así para mí:
head -c 900000 mimikatz.exe > hunt.exe – head -c 950000 mimikatz.exe > hunt.exe – head -c 920000 mimikatz.exe > hunt.exe – head -c 930000 mimikatz.exe > hunt.exe – head -c 940000 mimikatz.exe > hunt.exe – head -c 935000 mimikatz.exe > hunt.exe – head -c 937000 mimikatz.exe > hunt.exe – head -c 936000 mimikatz.exe > hunt.exe – head -c 936500 mimikatz.exe > hunt.exe – head -c 936400 mimikatz.exe > hunt.exe – head -c 936300 mimikatz.exe > hunt.exe – head -c 936200 mimikatz.exe > hunt.exe –
Abra hunt.exe en el editor hexadecimal y observe para qué podría funcionar Defender. El ojo captó la cuerda KiwiAndRegistryTools.

Juguemos con mayúsculas al azar: se ha convertido en KiWIAnDReGiSTrYToOlS, guarda y copia. Silencio, lo que significa que acertamos. Ahora encontraremos todas las apariciones de estas líneas en el código, reemplazaremos y reconstruiremos nuestro proyecto. Para verificar, ejecute head -c 936300 mimikatz.exe> hunt.exe. La última vez que Defender trabajó, ahora no. Siguiendo adelante.
De una manera tan complicada, al agregar más y más líneas a nuestro hunt.exe, se descubrieron palabras de activación: wdigest.dll, isBase64InterceptOutput, isBase64InterceptInput, multirdp, logonPasswords, credman. Cambiándolos con mayúsculas al azar, me aseguré de que Defender dejara de insultarlos.
Pero no podría ser tan fácil, pensó Defender y trabajó para funciones importadas y sensibles a mayúsculas y minúsculas. Estas son funciones que se llaman desde la biblioteca netapi32.dll.
- I_NetServerAuthenticate2
- I_NetServerReqChallenge
- I_NetServerTrustPasswordsGet
Si echamos un vistazo a netapi32.dll (C: \ windows \ system32 \ netapi32.dll), veremos que a cada función se le asigna un número.

Cambiar la llamada de función desde el formulario
windows.netapi32.I_NetServerTrustPasswordsGet (args)
en
windows.netapi32 [62] (argumentos)
Para hacer esto, necesitamos reemplazar mimikatz \ lib \ x64 \ netapi32.min.lib. Cree un archivo netapi32.def y escriba las siguientes líneas allí:
LIBRARY netapi32.dll EXPORTS I_NetServerAuthenticate2 @ 59 I_NetServerReqChallenge @ 65 I_NetServerTrustPasswordsGet @ 62
Guardamos y ejecutamos el comando (no olvides hacer una copia de seguridad del netapi32.min.lib original por si acaso)
lib /DEF:netapi32.def /OUT:netapi32.min.lib
Una vez más, reconstruiremos el proyecto y copiaremos lo que tenemos. El defensor está en silencio. Ejecute el mimikatz resultante con derechos de administrador.

Éxito Por lo tanto, se inicia mimikatz y Windows Defender no funcionó, que es a lo que estábamos apuntando. Se emiten contraseñas, apariencias y hashes.
TrampasEn espera:
* Username : thunt * Domain : DESKTOP-JJRBJJA * Password : Xp3#2!^&qrizc
Realidad:
* Username : thunt * Domain : DESKTOP-JJRBJJA * Password : (null)
La situación en la vida es algo diferente de las condiciones de laboratorio. Es posible que deba trabajar con el registro para ver la contraseña. Por ejemplo, habilite o cree una clave UseLogonCredential (HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ WDigest). Pero puede haber problemas con esto, ya que Al reiniciar, las teclas se pueden volver a configurar.
Puede ser aún peor si, si ejecuta una de las últimas versiones de Windows 10, en lugar de la contraseña en texto plano verá esto:
* Password : _TBAL_{68EDDCF5-0AEB-4C28-A770-AF5302ECA3C9}
Se trata de TBAL, que es el sucesor del
inicio de sesión de reinicio automático (
ARSO ). Ahora, cuando se solicita TBAL, lsasrv comprueba si la cuenta es local o cuenta de MS y, en base a esto, usa msv1_0 o cloudAP para guardar todo lo necesario para reanudar una sesión de usuario. Después de eso, el mecanismo de inicio de sesión automático se configura con la contraseña codificada _TBAL_ {68EDDCF5-0AEB-4C28-A770-AF5302ECA3C9}.
Sin embargo, en el laboratorio recibimos la contraseña del usuario, y en una situación de combate, al menos podemos obtener hashes.