Ene10
2006
Man In The Middle Proxies

Autor: gacuj | Archivado en: General, Internet, Seguridad

Es muy útil conocer que está ocurriendo entre un cliente y un servidor web para por ejemplo determinar un problema o simplemente para conocer (con implicaciones de seguridad) que está ocurriendo. Firefox tiene una extensión llamada Tamper Data que hace esto.
Siguiendo con esto se me ha venido a la cabeza la idea de los Man In The Middle Proxies. Es decir un proxy instalado en nuestro PC que nos permite comprobar e incluso cambiar el tráfico que existe entre un cliente web y un servidor web. Personalmente he probado dos: webscarab y Odysseus. Son de gran utilidad y sin lugar a dudas un potente arma en algunas manos.

Esta es una relación de MITM proxies:

Webscarab

Paros

Burp Proxy

Odysseus

Achilles


  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Meneame
  • MySpace
  • Technorati
  • TwitThis
Posts Relacionados

Un comentario on “Man In The Middle Proxies”

  1. #1 sopela dijo 11:00 pm el Enero 11th, 2006:

    Quizás es una pijada, pero lo que to tengo en casa es el Apache arrancado y un cgi que me sirve la página web.

    Luego para acceder, pongo http://mi.direccion.ip/cgi-bin/viewhttpdir?www.bdw.es

    El cgi es éste, por si alguien quiere decir cualquier cosa (me falta arreglar el cambiar los links de la página para que me los sirva el servidor y el bajar las imágenes):

    #!/bin/sh
    # La primera vez se entra con nada
    # Lo recogemos en la variable $*
    # La segunda vez se viene con la dirección http a visualizar
    # Se lee con read y contiene
    # httpdir=http://….
    # En ambos casos hacemos lo mismo. Si no hay nada que mostrar no lo enseñamos

    echo Content-type: text/html
    echo “”

    ACTION=/cgi-bin/viewhttpdir
    ACTION2=\\/cgi-bin\\/viewhttpdir
    TMPFILE=../tmp/viewhttpdir.html
    LOGFILE=../tmp/viewhttpdir.log

    # La dirección http nos llega así “httpdir=****”
    # Le quito lo de delante

    read ENTRADA

    HTTPDIR=$(echo $ENTRADA | awk -F ‘=’ ‘{print $2}’)

    # Si me pasan algo directamente, hago como si me lo hubieran pasado por la entrada
    if [ "$*" != "" ]; then
    HTTPDIR=$*
    fi

    # Cambiar los ‘%2F’ por ‘/’
    # ‘%3A’ por ‘:’
    HTTPDIR=$(echo $HTTPDIR | sed s/%2F/\\//g)
    HTTPDIR=$(echo $HTTPDIR | sed s/%3A/\\:/g)

    /bin/cat < < EOM2





    p width=100%>

    Welcome to sopela


    $FILE

    ${HTTPDIR}

    IR" != "" ]; then
    	#VAR=$(echo $HTTPDIR | grep -i http)
    	# Hago un ping a la dirección que me pasan
    	# Quito el http:// para poder hacer un ping
    	HTTPDIRTMP=$HTTPDIR
    	if [ "$(echo $HTTPDIRTMP | grep "//")" != "" ]; then
    		HTTPDIRTMP=$(echo $HTTPDIRTMP | awk -F '//' '{print $2}')
    	fi
    	if [ "$(echo $HTTPDIRTMP | grep "/")" != "" ]; then
    		HTTPDIRTMP=$(echo $HTTPDIRTMP | awk -F '/' '{print $1}')
    	fi
    
    	VAR=$(ping -c 1 $HTTPDIRTMP)
    	LOCAL=$(echo $VAR | grep "127.0.0.1")
    	#echo $LOCAL >> $LOGFILE
    
    	# Si no me responde nada no es una dirección válida
    	# Así evito mostrar datos de mi ordenata (lynx .)
    	# Si contiene 127.0.0.1 es mi ordenata
    	# Así evito que hagan lynx de localhost
    	if [ "$VAR" = "" ] || [ "$LOCAL" != "" ] ; then
    		echo 1
    	else
    		# Bajar fichero html de la página web
    		lynx -source -dump -accept_all_cookies $HTTPDIR > $TMPFILE
    
    		# Cambiar las referencias locales para que tiren del servidor local
    		cat $TMPFILE | sed s/href\=\"\\//href\=\"$ACTION2\?$HTTPDIRTMP\\//g > $TMPFILE.tmp
    		cp $TMPFILE.tmp $TMPFILE
    
    		# Visualizar fichero html
    		cat $TMPFILE
    
    		# Log de acceso
    		echo "$(date +"%Y_%m_%d_%H%M") $HTTPDIR" >> $LOGFILE
    
    	fi
    fi
    
    /bin/cat < < EOM3
      



Deja un comentario.