{"id":430,"date":"2019-10-18T20:17:53","date_gmt":"2019-10-18T18:17:53","guid":{"rendered":"https:\/\/www.pinguytaz.net\/?p=430"},"modified":"2019-11-11T13:39:48","modified_gmt":"2019-11-11T12:39:48","slug":"wfuzz-navaja-suiza-del-pentesting-web-1-3","status":"publish","type":"post","link":"https:\/\/www.pinguytaz.net\/index.php\/2019\/10\/18\/wfuzz-navaja-suiza-del-pentesting-web-1-3\/","title":{"rendered":"WFuzz (navaja suiza del pentesting WEB) 1\/3"},"content":{"rendered":"\n<p>Realizando un CTF, exactamente <a href=\"https:\/\/www.vulnhub.com\/entry\/kioptrix-level-11-2,23\/\">krioptix2<\/a> del cual publicaremos los resultados en cualquier momento, descubrimos esta herramienta de forma que nos pusimos a investigar y apreder algo m\u00e1s de esta herramienta (al fin y al cabo lo bueno de resolver CTFs es aprender nuevos caminos y herramientas) y hemos podido ver que es mucho m\u00e1s que un esc\u00e1ner WEB pues las posibilidades de esta herramienta de no se quedan solo en enumerar los directorios o archivos  de una WEB sino que podemos realizar ataques SQL-Injection, XSS, busquedas de claves por fuerza bruta, incluso busqueda de vulnerabilidades.<\/p>\n\n\n\n<p>Pues llegado a este momento lo primero es dar una descripci\u00f3n de esta versatil herramienta:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li> Multiples puntos de inyecci\u00f3n y diversos diccionarios para diferentes objetivo (SQL, Apache, CMS y los que nos creemos).<\/li><li>Permite POST, GET, encabezados, cookies y autentificacion(NTLM, Basic),<\/li><li>Proxy<\/li><li>Diferentes salidas: HTML, JSON,etc y colores.<\/li><li>ocultar o mostrar resultados por c\u00f3digo de retorno, n\u00fameros de palabras o lineas uso de expresiones regulares.<\/li><li>Temporizaci\u00f3n entre solicitudes Los retrasos&nbsp;entre las solicitudes.<\/li><li>Diferentes codificadores (MD5, base64, sh1, etc) para cargas<\/li><li>Iteradores para combinar cargas.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Conceptos antes de empezar<\/h4>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Payload<\/em><\/strong> <\/h4>\n\n\n\n<p>Es la forma de generar las palabras que ser\u00e1n sustituidas en \u00abFUZZ\u00bb &#8230;..\u00bbFUZnZ\u00bb y as\u00ed dependiendo de los par\u00e1metros. Y podr\u00e1 ser de varios tipos, pudiendo ver todos los <strong><em>Payload<\/em><\/strong> con la ejecuci\u00f3n de \u00ab<em>wfuzz -e payloads<\/em>\u00bb y para detalles \u00ab<em>wfuzz -z help<\/em>\u00bb . A continuaci\u00f3n algunos de los que creemos son m\u00e1s interesantes<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>file<\/strong>,&lt;fichero&gt;    \/\/ Lee de un fichero (-w &lt;fichero&gt; es similar)<\/li><li><strong>stdin<\/strong> \/\/ Lee de la entrada est\u00e1ndar, muy \u00fatil usarlo con un PIPE y recoja las cargas de un programa.<\/li><li> <strong>range<\/strong>,&lt;min-max&gt;<\/li><li><strong>hexrange<\/strong> es como range pero con n\u00fameros hexadecimales.<\/li><li>   <strong>list<\/strong>,&lt;lista separada por guiones&gt;<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-7.png\" alt=\"\" class=\"wp-image-475\" width=\"46\" height=\"112\"\/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>permutation<\/strong>,&lt;caracteres&gt;-&lt;longitud&gt; Realiza la permutaci\u00f3n de los caracteres indicados tomados con la longitud indicada. <\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>wfuzz -z permutation,ab-3 http:\/\/192.168.56.1:8000\/FUZZ<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Solicitudes HTTP<\/em><\/strong> <\/h4>\n\n\n\n<p>Definir\u00e1 la  URL y esta podr\u00e1 modificarse con valores del Payload con las palabras clave FUZZ&#8211;FUZnZ, ya sea los directorios o ficheros como par\u00e1metros GET.<\/p>\n\n\n\n<p>Tambi\u00e9n se podr\u00e1 configurar estas llamadas como POST, con el par\u00e1metro \u00ab-d\u00bb (ejemplo -d param1=val1&amp;param2=val2) y tambi\u00e9n poner cokies con el par\u00e1metro \u00ab-b\u00bb (Ejemplo -b nom=valor) pudiendo tener las cookies que deseemos.<\/p>\n\n\n\n<p>-H Para los encabezados (-H cab:valor_cab)<\/p>\n\n\n\n<p>-X Nos permite definir el m\u00e9todo a ejecutar. Ejemplo GET, HEAD, STATUS&#8230;)<\/p>\n\n\n\n<p>-b Para definir cookies (-b &lt;nombrecookie&gt;=&lt;valor&gt;)<\/p>\n\n\n\n<p>-d Llamada POST (-d &lt;npar&gt;=&lt;valpar&gt;&amp;&#8230;..)<\/p>\n\n\n\n<p>-p Si salimos por proxy (-p ip:puerto:tipo) Los tipos SOCKS4, SOCKS5 o HTTP <\/p>\n\n\n\n<p>-L Permite que cuando la solicitud es redireccionada, c\u00f3digo 301, vaya a esta y se genere el c\u00f3digo de la p\u00e1gina redireccionada.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><em><strong>Iterators<\/strong><\/em> <\/h4>\n\n\n\n<p>Los iteradores nos permiten combinar los <strong>payloads<\/strong> (cargas utiles) con el parametro -m. Podremos conocer los iteradores disponibles con \u00ab<em>wfuzz -e iterators<\/em>\u00ab<\/p>\n\n\n\n<p>La forma de uso es muy sencilla \u00abwfuzz &lt;payload1&gt; &lt;payload2&gt; -m &lt;iterador&gt; &lt;URL con FUZZ&gt;<\/p>\n\n\n\n<p>Lo mejor es una prueba para ver los tres tipos de iteradores (disponibles en mi versi\u00f3n y listados con <em>wfuzz -e iterators<\/em>) y para eso ejecutaremos un servidor web con python por ejemplo \u00ab<em>python -m SimpleHTTPServer<\/em>\u00bb y lanzaremos<em> wfuzz<\/em> con iguales cargas pero distintos iteradores  para ver como se comporta cada uno.<\/p>\n\n\n\n<p>Con las palabras: Ping\u00fcino, Linux, Taza, Java, Tecnologia en el fichero \u00abprueba.txt\u00bb <\/p>\n\n\n\n<p><em><strong>chain<\/strong><\/em>  <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wfuzz -z file,prueba.txt -z list,1-a-palabra-z -m chain http:\/\/192.168.56.1:8000\/FUZZ<\/code><\/pre>\n\n\n\n<p>Muy sencilla y dificil \ud83d\ude42 de explicar, coge la lista de la primera carga \u00fatil y luego el de la segunda, este iterador es ideal cuando tenemos varios ficheros por ejemplo de carga util para un fin y deseamos que se ejecuten todos, es como fusionarlos.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image.png\" alt=\"\" class=\"wp-image-467\" width=\"450\" height=\"212\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image.png 633w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-300x141.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/figure>\n\n\n\n<p><em><strong>product<\/strong><\/em> <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wfuzz -z file,prueba.txt -z list,1-a-palabra-z -m product http:\/\/192.168.56.1:8000\/FUZZPRODUCTOFUZ2Z<\/code><\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-2.png\" alt=\"\" class=\"wp-image-469\" width=\"389\" height=\"249\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-2.png 593w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-2-300x192.png 300w\" sizes=\"auto, (max-width: 389px) 100vw, 389px\" \/><\/figure><\/div>\n\n\n\n<p>Realiza un producto cartesiano, para obtener resultados usaremos FUZZ y FUZ2Z. y la  mejor forma de verlo es con las solicitudes en el servidor<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-3.png\" alt=\"\" class=\"wp-image-470\" width=\"251\" height=\"234\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-3.png 396w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-3-300x280.png 300w\" sizes=\"auto, (max-width: 251px) 100vw, 251px\" \/><\/figure><\/div>\n\n\n\n<p><em><strong>zip <\/strong><\/em><\/p>\n\n\n\n<p>Une una carga \u00fatil con la otra, el n\u00famero de cargas \u00fatiles que se formaran son el de la lista m\u00e1s corta.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wfuzz -z file,prueba.txt -z list,1-2-3-4-5-6-7-8 -m zip http:\/\/192.168.56.1:8000\/FUZZ-ZIP-FUZ2Z\nwfuzz -z file,prueba.txt -z list,1-2-3 -m zip http:\/\/192.168.56.1:8000\/FUZZ-ZIP-FUZ2Z<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"634\" height=\"163\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-4.png\" alt=\"\" class=\"wp-image-471\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-4.png 634w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-4-300x77.png 300w\" sizes=\"auto, (max-width: 634px) 100vw, 634px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"649\" height=\"179\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-5.png\" alt=\"\" class=\"wp-image-472\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-5.png 649w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-5-300x83.png 300w\" sizes=\"auto, (max-width: 649px) 100vw, 649px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Encoder<\/h4>\n\n\n\n<p>Las cargas utiles (Payload) podemos codificarlas de forma que tengamos un fichero con texto legible pero se env\u00ede codificado. Para indicar que se codifique ese payload lo que haremos es a\u00f1adirle un nuevo par\u00e1metro \u00ab<em>,&lt;codificador&gt;<\/em>\u00bb . Para conocer todos los encoder disponibles ejecutaremos \u00abwfuzz -e encoders\u00bb y podremos ver que tenemos m\u00e1s de 20.<\/p>\n\n\n\n<p>Un ejemplo de nuestro fichero \u00abprueba.txt\u00bb y codificado con \u00abmd5\u00bb la primera carga util y \u00abbase64\u00bb la segunda con iguales palabras.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wfuzz -z file,prueba.txt -z file,prueba.txt,md5 -z file,prueba.txt,base64 -m zip  http:\/\/192.168.56.1:8000\/FUZZ--FUZ2Z--FUZ3Z<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-8-1024x206.png\" alt=\"\" class=\"wp-image-478\" width=\"690\" height=\"138\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-8-1024x206.png 1024w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-8-300x60.png 300w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-8-768x155.png 768w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-8.png 1087w\" sizes=\"auto, (max-width: 690px) 100vw, 690px\" \/><\/figure>\n\n\n\n<p>Tambi\u00e9n podemos hacer que se realicen solicitudes con m\u00faltiples codificaciones, separando estos por guiones.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wfuzz -z file,prueba.txt,base64-md5 http:\/\/192.168.56.1:8000\/FUZZ<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-9.png\" alt=\"\" class=\"wp-image-480\" width=\"391\" height=\"149\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-9.png 815w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-9-300x114.png 300w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/10\/image-9-768x293.png 768w\" sizes=\"auto, (max-width: 391px) 100vw, 391px\" \/><\/figure>\n\n\n\n<p>Hasta aqu\u00ed la primera parte, todav\u00eda nos quedan cosas bastantes interesantes como el filtrado de respuestas, el uso de script y tambi\u00e9n ejemplos espec\u00edficos para ayudarnos en nuestros an\u00e1lisis de SQL-Injections, XSS, tipos de CMS y tambi\u00e9n accesos por fuerza bruta entre otros.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.pinguytaz.net\/index.php\/2019\/10\/18\/wfuzz-navaja-suiza-del-pentesting-web-1-3\/\">WFuzz (navaja suiza del pentesting WEB) 1\/3<\/a><\/li><li><a href=\"https:\/\/www.pinguytaz.net\/index.php\/2019\/10\/22\/wfuzz-navaja-suiza-del-pentesting-web-2-3\/\">WFuzz (navaja suiza del pentesting WEB<\/a>) 2\/3<\/li><li><a href=\"https:\/\/www.pinguytaz.net\/index.php\/2019\/10\/28\/wfuzz-navaja-suiza-del-pentesting-web-3-3\/\">WFuzz (navaja suiza del pentesting WEB) 3\/3<\/a><\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Realizando un CTF, exactamente krioptix2 del cual publicaremos los resultados en cualquier momento, descubrimos esta herramienta de forma que nos pusimos a investigar y apreder algo m\u00e1s de esta herramienta (al fin y al cabo lo bueno de resolver CTFs es aprender nuevos caminos y herramientas) y hemos podido ver que es mucho m\u00e1s que [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":478,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-container-style":"default","site-container-layout":"default","site-sidebar-layout":"default","disable-article-header":"default","disable-site-header":"default","disable-site-footer":"default","disable-content-area-spacing":"default","footnotes":""},"categories":[16,107,108],"tags":[82,109],"class_list":["post-430","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seguridad","category-sql-injections","category-xss","tag-python","tag-wfuzz"],"_links":{"self":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/comments?post=430"}],"version-history":[{"count":15,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/430\/revisions"}],"predecessor-version":[{"id":546,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/430\/revisions\/546"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/media\/478"}],"wp:attachment":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/media?parent=430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/categories?post=430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/tags?post=430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}