สำนักวิทยบริการและเทคโนโลยีสารสนเทศ (สวส.)

Office of Academic Resources and Information Technology

วิเคราะห์ Malware แบบ Dynamic Analysis ด้วย CapTipper

มีเครื่องมือวิเคราะห์ Malware ออกมาใหม่วันนี้ก็เลยมาลองหน่อย โดยก่อนอื่นต้องเข้าใจก่อนว่า Malware Anaylsis จะมี 2 แบบคือ

1. Static Malware Analysis คือพวก reverse engineering malware เพื่อดู source code ของ malware นั้นๆครับ

2. Dynamic Malware Analysis คือพวกที่ดูว่าเมื่อมีการรันแล้ว มีการติดต่อกลับไปยัง C&C Server หรือไปติดต่อที่ไหนอะไรยังไงบ้าง, มีการไปสร้าง service อะไรใหม่ๆขึ้นมาหรือมีการแก้ไข registry อะไรในเครื่องเหยื่อบ้างหรือเปล่า

เครื่องมือ CapTipper จะเอาไว้สำหรับทำแบบหลังคือ Dynamic Malware ครับ ซึ่งเราจำเป็นต้องมี pcap ของการใช้งาน malware ก่อนครับ CapTipper จะเป็นตัวที่วิเคราะห์ traffic ที่ใช้งานโดย Malware นั้นๆครับ

ซึ่งเมื่อเราเปิดขึ้นมา CapTipper จะสร้างเว็บเซอร์เวอร์จำลองขึ้นมา ให้คล้ายกับใน pcap ครับ

วิธีการใช้งานของ CapTipper ก็ง่ายๆดังนี้ครับ

1. Download โปรแกรมจาก Git

# git clone https://github.com/omriher/CapTipper

2. เราสามารถรัน CapTipper ได้โดยใช้คำสั่ง

# python CapTipper.py <pcap_file>


ในที่นี้ผมใช้ pcap ของ Malware ที่ชื่อว่า KaiXin EK โดย download จาก http://malware-traffic-analysis.net/2015/01/03/2015-01-03-KaiXin-EK-traffic.pcap

ใช้คำสั่งเป็น

# python CapTipper.py 2015-01-03-KaiXin-EK-traffic.pcap

Screen Shot 2558-01-15 at 8.45.00 PM


*** object id จะอยู่หน้าสุดในแต่ละบรรทัดครับ

3. เมื่อเปิดไฟล์แล้ว เราก็จะเข้ามาในส่วนคำสั่งต่างๆของ CapTipper ครับ โดยคำสั่งมีดังนี้

  • about  บอกถึงชื่อและ version ของโปรแกรม
  • open เอาไว้เปิด object แล้วทดสอบเข้าใช้งาน Web Server จำลองที่สร้างขึ้นมา
  • body คือดู HTTP Body ของ object ที่เราเปิด
  • client คือคำสั่ง list ว่าใน pcap มี client อะไรบ้างที่เข้าใช้งาน Web Server
  • convs  คือการดู conversation ทั้งหมดที่ใช้งาน
  • dump คือการ save object นั้นๆออกมาจาก pcap
  • exit คือออกจากโปรแกรม
  • hashes คือดู hash ของ object
  • head คือดู HTTP Header ของ object ที่เราเปิดโดยใช้ open
  • help คือ menu แสดง command ทั้งหมด
  • hexdump คือดูไฟล์ในแบบ hex
  • hosts คือคำสั่ง list ว่าใน pcap มีการเข้าใช้งาน  website อะไรอยู่บ้าง
  • iframes  คือค้นหา iframe ใน object นั้นๆ
  • info คือดูรายละเอียดเบื้องต้นของ object ที่เราเปิดโดยใช้ open
  • log คือดู log ของ Web Server ที่เราสร้างขึ้นมา
  • server คือคำสั่งเปิดปิด Web Server ที่เราสร้างขึ้นมา
  • ungzip คือคำสั่ง unzip gzip ไฟล์
  • vt คือส่ง hash ของไฟล์ไปให้ทาง virustotal ซึ่งเป็นเว็บไซด์ทดสอบ scan file โดยใช้หลายๆ Antivirus ทีนี้สิ่งที่คำสั่งนี้คือจะดูว่าตรงกับ hash ของที่ทาง virustotal เคย scan มาหรือเปล่าครับ
  • ziplist คือ list ไฟล์ใน Conversation

4. เมื่อเราทราบหมดแล้ว เราจะเริ่มด้วยการ list host ก่อนว่ามีการไปเว็บไซด์ไหนบ้าง โดยใช้คำสั่งเป็น

# hosts

Screen Shot 2558-01-15 at 9.08.38 PM

ดูจากทั้งหมดลำดับจะเป็นดังนี้

– เริ่มต้นด้วยการเข้าไปที่ www.5dbm.com

– จากนั้นเข้าไปยัง as2.22wdasda.cc ซึ่งมีการฝัง iframe ของ xzzz1.3322.org/xzz1.exe อยู่

– สุดท้ายน่าจะจบด้วยการดาวโหลดไฟล์ xzz1.exe ซึ่งเป็น malware ครับ

5. ทีนี้ถ้าหากเราต้องการดูรายละเอียด เริ่มต้นด้วย ดู body ของ object id=0 ก่อน

# body 0

Screen Shot 2558-01-15 at 9.15.14 PM

จะเห็นว่าคำสั่ง body นั้นแสดงผล HTTP Body ไม่หมด เพราะโดยปกติคำสั่ง body จะแสดงผลเพียง 256 byte เท่านั้น ทีนี้หากเราต้องการจะให้แสดงผลเพิ่มตามที่เรากำหนด ก็ให้ใส่ตัวเลขต่อท้ายเข้าไปเพิ่ม โดยที่นี้ผมต้องการจะให้แสดงผล 10240 byte ก็จะใช้คำสั่งเป็น

# body 0 10240

Screen Shot 2558-01-15 at 9.17.53 PMจะเห็นว่ามี Javascript ที่ถูก obfuscate เพื่อให้อ่านได้ยากอยู่ เมื่อ deobfuscate ออกมาแล้วจะได้เป็น

Screen Shot 2558-01-15 at 9.43.50 PM


ซึ่ง ก็คือการให้ฝัง iframe เข้าไป โดย page ที่ใส่เข้าไปคือ http://www.mygame66.com/313800025.html ครับ บ่งบอกว่าอาจจะไม่ได้มีการฝัง malware แค่ตัวเดียวนะครับ แต่ช่างมันก่อน เพราะตัวนี้มันนอกเหนือขอบเขตใน pcap ของเรา

5. เปิด object 2 ขึ้นมาดู ก็จะเห็นว่ามีการเปิด popup ไปยัง as2.22wdasda.cc

Screen Shot 2558-01-15 at 9.51.40 PM
Screen Shot 2558-01-15 at 9.51.59 PM

6. มาดูต่อในส่วนของ object id: 9 ลอง hexdump ดูปรากฎว่า header ขึ้นต้นด้วย PK นั่นหมายความว่าตัวไฟล์เป็น zip file ครับ

Screen Shot 2558-01-15 at 10.14.00 PM

7. ซึ่งเมื่อดูภายใน zip ปรากฎว่าได้ผลดังนี้

Screen Shot 2558-01-15 at 10.15.16 PM

8. จากนั้นจึงได้ทำการ save ไฟล์ออกมาดูอีกที

# dump 9 test.zip

9. เมื่อแตกไฟล์ออกมาดูไฟล์ dpvsetup.class  ปรากฎว่ามันคือตัวที่พยายามปลอมเป็น Installer ของ Adobe Flash Player ครับ

Screen Shot 2558-01-15 at 10.24.58 PM

10. เมื่อเราเจอตัวน่าสงสัยแล้ว เลยลอง upload ไปให้กับทาง Virustotal ดูครับ ผลปรากฎว่าพบว่าเป็น Virus ในหลายๆ Antivirus ครับ นั่นหมายความว่าเราก็ทราบแล้วว่าไฟล์นี้คือ Malicious File นั่นเอง

Screen Shot 2558-01-15 at 10.27.06 PM

จากทั้งหมดทั้งมวลพบว่า CapTipper เป็นเครื่องมือที่ดีและครบเครื่องตัวนึงในการทำ Malware Analysis เลยทีเดียว ซึ่งผมว่าสะดวกสบายกว่าตอนใช้ Wireshark ทำมาก แต่ก็ไม่ใช่ว่า CapTipper นั้นครอบคลุมทุกอย่าง เพราะ CapTipper นั้นยังทำได้แค่วิเคราะห์ HTTP Traffic เท่านั้น ถ้าเป็นการติดหรือโจมตีมาจากทางอื่นก็อาจจะไม่สามารถใช้งานได้ครับ

Ref:: CapTipper
https://www.techsuii.com/2015/01/15/how-to-dynamic-analysis-with-capptier/