Phân tích mẫu Locky Ransomware

Thảo luận trong 'Virus/Malware' bắt đầu bởi Malware, 12/12/16, 03:12 PM.

  1. Malware

    Malware Wh------

    Tham gia: 08/01/15, 11:01 AM
    Bài viết: 56
    Đã được thích: 35
    Điểm thành tích:
    48
    Tuy đã xuất hiện từ rất lâu nhưng ransomware vẫn ngày càng phát tán rộng rãi và chưa có dấu hiệu dừng lại. Các biện pháp phòng chống hầu như rất hạn chế, mà hậu quả gây ra thì vô cùng. Vì vậy, hôm nay chúng ta sẽ cùng phân tích đại diện một biến thể ramsomware mang tên Locky.
    1. Ransomware là gì? Tại sao nó lại có thể mã hoá dữ liệu của chúng ta mà chỉ có hacker mới có thể khôi phục?
    • Một cách đơn giản nhất, ransomware là mã độc sau khi thực thi sẽ mã hoá tất cả các file tài liệu trong máy tính và đòi tiền chuộc để giải mã lấy lại tài liệu.
    • Bằng các công cụ dịch ngược hiện nay người ta hoàn toàn có thể dịch ngược mẫu virus về mã nguồn của chúng, qua đó hoàn toàn biết về phương pháp mã hoá, khoá sử dụng để mã hoá… Thế nhưng tại sao dù có biết tài liệu của chúng ta được mã hoá như thế nào ta vẫn không thể giải mã đuợc chúng ngược lại? Hãy cùng điểm qua 1 số kiến thức về các hệ mật mã!
    • Người ta thường chia các hệ mật mã ra làm 2 loại
      • Hệ mật mã khoá đối xứng (bí mật): là hệ mật mã mà khoá để mã hoá cũng là khoá để giải mã.
        Ví dụ: hệ mật mã Ceasar với khoá bằng 2 (khi đó a->c, b->d, …, y->a, z->b).
        Nếu mã độc chỉ sử dụng thuần hệ mật mã đối xứng để mã hoá, thì sau khi dịch ngược ra hoàn toàn chúng ta có thể viết tools giải mã ngược lại.
      • Hệ mật mã khoá công khai (bất đối xứng): là hệ mật mã mà khoá dùng để mã hoá khác khoá dùng để giải mã.
        Ví dụ về hệ mật mã này các bạn có thể tìm hiểu về hệ mật mã RSA.
        Với hệ mật mã này, cho dù có biết khoá dùng để mã hoá và thuật toán mã hoá, chúng ta cũng không thể giải mã được, hoặc có thể giải mã với chi phí và tài nguyên rất lớn.
    • Tuy nhiên phương pháp nào cũng có ưu, nhược điểm riêng của nó. Mã hoá bằng hệ mật mã khoá công khai tuy đảm bảo không thể giải mã ngay cả khi biết khoá mã hoá, nhưng thời gian mã hoá lâu hơn sử dụng hệ mật mã khoá đối xứng rất nhiều. Vì vậy, các loại ransomware thường làm như sau (ví dụ về phương pháp mã hoá của Locky):
      • Sinh ngẫu nhiên khoá Kdx, sử dụng hệ mật khoá khoá đối xứng với khoá Kdx để mã hoá 1 file tài liệu.
      • Sau khi mã hoá 1 file tài liệu bất kì, khoá Kdx đựoc mã hoá bằng hệ mật mã khoá công khai. Giá trị sau khi mã hoá được lưu vào trường tên file.
      • Để giải mã, hacker đọc giá trị tên file để giải mã lại khoá Kdx, sau đó giải mã file bằng khoá Kdx vừa tìm đựoc.
    2. Phân tích mẫu Locky Ransomware
    a. Thông tin mẫu:
    md5: 3371701C6EF795E5D6B3CFC32D9B1B61
    SHA-1: E77D19B10C97EEA8D46D1927D284A89CE86A7081
    File size: 131 KB
    File type: PE32

    b. Tổng quan hành vi [​IMG]

    Cập nhật 10/12/2016: server của virus không còn hoạt động nên virus không còn hoạt động được nữa.
    • Kết nối đến server, tải về public key RSA-2048 lưu trong registry.
    • Địa chỉ kết nối:
    109.237.111.168
    192.121.16.196
    46.108.39.224
    185.82.216.213​
    • Sau khi gửi request thành công, duyệt tất cả các file trong máy. Kiểm tra đuôi file, nếu đuôi file là 1 trong các loại định trước thì file sẽ bị mã hóa bằng thuật toán AES.
    • Tạo các file txt hướng dẫn lấy lại dữ liệu.Thay đổi màn hình nền.
    • Tự xóa file sau khi mã hóa xong.
    c. Thông tin chi tiết hành vi
    • Gửi request lên server để lấy public key RSA-2048
    [​IMG]
    Hình 1: Mở kết nối internet và gửi request đến server​
    [​IMG]
    Hình 2: download file từ server.​
    • Locky sẽ không mã hóa file nếu như không connect được đến server. Lý do chính là do mỗi máy được gán bằng một id khác nhau, do vậy request đầu tiên đến server để hacker có thể biết xác định id máy của nạn nhân cũng như máy này được sử dụng cặp private-public key nào, như vậy sau khi mã hóa locky sẽ đưa cho nạn nhân 1 đường dẫn đến nơi có thể download tool giải mã đúng với máy của mình (tất nhiên là phải trả phí trước).
    • Duyệt tất cả các file trong máy và kiểm tra đuôi file để mã hóa dữ liệu
      • Duyệt file:
    [​IMG]
    Hình 3: Duyệt file bằng các hàm FindFirstFile, FindNextFile​
    1. Kiểm tra loại file cần mã hóa:
    [​IMG]
    Hình 4: kiểm tra đuôi file​
    [​IMG]
    Hình 5: các loại file có đuôi sẽ bị mã hóa​
    • Các loại file mà virus sẽ mã hóa: key, crt, csr, p12, pem, doc, odt, ott, sxw, stw, ppt, xls, pdf, rtf, uot, csv, txt, xml, 3ds,max, 3dm, dot, docx, docm, dotx, dotm, 602, hwp, ods, ots, sxc, stc, dif, xlc, xlm, xlt, xlw, slk, xlsb, xlsm, xlsx, xltm, xltx, wk1, wks, 123, wb2, odp, otp, sxi, sti, pps, pot,sxd, std, pptm, pptx, potm ,potx, uop, odg, otg, sxm, mml, docb,ppam, ppsx, ppsm, sldx, sldm, ms11, lay, lay6, asc, onetoc2, pst, 001, 002, 003, 004, 005, 006, 007, 008, 009, 010, 011, sqlite3, sqlitedb, sql, mdb, db, dbf, odb, frm, myd, myi, ibd, mdf,ldf, php. c, cpp, pas, asm,h, js, vb, vbs, pl, dip, dch, sch, brd, cs, asp, rb, java, jar, class, pl, sh, bat, cmd, psd, nef, tiff, tif, jpg, jpeg, cgm, raw, gif, png, bmp, svg, djvu, djv, zip, rar, 7z, gz, tgz, tar, bak, tbk, tar.bz2, paq, arc, aes, gpg, vmx, vmdk, vdi, qcow2, mp3, wav, swf, fla, wmv, mpg, vob, mpeg, asf, avi, mov, mp4, 3gp, mkv, 3g2, flv, wma, mid, m3u, m4u
    • Thuật toán mã hóa: AES-192 with ebc mode
    [​IMG]
    Hình 6: tham số dùng trong các hàm để mã hóa là CALG_AES_192​
    • Để mã hóa file bằng thuật toán AES-192, locky sử dụng các hàm mã hóa mà Windows API hỗ trợ. Chi tiết về cách sử dụng, các bạn tham khảo:
      https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
    • Sau khi mã hóa hết các file, virus thay đổi ảnh đại diện và để lại lời nhắn đến cho người sử dụng.
    [​IMG]
    Hình 7: giao diện sau khi máy tính bị mã hóa tất cả các file​
    • Để giải mã tài liệu của mình theo hướng dẫn của hacker, các bạn có thể truy cập đường dẫn như trong ảnh và trả phí để có thể download tools giải mã về.
    3. Kết luận:
    Trên đây là bài viết sơ lược về hành vi của locky ransomware nói riêng và kỹ thuật mã hóa dùng trong các ransomware nói chung. Hi vọng bài viết cung cấp phần nào kiến thức để mọi người hiểu rõ hơn về loại mã độc nguy hiểm này.
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan