Hackear contraseñas ocultas con Smbexec

Hackear contraseñas ocultas con Smbexec

Escribimos regularmente sobre cómo los piratas informáticos a menudo recurren a la explotación métodos de hacking sin código maliciosopara evitar la detección. son literalmente "sobrevivir en el pasto", utilizando medios estándar WindowsDe esta forma, eluden los antivirus y otras herramientas de detección de malware. Como defensores, nos vemos obligados a afrontar las graves consecuencias de estas ingeniosas técnicas de piratería: un empleado con contactos puede utilizar el mismo método para robar datos de forma encubierta (propiedad intelectual de la empresa, números de tarjetas de crédito). Si actúan con cautela y sigilo, será extremadamente difícil, aunque posible si se emplean las tácticas adecuadas. Instrumentos, — para identificar dicha actividad.

Por otro lado, no quisiera demonizar a los empleados porque nadie quiere trabajar en un entorno empresarial sacado directamente de 1984 de Orwell. Afortunadamente, existen una serie de pasos prácticos y trucos que pueden hacer la vida mucho más difícil para los iniciados. consideraremos métodos de ataque encubiertos, utilizado por piratas informáticos por empleados con cierta formación técnica. Y un poco más adelante discutiremos opciones para reducir tales riesgos: estudiaremos opciones tanto técnicas como organizativas.

¿Qué pasa con PsExec?

Edward Snowden, con razón o sin ella, se ha convertido en sinónimo de robo de información privilegiada. Por cierto, no olvides echarle un vistazo esta nota sobre otros insiders que también merecen algo de fama. Un punto importante que vale la pena enfatizar sobre los métodos que utilizó Snowden es que, hasta donde sabemos, no lo instalé ¡Sin software malicioso externo!

En cambio, Snowden utilizó un poco de ingeniería social y utilizó su puesto como administrador de sistemas para recopilar contraseñas y crear credenciales. Nada complicado - ninguno mimikatz, ataques Hombre en el medio o metasploit.

Los empleados de las organizaciones no siempre se encuentran en la posición única de Snowden, pero hay una serie de lecciones que aprender del concepto de "supervivencia alimentándose" que deben tener en cuenta: no participar en ninguna actividad maliciosa que pueda ser detectada y ser especialmente Cuidado con el uso de credenciales. Recuerda este pensamiento.

Psexec y su primo crackmapexec han impresionado a innumerables pentesters, hackers y blogueros de ciberseguridad. Y cuando se combina con mimikatz, psexec permite a los atacantes moverse dentro de una red sin necesidad de conocer la contraseña en texto claro.

Mimikatz intercepta el hash NTLM del proceso LSASS y luego pasa el token o las credenciales, el llamado. ataque "pasar el hash" – en psexec, permitir que un atacante inicie sesión en otro servidor como otro usuario. Y con cada movimiento posterior a un nuevo servidor, el atacante recopila credenciales adicionales, ampliando el alcance de sus capacidades para buscar contenido disponible.

Cuando comencé a trabajar con psexec me pareció mágico - gracias Marcos Russinovich, el brillante desarrollador de psexec, pero también conozco su ruidoso componentes. ¡Él nunca es reservado!

El primer hecho interesante sobre psexec es que utiliza herramientas extremadamente complejas. Protocolo de archivos de red SMB de Microsoft. Usando SMB, psexec transfiere pequeñas binario archivos al sistema de destino, colocándolos en la carpeta C:.Windows.

A continuación, psexec crea WindowsEl servicio utiliza el binario copiado y lo ejecuta con el nombre "inesperado" PSEXECSVC. Puedes comprobar todo esto, como hice yo, monitorizando la máquina remota (ver más abajo).

Hackear contraseñas ocultas con Smbexec

La seña de identidad de Psexec es el servicio "PSEXECSVC". Este ejecuta un archivo binario ubicado mediante SMB en la carpeta C:.Windows.

Como paso final, se abre el archivo binario copiado. conexión RPC al servidor de destino y luego acepta comandos de control (por defecto, a través del intérprete de comandos). Windows), ejecutándolos y redirigiendo la entrada y salida a la máquina doméstica del atacante. El atacante ve un indicador de comandos básico, igual que si estuviera conectado directamente.

¡Muchos componentes y un proceso muy ruidoso!

Los complejos aspectos internos de psexec explican el mensaje que me desconcertó durante mis primeras pruebas hace varios años: "Iniciando PSEXECSVC..." seguido de una pausa antes de que aparezca el símbolo del sistema.

Hackear contraseñas ocultas con Smbexec

Psexec de Impacket en realidad muestra lo que sucede debajo del capó.

No es sorprendente: psexec hizo una gran cantidad de trabajo bajo el capó. Si estás interesado en una explicación más detallada, consulta aquí. por que maravillosa descripción.

Obviamente, cuando se utiliza como herramienta de administración del sistema, que era propósito original psexec, no hay nada de malo en el "zumbido" de todos estos mecanismos. Windows No. Sin embargo, para un atacante, psexec crearía complicaciones, y para un empleado precavido y astuto como Snowden, psexec o una utilidad similar supondría un riesgo demasiado grande.

Y luego viene Smbexec

SMB es una forma inteligente y secreta de transferir archivos entre servidores, y los piratas informáticos se han infiltrado directamente en SMB durante siglos. Creo que ya todo el mundo sabe que no merece la pena. abrir Puertos SMB 445 y 139 a Internet, ¿verdad?

En Defcon 2013, Eric Millman (brav0hax) presentado smbexec, para que los pentesters puedan probar el hackeo sigiloso de PYMES. No conozco toda la historia, pero Impacket perfeccionó aún más smbexec. De hecho, para mis pruebas, descargué los scripts de Impacket en Python desde Github.

A diferencia de psexec, smbexec evita transferir un archivo binario potencialmente detectado a la máquina de destino. En cambio, la empresa de servicios públicos vive enteramente del pasto hasta el lanzamiento. local línea de comando Windows.

Lo que hace es pasar el comando de la máquina atacante a través de SMB a un archivo de entrada especial, y luego crea y ejecuta una línea de comandos compleja (como un servicio). Windows), que resultará familiar para los usuarios de Linux. En resumen: ejecuta el nativo Windows-cmd shell, redirige la salida a otro archivo y luego la envía a través de SMB de vuelta a la máquina del atacante.

La mejor manera de entender esto es mirar la línea de comando, a la que pude acceder desde el registro de eventos (ver más abajo).

Hackear contraseñas ocultas con Smbexec

¿No es esta la mejor manera de redirigir E/S? Por cierto, la creación del servicio tiene el ID de evento 7045.

Al igual que psexec, también crea un servicio que hace todo el trabajo, pero el servicio posterior remoto – ¡Se usa solo una vez para ejecutar el comando y luego desaparece! Un oficial de seguridad de la información que monitoree la máquina de una víctima no podrá detectar obvio Indicadores de ataque: no se está iniciando ningún archivo malicioso, no se está instalando ningún servicio persistente y no hay evidencia de que se esté utilizando RPC, ya que SMB es el único medio de transferencia de datos. ¡Brillante!

Por parte del atacante, está disponible un "pseudoshell" con retrasos entre el envío del comando y la recepción de la respuesta. Pero esto es suficiente para que un atacante, ya sea un hacker interno o externo que ya tiene un punto de apoyo, comience a buscar contenido interesante.

Hackear contraseñas ocultas con Smbexec

Para enviar datos desde la máquina objetivo a la máquina del atacante, se utiliza smbclient. Si, es la misma Samba. Utilita, pero Impacket solo lo convierte a un script de Python. De hecho, smbclient le permite alojar de forma encubierta transferencias FTP a través de SMB.

Retrocedamos un paso y consideremos qué podría significar esto para un empleado. En mi escenario ficticio, digamos que a una bloguera, analista financiera o consultora de seguridad muy bien pagada se le permite usar su computadora portátil personal para trabajar. Mediante algún proceso mágico, se resiente de la empresa y se descontrola. Dependiendo del sistema operativo de la computadora portátil, usa la versión de Python de Impact o Windows Versión de smbexec o smbclient como un archivo .exe.

Al igual que Snowden, descubre la contraseña de otro usuario mirando por encima del hombro o tiene suerte y se topa con un archivo de texto con la contraseña. Y con la ayuda de estas credenciales, comienza a explorar el sistema para alcanzar un nuevo nivel de privilegios.

Hackear DCC: no necesitamos ningún Mimikatz "estúpido"

En mis publicaciones anteriores sobre pentesting, usé mimikatz muy a menudo. Esta es una gran herramienta para interceptar credenciales: hashes NTLM e incluso contraseñas de texto sin cifrar ocultas dentro de las computadoras portátiles, esperando ser utilizadas.
Los tiempos han cambiado. Las herramientas de monitoreo han mejorado en la detección y bloqueo de mimikatz. Los administradores de seguridad de la información ahora también tienen más opciones para reducir los riesgos asociados con los ataques de paso de hash (PtH).
Entonces, ¿qué debería hacer un empleado inteligente para recopilar credenciales adicionales sin utilizar mimikatz?

El kit de Impacket incluye una utilidad llamada volcado de secretos, que recupera las credenciales de la caché de credenciales de dominio, o DCC para abreviar. Tengo entendido que si un usuario de dominio inicia sesión en el servidor pero el controlador de dominio no está disponible, DCC permite que el servidor autentique al usuario. De todos modos, secretsdump te permite volcar todos estos hashes si están disponibles.

Los hashes DCC son no hashes NTML y no se puede utilizar para el ataque de PtH.

Bueno, puedes intentar hackearlos para obtener la contraseña original. Sin embargo, Microsoft se ha vuelto más inteligente con DCC y los hash DCC se han vuelto extremadamente difíciles de descifrar. Sí tengo hashcat, "el adivinador de contraseñas más rápido del mundo", pero requiere una GPU para funcionar de manera efectiva.

En lugar de ello, intentemos pensar como Snowden. Un empleado puede realizar ingeniería social cara a cara y posiblemente descubrir información sobre la persona cuya contraseña quiere descifrar. Por ejemplo, averigüe si la cuenta en línea de la persona ha sido pirateada alguna vez y examine su contraseña en texto plano en busca de pistas.

Y este es el escenario que decidí seguir. Supongamos que un informante se enteró de que su jefa, Cruella, había sido pirateada varias veces en diferentes recursos web. Después de analizar varias de estas contraseñas, se da cuenta de que Cruella prefiere usar el formato del nombre del equipo de béisbol "Yankees" seguido del año en curso: "Yankees2015".

Si ahora estás intentando reproducir esto en casa, puedes descargar una pequeña "C" código, que implementa el algoritmo hash DCC y lo compila. John the ripper, por cierto, se agregó soporte para DCC, por lo que también se puede usar. Supongamos que un insider no quiere molestarse en aprender John the Ripper y le gusta ejecutar "gcc" en código C heredado.

Fingiendo el papel de alguien con información privilegiada, probé varias combinaciones diferentes y finalmente pude descubrir que la contraseña de Cruella era "Yankees2019" (ver más abajo). ¡Misión cumplida!

Hackear contraseñas ocultas con Smbexec

Un poco de ingeniería social, un poco de adivinación y una pizca de Maltego y estarás en el camino correcto para descifrar el hachís DCC.

Sugiero que terminemos aquí. Volveremos a este tema en otras publicaciones y veremos métodos de ataque aún más lentos y sigilosos, continuando aprovechando el excelente conjunto de utilidades de Impacket.

Fuente: habr.com

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster