OSX/keynap Menyebar melalui Aplikasi Signed Transmission

Bulan lalu peneliti ESET menulis artikel tentang malware baru yang menyerang OS X yang disebut sebagai OSX/Keynap, malware dengan kemampuan untuk mencuri konten keychain OS X dan membuat backdoor secara permanen. Pada saat itu masih belum jelas bagaimana korban terpapar oleh OSX/Keynap. Dugaan saat itu penyebaran terjadi melalui atttachment yang didapat dari pesan spam, atau mengunduh dari situs-situs berbahaya atau hal yang lain.

Namun berdasarkan lanjutan penelitian ditemukan sesuatu yang berbeda, OSX/Keynap ternyata didistribusikan melalui situs web terpercaya, dari sebuah aplikasi open source bernama Transmission yaitu aplikasi BitTorrent untuk OS X dan malware didistribusikan di website resmi mereka.

Respon dari Transmission

Setelah mendapat pemberitahuan dari ESET, tim Transmission menghapus file berbahaya dari server web mereka dan langsung melakukan investigasi untuk mengidentifikasi bagaimana hal itu dapat terjadi.

Memang sulit dikatakan kapan tepatnya file berbahaya tersebut bisa tersedia untuk diunduh. Berdasarkan signature, bundel aplikasi ditandatangani pada tanggal 28 Agustus 2016, tetapi tampaknya didistribusikan satu hari setelahnya. Dengan demikian ESET menyarankam siapa pun yang mengunduh Transmission v2.92 antara 28 Agustus dan 29 Agustus 2016, untuk memverifikasi apakah sistem mereka sudah dikuasi atau tidak oleh hacker, dapat mengetahuinya dari salah satu file atau direktori berikut:

  • /Applications/Transmission.app/Contents/Resources/License.rtf
  • /Volumes/Transmission/Transmission.app/Contents/Resources/License.rtf
  • $HOME/Library/Application Support/com.apple.iCloud.sync.daemon/icloudsyncd
  • $HOME/Library/Application Support/com.apple.iCloud.sync.daemon/process.id
  • $HOME/Library/LaunchAgents/com.apple.iCloud.sync.daemon.plist
  • /Library/Application Support/com.apple.iCloud.sync.daemon/
  • $HOME/Library/LaunchAgents/com.geticloud.icloud.photo.plist

Jika salah satunya ditemukan, itu berarti aplikasi Transmission yang sudah disusupi malware sudah mengaktifkan Keynap dalam komputer. Sementara disk image Transmission asli juga diduplikasi oleh malware, yang palsu bernama Transmission2.92 sedang yang asli Transmission-2.92 (perhatikan tanda hubung).

 
Kemiripan dengan KeRanger

Modus operandi Keynap sebenarnya terdengar sangat akrab di telinga. Karena ini sama persis seperti pemaparan dalam posting blog peringatan yang diterbitkan oleh Palo Alto network tentang metode penyebaran KeRanger, ransomware pertama yang menyerang OS X yang menyerang memanfaatkan Transmission.

Dalam kedua kasus, sebuah blok kode berbahaya ditambahkan ke fungsi utama aplikasi Transmission. Kode tersebut bertanggung jawab dalam menyebar dan menjalankan payload.

Fungsi utama Transmission menyebar OSX/KeRanger
Fungsi utama Transmission menyebar OSX/KeRanger

 

Fungsi utama Transmission menyebar OSX/Keynap
Fungsi utama Transmission menyebar OSX/Keynap

Seperti halnya kasus Keranger, kunci penandatangan kode yang legitimate digunakan untuk menandatangani bundel aplikasi berbahaya Transmission. Ini berbeda dengan sertifikat Transmission yang legitimate, tetapi masih ditandatangani oleh Apple dan bypass perlindungan Gatekeeper.

# Malicious Transmission.app
$ codesign -dvvv /Volumes/Transmission/Transmission.app
Executable=/Volumes/Transmission/Transmission.app/Contents/MacOS/Transmission
Identifier=org.m0k.transmission
Format=app bundle with Mach-O thin (x86_64)
CodeDirectory v=20200 size=6304 flags=0x0(none) hashes=308+3 location=embedded
Hash type=sha1 size=20
CandidateCDHash sha1=37ffe70260919ee70e9f2a601d5ad00e2dd5a011
Hash choices=sha1
CDHash=37ffe70260919ee70e9f2a601d5ad00e2dd5a011
Signature size=4255
Authority=Developer ID Application: Shaderkin Igor (836QJ8VMCQ)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Signed Time=Aug 28, 2016, 12:09:55 PM
Info.plist entries=38
TeamIdentifier=836QJ8VMCQ
Sealed Resources version=2 rules=12 files=331
Internal requirements count=1 size=212

# Clean Transmission.app
$ codesign -dvvv /Volumes/Transmission/Transmission.app
Executable=/Volumes/Transmission/Transmission.app/Contents/MacOS/Transmission
Identifier=org.m0k.transmission
Format=app bundle with Mach-O thin (x86_64)
CodeDirectory v=20200 size=6304 flags=0x0(none) hashes=308+3 location=embedded
Hash type=sha1 size=20
CandidateCDHash sha1=a68d09161742573b09a17b8aef05f918a1cebcac
Hash choices=sha1
CDHash=a68d09161742573b09a17b8aef05f918a1cebcac
Signature size=8561
Authority=Developer ID Application: Digital Ignition LLC
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=Mar 6, 2016, 3:01:41 PM
Info.plist entries=38
TeamIdentifier=5DPYRBHEAR
Sealed Resources version=2 rules=12 files=328
Internal requirements count=1 size=180
ESET telah memberitahu Apple masalah ini. Selain metode distribusi yang sama, Keynap dan KeRanger fitur memiliki beberapa kesamaan dalam kode seperti pada parameter dan path resource server Command and Control.

  • KeRanger: /osx/ping?user_id=%s&uuid=%s&model=%s
  • Keydnap: /api/osx?bot_id=%s&action=ping&data=%s (parameters as POST data, encrypted with RC4)

Keynap Versi 1.5

ESET mengamati pergerakan Keynap termasuk versi internal mereka saat melaporkan ke server C & C melihat ternyata berada dalam sebuah binary baru yaitu 1.5, sedangkan binary dikemas dalam UPX yang dimodifikasi. Tetapi untungnya patch yang ESET publikasikan di Github untuk membongkar file executable masih dapat bekerja dengan varian baru.

Perubahan signifikan dalam versi terbaru adalah kehadiran client Tor mandiri, memungkinkan Keynap untuk menjangkau server C & C Onion tanpa perlu lagi relay dari Tor2Web seperti onion.to. Lalu, dari hasil analisis, ada perintah tambahan apabila dibandingkan pada versi sebelumnya. Perintah baru ini, dengan id 10, memungkinkan server C & C diatur untuk URL berbeda dan menyimpannya pada disk.

Kunci RC4 yang digunakan untuk mengenkripsi data HTTP POST dan mendekripsi, responnya berubah menjadi “u-4&LpZ!6Kgu^=$a”.

Hardcoded C & C URL sekarang adalah hxxp: //t4f2cocitdpqa7tv.onion/api/osx

keynap3

Sumber berita:
www.welivesecurity.com
github.com