pre { background:#eeeeee; border:1px solid #A6B0BF; font-size:120%; line-height:100%; overflow:auto; padding:10px; color:#000000 } pre:hover { border:1px solid #efefef; } code { font-size:120%; text-align:left; margin:0;padding:0; color: #000000;} .clear { clear:both; overflow:hidden; }

Bienvenido al blog

Bienvenidos al blog de seguridad en sistemas

domingo, 23 de septiembre de 2012

Auditoría Web - Parte 1

Hoy hace tres semanas justas desde que aterrice en Boston, ya más o menos me conozco la ciudad o al menos los puntos más importantes. Por fin me he podido acomodar y empezar con la rutina de trabajo, aunque todo sea dicho, justo esta semana me marcho 4 días a Toronto (Canada) y me cambio de habitación a una con un escritorio (desk), un colchón limpio (mattress) y con luz natural para poder estudiar en condiciones, sin tener que irme a la biblioteca pública que está a una hora y media de mi casa.


Por la parte de inglés me ha tocado el nivel esperado, era lógico mi gramática no es buena y no estudie lo que debería para hacer el examen, estoy en Intermediate (PET), es decir el 5º nivel de 9 que hay. Tengo por delante el High, Upper, Advanced y Proficiency. Para antes de navidad me he marcado el objetivo de entrar en el "Upper" que es un nivel entre First avanzado e introducción al Advanced. Respecto a entenderme con la gente bueno… lo de siempre… los profesores me entienden, los compañeros de casa me entienden, las americanos acostumbrados a los españoles me entienden pero los americanos nativos les cuesta un poco entenderme, aunque es curioso que en el banco o en las tiendas me entiendan a la primera :P

En lo que concierne al SANS MSISE ya tengo listo la base de mi primer GOLD que corresponderá al GCIA, estoy esperando la respuesta de SANS para que me lo validen y empezar a escribir puesto que la base del programa ya la hice la semana pasada. Jose Luis Chica, @spankito para los amigos, pudo probar la herramienta y creo que le gusto bastante, es una idea sencilla pero bastante útil.

Respecto al blog voy a aprovechar que por fin tengo algo de tiempo libre para cogerme el libro que compre junto a mi compañero Raúl Rodriguez hace cosa de un año: "The Web Application Hacker's Handbook" en su segunda revisión. Está enfocado a auditoría web y por lo que he podido ver en cuento a nivel técnico es de lo mejorcito que he leído, con un precio más que bueno, aunque si puedo ponerle un pero en mi opinión le falta especificar los pasos adecuados para una auditoria web.

Los auditores Web conoce un montón de distintos posibles vectores pero algunos, entre los que me incluyo, desconocemos adecudamente por donde empezar, ya se sabe, la típica comilla o símbolo de mayor / menor que se suele usar en un formulario de entrada sin ni siquiera comprobar ni la tecnología que emplea la Web. Hay que organizarse, indicar los pasos a realizar y autorealimentarse con los datos obtenidos antes de empezar a explotar distintos vectores de ataque.

Hablando claro estos son los pasos, de cabeza y por tanto puedo haberme dejado alguno, que suelo emplear yo y que creo que estaría bien que el libro hubiera comentado de forma más ordenada y extensa:
  1. Information gathering en Internet.
  2. Arquitectura que tienes en frente (IIS, Apache, Jboss, WebSphere, etc), ¿tiene balanceadores?, ¿WAF?, ¿IPS?, etc
  3. ¿Qué tecnología emplea: servlets, .NET, PHP? ¿Usa un framework? ¿que versión? ¿es vulnerable?
  4. Crawling de lo accesible mediante links usando un proxy para después montarse tu mapita de la Web ya sea en digital o en un folio.
  5. Mediante diccionario y crawlers buscas recursos existentes pero no accesibles desde un enlace de la Web. Comparas con lo obtenido en el punto 4.
  6. Jugar con los dominios, ¿existe más dominios de la web? ¿qué ocurre si pones solo la IP?
  7. Si tiene protocolo cifrado… ¿los algoritmos empleados son adecuados? ¿se puede renegociar empleando algoritmos débiles? ¿el certificado es correcto?
  8. Solicitamos un usuario legítimo y valoramos: como se gestiona la autenticación, como se gestiona la sesión, como se gestiona el cierre de sesión y si los recursos accesibles como usuario autenticado son accesibles de alguna forma sin estar autenticado.
  9. Aquí es cuando suelo usar herramientas automatizadas que me puedan aportar más información a la auditoría, como por ejemplo nikto, w3af, nessus, skipfish, etc.
  10. Ya teniendo un mapa completo de todo, tanto parte pública como privada, accesible desde enlaces y no accesibles es cuando me marco en el mapa los distintos posibles puntos de entrada indicando los posibles vectores de ataque en dicho recurso: XSS, XSRF, LFI, SQL-I, ejecución de comandos, path transversal, etc… algunos incluso solo se pueden aplicar dependiendo de la tecnología. Y es en este punto donde creo que entra en juego el libro.
Para acompañar al libro me he montado un entorno de pruebas con una backtrack 5 y un entorno vulnerable "OWASP Broken Web Applications Project". No tenia conocimientos de este proyecto, si de las distintas aplicaciones vulnerables que lo componen, pero no que existiera un live con todas. Lo leí en una entrada de SBD y me pareció muy interesante de usar durante las próximas entradas del blog.

Un saludo :-)

Continuar...