"Hacker boleh ke embed code dalam gambar?" – ya, boleh.

Kebiasaannya, file media seperti gambar, video, PDF dan sebagainya digunakan sebagai "loader" (atau dropper) untuk download program backdoor di sebalik tabir tanpa mangsa sedari.

Macamana diorang buat?

Ini bebenang 🦠
Kita akan bincangkan bagaimana virus gambar dibuat.

Tapi sebelum kita pergi ke perbincangan tu, aku perlu perkemaskan beberapa istilah dulu (𝙸1-𝙸4).

Aku percaya ramai antara korang dah tahu dah pun semua istilah ni, cuma nak recall balik je terutamanya kepada yg belum tahu.
𝙸1. Malware

Singkatan kepada "malicious software", iaitu program yang dicipta untuk menjangkiti dan memudaratkan komputer korang.

Biasanya orang panggil "virus" ja, tetapi virus dan malware adalah dua benda yang berbeza. Virus pun adalah sejenis malware juga.
𝙸2. Trojan

Istilah ini diambil dari kisah Troy – Trojan adalah patung kuda gergasi yang dibawa masuk ke dalam kota, padahal penuh dgn askar lawan (Greek).

Dalam IT, Trojan adalah program yang nampak "harmless" padahal mengandungi malware. Contohnya gambar, PDF, keygen & etc.
Ada orang, dia tengok tutorial kat YouTube "how to crack Adobe Photoshop" lepastu slamber je follow sebijik-sebijik. Member tu suruh download crack & keygen pun dia buat tanpa perasaan syak langsung.

Kelakar betul. Makan Oreo pandai pulak syak ada DNA khinzir hahaha 😂
𝙸3. Backdoor

Backdoor ni adalah pintu masuk yang sengaja dibiarkan terbuka (nama pun backdoor). Selalunya ia diklasifikasikan sebagai Trojan oleh program antivirus.

Dalam erti kata lain, bila korang buka file Trojan tu, ibarat korang tengah buka pintu bagi orang masuk la.
𝙸4. Remote Access Tool/Trojan (RAT)

Kekadang kita sinonimkan RAT sebagai backdoor, tak kisahlah. RAT memberi akses penuh kepada hacker untuk kawal komputer anda dari jauh.

Sebagai contoh, hacker boleh stream webcam korang, keylogger & etc. Benda ni berlaku tanpa korang sedari.
By now, aku rasa semua dah kemas dengan istilah-istilah di atas. Jom kita teruskan kepada perbincangan kita.

---

Untuk hacker dapatkan akses penuh kepada komputer korang, dia perlu install RAT program ke dalam komputer korang terlebih dahulu (biasanya melalui Trojan/dropper).
Umumnya terdapat dua teknik (but not limited to) untuk sorok malicious code kat dalam gambar.

1. Trojan Image
2. Steganography

Untuk teknik kedua (stego), aku tak mahir dari sudut teknikalnya, jadi aku hanya akan masukkan contoh dlm bebenang ni.
1. Trojan Image

Ini adalah sebuah program Trojan yang 'menyamar' sebagai gambar. Ia sebenarnya merupakan executable file (.exe), bukannya gambar. Teknik ni bukannya susah pun untuk dibuat, tapi agak rare.
Untuk buat trojan image ni, pertama sekali, threat actor akan tulis malicious code yang akan download dari internet dan execute file tersebut (menggunakan shellExecute()). Code ini kemudiannya akan di-compile menjadi sebuah executable file.

Berikut adalah contoh pseudocode:
Penerangan pseudocode di atas:

• Download file gambar dari URL pertama dan execute file tersebut. Ini akan buka photo viewer seperti biasa (seperti dalam gambar di bawah)

• Download program backdoor.exe dari URL kedua dan execute backdoor tersebut (in the background).
Kebiasaannya, lepas compile code jadi executable, hasilnya adalah seperti file yang pertama (rujuk gambar di bawah). Kalau attacker hantar file pertama tu kat korang, kantoi la.

Diorang akan tukar icon supaya nampak seperti gambar. Tapi masih agak obvious sebab ada .exe tu.
Jadi, diorang perlu spoof nama file tu supaya ia berakhir dengan .jpg. Tapi tak boleh rename macam biasa sebab kalau extension tertukar kepada .jpg, code tu takkan execute.

Caranya ialah buat "RTL Override". Akhirnya, file tu nampak la macam file gambar. https://stackoverflow.com/a/4362203 
RTL Override (RLO) adalah sebuah character unicode yang boleh menterbalikkan huruf-huruf yg datang selepasnya. Jadi, file itu nampak seperti berakhir dengan .jpg, tapi sebenarnya ia masih .exe

Contoh: file_gpj.exe → file_exe.jpg
^
(paste RLO di sini)
Maka bila korang buka file tu, korang sebenarnya sedang establish connection antara komputer korang dan komputer hacker (in the background).

Ini antara contoh aktiviti hacker tersebut 👇🏻

Dalam gambar ni, dia screenshot komputer mangsa. Dia boleh juga akses webcam guna ni hehe.
Jadi, tuan-tuan dah faham kan sekarang?

Maka dari sudut teknikal, ayat "embed code dalam gambar" tak tepat sangat la untuk teknik ni sebab ia bukannya gambar, tapi sebuah program. Ayat tu boleh guna sekadar nak tarik minat orang awam untuk baca hahaha.
2. Steganography (singkatan stego)

Ia dikatakan bermula sejak 440BC di Greek. Mereka pilih & cukur kepala seorang hamba, tulis mesej rahsia di kulit kepalanya & tunggu rambutnya tumbuh semula sebelum dihantar untuk sampaikan mesej tersebut.

Gambar: https://securelist.com/steganography-in-contemporary-cyberattacks/79276/
Di dalam dunia IT, digital steganography adalah sebuah teknik di mana kita embed payload* di dalam sesebuah gambar.

Namun, dalam stegware (stego + malware), ia memerlukan mangsa untuk extract payload tersebut dari gambar itu dan execute.

*payload = code/data yg disorokkan.
Menariknya, payload tersebut disorok pada certain pixel di dalam sesebuah gambar. Dari luaran, gambar tersebut tiada apa-apa perubahan yang ketara pun jika dilihat dari mata kasar.

Namun, ada kemungkinan warna atau saiz gambar tersebut berubah sedikit daripada gambar asal.
Tunggu, jangan gelabah lagi. Kalau sekadar gambar stego saja belum lagi bahaya.

Sebab korang kena ada effort sikit untuk extract dan execute payload tersebut kalau nak jadi mangsa – ini jarang berlaku – biasanya ada program yg buat ni untuk korang seperti contoh-contoh di bawah.
2.1 VeryMal

Berdasarkan laporan dari Confiant, VeryMal adalah sebuah kumpulan malvertiser. Diorang menggunakan gambar yang mengandungi JavaScript code sebagai ads slot (banner iklan) yang kita lihat pada website-website normal.

Sasaran diorang: pengguna macOS.
Bila gambar tersebut tersiar, ads tersebut akan run kod JavaScript tambahan dan semak samada prospek (bakal mangsa) mempunyai Apple font dalam sistem atau tak.

Sekiranya ada, ads itu akan baca setiap pixel dalam gambar tu dan extract code yang tersembunyi di dalamnya.
Kemudian code itu akan di-executed. Code dalam gambar tersebut adalah JavaScript code yang akan redirect prospek (bakal mangsa) ke laman web palsu diorang.

Di situ, diorang akan suruh download "Adobe Flash update" (yang sebenarnya adalah trojan) seperti gambar di bawah.
Kalau prospek tu download & install "Adobe Flash" tu, jadilah dia mangsa kepada VeryMal.

Nak highlight kat sini – dalam contoh ni, nampak tak yang extract & execute kod dari gambar tu adalah ads tu sendiri. Kalau sekadar display gambar tu di browser, takde pape pun akan berlaku.
2.2 Gatak/Stegoloader

Yang ini juga menggunakan teknik steganography untuk establish connection dengan C2 server. Mereka download gambar stego dan extract data daripada gambar tersebut melalui keygen.
Walaubagaimanapun, kalau virus ni kesan ada analysis/security tools di dalam sistem, ia akan hentikan proses tersebut serta-merta.

Aku taknak tulis terperinci tentangnya sebab nanti bebenang ni akan jadi terlalu panjang haha. Korang boleh baca di sini https://bit.ly/2YOnCw0 
2.3 ZeroT

Selain gambar, threat actor juga boleh embed code di dalam dokumen selain gambar. Ambil contoh ZeroT yang digunakan oleh kumpulan pengintip siber dari China terhadap tentera dan sektor aeroangkasa Russia. Diorang guna Microsoft Word untuk install RAT pada sasaran.
3. Kebarangkalian korang terkena?

Hmm... aku rasa lebih ramai terkena Trojan bukan sebab gambar. Contohnya kena sebab keygen, kan ramai orang suka software crack haha. Tapi aku tak ada data konkrit untuk membuktikan kenyataan ni, hanya melalui pembacaan casual.
Aku rasa, orang yang paling susceptible untuk terkena Trojan gambar ni mungkin mereka yang "IT illiterate".

Illiterate kat sini bermaksud orang tu tak kisah atau tak percaya ada orang boleh menyebabkan kemudaratan kepada dia melalui malware disebabkan kejahilan dia tentang ni.
Mana tak nya, kalau Trojan Gambar (Teknik 1) tu sebenarnya agak obvious. Kekadang Windows bagi warning dialog sebelum korang run executable.

Logik ke bila buka gambar keluar dialog macamni? Tak kan? Kalau tak, kenapa dia "Run"? Hohoho.
Ada juga yang tanpa syak sanggup tutup antivirus sebab nak buka program keygen. Yelah, sebab instructor blog/YouTube tu suruh tutup dulu antivirus, sebab nanti antivirus tu sekat keygen tu.

Padahal dia taktahu code yang berjalan di sebalik keygen tersebut haha.
Selain keygen, boleh jadi juga korang dapat dari software entah apa-apa yang orang install dari Internet, seperti "free video converter" dan benda pelik-pelik lain.

Memang sesetengah orang ada satu tabiat suka install segala benda dari Internet tanpa fikir kesannya.
Akhirnya dia kena malware yang bukan-bukan. Ada satu virus tu, dengan secara tiba-tiba dia popup laman web lucah masa kau tengah buat kerja.

Itu masa kau tengah buat kerja.. bayangkan dia buat hal masa kau tengah present guna projector? Tak ke jatuh air muka kat depan orang?
4. Pencegahan?

4.1 Good computing habit

Berhati-hati dengan apa-apa yg korang download dan install dari Internet, terutamanya Windows. Aku tak nafi ada juga threat pada macOS, tapi less common berbanding Windows haha.
Tak perlulah percaya dan install segala benda kat komputer korang tu. Kalau boleh, elakkanlah daripada guna software/game crack dan keygens. Software crack ni bermaksud ada orang ubahsuai code software yang asli.

Maintain a good computing habit. Suspicion is your friend.
4.2 Download only from trusted source

Macam kes VeryMal di atas, sangatlah tak logik Adobe Flash datang dari website yang entah pape. Kalau nak download apa-apa software pun, downloadlah dari sumber yang asli dan dipercayai (website rasmi diorang).
Orang yang waras dan bijak takkan download sesuatu daripada sumber yang pelik.
4.3 Update OS

Kekadang OS updates datang dengan security fix. Aku tahu update ni agak annoying sebab lambat kena tunggu dia download dan install. Tapi itulah, when it's necessary then you might take it immediately.
4.4 Belajar literasi komputer

Em.. belajar IT sikit kot? Hahaha. Yelah, bila dah guna komputer, mestilah kena tahu asas-asasnya.. sekadar apa yang boleh dan apa yang tak boleh. Bukannya suruh belajar software engineering terus huhu.
Aku rasa setakat ni sahaja yang aku nak kongsi kali ini. Kalau ada apa-apa tambahan atau pembetulan fakta, aku amat mengalu-alukan.

Mohon berhati-hati dan cakna dengan apa yang berlaku pada komputer anda!
Peroleh sesuatu dari bebenang ni? Share dengan rakan korang! Star-struck

---

Follow for more interesting topics in the future. Read my previous CSIT threads down below: https://twitter.com/omarqe/status/1155346037013221377
Baca:

Can malware be attached to an image?
https://security.stackexchange.com/q/55061 

FireEye's report on hackers' use of .pif file in Skype chat (it's not a photo!)
https://security.stackexchange.com/a/81926 

Digital Steganography
https://bit.ly/2ALtI8A 
https://bit.ly/3fJQJaK 
You can follow @omarqe.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: