Bagaimana saya menemukan rumah pintar yang didominasi oleh botnet

Di Internet, pertanyaan seperti "Bagaimana cara memeriksa apakah router, komputer, IP-kamera atau perangkat lain saya adalah bagian dari botnet?" Sangat umum. Ini memotivasi saya untuk berbicara tentang satu dari sedikit kasus tabrakan dengan botnet dari tempat praktik saya.

gambar


Mempelajari lalu lintas yang mencurigakan, saya menemukan alamat IP router, dari mana upaya yang gagal dilakukan untuk terhubung melalui SSH ke HONEYPOT saya. Di /var/log/auth.log saya melihat ini:

... Oct 9 23:52:04 dvrh sshd[3523]: Failed password for root from 129.***.***.29 port 35276 ssh2 Oct 9 23:52:04 dvrh sshd[3523]: Connection closed by authenticating user root 129.***.***.29 port 35276 [preauth] Oct 9 23:52:05 dvrh sshd[3525]: Connection closed by authenticating user root 129.***.***.29 port 35278 [preauth] Oct 9 23:52:06 dvrh sshd[3529]: Failed password for root from 129.***.***.29 port 35280 ssh2 Oct 9 23:52:06 dvrh sshd[3529]: Connection closed by authenticating user root 129.***.***.29 port 35280 [preauth] Oct 9 23:52:06 dvrh sshd[3531]: Invalid user admin from 129.***.***.29 port 35282 Oct 9 23:52:07 dvrh sshd[3531]: Failed password for invalid user admin from 129.***.***.29 port 35282 ssh2 Oct 9 23:52:07 dvrh sshd[3531]: Connection closed by invalid user admin 129.***.***.29 port 35282 [preauth] Oct 9 23:52:08 dvrh sshd[3533]: Invalid user test from 129.***.***.29 port 35286 Oct 9 23:52:11 dvrh sshd[3533]: Failed password for invalid user test from 129.***.***.29 port 35286 ssh2 Oct 9 23:52:11 dvrh sshd[3533]: Connection closed by invalid user test 129.***.***.29 port 35286 [preauth] Oct 9 23:52:11 dvrh sshd[3535]: Invalid user test from 129.***.***.29 port 35288 Oct 9 23:52:12 dvrh sshd[3535]: Failed password for invalid user test from 129.***.***.29 port 35288 ssh2 Oct 9 23:52:12 dvrh sshd[3535]: Connection closed by invalid user test 129.***.***.29 port 35288 [preauth] Oct 9 23:53:12 dvrh sshd[3537]: Invalid user admin from 129.***.***.29 port 35290 Oct 9 23:53:12 dvrh sshd[3537]: Connection closed by invalid user admin 129.***.***.29 port 35290 [preauth] ... 

Kesimpulannya tidak sulit: seseorang mencoba mengakses server saya menggunakan serangkaian login dan kata sandi standar. Selain itu (menilai dari interval waktu) ini dilakukan dalam mode otomatis. Ini berarti bahwa kemungkinan besar ini adalah router lain yang merupakan anggota botnet.
Bahkan, gambar ini adalah khas untuk host dengan port 22 terbuka. Anda dapat memverifikasi ini sendiri: buka ssh untuk akses dari Internet eksternal, izinkan entri kata sandi, dan bot tidak akan membuat Anda menunggu. Pada saat yang sama, ~ 80% dari upaya akan berasal dari Tiongkok.

Untungnya, setelah beberapa waktu, saya berhasil mengakses IP naas ini melalui ssh menggunakan salah satu login dan kata sandi standar (Terkejut? Saya tidak). Tetapi ternyata ini bukan router biasa, tetapi beberapa perangkat bernama Calix GigaSpire.
Calix GigaSpire adalah sistem kontrol rumah pintar di bawah sistem operasi EXOS. GigaSpire mencakup fitur-fitur berikut:

  • Mendukung Wi-Fi 6 (802.11ax), dengan 8x8 @ 5 GHz dan 4x4 pada 2,4 GHz
  • Layanan Multi Gigabit
  • Layanan Level 2 dan Level 3
  • Dikelola oleh Calix Support Cloud
  • Dukungan IoT (Bluetooth Low Energy, Zigbee 3.0 dan Z-Wave Pro)
  • Amazon Alexa Voice Assistant

Hal pertama yang saya lakukan, masuk ke sistem, saya melihat daftar proses yang berjalan untuk menemukan sesuatu yang menarik. Dan "sesuatu yang menarik" ini terlihat seperti ini:

 [router] / # ps ... 2978 root 1444 S {kkbs2l3mdqjq} ipjq2njq5qjq 9729 root 1584 S {kkbs2l3mdqjq} ipjq2njq5qjq 14871 root 5532 S {hgoj42jadsjvebc} m6ojj5oj5gojj2h08b8l 19037 root 308 S {hgoj42jadsjvebc} m6ojj5oj5gojj2h08b8l 19041 root 284 S {hgoj42jadsjvebc} m6ojj5oj5gojj2h08b8l ... 

Kecurigaan adalah "keacakan" dari nama-nama proses ini. Untuk memahami apa proses-proses ini, saya sarankan mengingat kembali apa itu sistem file / proc:
procfs adalah sistem file khusus yang digunakan pada sistem operasi mirip UNIX. Memungkinkan Anda mengakses informasi dari kernel tentang proses sistem. Diperlukan untuk menjalankan perintah seperti ps, w, top. Biasanya dipasang di / proc. Dari direktori ini Anda dapat memperoleh informasi tentang sistem Anda. Sebagai contoh, berapa banyak memori swap yang sedang digunakan, seberapa besar ukuran cache prosesor, modul kernel mana yang dimuat, berapa banyak disk atau partisi yang tersedia, dll.

Kami tertarik pada direktori yang berisi informasi tentang proses mencurigakan yang ditemukan. Mereka memiliki formulir / proc / PID, di mana PID adalah ID dari proses di mana direktori ini berisi informasi. Jika Anda melihat isinya, Anda dapat menemukan file-file berikut:

  • cmdline - berisi perintah untuk memulai proses, serta parameter yang diteruskan ke sana
  • cwd - tautan simbolik ke direktori proses saat ini yang berfungsi
  • exe - tautan ke file yang dapat dieksekusi
  • root - tautan ke folder root
  • variabel lingkungan - lingkungan tersedia untuk proses
  • fd - berisi deskriptor file, file, dan perangkat yang digunakan proses
  • peta , statm , dan mem - proses informasi memori
  • stat , status - status proses

Apa yang bisa kita lakukan? Hal pertama yang terlintas dalam pikiran adalah menghitung checksum dari salah satu file yang dapat dieksekusi dan mencari kecocokan di Internet:

 / # md5sum /proc/2978/exe d204e97ac15a6d0a3ed7e415edfa582e /proc/2978/exe 

Saya menemukan md5 ini dalam daftar checksum Mirai , yang menunjukkan sifat asal file. Tapi apa yang bisa kita lakukan sekarang? Untuk menghilangkan bot Mirai, cukup restart router. Tapi dalam kasus ini, itu tidak berguna, karena malware baru akan segera naik pada router dengan kata sandi sederhana, dan mengubah kata sandi orang lain adalah berlebihan, Anda tahu.

Source: https://habr.com/ru/post/id470513/


All Articles