LAPORAN UAS MATA KULIAH: MALWARE ANALISIS Dosen Pengampu : Nur Widiyasono, M.Kom., CEH, CHFI.
ANALISIS MIRAI MALWARE TERHADAP SERANGAN PEANGKAT IoT
Oleh : Nama : Muhamad Taufik Hidayat NPM
: 147006139
TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS SILIWANGI TASIKMALAYA 2017
A. Struktur Malware
Mirai merupakan malware yang menyebabkan sebuah perangkat IoT dapat terinfeksi dan menyebabkan kemanan menjadi lemah. Mirai adalah sebuah Trojan Linux dengan kemampuan rootkit (termasuk dalam kategori 'malware ELF'). Dalam komputasi, Format Executable and Linkable (ELF, sebelumnya disebut Extensible Linking Format) adalah format file standar umum untuk executable, kode objek, shared library, dan core dumps.Dengan kata lain: ELF adalah Linux seperti PE (.exe, .com, .scr) adalah Windows dan Mach-O ke OS X.
Gambar 1.1 Tampilan Struktur Mirai
Gambar 1.2 Tampilan Scanning dengan Virus Total
Gambar 1.3 Tampilan ELF Struktur Mirai Perhatikan bahwa VirusTotal telah menambahkan (sejak November 2014) informasi ELF terperinci dalam laporan juga, yang kira-kira sama dengan keluaran readelf.
Gambar 1.4 Tampilan File Detail Mirai B. Reviwe Jurnal / Paper Malware Mirai No Peneliti / Tahun 1 Constantinos Kolias, Georgios Kambourakis, Angelos Stavrou, Jeffrey Voas
Judul Journal DDoS in the IoT Mirai and Other Botnets
Metode Studi yang dibahas disini yaitu tentang malware Mirai yang menjelaskan tentang bagaimana cara menyerang pada sistem jaringan dan struktur penyerangan yang diukur.
Hasil Penelitian Pada Jurnal ini, disediakan analisis yang komprehensif dari kemunculan dan evolusi Mirai, perangkat itu ditargetkan dan terinfeksi, dan serangan itu dieksekusi. Kemunculan mirai menjadi salah satu penyebab terjadinya
2
3
Manos Antonakakis Understanding Studi yang dibahas April, Michael the Mirai Botnet disini yaitu tentang Bailey, malware Mirai yang Matthew Bernhard, memanfaatkan Elie Bursztein, berbagai titik Jaime Cochran, jaringan yang lemah Zakir Durumeric, diantaranya adanya J. Alex Halderman scanning pada Luca Invernizzi, jaringan, honeypots Michalis Kallitsis, Telnet aktif, adanya Deepak Kumar, server C2 untuk Chaz Lever, serangan, pasif DNS Zane Ma, dan serangan DDoS. Joshua Mason, Pada jurnal ini, Damian Menscher, dibahas dari berbagai Chad Seaman, sumber data dan Nick Sullivan, dilakukan analisis Kurt Thomas, terhadap berbagai Yi Zhou. aspek
Alexandre Dulaunoy, Gérard Wagener, Sami Mokaddem, Cynthia Wagner
An extended analysis of an IoT malware from a blackhole network
Studi yang dibahas disini yaitu tentang malware Mirai yang memanfaatkan jaringan untuk memnyisipkan malware oleh penyerang dengan memanfaatkan
kejahatan yang terjadi pada jaringan cyber. kemudian step by step penyerangan pada sistem jaringan perangkat IoT yang dilakukan untuk menemukan perangkat IoT. Pada Jurnal ini, disediakan analisis yang komprehensif dari kemunculan dan evolusi Mirai, perangkat itu ditargetkan dan terinfeksi, dan serangan itu dieksekusi. Kami temukan bahwa sementara perangkat IOT menyajikan banyak tantangan keamanan yang unik, munculnya Mirai terutama didasarkan pada tidak adanya praktik terbaik keamanan di ruang IOT, yang mengakibatkan lingkungan rapuh matang karena melanggar. Sebagai domain IOT terus berkembang dan berkembang, kami berharap Mirai berfungsi sebagai panggilan untuk senjata untuk industri, akademisi, dan para pemangku kepentingan pemerintah prihatin dengan keamanan, privasi, dan keamanan dunia yang IOT-enabled Pada Jurnal ini, disediakan analisis yang komprehensif dari kemunculan dan evolusi Mirai, perangkat itu ditargetkan dan terinfeksi, dan serangan itu dieksekusi. Kemunculan mirai ini ditemukan dan disisipkan
kelemahan jaringan.
pada oleh penyerang pada jaringan untuk mengeksekusi perangkat – perangkat IoT yang tersebar, dengan maksud untuk menemukan semua informasi yang di dapat. Misalnya pada jaringan cctv jarak jaruh.
C. Data Statistik Mirai adalah malware yang mengubah sistem komputer yang menjalankan Linux menjadi 'bot' yang dikendalikan dari jarak jauh, yang dapat digunakan sebagai bagian dari botnet dalam serangan jaringan berskala besar. Terutama menargetkan perangkat konsumen online seperti kamera jarak jauh dan router rumah. Botnet Mirai pertama kali ditemukan pada bulan Agustus 2016 oleh Malware MustDie, sebuah kelompok penelitian malware whitehat, dan telah digunakan dalam beberapa serangan denial of service (DDoS) terbesar dan paling mengganggu, termasuk sebuah serangan pada tanggal 20 September 2016 pada jurnal keamanan komputer Situs web Brian Krebs, sebuah serangan terhadap host web Prancis OVH, dan demo cyber cyber Oktober 2016. Menurut log chat yang bocor antara Anna-senpai dan Robert Coelho, Mirai dinamai setelah anime TV 2011 Mirai Nikki.
Gambar 1.5 Tampilan Statistik data Mirai Statistik data pada perangkat yang terinfeksi malware mirai ini di kahir tahun 2016 hampir mencapai 3,5 M perangkat yang terinfeksi malware mirai, waloupun mirai ini baru ditemukan pada tahun 2016 awal tapi peningkatan malware terhadap serangan yang dilakukan pada perangkat IoT cukup signifikan. Kemudian pada awal 2017 sampai pertengahan 2017 bulan Juli malware mirai ini terus menurus karena pengamanan pada perangkat IoT juga sudah di kembangkan sedemikian rupa sehingga tidak terlalu mudah bagi penyerang untuk mengakusisi perangkat tersebut. Tetapi tetap saja sampai saat ini malware mirai adalah malware yang berbahaya yang dapat menyebabkan perangkat IoT terinfeksi. [Whitehat, 2017] Melihat geolokasi IP yang menargetkan situs Brian menunjukkan bahwa jumlah perangkat yang tidak proporsional yang terlibat dalam serangan tersebut berasal dari Amerika Selatan dan Asia Tenggara. Seperti dilaporkan dalam grafik di atas Brazil, Vietnam dan Columbia nampaknya menjadi sumber utama perangkat yang ditargetkan.
Gambar 1.6 Tampilan Geographic Distribution Dunia
D. Laporan Analisa Mirai Malware
Langkah pertama untuk mengetahui bagaimana perangkat kita terinfeksi malware atau terjadi serangan DdoS pada perangkat dengan menyisipkan malware mirai adalah sebagai berikut : 1. Pertama, penulis akan melakukan serangan DDoS dari mesin penulis ke target yang dipilih oleh penulis perangkat lunak perusak.
Gambar 1.7 Tampilan Mirai Ddos Terhadap Mirai Pada gambar diatas adalah sebuah proses untuk mencetak koneksi koneksi jaringan / internet saat ini menggunakan netstat. Gunakan tcpdump untuk mendapatkan analisis lebih rinci tentang paket yang di kirim. Dari gambar kita bisa melihat ip address yang digunakan kemudian port-port yang dipakai yang terdapat pada malware mirai tersebut yang kemudian di sisipkan pada boot untuk melakukan scanning dan attack secara otomatis kemudian hasil dari penyerangan akan dikirimkan ke komputer penyerang dari perangkat yang ditargetkan. 2. Kedua, indikasi lain adalah melihat proses berjalan dengan nama acak dan file eksekusi baru yang tiba-tiba dibuat di /etc/init.d/ atau / usr / bin / Entri baru akan ditambahkan ke crontab kita (/ etc / crontab).
Gambar 1.8 Tampilan proses yang sedang berjalan Dari gambar diatas dapat dianalisa bahwa semua proses yang berjalan dengan nama acak dan file eksekusi baru yang tiba-tiba dibuat di /etc/init.d/ atau / usr / bin / Entri baru akan ditambahkan ke crontab kita (/ etc / crontab). Kemudian dibuat proses menggunakan perintah apapun berdasarkan up atau di ps untuk memeriksa proses berbahaya yang sedang berjalan. Kita akan melihat lebih banyak di bagian mana yang dapat menginfeksi perangkat. Dari direktori-direktori tersebut banyak boot yang disimpan kemudian berjalan secara acak dan file tersebut di eksekusi secara tiba-tiba untuk mengetahui sistem perangkat yang ada. 3. Ketiga, jika kita menjalankan server OpenSSH standar, kita mungkin akan melihat login yang tidak sah namun berhasil dan segera logout setelahnya.
Gambar 1.9 Tampilan log Dari gambar diatas adalah proses login yang tidak sah, maksudnya adalah log atau catatan sistem pada perangkat secara realtime dicetak kemudian kita akan melihat sebuah user yang tidak terdaftar kemudian berhasil logout setelah masuk dalam sistem perangkat tersebut. Gejala ini sangat jelas, terlebih lagi jika sudah menerapkan beberapa tindakan untuk melindungi diri dari pengganggu potensial. Jika tidak, maka akan lebih sulit untuk melacak asal infeksi yang terjadi pada perangkat IoT. Tapi yang lebih sering daripada mengakses SSH dari pengguna root adalah tindakan kejahatan. 4.
Kita harus mengidentifikasi bagaimana malware memasuki sistem. Biasanya, password root lemah digunakan (seperti admin atau 123456, lihat di sini untuk daftar kata kunci yang dicoba. Catatan: file txt besar!) Atau penyerangnya kasar memaksa masuk ke mereka (secara kasar memaksa kredensial SSH dari akar user) Lain, namun kemungkinannya kurang umum, adalah memanfaatkan layanan yang rentan yang telah Anda jalankan (Apache misalnya).
Gambar 1.10 Tampilan Serangan Mirai Pada Jaringan
Gambar diatas menunjukan bagaimana attacker menyerang sebuah perangkat dimulai dari build root user password kemudian menggunakan SSH romoter command untuk mengendalikan perangkat dari jarak jauh, ke tiga mengektrak kernel headers dan version strings untuk mengetaui data string yang digunakan, ke empat mengirim kernel info ke build server dan disisipkan malware didalamnya. Ke lima perangkat terinfeksi oleh mirai malware dengan serangan XOR Ddos, kemudian malware menerima hasil dari pada yang dibuat pada program C&C server pada malware mirai tersebut. Dan yang terahir perangkat berhasil terinfeksi oleh malware yang kemudian perangkat tersebut sudah menjadi hak milik orang lain atau attacker karena sudah bisa dikendalikan oleh orang lain. Varian ini menyalin dirinya ke /lib/libgcc.so, lalu membuat salinan di /etc/init.d dan tautan simbolis ke /usr /bin. Setelah itu skrip cron baru dibuat dan ditambahkan ke crontab. Sekarang kita akan melihat salah satu sampel yang dibuat - bernama bmtsfnlgxu. (SHA1: b34b6f0ec42a0153c043b0665ec47bf6e5aac894 ) Cara termudah di Linux adalah dengan hanya menggunakan perintah "file":
Kita bisa melihat itu ELF 32-bit yang bisa dieksekusi untuk i386 - dan itu tidak dilucuti. Mengapa bagian terakhir itu penting? strip memungkinkan untuk menghapus simbol dan bagian dari file pilihan, yang pada gilirannya membuat lebih sulit untuk merekayasa balik (membongkar) juga. Dalam kasus ini, file sepertinya tidak dilucuti, bagus! Misalnya, kita bisa melihat file sumber dan mendapatkan ide tentang apa yang dilakukan malware ini:
Gambar 1.11 Tampialn Struktur Mirai Dari gambar diatas kita akan mulai dengan menggunakan readelf untuk penyelidikan lebih lanjut tentang file tersebut. Kita tahu, berkat perintah file, ini adalah ELF 32-bit yang bisa dijalankan untuk i386 . Menggunakan readelf dan parameter -h kita akan bisa mengumpulkan lebih banyak informasi. Pada gambar memberi kita lebih banyak informasi, misalnya; Magic (7F 45 4C 46 untuk file ELF, file 4D 5A untuk MZ) komplemen 2, little endian, jenis file yang tepat (file executable, jenis file ELF lainnya mungkin merupakan file yang dapat direlokasi, objek bersama, inti file atau prosesor tertentu) tapi yang terpenting disini adalah alamat entry point, atau dimulainya program. Struktur mirai tersebut bisa dilihat pada gambar diatas. Dalam hal malware itu sendiri, dengan menggunakan parameter, kita bisa membuang satu ton informasi, kita dapat menemukan output dari perintah ini pada perangkat lunak perusak di Pastebin: Xor.DDoS - "readelf -a" output. Untuk membongkar file tersebut, kita dapat menggunakan objdump yang memungkinkan kita membongkar hanya bagian yang diharapkan mengandung instruksi (parameter -d) atau untuk membongkar isi semua bagian (-D parameter). Namun, untuk menngetahu sedikit lebih dalam ke dalam kode malware, kita akan menggunakan IDA, pembongkar dan debugger multi-prosesor dan Radare, kerangka pembalikan (portable) yang terkenal. Perhatikan bahwa ini masih akan melirik sekilas, karena MalwareMustDie juga telah melaporkannya secara ekstensif. Perhatikan bahwa varian Xor.DDoS yang dibahas di malware mirai ini menggunakan 2 tombol XOR untuk komunikasi (jaringan), yaitu sebagai berikut: BB2FA36AAA9541F0 ECB6D3479AC3823F
Pada video yang saya buat untuk menganalisa malware menggunakan IDE dengan menggunakan GUI, berarti memiliki utilitas lain yang berguna: ELFparser. Ini akan melakukan penilaian berdasarkan beberapa faktor, seperti perintah shell, fungsi HTTP dan manipulasi proses. Misalnya, untuk file kami:
Gambar 1.12 Tampilan Aplikasi ELF Preser Anda bisa melihatnya mencetak cukup tinggi. Aku ingin tahu apa yang harus dikatakan tentang alamat IP hardcoded.
Gambar 1.13 Tampilam Informasi ElF Mirai Pada gambar diatas kita bisa melihat beberapa informasi yang didapat dari ELF mirai malware yang kita ingin bongkar dimulai dari informasi network yang digunakan, IP address, kemudian information gethering, dimana kita bisa mendapatkan informasi sebagai berikut : 103.25.9.228 - VirusTotal - IPvoid - DomainTools (whois) 103.25.9.229 - VirusTotal - IPvoid - DomainTools (whois) Menggunakan ELF arser kita juga bisa melihat header ELF, bagian, tapi juga semua kemampuannya seperti Information Gathering and Network Functions. Ini adalah alat kedua yang berguna. Akhirnya, satu alat terakhir yang tidak boleh dilewatkan saat menganalisis file ELF: box sugar. Kami akan menggunakan detux, box sugar multiplatform Linux.
Gambar 1.14 Tampilan DNS Queries Dari gambar diatas dapat kita lihat bahwa malware tersebut memiliki Analisis Jaringan (IP yang terhubung dan kueri DNS) dan Analisis Statis (Elf Info and Strings). Kita memiliki koneksi ke wangzongfacai.com, bukan domain yang asing. Lihat laporan lengkap yang dibuat oleh Detux di arsip kami di sini. Perlu dicatat bahwa diawal kita sudah mengirim file ke Detux (dan VirusTotal) yang menghasilkan hasil yang serupa: Detux melaporkan file itu disini Ketika saya mengirim file yang terakhir ke VirusTotal hanya ada 12 pendeteksian, setelah mengirimkannya kembali 19 disket. Itu lebih baik dari sebelumnya namun belum sampai memenuhi prasyart pada system yang ada. Kita mungkin menemukan gambaran umum dari semua file yang dikumpulkan serta domain yang paling umum / berulang dan IP mereka terhubung ke / download dari sini, tersedia melalui OTX AlienVault. 1. Disinfeksi
Mungkin ada beberpa petunjuk untuk menghapus atau mencegah alware dari perangkat yang terinfeksi.
Identifikasi proses berbahaya: jalankan ps ef (ps singkatan status proses) untuk melihat proses yang sedang berjalan. Sebagai alternatif, Anda dapat menggunakan ps top atau ps dengan parameter lainnya, misalnya ps ej atau ps aux untuk tabel manusia yang lebih lengkap. Cari proses dengan nama acak; dalam praktik ini dimulai dengan S90 dan huruf acak sesudahnya, terkait dengan file dengan semua nama acak, seperti yang terjadi pada contoh malware kami yang bernama bmtsfnlgxu.
Setelah Anda mengidentifikasi proses berbahaya (es), Anda dapat menggunakan perintah berikut untuk menemukan file terkait juga: untuk pid di $ (ps -C -o pid =); lakukan ls -la / proc / $ pid / fd; selesai dimana nama proses mencurigakan. Perintah ini akan menampilkan file yang terbuka dan terkait. Misalnya, untuk bmtsfnlgxu itu adalah:
untuk pid di $ (ps -C bmtsfnlgxu -o pid =); lakukan ls -la / proc / $ pid / fd; selesai.
Identifikasi file jahat: cari file yang baru dibuat di /etc/init.d/, / boot / dan / usr / bin /. Sekali lagi, cari file dengan nama acak. Anda juga bisa menggunakan perintah ls -lat header untuk melihat file yang baru saja diubah.
Periksa crontab Anda (/ etc / crontab). Hapus tugas cron yang jahat, lebih khusus lagi pada pekerjaan cron.hourly dan dalam kasus XOR.DDoS mereka akan menjadi yang berikut: * / 3 * * * * root /etc/cron.hourly/cron.sh * / 3 * * * * root /etc/cron.hourly/udev.sh
Hapus kedua baris ini dari crontab Anda. Jangan lupa simpan. Hapus file terkait, terletak di /etc/cron.hourly. Dalam kasus kami, isinya adalah sebagai berikut:
cron.sh
hg
Seperti yang dikatakan sebelumnya, hapus file-file ini secara manual, begitu pula filefile yang disebutkan dalam skrip. (dalam kasus ini: /lib/libgcc.so.bak, /lib/libgcc.so dan /lib/libgcc4.4.so.) Perhatikan bahwa file-file ini tidak terkait dengan perpustakaan runtime GCC dan dengan demikian dapat dengan aman dihapus. Ini hanya cara lain bagaimana malware mencoba untuk menyembunyikan diri. Juga periksa ulang tidak ada file atau skrip berbahaya di /etc/rc.d. jika tidak ada maka dibuang saja. Menghentikan dan membunuh proses berbahaya: mengidentifikasi proses yang sudah lama, Biasanya itu akan menjadi yang paling banyak memakan CPU, yang bisa Anda verifikasi menggunakan perintah sebelumnya, yang paling mudah. Pertama, pastikan untuk menghentikan proses induk dan menunggu proses anak mati. Gunakan perintah: kill -STOP $ pid
Saat proses anak mati, bunuh orang tua dengan menggunakan: kill -9 $ pid Jika Anda melihat proses berbahaya lainnya, baliki 2 perintah terakhir lagi. Hapus file berbahaya yang tersisa, lokasi tempat malware mungkin berada di tempat yang telah ditentukan sebelumnya, namun harus lengkap. / direktori root, dalam kasus yang jarang terjadi diantaranya :
/tempat sampah/ / boot / /etc/init.d/ /etc/rc.d /etc/rcX.d (di mana X adalah angka) / lib / / lib / udev / / sbin / / tmp / / usr / bin /
Gunakan rm -rf untuk menghapus file secara permanen. Hati-hati dengan perintah ini.
Memiliki masalah menghapus file, Apakah kita perlu root Jika tidak perlu, coba kill proses atau hapus file menggunakan root dengan cara menambahkan sudo sebelum perintah. Sebagai contoh: sudo kill -STOP $ pid Proses berbahaya terus datang kembali, lakukan langkah-langkah sebelumnya, tapi kali ini catat tempat malware berada. Buat direktori itu dan file-filenya tidak bisa dimodifikasi dengan memanfaatkan perintah chattr . Misalnya, malware sedang dibuat kembali di / usr / bin/. Gunakan perintahnya: chattr -R + i / usr / bin / Kemudian, hentikan yang lama, tunggu sampai child mati dan bunuh yang lama. Hapus file Jangan lupa gunakan chattr lagi setelah membersihkan infeksi. (dalam contoh kita: chattr -R -i / usr / bin / ). Ini juga mungkin malware untuk sementara menyimpan file ke / tmp / saat mencoba untuk membunuh prosesnya. Bila itu terjadi, gunakan perintah chattr yang sama di direktori / tmp / dan mulailah dari awal. Jika ragu, gunakan perintah chattr pada semua direktori yang disebutkan di atas dan mulailah dari awal. Sangat penting: jangan lupa gunakan chattr -R -i pada mereka setelah itu. Dalam kasus yang jarang terjadi, penyerang mungkin masih terhubung ke kotak. Jika memungkinkan, potong koneksi internet dan lakukan langkah disinfeksi. Jika ini tidak mungkin, pertama hentikan SSH dengan memasukkan perintah: sudo /etc/init.d/ssh stop.
Kemudian, gunakan iptables untuk menjatuhkan koneksi ke IP yang malware terhubung ke (gunakan netstat misalnya, lihat juga Diagnosis) dan untuk melepaskan koneksi dari penyeran g atau cybercriminal. Bagaimana cara melakukannya: Kami mengetahui bahwa K & C kami 103.25.9.228 dan 103.25.9.229. Jadi, ketik atau copy / paste 2 perintah berikut ini:
iptables-OUTPUT -d 103.25.9.228 -j DROP iptables-OUTPUT -d 103.25.9.229 -j DROP Untuk memblokir koneksi dari penyerang bisa menemukan IP penyerang menggunakan netstat iptables -A INPUT -s $ attackerIP -j DROP Jangan lupa untuk menyimpan aturan iptables yang
baru dibuat dengan menggunakan perintah /etc/init.d/iptables save Setelah itu, ubah semua kata sandi. (SSH, pengguna anda, root) Skenario kasus terbaik di sini jelas memulihkan dari cadangan Jika mesin itu virtual, pulihkan dulu snapshot Bila memiliki salah satu dari ini yang tersedia, jangan lupa untuk mengganti semua kata kunci setelahnya untuk mencegah infeksi ulang - dan tempelkan mesin. Beberapa varian XOR.DDoS juga bisa memasukkan rootkit. Dalam kasus ini, harap Anda memiliki "skenario kasus terbaik" yang tersedia. Setelah sebuah kotak dikompromikan sepenuhnya, mungkin akan sulit mengembalikannya kembali ke keadaan normal atau semula. Untuk pengecekan ganda terhadap rootkit dan malware lainnya, Anda mungkin ingin memeriksa chkrootkit atau sebaliknya, rkhunter. Selain itu, Anda bisa mendownload dan menginstal antivirus, misalnya ClamAV. Jika melakukan pembersihan manual seperti ditunjukkan di atas dan sudah memastikan semuanya beres, Anda dapat menginstal ClamAV dan melakukan pemindaian ekstra untuk memastikannya. Lebih baik aman daripada menyesal. Lalu, ikuti tips pencegahan di bawah ini untuk tetap aman.
Pencegahan
Gunakan kata sandi yang kuat untuk SSH atau gunakan kunci alih-alih kata sandi untuk otentikasi. Anda bisa membaca bagaimana melakukannya di sini. Jika Anda tidak memerlukan SSH ke mesin tertentu, nonaktifkan di mesin itu dengan perintah sudo apt-get remove openssh server Untuk menonaktifkannya dari start up Anda bisa menggunakan update-rc.d -f ssh delet
Jangan membuka port SSH yang masuk (default 22) ke APAPUN, namun batasi ke alamat IP tepercaya. Untuk informasi lebih lanjut tentang penggunaan SSH dengan aman, lihat: SSH: Praktik terbaik Gunakan firewall yang kuat. Di Linux ada banyak pilihan, iptables adalah pilihan yang solid. Dasar iptables dasar yang baik bisa ditemukan disini. Dalam jaringan atau jika perlu melindungi beberapa mesin, Anda mungkin ingin mempertimbangkan alat perangkat keras terpisah sebagai pilihan firewall / UTM / . Perintah 'n kontrol Mirai Server (CNC) mengakuisisi bots melalui telnet, yang ditemukan diaktifkan dan terkena sebagai kerentanan dalam perangkat IOT berlebihan menjalankan berbagai bentuk tertanam Linux. Dikombinasikan dengan hardware default akun produsen login, Mirai dapat dengan cepat memperoleh akses shell pada perangkat (bot). The
Mirai CNC server diberi makan berbagai perintah melalui antarmuka admin untuk melaksanakan Denial of Service (DoS) serangan pada jaringan outbound perangkat Terdiri ini. Selain itu, CNC perangkat panen alamat IP dan meta-data yang diperoleh melalui pemindaian bot dan penemuan dari perangkat yang diberikan. Setelah dikompromikan perangkat akan “telepon rumah” untuk CNC. Sementara perangkat terus muncul beroper asi
secara normal ketika sedang leveraged oleh server CNC dalam botnet besar terdiri dari ratusan ribu perangkat IOT.
Build
Membangun script naskah Bash sederhana yang menyediakan fungsionalitas standar seperti membersihkan artefak, memungkinkan bendera compiler, dan bangunan debug atau rilis binari via pergi dan compiler gcc. Rilis membangun mendukung kompilasi binari bot untuk berbagai platform (prosesor & terkait set instruksi): SPC, MIPS, x86, ARM (lengan, 7, 5n), PowerPC, Motorola 6800, dan SuperH (SH4).
Command and Control (CNC) Ini adalah perintah dan kontrol (CNC) logika bahwa server (s) berlaku untuk botnet. Itu semua
kode sumber Go yang mendefinisikan berbagai API dan fungsi perintah untuk mengeksekusi per perangkat “bot”.
Admin Ada login administratif dan fungsi didukung melalui admin.go ini adalah antarmuka admin utama untuk masalah kontrol untuk mengeksekusi terhadap botnet (misalnya membuat user admin, memulai serangan, dll). Permata favorit saya dalam sini adalah pada membangun koneksi masuk ke server CNC pengguna diperlakukan dengan STDOUT besar menyambut prompt “Saya suka chicken nugget”, atau setidaknya itulah
yang Google Translate disediakan dari prompt.txt yang dari sini pengguna harus memberikan mandat yang tepat (username & password), yang divalidasi terhadap MySQL DBMS melalui database.go Setelah
berhasil
dikonfirmasi
server
memberikan
kiasan
bahwa
ia
menyembunyikan koneksi dibajak dari netstat dan menghapus jejak akses pada mesin (misalnya variabel lingkungan ditetapkan sebelumnya). Mencetak ke stdout bahwa itu melaksanakan jejak penghapusan tersebut, namun pada kenyataannya tidak apa-apa. Berikutnya panel admin akan memberikan hitungan update dari jumlah total bot terhubung dan menunggu masukan perintah seperti jenis serangan, panjang durasi dan jumlah bot. Ini adalah antarmuka utama untuk mengeluarkan perintah serangan untuk botnet.
Daftar klien The clientList.go berisi semua data yang terkait untuk mengeksekusi serangan termasu k peta / hashtable dari semua bot yang dialokasikan untuk serangan diberikan ini. Kode ini bertanggung jawab untuk menjaga beberapa antrian tergantung pada negara bot eksekusi (misalnya siap menyerang, menyerang, menghapus / serangan saat selesai.
Attack attack.go bertanggung jawab untuk menangani permintaan serangan diprakarsai oleh server CNC. Ini mem-parsing perintah shell yang disediakan melalui Admin interface, format & membangun perintah (s), mem-parsing target (s), yang dapat dipisahkan koma daftar target, dan mengirimkan perintah ke bot yang tepat melalui api.go Hal yang menarik adalah bahwa durasi ambang batas diperbolehkan bahwa per serangan per bot dapat dijalankan pada (minimal 1 detik untuk maksimal 60 menit).
API Api.go bertanggung jawab untuk mengirimkan perintah (s) ke bot individu dari server CNC. Itu menegakkan beberapa aturan / batas pemeriksaan. Sebagai contoh, pengguna CNC dialokasikan jumlah N bot maksimum mereka dapat digunakan dalam serangan tertentu. Kecuali Anda seorang administrator Anda pasti batas pada jumlah bot Anda dialokasikan.Selain itu akan memeriksa apakah atau tidak target yang diberikan telah masuk daftar putih dalam database. Terakhir, logika akan memverifikasi negara bot. Jika bot sudah digunakan akan dihapus / diabaikan dari permintaan serangan.
Main main.go adalah titik masuk ke dalam biner CNC server. Hal mendengarkan koneksi masuk TCP pada port 23 (telnet) dan 101 (tanggapan api bot). Jika sambungan diterima pada port API itu ditangani sesuai dalam api.go. Sementara jika koneksi telnet didirikan sumber / alamat IP yang masuk mengakuisisi ditambahkan sebagai mesin baru dikompromikan dengan botnet (clientList).
Bot Dalam direktori bot berbagai metode serangan server CNC mengirim ke botnet untuk mengeksekusi DDoS terhadap target.
Attack UDP Bot mendukung bentuk yang berbeda dari serangan atas User Datagram Protocol (UDP). Kode sumber attack_udp.c mengimplementasikan serangan berikut yang akan dilakukan oleh IOT (bot) perangkat tak terduga: Generic Routing Encapsulation (GRE) Serangan TSource Query - reflektif Denial of Service (bandwidth amplifikasi) DNS Banjir melalui Query tipe A record (peta hostname ke alamat IP) Banjir byte acak melalui paket polos
Serangan TCP Seperti UDP ada beberapa jenis serangan didukung melalui Transmission Control Protocol (TCP) dalam attack_tcp.c SYN Banjir ACK Banjir PSH Banjir
Serangan HTTP Selain banjir paket cacat dan / atau UDP atau TCP, Mirai bot juga mendukung DoS melalui HTTP dalam attack_app.c yang setelah sambungan berhasil dibuat (tetap-hidup didukung) bot akan mengirim HTTP GET atau POST terdiri dari berbagai cookie dan data payload acak ketika berlaku (misalnya POST). Banyak pengguna-agen yang sah dimanfaatkan untuk menyamar permintaan sebagai klien yang valid. Selama koneksi diadakan (menerima respon valid) endpoint target terus dibanjiri permintaan HTTP berasal dari bot.
Scanner Selain serangan bot juga akan melakukan scanning kekerasan alamat IP melalui scanner.c mencari perangkat lain untuk memperoleh dalam botnet. bot mencari alamat IP yang tersedia (brute force melalui pilih set IP berkisar) dan menerapkan port scan (SYN scan) terhadap hal itu. Jika bot ini berhasil terhubung ke IP dan port yang terbuka maka akan berusaha untuk otentikasi dengan menjalankan melalui kamus kredensial dikenal (brute kekuatan AuthN) atau memeriksa apakah itu dapat terhubung langsung melalui telnet. Jika otentikasi atau telnet sesi negosiasi berhasil bot kemudian akan mencoba untuk mengaktifkan sistem shell / sh dan drop ke shell (jika diperlukan dan belum di shell). Setelah akses shell didirikan bot akan memverifikasi masuk ke perangkat baru saja diakuisisi. Jika diverifikasi dan bekerja sesi telnet informasi tersebut dilaporkan
kembali (alamat IP korban, pelabuhan, dan kredensial otentikasi) dengan perintah dan server kontrol. default domain CNC server untuk cnc.chageme.com CNC server memiliki corpus mesin yang tersedia yang sekarang dapat berhasil mengendalikan seperti melihat cocok dengan mendorong ke bawah biner bot dan menjalankan perintah serangan yang tepat.
Killer killer.c yang menyediakan fungsionalitas untuk membunuh berbagai proses yang berjalan pada bot (misalnya telnet, ssh, dll).
Main main.c adalah titik masuk ke dalam executable bot ini. Hal ini bertanggung jawab untuk membangun koneksi kembali ke server CNC, memulai serangan, menewaskan procs, dan memindai perangkat tambahan dengan harapan menyita mereka dalam botnet.k yang