Vous êtes sur la page 1sur 9

AlienSpy Java Ikhtisar Tikus

AlienSpy adalah RAT platform Java lintas dengan dukungan untuk Windows, Linux dan Mac sistem.

Sampel saya bisa menganalisa menggunakan versi demo dari Allatori Java Obfuscator (v5.3) yang
dapat dilihat dalam metode penamaan dikaburkan dan halaman Splash ditunjukkan saat malware ini
diluncurkan.

Allatori Nama Kebingungan

Allatori Splash Screen

Aku tidak akan menyelam ke dalam metode kebingungan Allatori atau wadah secara rinci selain
untuk memahami bagaimana jar berbahaya dikemas dalam paket. Wadah memiliki struktur
sederhana yang berisi dua file sumber daya (config.ini & password.ini) dan empat file kelas.

Ikhtisar jar
Setelah dieksekusi wadah mengikuti jalan sederhana untuk mendekripsi dan mengeksekusi payload.

Init LoadStub Thread

Memuat isi config.ini

Bibit DecryptStub Thread

Buat key - Load isi password.ini dan menambahkan static_key (diatur dalam LoadPassword.class)

Mendekripsi config.ini menggunakan diciptakan kunci

bibit LoadStubDecrypted

Menginisialisasi JarInputStream objek dari data config diterjemahkan

benang bibit dengan Jar didekode

Membongkar Payload yang

Menganalisis metode dekripsi di kelas DecryptStub menunjukkan enkripsi telah berubah dari versi
sebelumnya. Payload disimpan dalam file config.ini dienkripsi menggunakan RC4 dan kunci dekripsi
terdiri dari hash SHA256 dari kunci dinamis disimpan dalam file password.ini dan kunci statis
didefinisikan dalam LoadPassword.class.

Melihat string de-dikaburkan di kelas LoadPassword menunjukkan kunci statis


ALSKEOPQLFKJDUSIKSJAUIE.

Menambahkan Static Key

The SHA256 hash kemudian dibuat dari kunci dinamis dan statis gabungan.

key = SHA256 (dynamic_key + static_key)

Untuk sampel ini kuncinya dihitung menggunakan berikut:

SHA256 ( 'l85T4gI3' + 'ALSKEOPQLFKJDUSIKSJAUIE')

Untuk mengekstrak sifat (config.xml) atau seluruh muatan Saya telah mengumpulkan script untuk
memecahkan kode versi terbaru dari tikus AlienSpy.

https://github.com/idiom/IRScripts/blob/master/alienspy-decrypt.py

Setelah tikus diterjemahkan kita bisa menguraikan dan lihatlah tata letak dan fungsi. diterjemahkan
AlienSpy RAT memiliki tata letak sederhana yang berisi dua sumber config.xml & keystore.test dan
koleksi kelas-kelas dalam tiga paket.
Kegigihan

Ketika malware ini diluncurkan itu memeriksa INSTALL properti yang dihuni dari sumber daya
config.xml. Jika properti diatur ke True metode instalasi dipicu menggunakan properti berikut untuk
menghasilkan direktori dan file pada sistem host.

JAR_FOLDER - Nama folder untuk menyalin malware ke

JAR_NAME - Nama file

JAR_EXTENSION - Perpanjangan file

JAR_REGISTRY - Nama pengaturan ketekunan

jendela

Pada sistem Windows malware tersebut disalin ke direktori baru dengan% AppData% dan nilai baru
di bawah kunci Run dibuat untuk meluncurkan malware. Nama nilai adalah string didefinisikan
dalam pengaturan JAR_REGISTRY config dan nilai adalah baris perintah untuk meluncurkan malware
'java-jar <path-to-jar>'. Path jar dan nama file didefinisikan oleh sifat JAR_ dijelaskan di atas.
Tergantung jika pengguna adalah administrator lokal atau tidak nilai dibuat di bawah kunci Run di
HKLM atau HKCU baik menginfeksi sistem atau hanya pengguna saat ini. Untuk memeriksa apakah
pengguna adalah administrator file tem.txt dibuat dalam direktori Windows dan dihapus. Jika ini
berhasil Administrator Properti diatur ke benar.

Linux

Pada sistem Linux file jar disalin ke direktori tersembunyi <JAR_FOLDER> di dalam direktori home
pengguna dan berganti nama menjadi <JAR_NAME>. <JAR_EXTENSION>. malware kemudian
menciptakan sebuah file desktop dalam direktori pengguna autostart ~ / .config / autostart /
<JAR_REGISTRY> .desktop untuk meluncurkan RAT ketika desktop dimulai.

MacOS

Seperti pada sistem Linux malware menciptakan sebuah file di bawah direktori baru <JAR_FOLDER>
di rumah pengguna. Ini kemudian menciptakan pekerjaan baru dalam com Library / LaunchAgents
direktori pengguna. <JAR_REGISTRY> Plist

file konfigurasi yang dihasilkan memiliki kunci RunAtLoad opsional diatur ke benar; ini
menginstruksikan launchd untuk menjalankan pekerjaan sekali ketika itu dimuat.
Setelah file pekerjaan dibuat, kemudian menjalankan perintah "chflags tersembunyi <JAR_FOLDER>"
untuk mengatur bendera tersembunyi dan menyembunyikan direktori dari UI.

Sandbox Deteksi

Ketika dieksekusi cek AlienSpy jika sedang berjalan dalam baik lingkungan VirtualBox atau VMWare.
Jika mendeteksi bahwa itu berjalan dalam VM aplikasi keluar. Teknik deteksi tidak maju dan
dilakukan dengan mendeteksi file diinstal sebagai bagian dari VM alat tamu tuan rumah.

Untuk VirtualBox ini baik file "/etc/init.d/vboxadd" di Linux atau direktori "Oracle \ VirtualBox Guest
Additions" pada Windows. Jika RAT berjalan dalam lingkungan Mac ia mengembalikan false.

VirtualBox Deteksi

Demikian pula untuk VMware ini adalah direktori "/ etc / vmware-tools" di Linux "/ Library /
Application Support / VMware Tools" di Mac dan "VMware \ VMware Tools" pada Windows.

VMWare Deteksi

Komunikasi

AlienSpy menggunakan SSL Socket untuk berkomunikasi dengan server C2. Server dan port keduanya
didefinisikan dalam file config.xml.

DNS - Hostname atau alamat IP

PORT - TCP port

File jar berisi keystore.test sumber daya keystore yang digunakan untuk mempercayai sertifikat SSL
C2. Menggunakan keytool kita dapat melihat sertifikat yang terkandung.

Catatan: password untuk keystore adalah 'storepass' dan didefinisikan dalam util \
AlienSSLSocket.class
Ketika memeriksa rincian sertifikat saya bisa melacak kembali ke bagaimana-untuk posting di
SSLSockets dan menciptakan keystore.

https://assylias.wordpress.com/2012/08/01/from-socket-to-sslsocket/

Mayoritas pengaturan untuk sertifikat baru saja langsung disalin dari contoh-contoh dalam artikel
(nama keystore, kata sandi dan sifat sertifikat).

C2 Berlangganan

Untuk berlangganan ke server C2 tikus pertama menciptakan dan mengkonfigurasi koneksi SSL
kemudian mengirimkan 1 kemudian mengirimkan sifat yang menggambarkan sistem host. Pada titik
ini malware dalam mode mendengarkan menunggu perintah dari server C2.

perintah

Setelah terhubung ke server C2 RAT menunggu perintah. Perintah memiliki sintaks sederhana
command_id [1..10] dan payload opsional untuk perintah.
id payload Deskripsi

1 [0] - Jenis Pesan [1] - Option Type [2] - Judul [3] Tampilan Pesan Box
- Pesan

2 [0] - URL [1] - Jumlah kali untuk membuka URL Membuka URL jumlah yang diminta kali.
Hardcoded tidur 2s setiap iterasi.

3 N/A Matikan

4 N/A Mengulang kembali

5 N/A Uninstall

6 N/A Update Offline

7 URL untuk pembaruan. Perbarui online

8 [0] -. URL untuk di-download [1] - Download & Jalankan


Perpanjangan untuk menambahkan ke file.

9 Nama Plugin Jalankan Plugin

10 N / A Mulai Heartbeat

Dari apa yang saya amati perintah pertama setelah berlangganan umumnya '10' yang
menginstruksikan host yang terinfeksi untuk mulai mengirim sekejap setiap 60 detik.

menulis 1

menulis pingpong

60s tidur

detak jantung akan terus berjalan pada thread pengguna terpisah sementara malware menunggu
perintah selanjutnya dari server.

memperbarui

Ada dua perintah server C2 dapat mengirim untuk memperbarui host yang terinfeksi; update online
atau update offline.

Update secara offline menginstruksikan klien untuk membuat koneksi lain ke server C2. Setelah tikus
diperbarui download akan memanggil uninstall untuk menghapus versi yang ada kemudian
meluncurkan salah satu diperbarui dari file temp.
Update secara online termasuk URL sebagai payload yang menginstruksikan RAT mana untuk men-
download versi terbaru dari. Permintaan GET dikirim ke URL dengan UserAgent hardcoded

Mozilla / 5.0 (Windows NT 6.3; WOW64) AppleWebKit / 537,36 (KHTML, like Gecko) Chrome /
33.0.1750.154 Safari / 537,36

Proses yang sama terlihat di update secara offline diikuti, versi baru di-download ke dalam file
sementara dan klien meng-uninstall versi yang ada dan update ke versi baru download.

Download & Jalankan

Server dapat mengeluarkan perintah Id 8 yang memerintahkan klien untuk mendownload dan
menjalankan file yang didownload. Payload untuk perintah ini mencakup URL untuk men-download
file dari dan ekstensi untuk menambahkan ke file setelah download.

Permintaan yang dibuat menggunakan UserAgent yang:

Mozilla / 5.0 (Windows NT 6.2; WOW64) AppleWebKit / 537,17 (KHTML, like Gecko) Chrome /
24.0.1312.57 Safari / 537,17

Setelah file di-download file dilewatkan ke fungsi pembuka di mana ia menentukan bagaimana untuk
memulai file yang didownload. Pembuka cek pertama jika file yang didownload berakhir di '.jar' jika
tidak maka akan menghasilkan string 'java-jar <download jar>' dan jalankan.

Jika malware berjalan pada MacOS juga akan menambahkan argumen -Dapple.awt.UIElement = true

Jika file tidak berakhir di .jar pembuka akan menggunakan metode yang disukai untuk membuka file
untuk host OS. Untuk sistem Windows ini cmd, untuk Linux ini adalah baik / usr / bin / terbuka atau /
usr / bin / xdg-terbuka dan untuk MacOS ini java.awt.Desktop.getDesktop (). Terbuka
Buka URL

Server dapat menginstruksikan klien untuk membuka URL. Payload untuk perintah ini berisi URL
untuk membuka dan jumlah iterasi. Klien kemudian akan membuka URL jumlah yang diminta kali
tidur selama 2 detik antara iterasi.

Untuk MacOS akan meluncurkan URL menggunakan: terbuka -a Safari <URL>

Untuk Windows akan meluncurkan URL menggunakan: cmd.exe / c MULAI iexplore.exe <URL>

Untuk Linux akan meluncurkan URL menggunakan: / usr / bin / xdg-terbuka <URL>

Kesimpulan

Insiden Responders mencari sistem dikompromikan oleh AlienSpy dapat mengekstrak host dan
jaringan indikator dari sifat didefinisikan dalam file config.xml. Selain itu sistem juga akan beaconing
ke server C2 setiap 60 detik.

AlienSpy digunakan untuk memberikan muatan berbahaya lainnya ke sistem yang terinfeksi.
Mendeteksi keberadaan AlienSpy harus dianggap hanya bagian dari kompromi.

Jika Anda memiliki sampel apapun, ingin berkolaborasi merasa bebas untuk menjangkau saya di
twitter @seanmw. Saya tertarik untuk melihat bagaimana AlienSpy sedang digunakan dalam
phishing kampanye untuk menyampaikan malware.

sampel

Sampel Aku digunakan untuk pos dapat ditemukan dengan menggunakan hash bawah:

Contoh 1: f3366d437f9461f1486406972f52e7aab47174db

Contoh 2: c932064fe6a7dfc96fb2a3ffec2b7f4e5b7e048f

Referensi

http://contagiodump.blogspot.ca/2014/11/alienspy-java-rat-samples-and-traffic.html

https://developer.gnome.org/autostart-spec/

https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/C
hapters/CreatingLaunchdJobs.html

https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/laun
chd.plist.5.html#//apple_ref/doc/man/5/launchd.plist

Vous aimerez peut-être aussi