Proxify proxy funcional

Proxify proxy funcional, el uso de un proxy no es muy útil en distintas disciplinas. En el caso de análisis web, nos permite ver el envío y respuesta de parte de una web, nos permite modificar parámetros on the fly etc..

En el caso de un developer, nos permite comprobar la lógica de una aplicación etc.. Y en el caso de análisis de malware, nos permite estudiar conexiones, modificar parámetros y otros usos que veremos más adelante.

En el artículo de hoy, os traigo Proxify, una herramienta que de lo simple que es, me ha parecido excepcional, además de que se puede integrar con otras soluciones de Proxy.

Índice

Proxify proxy funcional como usarlo

Para usarlo, nos vamos a la sección de descargas.

http://code.google.com/p/gnucitizen/downloads/list

Nos descargamos Proxify, en mi caso lo voy a usar con una distribución GNU/Linux basada en Ubuntu.

Descomprimimos y vemos que opciones soporta:


root@remnux:/home/remnux/tools# ./proxify
Proxify Version 1.2

Copyright 2013 GNUCITIZEN. All rights reserved.
Commercial use of this software is strictly prohibited.
For commercial options please contact us at http://www.gnucitizen.org/.

usage: ./proxify <-p port> [-P port] [-H host] [-z23NSx] [-D dir] [-d dir] [-s subject] [-c ciphers]
-p starts the proxy defined by local port
-P forwards proxied requests to port
-H forwards proxied requests to host
-x hex dump data on screen
-D dump data to directory
-d use database specified in directory
-z prevents process zombification
-2 disables SSL2
-3 disables SSL3
-N disables null ciphers
-S uses a builtin subject line for not reachable targets
-s sets default subject line for not reachable targets
-c enables specific ciphers letter(s) chosen from the following list
 A SSL2 RC4 128 WITH MD5
 B SSL2 RC4 128 EXPORT40 WITH MD5
 C SSL2 RC2 128 CBC WITH MD5
 D SSL2 RC2 128 CBC EXPORT40 WITH MD5
 E SSL2 DES 64 CBC WITH MD5
 F SSL2 DES 192 EDE3 CBC WITH MD5
 c SSL3 RSA WITH RC4 128 MD5
 d SSL3 RSA WITH 3DES EDE CBC SHA
 e SSL3 RSA WITH DES CBC SHA
 f SSL3 RSA EXPORT WITH RC4 40 MD5
 g SSL3 RSA EXPORT WITH RC2 CBC 40 MD5
 i SSL3 RSA WITH NULL MD5
 j SSL3 RSA FIPS WITH 3DES EDE CBC SHA
 k SSL3 RSA FIPS WITH DES CBC SHA
 l SSL3 RSA EXPORT WITH DES CBC SHA
 m SSL3 RSA EXPORT WITH RC4 56 SHA

Lo que vamos a realizar es hacer DUMP por pantalla primero

Proxify proxy funcional

Ejecutar el Proxify

Ejecutamos Proxify y vemos como se va haciendo DUMP del tráfico por pantalla.

Si vemos el navegador, si visitamos una página con HTTPS, nos saltará error de certificado, aunque Proxify lo crea on the fly.

Proxify proxy funcional

Miramos los detalles del certificado.

Proxify proxy funcional

Más detalles

Proxify proxy funcional

Tendríamos que añadir la CA como confianza si no queremos ver estos warnings, si queremos analizar algo en concreto, nos da igual que no arroje error de certificado.

Otra de las opciones que igual nos interesa, es que todo lo que se capture via Proxy, que dumpeado en una carpeta.

Lo hacemos así:

proxify -p 8080 -D trafico/

Ahora veremos que se ha generado en la carpeta:


root@remnux:/home/remnux/tools/trafico# ls
4472685_req 4474141_req 4474148_req 4474596_req 4475531_req 4476230_req 4476287_req 4476302_req 4476314_req 4476321_req 4476325_req 4476425_res 4476935_res
4472685_res 4474141_res 4474148_res 4474596_res 4475531_res 4476230_res 4476287_res 4476302_res 4476314_res 4476321_res 4476325_res 4476461_req 4477125_req
4474125_req 4474142_req 4474149_req 4474965_req 4476104_req 4476285_req 4476291_req 4476303_req 4476318_req 4476323_req 4476326_req 4476461_res 4477125_res
4474125_res 4474142_res 4474149_res 4474965_res 4476104_res 4476285_res 4476291_res 4476303_res 4476318_res 4476323_res 4476327_req 4476934_req 4477127_req
4474139_req 4474144_req 4474551_req 4475487_req 4476210_req 4476286_req 4476299_req 4476304_req 4476320_req 4476324_req 4476327_res 4476934_res 4477127_res
4474139_res 4474144_res 4474551_res 4475488_res 4476210_res 4476286_res 4476299_res 4476304_res 4476320_res 4476324_res 4476425_req 4476935_req

Aquí vemos todas las solicitudes que hemos enviado y todas las respuestas.

Un ejemplo de una petición requesón


remnux@remnux:~/tools/trafico$ sudo more 4472685_req
[sudo] password for remnux:
GET / HTTP/1.1
Host: www.dragonjar.org
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:20.0) Gecko/20100101 Firefox/20.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive

Para ver el response miramos el mismo tipo de fichero, pero el que acaba el res.


remnux@remnux:~/tools/trafico$ sudo more 4472685_res
[sudo] password for remnux:
HTTP/1.1 200 OK
Server: cloudflare-nginx
Date: Sat, 24 Aug 2013 09:01:00 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: __cfduid=d4256d4467c799e8190a9ade61fe7daf51377334860049; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.dragonjar.org
X-Powered-By: PHP/5.2.17
X-CF-Powered-By: WP 1.3.10
X-Pingback: http://dragonjar.org/xmlrpc.php
Set-Cookie: PHPSESSID=20de72ded442911007b780cb324d6b18; path=/
Vary: Accept-Encoding,User-Agent
CF-RAY: a2edafaa7830737
Content-Encoding: gzip

56d
?
r?#<0&i2??Q͕?O:???ڪZ??c?4???`c?sxGB????????ڙ,?J?^Ly?>I?㤟?ޅ?T?V?p??3??2N@?HѾo??I~??3C?5?)?p[

Podemos combinar Proxify con otras herramientas, el paquete no hace falta compilarlo e incluye las librerías para hacerlo totalmente portable.

También te puede interesar - http://dragonjar.org/mastiff-automatizando-el-analisis-de-malware.xhtml

Subir