Agensi Keselamatan Negara dan Biro Penyiasatan Persekutuan AS , mengikut yang ke-85 pusat utama perkhidmatan khas (85 GCSS GRU) kompleks perisian hasad yang dipanggil "Drovorub" digunakan. Drovorub termasuk rootkit dalam bentuk modul kernel Linux, alat untuk memindahkan fail dan mengalihkan port rangkaian, dan pelayan kawalan. Bahagian klien boleh memuat turun dan memuat naik fail, melaksanakan arahan sewenang-wenangnya sebagai pengguna akar, dan mengalihkan port rangkaian ke nod rangkaian lain.
Pusat kawalan Drovorub menerima laluan ke fail konfigurasi dalam format JSON sebagai hujah baris arahan:
{
"db_host" : " ",
"db_port" : " ",
"db_db" : " ",
"db_user" : " ",
"db_password" : " ",
"lport" : " ",
"lhost" : " ",
"ping_sec" : " ",
"priv_key_file" : " ",
"frasa" : " »
}
MySQL DBMS digunakan sebagai backend. Protokol WebSocket digunakan untuk menyambungkan pelanggan.
Pelanggan mempunyai konfigurasi terbina dalam, termasuk URL pelayan, kunci awam RSA, nama pengguna dan kata laluannya. Selepas memasang rootkit, konfigurasi disimpan sebagai fail teks dalam format JSON, yang disembunyikan daripada sistem oleh modul kernel Drovoruba:
{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
"kunci": "Y2xpZW50a2V5"
}
Di sini "id" ialah pengecam unik yang dikeluarkan oleh pelayan, di mana 48 bit terakhir sepadan dengan alamat MAC antara muka rangkaian pelayan. Parameter "kunci" lalai ialah rentetan "clientkey" yang dikodkan base64 yang digunakan oleh pelayan semasa jabat tangan awal. Selain itu, fail konfigurasi mungkin mengandungi maklumat tentang fail tersembunyi, modul dan port rangkaian:
{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"kunci": "Y2xpZW50a2V5",
"pantau" : {
"fail": [
{
"aktif" : "benar"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"mask" : "testfile1"
}
],
"modul" : [
{
"aktif" : "benar"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"mask" : "testmodule1"
}
],
"bersih" : [
{
"aktif" : "benar"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"port" : "12345",
"protokol" : "tcp"
}
] }
}
Komponen lain Drovorub ialah ejen fail konfigurasinya mengandungi maklumat untuk menyambung ke pelayan:
{
"client_login" : "user123",
"client_pass" : "pass4567",
"clientid" : "e391847c-bae7-11ea-b4bc-000c29130b71",
«clientkey_base64» : «Y2xpZW50a2V5»,
"pub_key_file" : "public_key",
"server_host" : "192.168.57.100",
"server_port" :"45122″,
"server_uri" :"/ws"
}
Medan "clientid" dan "clientkey_base64" pada mulanya tiada; ia ditambahkan selepas pendaftaran awal pada pelayan.
Selepas pemasangan, operasi berikut dilakukan:
- modul kernel dimuatkan, yang mendaftarkan cangkuk untuk panggilan sistem;
- pelanggan mendaftar dengan modul kernel;
- Modul kernel menyembunyikan proses klien yang sedang berjalan dan fail boleh lakunya pada cakera.
Peranti pseudo, contohnya /dev/zero, digunakan untuk berkomunikasi antara klien dan modul kernel. Modul kernel menghuraikan semua data yang ditulis pada peranti, dan untuk penghantaran ke arah yang bertentangan ia menghantar isyarat SIGUSR1 kepada klien, selepas itu ia membaca data dari peranti yang sama.
Untuk mengesan Lumberjack, anda boleh menggunakan analisis trafik rangkaian menggunakan NIDS (aktiviti rangkaian berniat jahat dalam sistem yang dijangkiti itu sendiri tidak dapat dikesan, kerana modul kernel menyembunyikan soket rangkaian yang digunakannya, peraturan netfilter dan paket yang boleh dipintas oleh soket mentah) . Pada sistem di mana Drovorub dipasang, anda boleh mengesan modul kernel dengan menghantarnya arahan untuk menyembunyikan fail:
sentuh fail ujian
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls
Fail "testfile" yang dibuat menjadi tidak kelihatan.
Kaedah pengesanan lain termasuk analisis kandungan memori dan cakera. Untuk mengelakkan jangkitan, adalah disyorkan untuk menggunakan pengesahan tandatangan mandatori bagi kernel dan modul, tersedia bermula dari kernel Linux versi 3.7.
Laporan itu mengandungi peraturan Snort untuk mengesan aktiviti rangkaian peraturan Drovorub dan Yara untuk mengesan komponennya.
Mari kita ingat bahawa GRU GTSSS ke-85 (unit tentera 26165) dikaitkan dengan kumpulan , bertanggungjawab untuk pelbagai serangan siber.
Sumber: opennet.ru
