Esta publicación continúa desde:
Comenzamos entonces con algunos apartados un poco más técnicos en el proceso de investigación que decidí llamar Top 10 OWASP Vs Sitios Web Colombia.
Como primera etapa vamos a identificar los posibles sitios web considerados más importantes. Esto es solo un supuesto, pues el listado solo corresponde a los más visitados según diferentes sitios de ranking en internet. No quiere decir que sean los más importantes con respecto a la funcionalidad del mismo, por ejemplo servicios públicos, gestión de gobierno o similares. Vuelvo y repito SOLO los más visitados.
Para la muestra seleccioné los primeros 50 sitios web reportados como más visitados de Colombia. Cabe aclarar que en el ranking NO incluyo sitios Web extranjeros, es decir, sitios como facebook, google, bing, etc. NO hacen parte del Top, pues los mismos NO son administrados y/o gestionados desde Colombia, objetivo directo de la muestra. Veamos:
http://www.alexa.com/topsites/countries/CO
Ejemplo de la muestra:





Por lo tanto el listado quedó así:
- eltiempo.com
- elespectador.com
- grupobancolombia.com
- elcolombiano.com
- exito.com
- elempleo.com
- caracol.com.co
- canalrcnmsn.com
- elpais.com.co
- caracoltv.com
- claro.com.co
- davivienda.com
- tucarro.com.co
- portafolio.co
- unal.edu.co
- avianca.com
- sena.edu.co
- guiacereza.com
- falabella.com.co
- tecnoautos.com
- senasofiaplus.edu.co
- enter.co
- soho.com.co
- bancodebogota.com
- metrocuadrado.com
- dinero.com
- diarioadn.co
- elheraldo.co
- movistar.co
- eluniversal.com.co
- poligran.edu.co
- dian.gov.co
- cinecolombia.com
- noticiascaracol.com
- policia.gov.co
- pagosonline.net
- rcn.com.co
- wradio.com.co
- etb.net.co
- colpatria.com
- une.net.co
- laneros.com
- tigo.com.co
- procuraduria.gov.co
- chatiapues.com
- udea.edu.co
- saludcoop.coop
- lafm.com.co
- tuboleta.com
- bancodeoccidente.com.co
Una vez definida la muestra a analizar, definamos también la información que queremos recolectar de estos sitios. Esta información será la que normalmente tomo cuando recién inicio un Test de Penetración formal, obviamente sin realizar actividades intrusivas, pues estas van más allá del alcance de esta publicación.
Esta es la serie de fases metodológicas que utilizo cuando realizo algún proyecto relacionado. Señalando obviamente solo las que nos interesan en esta publicación.

Así, dentro de esta información nos interesa recolectar:
Archivos robots.txt, datos de registro de dominio, Google Hacking (correos electrónicos, archivos/directorios sensibles, metadatos), infraestructura de red, footprinting de aplicaciones y servicios web, manejo de errores, validación simple de datos, historial en internet, etc…
Comencemos entonces por la identificación del archivo robots.txt.
A modo muy general, el archivo robots.txt nos permitirá identificar algunos de los directorios que los webmaster o administradores consideran importantes/sensibles para ser indexados o no por los motores de búsqueda. En pocas palabras, el archivo robots.txt es de mucha importancia para nosotros los PenTesters, pues como sabemos realizaremos las mismas técnicas que realizarían los delincuentes informáticos para hacerse a la información.
Dicho archivo permite mediante una simple configuración autorizar o no que nuestro sitio o recursos del mismo sean almacenados en los motores de búsqueda (bing, yahoo, google, etc.)
Veamos esto con un práctico ejemplo:
http://www.sec-track.com/robots.txt
User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/
Con estas sencillas líneas, le estoy estableciendo a google (ejemplo) que NO indexe estos directorios específicos.
Es decir… Si un atacante llegase a buscar dichos directorios en mi sitio web se encontraría con lo siguiente:

Obviamente el archivo robots.txt tiene una verdadera funcionalidad, y no se trata solamente de decir “no ingreses a este directorio”. Asimismo como le indicamos NO ingreses, también podemos decirle Ingresa (allow). Esto principalmente se utiliza en actividades de SEO y posicionamiento de contenido. En resumen, una interacción directa con los motores de búsqueda.
El problema radica como vemos, en que así como le indicamos al buscador el recurso no-permitido, también le estamos diciendo al atacante el recurso que “estamos protegiendo” o de información sensible. Y es justo aquí donde siempre he manifestado sobre el doble filo que puede tener este archivo.
Cuando me consultan sobre el utilizar o no este archivo robots.txt, siempre respondo: Depende! y es sobre todo porque así como los desarrolladores web/webmasters definen un público objetivo, los CEO/Gerentes/CISOs deben definir también un posible público “enemigo”. Y este puede ser prácticamente todos…
En otras palabras, (1) o le decimos solo a “algunos” (utilizando el archivo robots.txt) donde están nuestros directorios sensibles ej.
User-agent: *
Disallow: /admin/
Disallow: /secreto/
Y estos “algunos” serán estrictamente nuestros reales “enemigos”, los que están buscando directamente en este archivo.
(2) O le decimos a todos, solo lo que queremos decirle.
Un ejemplo más claro, es cuando se identifica una falla tipo (0)day en algún CMS, para este ejemplo: Joomla. Es justo allí cuando los cientos de defacers/delincuentes/competencia, etc comienzan su rápida búsqueda de posibles sitios vulnerables. Por ejemplo, identificaron una falla en alguno de sus plugins (sin hacer referencia si es del propio core o de un tercero, solo un plugin X )
Si el ataque fuera directo, a un objetivo “militar”, los delincuentes buscarían directamente el archivo en la raíz del webserver: ej. http://www.joomlaencolombia.net/robots.txt
User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Desde allí con algo de suerte (listado de directorios por ejemplo) verían si este sitio web tiene efectivamente el plugin en cuestión, sino optarían por realizar la consulta directamente a la URL para verificar.
Si el atacante no tiene un objetivo definido y solo quiere vulnerar la mayor cantidad de sitios posibles utilizaría por lo tanto google como herramienta de recolección e identificación de objetivos. Veamos el ejemplo como entonces identificarían la mayor cantidad de sitios vulnerables por utilizar X plugin:

En definitiva yo recomiendo el uso del archivo, obviamente bien configurado y no solo el que viene por defecto en el CMS de turno. Pues prefiero enfrentarme a un atacante directo (busca directamente el archivo robots.txt //GET /robos.txt HTTP/1.1 ) y no dejar todo abierto a los motores de búsqueda, para que los atacantes programen un webspider que recolecte los miles de sitios que usamos determinado CMS, directorio o archivo específico.
Cierro entonces con los resultados de la consulta al archivo robots.txt de la muestra de sitios más visitados. Mencionando también que nos interesa saber si alguno de estos NO lo utiliza y además no tiene un sistema adecuado de manejo de errores. En pocas palabras, nos interesa saber si lo tienen o no, y si falta, qué nos responde ante dicha petición. (pues veremos entonces posiblemente algo de revelación de información del servidor web)
Solo algunos resultados de interés:
Disallow: /blogs/cgi-bin/mt-search.cgi Disallow: /estadisticas Disallow: /participa Disallow: /blogs/mt-static Disallow: /registro
GET /robost.txt HTTP/1.0
HTTP/1.1 404 Not Found
Content-Length: 1635
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Tue, 19 Feb 2013 04:53:03 GMT
Connection: close
Disallow: /js/ Disallow: /css/ Disallow: /common/ Disallow: /account/ Disallow: /search/ Disallow: /test/ Disallow: /dialog/ Disallow: /email/
# Directories Disallow: /AdditionalSitesForms/ Disallow: /Admin/ Disallow: /AdminSchema/ Disallow: /Billing/ Disallow: /bin/ Disallow: /Companies/
Disallow: /cgi-bin Disallow: /inicio Disallow: /home Disallow: /Home/* Disallow: /forms/* Disallow: /forms/ Disallow: /forms/inscrihoyxhoy/yrpoTerun2345.asp Disallow: /forms/inscrihoyxhoy/slista.asp Disallow: /buscar.aspx Disallow: /buscar/*
Disallow: /?q=admin/ Disallow: /?q=comment/reply/ Disallow: /?q=contact/ Disallow: /?q=logout/ Disallow: /?q=node/add/ Disallow: /?q=search/ Disallow: /?q=user/password/ Disallow: /?q=user/register/ Disallow: /?q=user/login/
Not Found
The requested URL /robots.txt was not found on this server.
IBM_HTTP_Server at www
Disallow: /robots.txt Disallow: /admin/ Disallow: /guiadesitios/admin/ Disallow: /comunidad/ Disallow: /comunidad4/ Disallow: /banners/ Disallow: /cgi-bin/ Disallow: /chat.php Disallow: /chat/ Disallow: /imagenes/ Disallow: /images/ Disallow: /Visual/ Disallow: /ajaxstarrater_v122/ Disallow: /ajaxvotacion/
type Informe de estado
mensaje /robots.txt
descripción El recurso requerido (/robots.txt) no está disponible.
JBossWeb/2.0.1.GA
Disallow: /custom/plugins/ Disallow: /custom/themes/ Disallow: /custom/upgrade/ Disallow: /wp/wp-includes/ Disallow: /wp/wp-admin/
Disallow: /pls/portal/url/page/porvenir_2006/ Disallow: /pls/portal/url/PAGE/GAVAL/ Disallow: /pls/portal/url/page/atefi/ Disallow: /pls/portal/url/page/web_ath/ Disallow: /pls/portal/url/page/ValoresBog/ Disallow: /pls/portal/url/page/LEASING2010/ Disallow: /pls/portal/url/page/PLANETA_AZUL/ Disallow: /pls/portal/url/page/aladdin2008/ Disallow: /pls/portal/url/page/web_fidupopular/ Disallow: /pls/portal/url/page/VALORES_DE_OCCIDENTE/ Disallow: /pls/portal/url/page/FIDUBOGOTA_NEW/ Disallow: /pls/portal/url/page/LEASING_OCCIDENTE/ Disallow: /pls/portal/url/page/SITIO_BCOPOPULAR/ Disallow: /pls/portal/url/page/web_bcopopular/ Disallow: /pls/portal/url/page/NEW_SITIO_ATH/ Disallow: /pls/portal/url/page/SITIO_ATH/
Disallow: /albummovistar/ Disallow: /conectadospodemosmas/ Disallow: /correonokia/ Disallow: /demos_ServEnLinea/ Disallow: /demos_supertarifasmovistar/ Disallow: /foro_smartphones/ Disallow: /media/ Disallow: /media/paso_a_paso/ Disallow: /motorola_milestone/ Disallow: /smartblog/ Disallow: /Soy_Digital/ Disallow: /Buscador_Fija_Aqui/ Disallow: /brm2013/ Disallow: /Buscador_test/ Disallow: /PEAR/ Disallow: /tlMoviles/ Disallow: /xmlSms/ Disallow: /adminPilotoTienda2/ Disallow: /pruebaCap/ Disallow: /db/ Disallow: /class/ Disallow: /dataExtract/ Disallow: /templates/ Disallow: /templates_c/
Error
No se ha encontrado el objeto. (WWC-50003)
Atrás
Copyright © 2005, Oracle. Todos los Derechos Reservados
HTTP Status 404 – /robots.txt
type Status report
message /robots.txt
description The requested resource (/robots.txt) is not available.
Apache Tomcat/7.0.6
The requested URL /robots.txt was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/1.0.0-fips mod_bwlimited/1.4 mod_fcgid/2.3.6 Server at www.
Disallow: /administrator/ Disallow: /cache/ Disallow: /components/ Disallow: /images/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /xmlrpc/
A modo general observamos una correcta configuración del archivo en la mayoría de sitios web, salvo algunos otros que no lo tienen y que además no configuran adecuadamente los parámetros de respuesta ante la falta de un determinado archivo. Observamos también (resultado total) un alto uso del CMS Drupal como gestor de contenidos. Sabemos además que este, es relativamente un poco más seguro que muchos otros. Pero eso será materia de estudio para otro post.
Continuamos pronto…
- Uso de Tecnologías en Aplicaciones Web – Top 10 OWASP vs Sitios Web Colombia I
- Familiarizándonos con OWASP – Top 10 OWASP vs Sitios Web Colombia II
- Panorama General de Seguridad Web en Colombia – Top 10 OWASP vs Sitios Web Colombia III





















































































