Saya ingin mengembangkan pemikiran yang disebutkan dalam artikel
"Ikuti uangnya: bagaimana grup RTM mulai menyembunyikan alamat server C&C dalam dompet crypto
" , yang mengemasnya ke dalam jumlah satoshi yang terdaftar untuk dua transaksi pada alamat crypto tertentu. Malware, meminta data transfer ke alamat seperti itu dari browser blockchain, mengalokasikan IP server C&C baru dengan manipulasi sederhana.
Kami akan menghilangkan dan mengutuk niat kriminal kelompok ini dan tetap berpegang pada prinsip dan proses pengiriman perintah ke elemen botnet (EBS).
IMHO, metode ini memiliki kelemahan tertentu - bandwidth metode ini (dalam hal jumlah informasi per transfer) kecil, dan siapa pun yang tahu alamat kripto dapat mengirim jumlah tertentu ke sana, dan menyinkronkan botnet, memaksanya untuk menghubungi "tepercaya" ยปBagi mereka ke server.
Namun, perintah EBS tersembunyi dapat dikirim tidak ke yang terpisah, tetapi dari alamat A yang terpisah, apriori yang dipercayai untuk itu. Dalam hal ini, tidak seorang pun (kecuali orang yang memegang kunci pribadi) dapat melakukan operasi semacam itu.
Serangkaian perintah dapat diperluas dengan mengirimkan jumlah ke alamat yang dihasilkan oleh administrator botnet, dengan nama yang mana informasi kontrol yang diperlukan dikodekan / dienkripsi.
Dalam hal ini, perintah hingga 20 byte (huruf, angka, karakter khusus) dikonversi (teks menjadi hex) menjadi hex dan kemudian ke alamat crypto yang valid B. Dalam hal ini, perintah itu sendiri dapat dikodekan / dienkripsi.
Biarkan saya memberi Anda contoh fantasi. Untuk kejelasan (PoC), saya menggunakan sejumlah layanan online yang tersedia.
1. Dari alamat tepercaya A, sejumlah tertentu ditransfer ke alamat yang valid yang dihasilkan B.
Contoh alamat generasi B: perlu untuk mengirim informasi tentang server 82.192.95.175 ke EBS, dari mana dimungkinkan untuk menerima perintah pembaruan dari server modul # 68, waktu aktivasi / deaktivasi modul, serta kunci enkripsi (atau alamat browser blockchain tambahan, perintah eksekusi paling lambat tanggal yang ditransmisikan, alamat crypto baru yang dipercaya, kunci, dll. (kunci dapat dijahit ke agen pengguna dan ditransfer hanya jika perlu untuk mengubahnya, sehingga menghemat 7 byte dari bidang perintah)).
Dimungkinkan untuk mengonversi IP dalam seratus cara, misalnya 082.192.095.175> 08.21.92.09.51.75 + 32 ke setiap nomor (hindari karakter ASCII yang tidak dapat dibaca).
Total 40.53.124.41.83.107 = (5 |) Sk
diwakili dalam ASCII (6 byte);
Tim 68 = D;
Waktu aktivasi modul adalah 601234 = dalam
waktu Unix , di mana angka 1 yang paling signifikan adalah redundan, kami tidak akan mengirimkannya (karena secara default, karena perubahan ke 2 hanya akan terjadi pada 2033), tiga digit bawah juga secara default 000, karena . tidak masalah, ini + - 15 menit.
Waktu aktivasi - 1601234000 = 27 September 2019 13.13.20 GMT
Selanjutnya, empat digit, hingga modul mana yang harus dijalankan - 0365 (hari) dari waktu aktivasi.
Itu adalah 6012340365 = 01665D088Dh = AAHpKn di ASCII. Misalkan kunci sebelumnya adalah Key0001.
Total (5 |) SkDAAHpKnKey0002
menggunakan RC4 dan Key0001 berikan dalam hex: DD F6 B8 16 2A B6 71 97 0F 9F A2 68 79 11 8C B6 31 DA FE 43.
Kami mengonversi
hashtoaddress ini menjadi alamat
btc lawas (dimungkinkan ke alamat dasbor cryptocurrency lainnya, ltc, dogecoin, dll., Tidak masalah, algoritma untuk menghasilkan alamat crypto terbuka, transfer akan lebih murah dan lebih cepat).
Kami mendapatkan alamat B (warisan) - 1MEdtjmGtqaGPaoYAQn43dkZxiSrSD8gmD.
(Saya mengingatkan Anda bahwa di depannya ditambahkan satu "1" -
tanda byte, pada akhirnya - kontrol 4 byte).
Sumber daya ini memungkinkan untuk melihat secara langsung proses konversi langkah demi langkah (masukkan DDF6 ... on line 3 (RIPEMD-160 Hash of 2)).

Namun, agar tidak menonjol dari set alamat format segwit yang sudah standar, mari kita tunjukkan baris kami sebagai (lihat di
sini ).

Alamat B (segwit) - bc1qmhmts932kecewrul5f58jyvvkcca4ljrrgmpcd
2. Kami mengirim transfer beberapa ratus / ribu satoshi ke alamat ini dari A. tepercaya Jumlah transfer juga dapat membawa informasi (misalnya, verifikasi tambahan berdasarkan kesepakatan, simbol perintah untuk penghancuran tanpa syarat / penghentian sementara botnet tanpa perlu membaca perintah yang dikirimkan di alamat, dll.).
Saya akan memberikan perhatian khusus pada fakta bahwa saat mengirim, harus diperhitungkan bahwa alamat untuk pengiriman harus sama dengan alamat pengiriman, atau catat alamat email untuk pengiriman sebagai yang baru tepercaya.
Transaksi dikonfirmasi rata-rata beberapa menit (tergantung pembayaran sejumlah komisi mengambang tergantung pada beban jaringan).
Biaya transfer sejumlah 1.000 satoshi akan menjadi 7 rubel. (ditambah komisi 2-3 rubel). Saya ulangi bahwa dengan cryptocurrency lain bisa lebih cepat dan lebih murah puluhan / ratusan kali.
3. Pada bagian EBS, ada survei periodik peramban blockchain (oleh API) dari daftar yang tersedia (peramban disajikan dalam berbagai macam) tentang transfer dari A.
Ketika fakta mengirim transaksi baru dengan A (dan mengkonfirmasikannya) diungkapkan, informasi yang terkandung dalam alamat penerima dimana transfer dilakukan didekripsi (didekodekan) oleh kunci yang diterima dan diterima untuk dieksekusi.
Misalkan alamat tepercaya adalah bc1qsj0gm0r2c3hzq9yzfewl34yk2r760hy5za4x3q (format segwit).
Di alamat ini,
transaksi keluar terakhir (sekitar. Bukan yang terakhir, tetapi yang
ini ) diteruskan ke dua alamat - bc1qmhmts932kecewrul5f58jyvvkcca4ljrrgmpcd dan perubahannya sama dengan alamat pengirim.
Jumlah yang ditransfer - 666 Satoshi - kami memutuskan bahwa ini adalah perintah bersyarat untuk melakukan decoding.

Dekode alamat kami kembali ke DDF6 ....
Konversikan ke bentuk (5 |) SkD34 ,, +! Key0002 dan dekripsi dengan Key0001 (kunci berubah menjadi Key0002).
Unduh modul dari server (akses ke server dapat diimplementasikan menggunakan kunci yang sama) dan tunggu tanggal peluncuran modul.
Saya perhatikan bahwa perlu untuk menggunakan setidaknya beberapa browser (mereka dapat memutuskan atau membatasi permintaan dari beberapa negara, seperti
bitflyer.jp , membatasi dari Rusia dan mulai dari IP Jepang).

Informasi yang diterima dapat diperiksa setidaknya pada satu / dua. Pilihan browser sangat bagus, hanya dalam daftar tipe Electrum ada lebih dari selusin - blockchair.com, smartbit.com.au, bitupper.com, chain.so dan banyak lainnya. lainnya

Harap dicatat bahwa tidak semua browser mendukung format segwit. Oleh karena itu, Anda perlu memilih jalan tengah, gunakan alamat tepercaya dari format lama atau baru.
Contoh pengiriman dari alamat tepercaya dalam format lama 186A8D7vdAHpFWdSAFHzZGfi44pPcwtZNc ke alamat lawas yang dihasilkan dalam bentuk mentah

dan
alamat segwit
Penggunaan berbagai browser blockchain menekankan keberagaman mereka.Saya ingat bahwa pesan tersembunyi di alamat dari transaksi yang akan dipalsukan sehingga dikonfirmasi tidak mungkin secara definisi.
Keuntungan algoritma
- Tidak ada server C2, panggilan masuk ke browser blockchain.
- Perintah untuk EBS dipercaya tanpa syarat.
- Media untuk mengirim perintah adalah blockchain, yang tidak memungkinkan memblokir pengiriman / pengiriman perintah.
- Blockchain adalah sistem yang sangat stabil (ini tidak berlaku untuk volatilitas cryptocurrency).
- Biaya rendah untuk menyediakan pekerjaan.
- Implementasi algoritma sederhana (open source data dan kode).
- Tidak perlu menghasilkan transaksi atau mengunduh blockchain.
Fitur Algoritma
- Komunikasi simpleks.
- Ketergantungan pada stabilitas browser.
- Biaya keuangan tertentu (walaupun minimal).
Saya percaya beberapa poin yang diberikan di sini bermanfaat untuk dipertimbangkan bagi para pakar keamanan informasi.
Akan menarik untuk meningkatkan stabilitas botnet, di samping pengamat, untuk menarik kemampuan node penuh atau node dompet populer seperti electrum, serta mengatur komunikasi duplex dengan menghasilkan transaksi yang diperlukan di sisi sistem perbankan elektronik. Saya akan berterima kasih atas pemikiran tentang hal ini, serta kritik dan saran yang masuk akal.