Một vài ngày trước, chúng tôi thông báo rằng các trang web Magento bị tấn công đã thúc đẩy việc lây nhiễm malware infostealer được ngụy trang như một bản cập nhật Flash player.Trong bài đăng này, chúng tôi sẽ tiết lộ cách tấn công gần đây có liên quan đến một chủ đề cực kỳ nóng – đó là đánh cắp tiền ảo và thẻ tín dụng.

Phân tích Infostealer

Các tập tin malware nhị phân mà chúng tôi tìm thấy đã được đóng gói với Themida, do đó các phân tích tệp tin không cung cấp nhiều thông tin hữu ích (giải thích tất cả các phát hiện chung về VirusTotal mà chúng ta đã thấy trước đó). Một phân tích hoạt động nhanh cho thấy hành vi điển hình đối với inforstealer. Dự đoán ban đầu nó là một Lokibot.

Sau khi đọc bài báo của chúng tôi tuần trước, nhà nghiên cứu phần mềm độc hại Paul Burbage đã nhận ra malware là một máy chủ truyền dữ liệu khác với các tính năng tương tự được gọi là Azorult v2.9.

GitHub Hosts Infostealer Phần 2: Đánh cắp tiền ảo và thẻ tín dụng

GitHub Hosts Infostealer Phần 2: Đánh cắp tiền ảo và thẻ tín dụng
Nhà nghiên cứu phần mềm độc hại Paul Burbage tweet xác nhận inforstealer malware là có thực

Paul đã đề cập rằng phần mềm độc hại cũng chịu trách nhiệm cung cấp cho các cryptominer trên các máy tính bị nhiễm. Ở đây, chúng tôi tập trung vào các trang web và không phân tích phần mềm độc hại phía máy khách, tuy nhiên, chúng tôi cũng đã tìm thấy các kết nối của cuộc tấn công này tới các cryptominer.

Bắt đầu phân tích trang web

Khi các đồng nghiệp từ MalwareBytes chia sẻ tệp PCAP cho phần mềm độc hại đó, tôi đã phân tích các kết nối mà nó thực hiện với các trang web.

Trong số những thứ khác, tôi nhận thấy một yêu cầu tải tệp tin này: hxxp://frogloud[.]com/TOP/wp-content/uploads/2016/cmd.bin

VirusTotal đã nhanh chóng nhận ra phần mềm độc hại với tỷ lệ phát hiện là 21/66.

Sau đó, tôi ngay lập tức nhận thấy rằng frogloud[.]com site chính là một site hợp pháp nhưng lại là một site bị hack. Ngoài tệp tin cmd.bin độc hại, trang web còn có hai tập lệnh đáng ngờ từ việc xác minh siteverification[.]online.

GitHub Hosts Infostealer Phần 2: Đánh cắp tiền ảo và thẻ tín dụng
Mã HTML của frogloud[.]com
Cả hxxp://siteverification[.]online/lib/status.js và hxxp://siteverification[.]online/lib/lib.js đều có cùng nội dung và tải trang chính của site trong một iframe ẩn:

Tập lệnh cài iframe ẩn
Tập lệnh cài iframe ẩn

Dường như đây là trang chào đón mặc định của máy chủ Apache chưa có site được cấu hình thực.

Trang mặc định Apache2 Debian trong iframe
Trang mặc định Apache2 Debian trong iframe

Không có gì đáng nghi ngờ. Nếu có bất kỳ phần mềm độc hại nào, thì có lẽ nó đã bị xóa kể từ khi các tập lệnh và iframes tải một trang lành tính. Kiểm tra mã nguồn của trang đầu tiên.

Tập lệnh CoinHive ở cuối mã HTML
Tập lệnh CoinHive ở cuối mã HTML

Ở đây chúng tôi có một mật mã CoinHive với khóa trang web “f63LSXxFY7jdZhns0PTiz67v8tU03If8” ở dưới cùng của mã HTML.

Vì vậy, kịch bản thực sự là cài một iframe khai thác Monero coin trong các trình duyệt của khách truy cập site.

Các liên quan đến máy nhiễm malware

Kiểm tra các site khác bị nhiễm cùng phần mềm độc hại. PublicWWW đã nhanh chóng tìm thấy 1787 site bị nhiễm đang phục vụ nội dung độc hại từ siteverification[.]online.

Ngoài các tệp “status.js” và “lib.js” mà chúng tôi đã phát hiện trên frogloud[.]com site, cũng có một số biến thể khác với “info.js”, “stat.js” và thậm chí một số iframe bị nhiệm.

Giống như chúng ta đã thấy trong bài viết cuối cùng của chúng tôi, các site bị ảnh hưởng chủ yếu là Magento. Khi quét chúng, tôi thường xuyên xác định cả hai loại lây nhiễm trên cùng một site – giả mạo cập nhật Flash từ bit.wo[.]tc và cryptominers từ siteverification[.]online.

Tài liệu tham khảo bên ngoài của một báo cáo Unmask Parasites về một trang web bị tấn công
Tài liệu tham khảo bên ngoài của báo cáo Unmask Parasites về một website bị tấn công

Đây không phải là mối liên kết mạnh mẽ nhất giữa hai loại lây nhiễm, tuy nhiên, các site dễ bị tấn công có thể đã bị nhiễm bởi các nhóm hacker khác nhau cùng một lúc.

Chúng tôi cũng tìm thấy một số lây nhiễm phổ biến khác cùng tồn tại với bản cập nhật Flash giả mạo bit.wo[.]tc – ví dụ như tập lệnh chuyển hướng Magento cũ, hoặc thẻ tín dụng ăn cắp từ hxxps://onlinestatus[.]site/js/status.js (PublicWWW).

Các tính năng phổ biến trong Magento Malware

Mặt khác, có một số dấu hiệu cho biết sự lây nhiễm gần đây có thể liên quan, vì chúng có nhiều đặc điểm chung và cùng tồn tại trên cùng một site.

Đường dẫn trong Liên kết độc hại

  • Bản cập nhật Flash giả mạo: bit.wo[.]tc/js/lib/js.js
  • Đánh cắp thẻ tín dụng: onlinestatus[.]site/js/status.js.
  • Cryptominer: siteverification[.]online/lib/status.js
  • Cryptominer từ tháng 9 năm 2017: hxxps://camillesanz[.]com/lib/status.js

Trang mặc định Apache2 Debian

Nếu chúng tôi kiểm tra trang chủ cho onlinestatus[.]site, chúng ta sẽ thấy trang Apache2 mặc định trên siteverification[.]online – thời điểm mà không có sự hiện diện của một cryptominer. Nhưng có một miền khác trên cùng một máy chủ (185.202.103.37) – onlinestatus[.]stream – có “trang chào đón mặc định Apache2” chứa một cryptominer với các site key “ZjAbjZvbYgw68hyYGhrl7xgDEqUK9FiZ”, cũng như một CoinHive JavaScript đã được lưu trong tệp tin với một đường dẫn quen thuộc: onlinestatus[.]stream/lib/status.js.

api2.checkingsite.site

Chúng ta hãy trở lại tệp PCAP của lưu lượng truy cập hoạt động bởi bản cập nhật Flash giả, nơi chúng ta thấy một loạt các yêu cầu POST tới trang api2.checkingsite[.]site (Ví dụ như /2.0/method/checkConnection, POST /2.0/method/error, POST /4.0/method/installSuccess).

Tôi sẽ không suy đoán về mục đích của những yêu cầu này ở đây. Điều quan trọng hơn đối với điều tra của tôi là địa chỉ IP của checkingsite[.]site – 37.1.206.48 và siteverification[.]online site đang được sử dụng trong cuộc tấn công khai thác tiền ảo có cùng địa chỉ IP.

Đây là sự kết nối trực tiếp giữa malware giả mạo bản cập nhật Flash và CoinHive crytominer bị nhiễm đã được cài trên các Magento site. Với các thông tin ở trên, chúng tôi cũng có thể liên kết các cuộc tấn công này với kẻ đánh cắp thẻ tín dụng Magento.

Cryptojacking 360º

Có thêm một liên kết trực tiếp giữa siteverification[.]online site và bản cập nhật Flash giả mạo từ GitHub mà tôi đã bỏ qua. Nó chỉ ra rằng phần lớn các website bị nhiễm đã bị cài 2 tập lệnh siteverification[.]online (VD: lib/info.js và lib/lib.js) đều có lý do.

Những tệp này không tĩnh. Khi bạn tải tập lệnh lần đầu tiên, bạn sẽ nhận được tập lệnh cập nhật giả mạo giống như chúng ta đã thấy trong bài viết trước được cung cấp bởi tập lệnh bit.wo[.]tc/js/lib/js.js. Tuy nhiên, tất cả các yêu cầu tiếp theo đến nó đều được trả về một iframe ẩn với một mật mã CoinHive hoặc một tập tin trống.

Tập lệnh Siteverification[.]online tải bản cập nhật Flash trojan
Tập lệnh Siteverification[.]online tải bản cập nhật Flash trojan
Để tóm tắt quy trình công việc cho các nạn nhân mới của cuộc tấn công này, tập lệnh đầu tiên tải một banner bản cập nhật Flash player giả mạo cho một inforstealer trojan, từ đó cài đặt cryptominers trên các máy tính nạn nhân. Gần như đồng thời, một tập lệnh thứ hai mở một trình duyệt dựa trên cryptominer trong một iframe ẩn.

Và bằng cách này, cuộc tấn công này không chỉ dựa vào đào để có được tiền ảo. Một trong những tính năng phổ biến nhất của máy chủ truyền tin Azorult là khả năng ăn cắp khóa cá nhân từ các ví tiền Bitcoin phổ biến (và một số coin khác) (ví dụ: từ các tệp như wallet.dat và electrum.dat).

Tương tự với thẻ tín dụng ăn cắp véc tơ. Ngoài các kịch bản cướp trang kiểm tra Magento, trojan này cũng sẽ cố ăn cắp chi tiết thanh toán từ các trình duyệt khi nạn nhân trả tiền trực tuyến.

Không phải chiến dịch mới

Khi tôi hoàn thành điều tra phía Magento của cuộc tấn công này, tôi đã quyết định kiểm tra phần GitHub để có thêm thông tin chi tiết. Nếu phần mềm độc hại Magento từ những hacker này đã tồn tại kể từ giữa năm 2017, kho lưu trữ flashplayer31 được tạo ra vào ngày 8 tháng 3 năm 2018 thì đây có lẽ không phải là lần đầu tiên họ sử dụng GitHub trong các cuộc tấn công của họ.

Tôi nhanh chóng tìm thấy nhiều bằng chứng cho giả thuyết này. Nhiều nhà nghiên cứu bảo mật đã phát hiện ra những cập nhật Flash giả mạo này.

  • 2/1/2018: bản cập nhật Flash giả thực ra là Malware khai thác miner với github[.]com/hoyttgio/Download/raw/master/log/flashupdate.exe.
  • 18/1/2018: Bản cập nhật Fake Flash dẫn đến Bitcoin Miner với github[.]com/vediwide/cpp/raw/master/bin/flashupdate.exe.
  • 2/2/2018: Bản cập nhật Fake Flash dẫn đến Bitcoin Miner. Phần 2 với github[.]com/cilmenupse/downtime/raw/master/test/file/flashUpdate.exe.

Phần mềm độc hại không phải lúc nào cũng được giả mạo dưới dạng cập nhật Flash Player. Tháng Mười năm ngoái, các thủ thuật tương tự đã được sử dụng trong các download giả “Roboto Condensed font” với github[.]com/Melicano01/wiwi/raw/master/upd.exe.

Trang phân tích Hibryd đã giúp tôi xác định biến thể GoogleUpdater của phần mềm độc hại này đến từ github[.]com/vaio666999/2/blob/master/GoogleUpdater.exe?raw=true. Kho lưu trữ này cũng chứa các tệp có tên xmrig32.exe (đào Monero) và 64.exe (gần giống một phiên bản khai thác 64-bit).

Một tìm kiếm nhanh trên UrlQuery cho thấy một vài cập nhật giả mạo tương tự tại các kho GitHub khác nhau.

  • 5/3/2018: github[.]com/dizovoz/rui2/raw/master/flashUpdate.exe
  • 23/1/2018: github[.]com/ikpt/Ex/raw/master/redis/flashupdate.exe
  • 19/1/2018: github[.]com/zopihafo/SMPPClient/raw/master/SMPP/SmppClient/flashupdate.exe
  • 14/1/2018: github[.]com/lqzo7/dragandrop/raw/master/flashupdate.exe
  • 28/12/2017: github[.]com/lumaf/django-registration-templates/raw/master/registration/flashupdate.exe
  • 22/8/2017: github[.]com/kul1337/3.0.43.124/raw/master/upd.exe

Như bạn thấy, GitHub đã được sử dụng trong cuộc tấn công này ít nhất từ tháng 8 năm 2017. Các tài khoản và kho lưu trữ mới đang được tạo thường xuyên ngay khi những tài khoản cũ bị vô hiệu hoá.

Như chúng tôi đã suy đoán trong bài đăng trên blog trước đây, không mất nhiều thời gian để tạo repo mới và bắt đầu sử dụng nó trong cuộc tấn công trực tiếp. Sau bài đăng blog của chúng tôi, vào cuối ngày 15 tháng 3 năm 2018, tài khoản flashplayer31 đã bị vô hiệu bởi GitHub, nhưng vào ngày hôm sau, cuộc tấn công đã bắt đầu sử dụng tài khoản johnplayer32 mới.

GitHub Hosts Infostealer Phần 2: Đánh cắp tiền ảo và thẻ tín dụng

Tìm Malware trong Magento

Bài đăng này chứng minh rằng nhóm hacker đã có lịch sử lâu dài về việc nhắm mục tiêu vào các site Magento dễ bị tấn công.

Trong khi các cuộc tấn công của họ có phạm vi rộng, từ các đánh cắp thẻ tín dụng, cryptominer trong trình duyệt (và Windows) đến các infostealing trojans, thì về phần phía máy chủ của sự lây lan vẫn còn nhiều hoặc ít sự giống nhau.

Các tệp thường được cài vào bảng core_config_data. Ví dụ như trong phần design/head/includes or design/footer/absolute_footer.

Nếu bạn tin rằng website của bạn đã bị xâm nhập, thì hãy tham khảo qua một số công cụ quét lỗ hổng bảo mật hoặc nhờ sự giúp đỡ từ chuyên gia để đảm bảo rằng website của bạn an toàn.