Hackeando con matemáticas y números.

Esto podría ser aparente para cualquiera que haya estado trabajado en seguridad por algún tiempo, pero yo (siendo un noob) recientemente descubrí una propiedad muy interesante respecto a los números.

Consideremos en código a continuación:

    <?php
    $amount = $_GET['amount'];
    $price = '300';
    $user_balance = user_balance_get();

    // Actualizamos el balance del usuario para reflejar la compra.
    $user_balance = $user_balance - ($price * $amount);
    user_balance_set($user_balance);

Los números tienen una gran cantidad de propiedades que tenemos que considerar a la hora de testear la seguridad de una aplicación, que, nuevamente, son obvias para la gente inteligente pero siempre es importante repetir para aclarar.

  •  Multiplicar un número negativo por un número positivo nos va a dar como resultado un número negativo.
  • Al sumar un número positivo con un número negativo, se substraerá el valor absoluto del número negativo al número positivo. (por ej. 300 + (-200) va a dar como resultado 100.)
  • Lo inverso tambien es cierto. Restar un número negativo a un número positivo resultará en una suma.

Cosas básicas. Aplicar esto a la seguridad informática, sin embargo, es interesante. Viendo el código que escribí mas arriba, y habiendo mencionado los hechos que acabo de mencionar, debería ser aparente que el código es vulnerable.

La línea de código responsable de actualizar el balance de los usuarios (una operación muy riesgosa, desde el punto de vista de la seguridad) es:

    $user_balance = $current_user_balance - ($price_of_item * $user_submitted_quantity)

Esto es interesante porque nos permite aumentar el balance del atacante enviando números negativos. Si ponemos -1 en la cantidad, por ejemplo, sucedería lo siguiente:

    $user_balance = 1000 - (300 * -1)
    $user_balance = 1000 - ( -300 )
    $user_balance = 1300

Ka-ching! Así da gusto ir a comprar cosas.

El nuevo balance es mayor que el balance anterior, lo que significa que logramos una ganancia con esa compra. Otra situación que puede demostrarse como muy enriquecedora para nosotros como atacantes, es si pudieramos transferir plata entre diferentes usuarios (como por ejemplo, el sistema de transferencias de paypal, o un banco).

Consideremos el siguiente código:

    <?php
    $receiver = User(id=1);
    $sender = User(id=2);

    $amount = $_GET['amount'];

    $receiver->balance_set($receiver->balance + $amount);
    $sender->balance_set($sender->balance - $amount);

Parece bastante sencillo, y no particularmente inseguro. Poniendo un número negativo en el parametro “amount”, sin embargo, va a causar que el balance de la persona que reciba la transferencia disminuya, mientras que el balance de la persona que envía el dinero aumentará. En una manera muy real, el emisor esta robando dinero del receptor.

Antes de cerrar el post, otras cosas que pueden ser interesantes cuando lidiamos con aplicaciones son:

  • Integer overflows. Enviar un número muy grande (o muy pequeño, en los negativos), puede tener como consequencia que evitemos filtros como “solo números menores a X”, o viceversa.
  • Checkear que la aplicación no acepte operaciones matemáticas en lugar de números, como por ejemplo “10 + 10 + 10 + 10″
  •  A veces las aplicaciones pueden checkear por algo, por ejemplo, que el número sea menor a 50, y luego convierten el número a su valor absoluto. En esos casos, puedes enviar un gran número negativo y evitar el filtro.

Un abrazo grande,
Pedro

Compilado de enlaces

#define COMPILADO_ENLACES 1

Compilado de enlaces

Hola a todos!

Como ya es costumbre, y cerquita de las fiestas, un compilado de enlaces!

Un abrazo grande,
Pedro

Compilado de enlaces

El compilado de enlaces 71, HAY QUE FESTEJAR!!!!!!!!

Les dejo abajo unos enlaces muy buenos ehhhhhhhh deja vu mal.

Un abrazo!
Pedro

Google abandona los estándares abiertos, actuando en contra de los intereses de sus usuarios.

Luego de que Google abandonara, luego de años de estar online, su servicio de RSS, anuncia ahora que mas cambios han de venir: un análisis hecho por la EFF, de título “Google abandona el apoyo de los estándares abiertos para la mensajería instantánea“, declara que los cambios no van a favor de los usuarios:

En medio de la conferencia anual I/O de Google, se hizo un desafortunado anuncio: En distintos lugares de su infraestructura, la compañía está reemplazando la plataforma “Talk” por la plataforma “Hangouts”, lo que disminuye significativamente el soporte de el protocolo de mensajería abierto conocido como XMPP (también mencionado informalmente como Jabber)

Se menciona que los cambios debieron hacerse para adaptar su nueva plataforma (Google+), pero presenta puntos a considerar, como por ejemplo el hecho de que el abandonar el estándar causa que los usuarios estén atados a utilizar Google+, y por lo tanto su única posibilidad de conectarse con los usuarios de Google+ a través del chat sería a través de el protocolo privativo de Google:

El apoyo de Google por el protocolo XMPP significó en su momento que los usuarios podrían chatear con gente en otros servicios de mensajería, o incluso con aquellos que tuvieran sus propios servidores [...]

Esto es importante por muchas razones. Una de las principales es que ninguno de los clientes de Google soporta Off-the-Record (OTR) encryption, que se está convirtiendo en un componente crítico de la comunicación segura online. Si ambos participantes de una conversación usan OTR, tienen una comunicación segura de principio a fin, lo que significa que nadie excepto ellos dos — ni siquiera su proveedor de Internet — puede leer sus mensajes.

En el pasado, Google hizo otro cambio que imposibilita configurar el nivel de logging que queda guardado en los servidores. De su página de soporte:

Hemos hecho cambios a la configuracíon de historia de Google Talk y Google Chat. Todavía podes hacer que chats individuales queden “off the record”, pero no vas a tener la opción de hacerlo globalmente.

Estos cambios están llevando a cuestionar los intereses por los que se mueve Google, [1] [2] un giro interesante de eventos, porque Google tiene una larga historia apoyando la cultura Open Source y de promover los protocolos abiertos, tal como promovió XMPP en el 2005:

La misión de Google es hacer la información del mundo universalmente accesible y útil. Google talk, que le permite a los usuarios instantáneamente comunicarse con amigos, familia y colegas usando su llamadas de voz y mensajería instantánea, refleja nuestra creencia de que las comunicaciones debería de ser accesibles y también útiles.

Sin llegar a juzgar a Google por sus acciones, es evidente que su modelo de negocios (los anuncios [3], y el forzar a sus usuarios a una plataforma de la que no pueden salir, también conocido como “walled garden”) esta yendo en contra de la privacidad de los usuarios.

En sus explicaciones publicas, Google dijo que fue una decisión dificil, tomada por requerimientos técnicos. Pero incluso si este protocolo responde a necesidades técnicas, eso no debería evitar que la compañía lo haga público e interoperable. Publicar las especificaciónes de Google Hangouts sería un buen primer paso. Publicar código gratuito/libre debería suceder después de eso. Es claro que algunas funcionalidades se han implementado de manera muy específica a Google, pero eso no debería ser una razón para llevarnos a un mundo donde las únicas posibilidades prácticas son protocolos de chat privativos.

Compilado de enlaces

Hola a todos!

Una seccion mas de el compilado de enlaces, compilando todo lo compilable.

Un abrazo,
Pedro

Compilado de enlaces

Hola a todos!

A continuacion, un… un……… un………………… COMPILADO DE ENLACES!

Eso nomas!

Un abrazo,
Pedro

Hackear paginas web II (Fingerprinting and Information gathering)

En el articulo anterior (como hackear paginas web, en serio) de esta serie, se vio lo básico de las vulnerabilidades web mas comunes, que si bien no son todas ni son muchas las que se cubrieron, y no están cubiertas a un nivel muy profundo, nos dan un overview básico de por que un sitio web puede ser comprometido y nos dan un par de enlaces interesantes para ampliar nuestros conocimientos.

Nota: Quiero agradecer a COSO por permitirme utilizar su servidor para hacer las pruebas. No autorizo que nadie mas lo haga, aunque tal vez me autorice a mi para investigar quien esta intentando hacer fingerprinting de su servidor en un futuro. (seria interesante para un capitulo 3)

Quiero aclarar que este articulo lo escribo para mi mismo con fines de aprender y comprender mas del tema, y tener una referencia mas clara para utilizar en algún momento en el qué me pueda ser útil. En mi opinión, el tener una habilidad no nos da el derecho ni la obligación de usarla como queramos, y es responsabilidad de cada una de las personas que lea este articulo el uso que haga de él.

El propósito de este articulo es descubrir con quien tratamos: El servidor al que estamos investigando, de ahora en mas nombrado como COSO, ¿Qué versión de apache corre? ¿Corre un CMS en nadakedecir.net? y si es asi, ¿Qué versión es?, y ¿Qué plugins tiene instalados? Otras preguntas interesantes son ¿Existe algún medio de contacto que podría usar para comunicarme con COSO? ¿Puedo llegar a encontrar un dump de la base de datos en su public_html? Procedemos a responderlas todas.

Nota: La intención de este articulo no es ilustrar como se instalan las herramientas, ni como se usan las herramientas, sino lo que se puede llegar a hacer con ellas.

Conociendo a COSO (¿Qué servidor usa COSO? ¿En que OS lo corre?)

Este es un post con muchas preguntas ya, y queremos empezar a querer tener alguna respuesta. El mundo del fingerprinting es muy gracioso, porque podemos interesarnos mucho en una computadora en la que no deberíamos interesarnos tanto. ¿Qué tanto nos podemos interesar? Veamos ahora…

Todo con mucho cuidado, porque COSO también se puede interesar mucho por sus clientes :). Ademas este tipo de herramientas dejan MUCHÍSIMAS evidencias en el servidor que estamos investigando.

Respecto a la pregunta, lo podemos saber usando nmap. Esto nos va a decir que puertos tiene abiertos:

root@droope-VirtualBox:~ nmap -sV -O -A -T4 nadakedecir.net
PORT STATE SERVICE VERSION
21/tcp open ftp ProFTPD 1.3.3c
22/tcp open ssh OpenSSH 4.3 (protocol 2.0)
[...snip...]
25/tcp open smtp qmail smtpd
[...snip...]
80/tcp open http Apache httpd
| robots.txt: has 2 disallowed entries
|_/wp-admin/ /wp-includes/
|_html-title: nadakedecir*
106/tcp open pop3pw poppassd
110/tcp open pop3 Courier pop3d
[...snip...]
143/tcp open imap Courier Imapd (released 2004)
[...snip...]
443/tcp open ssl/http Apache httpd
[...snip...]
465/tcp open ssl/smtp qmail smtpd
[...snip...]
587/tcp open smtp qmail smtpd
[...snip...]
993/tcp open ssl/imap Courier Imapd (released 2004)
[...snip...]
995/tcp open ssl/pop3 Courier pop3d
[...snip...]
3306/tcp open mysql MySQL 5.1.54
[...snip...]
8443/tcp open ssl/https-alt?

Y tambien nos va a decir que sistema operativo potencialmente esta corriendo:

Running (JUST GUESSING) : Linux 2.6.X|2.4.X (94%), Google embedded (90%), Cisco Linux 2.6.X (89%), Riverbed embedded (89%), Buffalo embedded (87%), D-Link embedded (86%), Linksys embedded (86%), HP embedded (86%)
Aggressive OS guesses: Linux 2.6.30 (94%), Linux 2.6.9 (91%), Google Mini search appliance (90%), Linux 2.6.18 (CentOS 5.1, x86) (90%), Linux 2.6.18 (90%), Linux 2.6.9 - 2.6.27 (90%), Linux 2.6.9 (CentOS 4.4) (89%), Linux 2.6.11 (89%), Riverbed Steelhead 200 proxy server (89%), Linux 2.6.28 (88%)
No exact OS matches for host (test conditions non-ideal).

Esto también nos dijo que CMS esta usando, pero para hacerme el misterioso no voy a decir por que. Si abandonáramos el tutorial exactamente en este momento, ya sabríamos que COSO esta corriendo un worpdress. De todas maneras lo vamos a determinar mas adelante.

¿Quién es COSO? y ¿Cómo me contacto con él?

Lo mas importante al encontrar una vulnerabilidad es encontrar la forma de contactarnos con el dueño del sitio web para que él pueda arreglarla antes de que alguien con malas intenciones la encuentre. En este tutorial no nos vamos a interesar en encontrar vulnerabilidades, pero quizás queramos contactarnos con el usuario por otros motivos.

Usando theHarvester vamos a obtener información sobre los humanos que trabajan con este dominio y otras cosas sobre el PC:

root@pc:~# python theHarvester.py -d nadakedecir.net -l 500 -b all
*************************************
*TheHarvester Ver. 2.1 (reborn)     *
*Coded by Christian Martorella      *
*Edge-Security Research             *
*cmartorella@edge-security.com      *
*************************************

Full harvest..
[-] Searching in Google..
	Searching 0 results...
	Searching 100 results...
	Searching 200 results...
	Searching 300 results...
	Searching 400 results...
	Searching 500 results...
[-] Searching in PGP Key server..
[-] Searching in Bing..
	Searching 100 results...
	Searching 200 results...
	Searching 300 results...
	Searching 400 results...
	Searching 500 results...
[-] Searching in Exalead..
	Searching 100 results...
	Searching 200 results...
	Searching 300 results...
	Searching 400 results...
	Searching 500 results...
	Searching 600 results...

[+] Emails found:
------------------
No emails found

[+] Hosts found in search engines:
------------------------------------
72.10.32.61:www.nadakedecir.net
72.10.32.61:mail.nadakedecir.net

[+] Proposed SET
---------------
[]
[+] Virtual hosts:
==================
72.10.32.61:www.twitter.korochi.com
72.10.32.61:notengoenie.com
72.10.32.61:naotenhocedilha.com
72.10.32.61:evapedroza.com
72.10.32.61:barquitosdepapel.com
72.10.32.61:www.eckell.com
72.10.32.61:www.avioncitosdepapel.com
72.10.32.61:juguetesdoblo.com
72.10.32.61:korochi.com
72.10.32.61:www.conaini.com.ar
72.10.32.61:www.quierohablarconelgerente.com
72.10.32.61:lucasworcel.com
72.10.32.61:nadakedecir.net
72.10.32.61:www.iguanaovera.com.ar
72.10.32.61:ipa.notengoenie.com
72.10.32.61:fabulosospremios.com.ar
72.10.32.61:korochi.net
72.10.32.61:ceciliasluga.com
72.10.32.61:coqueterias.net
72.10.32.61:www.ahhhproject.com.ar
72.10.32.61:www.worcel.com
72.10.32.61:twitter.korochi.com
72.10.32.61:iguanaovera.com.ar

Bueno! No nos vamos a poder comunicar con COSO. Ahi tenemos un par de otros hosts que se corren en la misma computadora, que tambien pueden ser puntos de entrada en este caso.

COSO, ¿Corre un CMS en nadakedecir.net?

Ahora vamos al jugo, investiguemos si COSO tiene un CMS instalado en su servidor. Para eso, vamos a hacer WAFP, o Web application finger printing. Es un nombre muy cheto, pero basicamente nos sirve para saber que es lo que e que tiene hostiao ai. Importante mencionar que deberian sin falta clickear ese link que les dejo ahi, porque probablemente sea un mucho mejor articulo que este.

La app que me afane de ese web para probar, es whatweb. A ver que hace:

root@pc:~# ./whatweb nadakedecir.net
http://nadakedecir.net [200] Apache, Country[UNITED STATES][US], Email[nadakedecirnet@gmail.com], HTTPServer[Apache], IP[72.10.32.61], MetaGenerator[WordPress 3.4.2], Plesk[Lin], Script[text/javascript], Title[ nadakedecir*], WordPress[3.4.2], X-Powered-By[PleskLin], x-pingback[http://nadakedecir.net/xmlrpc.php]

Bueno! Quien te dice! Encontro un mail, no me la esperaba: nadakedecirnet@gmail.com. Genial, considerando que esta en la primera página, debería haberlo encontrado el harvester. En definitiva yo ya sabía que esto era un wordpress, porque el escaneo del nmap me tiró un link al archivo robots.txt, que decía:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/

Tambien sabía que era un 3.4 porque hay un archivo de README que los wodpress dejan muy amablemente. Recomiendo el lugar donde aprendí esto, FLU project, que tiene una guia para fingerprinting de wordpress.

Tambien vamos a hacer uso de su aplicacion que nos permite determinar los plugins que tiene instalados un wordpress. Necesitamos descargar Flunym0us y tambien una lista de los plugins mas usados de wordpress, por ejemplo esta.

Sin mas, la corremos (tarda un buen rato, tiene que hacer miles de peticiones al servidor. Recomiendo cancelarlo luego de un tiempo.)

root@pc:~# python flunym0us.py -wp http://nadakedecir.net wp-plugins.lst

 Flunym0us is a scanner that allows you retrieve a list of all installed plugins
 in WordPress and Moodle

 Plugins:

 wp-db-backup

Asi que ahi tenemos un plugin, que podria tener una vulnerabilidad conocida, aunque no creo que sea el caso. Tambien podemos sospechar que, si el servidor esta mal configurado, el WP_BACKUP_DIR podria ser publico, creo que no es el caso.

Vamos a investigar eso con dirb. Esta complicado, hay que compilarlo, pero eventualmente hay que compilar algo. Yo lo compile, viene con wordlists en la carpeta worlists del source. Hay una alternativa en java llamada dirbuster, pero yo la verdad no soy un gran fanatico de las interfaces graficas. Lo voy a correr con dos diccionarios.

root@ip-10-29-235-201:/home/ubuntu/dirb# dirb http://nadakedecir.net/ wordlists/big.txt,wordlists/vulns/apache.txt

-----------------
DIRB v2.03
By The Dark Raver
-----------------

START_TIME: Fri Sep 21 00:56:00 2012
URL_BASE: http://nadakedecir.net/
WORDLIST_FILES: wordlists/big.txt,wordlists/vulns/apache.txt

-----------------

GENERATED WORDS: 4234

---- Scanning URL: http://nadakedecir.net/ ----
+ http://nadakedecir.net//
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/0/
    ==&gt; DIRECTORY
+ http://nadakedecir.net/1
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/2
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/20
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/3
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/30
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/A
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/D
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/E
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/G
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/J
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/L
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/M
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/S
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/V
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/a
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/admin
    (FOUND: 302 [Moved Temporarily] - Size: 0)
+ http://nadakedecir.net/ar
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/archivo
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/archivos
    (FOUND: 200 [Ok] - Size: 17792)
+ http://nadakedecir.net/atom
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/cgi-bin/
    (FOUND: 403 [Forbidden] - Size: 275)
+ http://nadakedecir.net/css/
    ==&gt; DIRECTORY
+ http://nadakedecir.net/d
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/demo/
    ==&gt; DIRECTORY
+ http://nadakedecir.net/do
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/e
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/en
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/feed
    (FOUND: 200 [Ok] - Size: 10973)
+ http://nadakedecir.net/g
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/gr
    (FOUND: 301 [Moved Permanently] - Size: 0)
+ http://nadakedecir.net/img/
    ==&gt; DIRECTORY
+ http://nadakedecir.net/j
    (FOUND: 301 [Moved Permanently] - Size: 0)

Esta es una busqueda de fuerza bruta, y si bien puede aportar algunos resultados, la verdad es que no sirve mucho. Vamos a hacer que la busqueda sea un poco mas efectiva. El comando que vamos a usar es

dirb http://nadakedecir.net/ wordlists/common.txt,wordlists/vulns/apache.txt -x mutations_common.txt

que significa: usame los diccionarios common y vulnerabilidades y agregale las extensiones de respaldo mas comunes. Basicamente estoy buscando un archivo, por ejemplo index.php~ que seria un respaldo de index.php. Lo corri por bastante tiempo, pero la verdad es que todavia no encontro nada. Habria que tunear las wordlists para que tengan info mas relevante.

Asique eso seria todo, el resumen ejecutivo seria este:

  • ¿Qué versión de apache corre? Lo averiguo usando NMAP.
  • ¿Corre un CMS en nadakedecir.net? ¿Qué version es? ¿Qué plugins tiene instalados? Lo averiguo usando whatweb && flunym0us
  • ¿Existe algún medio de contacto que podría usar para comunicarme con COSO? Lo averiguo usando theHarvester
  • ¿Puedo llegar a encontrar un dump de la base de datos en su public_html? Lo averiguo usando dirb

Ahora la pregunta que se me ocurre es, ¿Qué otras cosas sería interesante averiguar?

¡Espero su input en los comentarios!

Un abrazo enorme,
Pedro

GIT con HTTP Proxy

¡Hola a todos!

¿Como estan? Si leen este artículo, seguramente esten bastante enojados con un proxy HTTP, pero mas alla de eso espero que esten bien.

Los proxys HTTP son una brillante idea que le permite a los administradores de la red hacer un monton de cosas copadas, y ademas en teoría permite filtrar el tráfico que circula por una red. Toda esta teoría tienta tanto a las companías que estas instalan el proxy, sin darse cuenta que en realidad no sirven para una mierda y encima te tenes que clavar configurando todos los programas de mierda para que el trafico pase por ese agujero. ajem.

En windows configurar estas cuestiones es bastante sencillo, aunque no automático, y la mayoría de las aplicaciones reconocen la configuración del sistema operativo. Pensé que funcionaba perfecto, pero no, muchas aplicaciones ignoran el hecho a full. En linux es una locura. Podés configurar el proxy en como 3 lugares, y en ninguno las aplicaciones te dan pelota. Tenés que configurar — applicacion por aplicacion — el APT, el svn, el git, el hg, el browser, todo.

Pero como todo en la vida es una experiencia que nos enseña que estar atrás de un proxy es fácil en las películas, pero en la vida real es un quilombo de la puta madre y si quisieramos anonimizar nuestro tráfico sería complicadísimo garantizar que ningún tipo de tráfico se esta escapando y viajando sin tocar el proxy ( efectivamente rompiendo nuestro anonimato)

Y hoy nos vamos a concentrar en el GIT, con un gist sacado de “I shouldn’t have to do this shit…“.

Basicamente los pasos a seguir son:

1. Instalar corkscrew:

Corkscrew es una utilidad para pasar SSH sobre proxies HTTP. Vamos a usar GIT por SSH.

apt-get install corkscrew

2. Configurar el usuario y contraseña

echo usuario_de_proxy:contrasenia > ~/.corkscrew_auth

3. Configurar en ~/.ssh/config

Host gitproxy
    User git
    Hostname ssh.github.com
    Port 443
    ProxyCommand /usr/local/bin/corkscrew dnzwgpx2 80 %h %p ~/.corkscrew_auth
    IdentityFile ~/.ssh/id_rsa

4. Agregar a ~/.git/config tu repositorio

[remote "originpx"]
    url = ssh://gitproxy/your_username/your_repo.git
    fetch = +refs/heads/*:refs/remotes/origin/*

Ahora deberias de poder hacer esto:

git clone git@gitproxy:your_username/your_repo.git