jueves, 16 de mayo de 2013

Cinco herramientas para realizar un pentest a CMS


En los últimos años el número de sitios web desarrollados a través  de sistemas de gestión de contenidos  ha crecido a un ritmo muy rápido. El número de ataques informáticos que reciben estos tipos de webs va también en aumento, dado que muchos de los propietarios no prestan demasiada atención al tema de la seguridad.

En Enero del 2012 salió a luz el llamado Kit Phoenix, un kit aumatizado que aprovechaba un fallo de seguridad de WordPress 3.2.1 para insertar código malicioso que infectaba con un troyano a quienes visitaran la web. Esta mañana en la página de seguridad Sanz Institute publicaban un nuevo tipo de ataque que afecta a las webs que se encuentren desarrolladas con Joomla y WordPress . Se trata de un nuevo kit que lanza un conjunto de exploits a los servidores con la intención de inyectar código malicioso, con el fin de redirigir a los visitantes a otras webs que contienen un paquete de antivirus falso. (leer la notícia original aquí)

Dedicando un poco de tiempo para auditar nuestra web e instalando plugins de seguridad correctamente configurados y actualizados podemos ahorranos sorpresas indeseadas. Vamos a ver cinco herramientas muy útiles para realizar una aditoría de CMS:

Wappalyzer: extensión para Firefox y Google Chrome que permite obtener la tecnología usada por la web, identifica el tipo de CMS utilizado, el servidor web empleado, el frameword de javascript, las aplicaciones empleadas para generar estadísticas de la web. Web: http://wappalyzer.com/

Flunym0us: herramienta desarrollada en Python por Flu Project que permite realizar operaciones de fuzzing a través de una serie de diccionarios para descubrir plugins y extensiones que se encuentran corriendo en Worpress y Moddle. Web: http://www.flu-project.com/

Lista de opciones:

-h, –help: Show this help message and exit
-wp, –wordpress: Scan WordPress site
-mo, –moodle: Scan Moodle site
-H HOST, –host HOST: Website to be scanned
-w WORDLIST, –wordlist WORDLIST: Path to the wordlist to use
-t TIMEOUT, –timeout TIMEOUT: Connection timeout
-r RETRIES, –retries RETRIES: Connection retries
-p PROCESS, –process PROCESS: Number of process to use
-T THREADS, –threads THREADS: Number of threads (per process) to use

CMS Explorer: herramienta desarrollada en perl que muestra los plugins, modulos, temas y componentes que se encuentran corriendo en una web CMS de tipo Drupal, WordPress, Joomla! y Mambo. Como opciones interesantes permite utilizar un proxy para realizar modificaciones en el envió de solicitudes y realizar una comprobación de posibles vulnerabilidades. Web: https://code.google.com/p/cms-explorer/

Lista de opciones:

-bsproxy: Bootstrap proxy to route findings through (fmt: host:port)
-explore: Look for files in the theme/plugin dir
-osvdb: Do OSVDB check for finds
-plugins: Look for plugins (default: on)
-pluginfile: Plugin file list
-proxy: Proxy for requests (fmt: host:port)
-themes: Look for themes (default: on)
-themefile: Theme file list (default: themes.txt)
-type: CMS type: Drupal, WordPress, Joomla, Mambo
-update: Update lists from WordPress/Drupal (over-writes text files)
-url: Full url to app’s base directory
-Verbosity: 1-3

Joomscan: potente herramienta desarrollada en perl por OWASP que permite auditar webs desarrollas con Joomla. Permite detectar vulnerabilidades de tipo file inclusion, sql injection, command execution vulnerabilities. Web: http://sourceforge.net/projects/joomscan/

Lista de opciones:

-u       = joomla Url
-x   = proXy to tunnel
-c       = cookie (name=value;)
-g “”   = desired useraGent string within “
-nv              = No Version fingerprinting check
-nf              = No Firewall detection check
-nvf/-nfv        = No version+firewall check
-pe              = Poking version only
(and Exit the scanner)
-ot              = Output to Text file (target-joexploit.txt)
-oh              = Output to Html file (target-joexploit.htm)
-vu              = Verbose (output every Url scan)
-sp              = Show completed Percentage

WPscan: herramienta desarrollada en Ruby que permite auditar a un blog desarrollado con Worpress. Tiene funciones de enumeración de los plugins instalados y realiza una comprobación de sus vulnerabilidades mostrando el exploit para su explotación, permite enumerar los usuarios registrados y realizarles un ataque de fuerza bruta. Muestra la versión de worpress que se encuentra corriendo y las posibles vulnerabilidades que contiene dicha versión. Web: http://wpscan.org/

Lista de opciones:

–url   | -u   The WordPress URL/domain to scan.
–force | -f Forces WPScan to not check if the remote site is running WordPress.
–enumerate | -e [option(s)]  Enumeration.
  option :
  -u        usernames from id 1 to 10
  -u[10-20] usernames from id 10 to 20 (you must write [] chars)
   -p        plugins
   -vp       only vulnerable plugins
   -ap       all plugins (can take a long time)
   -tt       timthumbs
   -t        themes
   -vp       only vulnerable themes
   -at       all themes (can take a long time)
  Multiple values are allowed : ‘-e tt,p’ will enumerate timthumbs and plugins. If no option is supplied, the default is ‘vt,tt,u,vp’
–exclude-content-based ‘’  Used with the enumeration option, will exclude all occurence based on the regexp or string supplied. You do not need to provide the regexp delimiters, but you must write the quotes (simple or double).
–config-file | -c Use the specified config file
–follow-redirection  If the target url has a redirection, it will be followed without asking if you wanted to do so or not
–proxy  Supply a proxy in the format host:port or protocol://host:port (will override the one from conf/browser.conf.json). HTTP, SOCKS4 SOCKS4A and SOCKS5 are supported. If no protocol is given (format host:port), HTTP will be used
–proxy-auth Supply the proxy login credentials in the format username:password (will override the one from conf/browser.conf.json).
–wordlist | -w   Supply a wordlist for the password bruter and do the brute.
–threads  | -t   The number of threads to use when multi-threading requests. (will override the value from conf/browser.conf.json)
–username | -U   Only brute force the supplied username.
–help     | -h This help screen.
–verbose  | -v Verbose output.

Tras verificar que no existe ningún fallo de seguridad que pueda comprometer a la web, es conveniente realizar un proceso de Hardering adecuado, como por ejemplo, modificando los permisos acceso y escritura de los ficheros, editando el archivo .htaccess para registringir el acceso a ciertos directorios y archivos sensibles, restringiendo el acceso a la web a ip´s de China, Rumania.., restringiendo el número de errores al autentificarse, cambiando el nombre o la localización a ciertos ficheros etc. Esto es todo por hoy

Un saludo señores!!!


FUENTE:http://dominiohacker.com/cinco-herramientas-para-realizar-un-pentest-a-cms-2-650/

No hay comentarios:

Publicar un comentario