Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến

Hầu hết tất cả chúng ta đều sử dụng dịch vụ của các cửa hàng trực tuyến, điều đó có nghĩa là sớm hay muộn chúng ta đều có nguy cơ trở thành nạn nhân của JavaScript sniffer - mã đặc biệt mà kẻ tấn công triển khai trên trang web để đánh cắp dữ liệu thẻ ngân hàng, địa chỉ, thông tin đăng nhập và mật khẩu của người dùng. .

Gần 400 người dùng trang web và ứng dụng di động của British Airways đã bị ảnh hưởng bởi những kẻ đánh hơi, cũng như những khách truy cập vào trang web của gã khổng lồ thể thao FILA của Anh và nhà phân phối vé Ticketmaster của Mỹ. PayPal, Chase Paymenttech, USAePay, Moneris - những hệ thống này và nhiều hệ thống thanh toán khác đã bị nhiễm virus.

Nhà phân tích Viktor Okorokov của Threat Intelligence Group-IB nói về cách những kẻ đánh hơi xâm nhập vào mã trang web và đánh cắp thông tin thanh toán, cũng như những CRM mà chúng tấn công.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến

"Mối đe dọa tiềm ẩn"

Chuyện đã xảy ra là trong một thời gian dài, những kẻ đánh hơi JS vẫn nằm ngoài tầm ngắm của các nhà phân tích chống vi-rút, còn các ngân hàng và hệ thống thanh toán không coi chúng là một mối đe dọa nghiêm trọng. Và hoàn toàn vô ích. Nhóm chuyên gia IB đã phân tích 2440 cửa hàng trực tuyến bị nhiễm virus, có lượng khách truy cập - tổng cộng khoảng 1,5 triệu người mỗi ngày - có nguy cơ bị xâm phạm. Trong số nạn nhân không chỉ có người dùng mà còn có các cửa hàng trực tuyến, hệ thống thanh toán và ngân hàng phát hành thẻ bị xâm phạm.

Báo cáo Group-IB đã trở thành nghiên cứu đầu tiên về thị trường darknet dành cho những kẻ đánh hơi, cơ sở hạ tầng và phương thức kiếm tiền của chúng, mang lại cho người tạo ra hàng triệu đô la. Chúng tôi đã xác định được 38 họ máy đánh hơi, trong đó chỉ có 12 họ được các nhà nghiên cứu biết đến trước đây.

Chúng ta hãy tìm hiểu chi tiết về bốn họ máy đánh hơi được nghiên cứu trong quá trình nghiên cứu.

Gia đình ReactGet

Những kẻ đánh hơi thuộc họ ReactGet được sử dụng để đánh cắp dữ liệu thẻ ngân hàng trên các trang mua sắm trực tuyến. Trình thám thính có thể hoạt động với một số lượng lớn các hệ thống thanh toán khác nhau được sử dụng trên trang web: một giá trị tham số tương ứng với một hệ thống thanh toán và các phiên bản riêng lẻ của trình thám thính được phát hiện có thể được sử dụng để lấy cắp thông tin đăng nhập cũng như lấy cắp dữ liệu thẻ ngân hàng từ thanh toán hình thức của một số hệ thống thanh toán cùng một lúc, giống như cái gọi là công cụ đánh hơi phổ quát. Người ta nhận thấy rằng trong một số trường hợp, kẻ tấn công tiến hành các cuộc tấn công lừa đảo nhằm vào quản trị viên cửa hàng trực tuyến để có quyền truy cập vào bảng quản trị của trang web.

Một chiến dịch sử dụng dòng công cụ đánh hơi này đã bắt đầu vào tháng 2017 năm XNUMX; các trang web chạy nền tảng CMS và Magento, Bigc Commerce và Shopify đã bị tấn công.

Cách ReactGet được triển khai thành mã của cửa hàng trực tuyến

Ngoài việc triển khai tập lệnh “cổ điển” thông qua một liên kết, các nhà điều hành của dòng sniffers ReactGet còn sử dụng một kỹ thuật đặc biệt: sử dụng mã JavaScript, họ kiểm tra xem địa chỉ hiện tại nơi người dùng đang ở có đáp ứng các tiêu chí nhất định hay không. Mã độc sẽ chỉ được thực thi nếu chuỗi con có trong URL hiện tại thanh toán hoặc thanh toán một bước, một trang/, ra/onepag, thanh toán/một, xuất tiền/một. Do đó, mã sniffer sẽ được thực thi chính xác vào thời điểm người dùng tiến hành thanh toán mua hàng và nhập thông tin thanh toán vào biểu mẫu trên trang web.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Trình đánh hơi này sử dụng một kỹ thuật không chuẩn. Khoản thanh toán và dữ liệu cá nhân của nạn nhân được thu thập cùng nhau và mã hóa bằng cách sử dụng base64, sau đó chuỗi kết quả được sử dụng làm tham số để gửi yêu cầu đến trang web của kẻ tấn công. Thông thường, đường dẫn đến cổng bắt chước một tệp JavaScript, chẳng hạn resp.js, dữ liệu.js v.v., nhưng các liên kết tới tệp hình ảnh cũng được sử dụng, GIF и JPG. Điều đặc biệt là trình thám thính tạo ra một đối tượng hình ảnh có kích thước 1 x 1 pixel và sử dụng liên kết đã nhận trước đó làm tham số. src Hình ảnh. Nghĩa là, đối với người dùng, một yêu cầu như vậy trong lưu lượng truy cập sẽ giống như một yêu cầu về một bức ảnh thông thường. Một kỹ thuật tương tự đã được sử dụng trong dòng thiết bị đánh hơi ImageID. Ngoài ra, kỹ thuật sử dụng hình ảnh 1 x 1 pixel được sử dụng trong nhiều tập lệnh phân tích trực tuyến hợp pháp, điều này cũng có thể gây hiểu lầm cho người dùng.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến

Phân tích phiên bản

Phân tích các miền hoạt động được sử dụng bởi các nhà khai thác trình thám thính ReactGet đã tiết lộ nhiều phiên bản khác nhau của dòng trình thám thính này. Các phiên bản khác nhau ở chỗ có hay không có tính năng che giấu và ngoài ra, mỗi trình thám thính được thiết kế cho một hệ thống thanh toán cụ thể xử lý thanh toán bằng thẻ ngân hàng cho các cửa hàng trực tuyến. Sau khi sắp xếp thông qua giá trị của tham số tương ứng với số phiên bản, các chuyên gia của Group-IB đã nhận được danh sách đầy đủ các biến thể của trình thám thính có sẵn và bằng tên của các trường biểu mẫu mà mỗi trình thám thính tìm kiếm trong mã trang, họ đã xác định được hệ thống thanh toán mà kẻ đánh hơi hướng tới.

Danh sách các sniffer và hệ thống thanh toán tương ứng của chúng

URL đánh hơi hệ thống thanh toán
Reacjsapi.com/react.js Authorize.Net
ajaxstatic.com/api.js?v=2.1.1 Lưu thẻ
ajaxstatic.com/api.js?v=2.1.2 Authorize.Net
ajaxstatic.com/api.js?v=2.1.3 Authorize.Net
ajaxstatic.com/api.js?v=2.1.4 eWAY nhanh chóng
ajaxstatic.com/api.js?v=2.1.5 Authorize.Net
ajaxstatic.com/api.js?v=2.1.6 Adyen
ajaxstatic.com/api.js?v=2.1.7 USAePay
ajaxstatic.com/api.js?v=2.1.9 Authorize.Net
apitstatus.com/api.js?v=2.1.1 USAePay
apitstatus.com/api.js?v=2.1.2 Authorize.Net
apitstatus.com/api.js?v=2.1.3 tiền tệ
apitstatus.com/api.js?v=2.1.5 USAePay
apitstatus.com/api.js?v=2.1.6 PayPal
apitstatus.com/api.js?v=2.1.7 Trả lương
apitstatus.com/api.js?v=2.1.8 Verisign
apitstatus.com/api.js?v=2.1.9 PayPal
apitstatus.com/api.js?v=2.3.0 Đường sọc
apitstatus.com/api.js?v=3.0.2 Realex
apitstatus.com/api.js?v=3.0.3 PayPal
apitstatus.com/api.js?v=3.0.4 điểm liên kết
apitstatus.com/api.js?v=3.0.5 PayPal
apitstatus.com/api.js?v=3.0.7 PayPal
apitstatus.com/api.js?v=3.0.8 DataCash
apitstatus.com/api.js?v=3.0.9 PayPal
asianfoodgracer.com/footer.js Authorize.Net
billgetstatus.com/api.js?v=1.2 Authorize.Net
billgetstatus.com/api.js?v=1.3 Authorize.Net
billgetstatus.com/api.js?v=1.4 Authorize.Net
billgetstatus.com/api.js?v=1.5 Verisign
billgetstatus.com/api.js?v=1.6 Authorize.Net
billgetstatus.com/api.js?v=1.7 tiền tệ
billgetstatus.com/api.js?v=1.8 Trả lương
billgetstatus.com/api.js?v=2.0 USAePay
billgetstatus.com/react.js Authorize.Net
cloudodesc.com/gtm.js?v=1.2 Authorize.Net
cloudodesc.com/gtm.js?v=1.3 ANZ eGate
cloudodesc.com/gtm.js?v=2.3 Authorize.Net
cloudodesc.com/gtm.js?v=2.4 tiền tệ
cloudodesc.com/gtm.js?v=2.6 Trả lương
cloudodesc.com/gtm.js?v=2.7 Trả lương
cloudodesc.com/gtm.js?v=2.8 Đuổi theo Paymentech
cloudodesc.com/gtm.js?v=2.9 Authorize.Net
cloudodesc.com/gtm.js?v=2.91 Adyen
cloudodesc.com/gtm.js?v=2.92 Cổng Psi
cloudodesc.com/gtm.js?v=2.93 Nguồn mạng
cloudodesc.com/gtm.js?v=2.95 ANZ eGate
cloudodesc.com/gtm.js?v=2.97 Realex
geisseie.com/gs.js USAePay
gtmproc.com/age.js Authorize.Net
gtmproc.com/gtm.js?v=1.2 Authorize.Net
gtmproc.com/gtm.js?v=1.3 ANZ eGate
gtmproc.com/gtm.js?v=1.5 PayPal
gtmproc.com/gtm.js?v=1.6 PayPal
gtmproc.com/gtm.js?v=1.7 Realex
livecheckpay.com/api.js?v=2.0 Trả lương
livecheckpay.com/api.js?v=2.1 PayPal
livecheckpay.com/api.js?v=2.2 Verisign
livecheckpay.com/api.js?v=2.3 Authorize.Net
livecheckpay.com/api.js?v=2.4 Verisign
livecheckpay.com/react.js Authorize.Net
livegetpay.com/pay.js?v=2.1.2 ANZ eGate
livegetpay.com/pay.js?v=2.1.3 PayPal
livegetpay.com/pay.js?v=2.1.5 Nguồn mạng
livegetpay.com/pay.js?v=2.1.7 Authorize.Net
livegetpay.com/pay.js?v=2.1.8 Trả lương
livegetpay.com/pay.js?v=2.1.9 Realex
livegetpay.com/pay.js?v=2.2.0 Nguồn mạng
livegetpay.com/pay.js?v=2.2.1 PayPal
livegetpay.com/pay.js?v=2.2.2 PayPal
livegetpay.com/pay.js?v=2.2.3 PayPal
livegetpay.com/pay.js?v=2.2.4 Verisign
livegetpay.com/pay.js?v=2.2.5 eWAY nhanh chóng
livegetpay.com/pay.js?v=2.2.7 Trả lương
livegetpay.com/pay.js?v=2.2.8 Trả lương
livegetpay.com/pay.js?v=2.2.9 Verisign
livegetpay.com/pay.js?v=2.3.0 Authorize.Net
livegetpay.com/pay.js?v=2.3.1 Authorize.Net
livegetpay.com/pay.js?v=2.3.2 Cổng toàn cầu dữ liệu đầu tiên
livegetpay.com/pay.js?v=2.3.3 Authorize.Net
livegetpay.com/pay.js?v=2.3.4 Authorize.Net
livegetpay.com/pay.js?v=2.3.5 tiền tệ
livegetpay.com/pay.js?v=2.3.6 Authorize.Net
livegetpay.com/pay.js?v=2.3.8 PayPal
livegetpay.com/pay.js?v=2.4.0 Verisign
maxstatics.com/site.js USAePay
mediapack.info/track.js?d=funlove.com USAePay
mediapack.info/track.js?d=qbedding.com Authorize.Net
mediapack.info/track.js?d=vseyewear.com Verisign
mxcounter.com/c.js?v=1.2 PayPal
mxcounter.com/c.js?v=1.3 Authorize.Net
mxcounter.com/c.js?v=1.4 Đường sọc
mxcounter.com/c.js?v=1.6 Authorize.Net
mxcounter.com/c.js?v=1.7 eWAY nhanh chóng
mxcounter.com/c.js?v=1.8 Trả lương
mxcounter.com/c.js?v=2.0 Authorize.Net
mxcounter.com/c.js?v=2.1 Braintree
mxcounter.com/c.js?v=2.10 Braintree
mxcounter.com/c.js?v=2.2 PayPal
mxcounter.com/c.js?v=2.3 Trả lương
mxcounter.com/c.js?v=2.31 Trả lương
mxcounter.com/c.js?v=2.32 Authorize.Net
mxcounter.com/c.js?v=2.33 PayPal
mxcounter.com/c.js?v=2.34 Authorize.Net
mxcounter.com/c.js?v=2.35 Verisign
mxcounter.com/click.js?v=1.2 PayPal
mxcounter.com/click.js?v=1.3 Authorize.Net
mxcounter.com/click.js?v=1.4 Đường sọc
mxcounter.com/click.js?v=1.6 Authorize.Net
mxcounter.com/click.js?v=1.7 eWAY nhanh chóng
mxcounter.com/click.js?v=1.8 Trả lương
mxcounter.com/click.js?v=2.0 Authorize.Net
mxcounter.com/click.js?v=2.1 Braintree
mxcounter.com/click.js?v=2.2 PayPal
mxcounter.com/click.js?v=2.3 Trả lương
mxcounter.com/click.js?v=2.31 Trả lương
mxcounter.com/click.js?v=2.32 Authorize.Net
mxcounter.com/click.js?v=2.33 PayPal
mxcounter.com/click.js?v=2.34 Authorize.Net
mxcounter.com/click.js?v=2.35 Verisign
mxcounter.com/cnt.js Authorize.Net
mxcounter.com/j.js Authorize.Net
newrelicnet.com/api.js?v=1.2 Authorize.Net
newrelicnet.com/api.js?v=1.4 Authorize.Net
newrelicnet.com/api.js?v=1.8 Trả lương
newrelicnet.com/api.js?v=4.5 Trả lương
newrelicnet.com/api.js?v=4.6 Westpac PayWay
nr-public.com/api.js?v=2.0 PayFort
nr-public.com/api.js?v=2.1 PayPal
nr-public.com/api.js?v=2.2 Authorize.Net
nr-public.com/api.js?v=2.3 Đường sọc
nr-public.com/api.js?v=2.4 Cổng toàn cầu dữ liệu đầu tiên
nr-public.com/api.js?v=2.5 Cổng Psi
nr-public.com/api.js?v=2.6 Authorize.Net
nr-public.com/api.js?v=2.7 Authorize.Net
nr-public.com/api.js?v=2.8 tiền tệ
nr-public.com/api.js?v=2.9 Authorize.Net
nr-public.com/api.js?v=3.1 Trả lương
nr-public.com/api.js?v=3.2 Verisign
nr-public.com/api.js?v=3.3 tiền tệ
nr-public.com/api.js?v=3.5 PayPal
nr-public.com/api.js?v=3.6 điểm liên kết
nr-public.com/api.js?v=3.7 Westpac PayWay
nr-public.com/api.js?v=3.8 Authorize.Net
nr-public.com/api.js?v=4.0 tiền tệ
nr-public.com/api.js?v=4.0.2 PayPal
nr-public.com/api.js?v=4.0.3 Adyen
nr-public.com/api.js?v=4.0.4 PayPal
nr-public.com/api.js?v=4.0.5 Authorize.Net
nr-public.com/api.js?v=4.0.6 USAePay
nr-public.com/api.js?v=4.0.7 EBizPhí
nr-public.com/api.js?v=4.0.8 Authorize.Net
nr-public.com/api.js?v=4.0.9 Verisign
nr-public.com/api.js?v=4.1.2 Verisign
ordercheckpays.com/api.js?v=2.11 Authorize.Net
ordercheckpays.com/api.js?v=2.12 PayPal
ordercheckpays.com/api.js?v=2.13 tiền tệ
ordercheckpays.com/api.js?v=2.14 Authorize.Net
ordercheckpays.com/api.js?v=2.15 PayPal
ordercheckpays.com/api.js?v=2.16 PayPal
ordercheckpays.com/api.js?v=2.17 Westpac PayWay
ordercheckpays.com/api.js?v=2.18 Authorize.Net
ordercheckpays.com/api.js?v=2.19 Authorize.Net
ordercheckpays.com/api.js?v=2.21 Trả lương
ordercheckpays.com/api.js?v=2.22 Verisign
ordercheckpays.com/api.js?v=2.23 Authorize.Net
ordercheckpays.com/api.js?v=2.24 PayPal
ordercheckpays.com/api.js?v=2.25 PayFort
ordercheckpays.com/api.js?v=2.29 Nguồn mạng
ordercheckpays.com/api.js?v=2.4 PayPal Payflow Pro
ordercheckpays.com/api.js?v=2.7 Authorize.Net
ordercheckpays.com/api.js?v=2.8 Authorize.Net
ordercheckpays.com/api.js?v=2.9 Verisign
ordercheckpays.com/api.js?v=3.1 Authorize.Net
ordercheckpays.com/api.js?v=3.2 Authorize.Net
ordercheckpays.com/api.js?v=3.3 Trả lương
ordercheckpays.com/api.js?v=3.4 Authorize.Net
ordercheckpays.com/api.js?v=3.5 Đường sọc
ordercheckpays.com/api.js?v=3.6 Authorize.Net
ordercheckpays.com/api.js?v=3.7 Authorize.Net
ordercheckpays.com/api.js?v=3.8 Verisign
ordercheckpays.com/api.js?v=3.9 PayPal
ordercheckpays.com/api.js?v=4.0 Authorize.Net
ordercheckpays.com/api.js?v=4.1 Authorize.Net
ordercheckpays.com/api.js?v=4.2 Trả lương
ordercheckpays.com/api.js?v=4.3 Authorize.Net
Reacjsapi.com/api.js?v=0.1.0 Authorize.Net
Reacjsapi.com/api.js?v=0.1.1 PayPal
Reacjsapi.com/api.js?v=4.1.2 Đá lửa
Reacjsapi.com/api.js?v=4.1.4 PayPal
Reacjsapi.com/api.js?v=4.1.5 Trả lương
Reacjsapi.com/api.js?v=4.1.51 Verisign
Reacjsapi.com/api.js?v=4.1.6 Authorize.Net
Reacjsapi.com/api.js?v=4.1.7 Authorize.Net
Reacjsapi.com/api.js?v=4.1.8 Đường sọc
Reacjsapi.com/api.js?v=4.1.9 Ngựa vằn béo
Reacjsapi.com/api.js?v=4.2.0 Trả lương
Reacjsapi.com/api.js?v=4.2.1 Authorize.Net
Reacjsapi.com/api.js?v=4.2.2 Cổng toàn cầu dữ liệu đầu tiên
Reacjsapi.com/api.js?v=4.2.3 Authorize.Net
Reacjsapi.com/api.js?v=4.2.4 eWAY nhanh chóng
Reacjsapi.com/api.js?v=4.2.5 Adyen
Reacjsapi.com/api.js?v=4.2.7 PayPal
Reacjsapi.com/api.js?v=4.2.8 Dịch vụ Người bán QuickBooks
Reacjsapi.com/api.js?v=4.2.9 Verisign
Reacjsapi.com/api.js?v=4.2.91 Trả lương
Reacjsapi.com/api.js?v=4.2.92 Verisign
Reacjsapi.com/api.js?v=4.2.94 Authorize.Net
Reacjsapi.com/api.js?v=4.3.97 Authorize.Net
Reacjsapi.com/api.js?v=4.5 Trả lương
Reacjsapi.com/react.js Authorize.Net
sydneysalonsupplies.com/gtm.js eWAY nhanh chóng
tagsmediaget.com/react.js Authorize.Net
tagstracking.com/tag.js?v=2.1.2 ANZ eGate
tagstracking.com/tag.js?v=2.1.3 PayPal
tagstracking.com/tag.js?v=2.1.5 Nguồn mạng
tagstracking.com/tag.js?v=2.1.7 Authorize.Net
tagstracking.com/tag.js?v=2.1.8 Trả lương
tagstracking.com/tag.js?v=2.1.9 Realex
tagstracking.com/tag.js?v=2.2.0 Nguồn mạng
tagstracking.com/tag.js?v=2.2.1 PayPal
tagstracking.com/tag.js?v=2.2.2 PayPal
tagstracking.com/tag.js?v=2.2.3 PayPal
tagstracking.com/tag.js?v=2.2.4 Verisign
tagstracking.com/tag.js?v=2.2.5 eWAY nhanh chóng
tagstracking.com/tag.js?v=2.2.7 Trả lương
tagstracking.com/tag.js?v=2.2.8 Trả lương
tagstracking.com/tag.js?v=2.2.9 Verisign
tagstracking.com/tag.js?v=2.3.0 Authorize.Net
tagstracking.com/tag.js?v=2.3.1 Authorize.Net
tagstracking.com/tag.js?v=2.3.2 Cổng toàn cầu dữ liệu đầu tiên
tagstracking.com/tag.js?v=2.3.3 Authorize.Net
tagstracking.com/tag.js?v=2.3.4 Authorize.Net
tagstracking.com/tag.js?v=2.3.5 tiền tệ
tagstracking.com/tag.js?v=2.3.6 Authorize.Net
tagstracking.com/tag.js?v=2.3.8 PayPal

Trình dò ​​tìm mật khẩu

Một trong những lợi thế của trình thám thính JavaScript hoạt động ở phía máy khách của trang web là tính linh hoạt của chúng: mã độc được nhúng trên trang web có thể đánh cắp bất kỳ loại dữ liệu nào, có thể là dữ liệu thanh toán hoặc thông tin đăng nhập và mật khẩu của tài khoản người dùng. Các chuyên gia của Group-IB đã phát hiện ra một mẫu phần mềm đánh hơi thuộc dòng ReactGet, được thiết kế để đánh cắp địa chỉ email và mật khẩu của người dùng trang web.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến

Giao lộ với trình thám thính ImageID

Trong quá trình phân tích một trong những cửa hàng bị lây nhiễm, người ta phát hiện ra rằng trang web của cửa hàng này đã bị lây nhiễm hai lần: ngoài mã độc của họ ReactGet, mã của họ sniffer ImageID cũng được phát hiện. Sự chồng chéo này có thể là bằng chứng cho thấy những kẻ điều hành đằng sau cả hai phần mềm nghe lén đều sử dụng các kỹ thuật tương tự để tiêm mã độc.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến

Máy đánh hơi đa năng

Phân tích về một trong những tên miền được liên kết với cơ sở hạ tầng của trình thám thính ReactGet cho thấy rằng cùng một người dùng đã đăng ký ba tên miền khác. Ba miền này bắt chước miền của các trang web ngoài đời thực và trước đây được sử dụng để lưu trữ các trình thám thính. Khi phân tích mã của ba trang web hợp pháp, một trình thám thính không xác định đã được phát hiện và phân tích sâu hơn cho thấy rằng đó là phiên bản cải tiến của trình thám thính ReactGet. Tất cả các phiên bản được giám sát trước đây của dòng sniffer này đều nhằm vào một hệ thống thanh toán duy nhất, nghĩa là mỗi hệ thống thanh toán yêu cầu một phiên bản đặc biệt của sniffer. Tuy nhiên, trong trường hợp này, một phiên bản phổ quát của sniffer đã được phát hiện có khả năng đánh cắp thông tin từ các biểu mẫu liên quan đến 15 hệ thống và mô-đun thanh toán khác nhau của các trang thương mại điện tử để thực hiện thanh toán trực tuyến.

Vì vậy, khi bắt đầu công việc, kẻ đánh hơi đã tìm kiếm các trường biểu mẫu cơ bản chứa thông tin cá nhân của nạn nhân: tên đầy đủ, địa chỉ thực, số điện thoại.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Sau đó, sniffer đã tìm kiếm hơn 15 tiền tố khác nhau tương ứng với các hệ thống thanh toán và mô-đun thanh toán trực tuyến khác nhau.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Tiếp theo, dữ liệu cá nhân và thông tin thanh toán của nạn nhân được thu thập cùng nhau và gửi đến một trang web do kẻ tấn công kiểm soát: trong trường hợp cụ thể này, hai phiên bản của trình thám thính ReactGet phổ quát đã được phát hiện, nằm trên hai trang web bị tấn công khác nhau. Tuy nhiên, cả hai phiên bản đều gửi dữ liệu bị đánh cắp đến cùng một trang web bị tấn công Zoobashop.com.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Phân tích các tiền tố mà trình thám thính sử dụng để tìm kiếm các trường chứa thông tin thanh toán của nạn nhân cho phép chúng tôi xác định rằng mẫu trình thám thính này nhắm đến các hệ thống thanh toán sau:

  • Authorize.Net
  • Verisign
  • Dữ liệu đầu tiên
  • USAePay
  • Đường sọc
  • PayPal
  • ANZ eGate
  • Braintree
  • DataCash (MasterCard)
  • Thanh toán Realex
  • Cổng Psi
  • Hệ thống thanh toán Heartland

Những công cụ nào được sử dụng để đánh cắp thông tin thanh toán?

Công cụ đầu tiên, được phát hiện trong quá trình phân tích cơ sở hạ tầng của kẻ tấn công, được sử dụng để làm xáo trộn các tập lệnh độc hại gây ra hành vi trộm thẻ ngân hàng. Một tập lệnh bash sử dụng CLI của dự án đã được phát hiện trên một trong các máy chủ của kẻ tấn công trình làm xáo trộn javascript để tự động làm xáo trộn mã sniffer.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Công cụ được phát hiện thứ hai được thiết kế để tạo mã chịu trách nhiệm tải trình thám thính chính. Công cụ này tạo mã JavaScript để kiểm tra xem người dùng có ở trên trang thanh toán hay không bằng cách tìm kiếm chuỗi địa chỉ hiện tại của người dùng thanh toán, giỏ hàng v.v. và nếu kết quả là dương tính thì mã sẽ tải trình thám thính chính từ máy chủ của kẻ tấn công. Để ẩn hoạt động độc hại, tất cả các dòng, bao gồm các dòng kiểm tra để xác định trang thanh toán, cũng như liên kết đến trình thám thính, đều được mã hóa bằng cách sử dụng base64.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến

Tấn công lừa đảo

Phân tích cơ sở hạ tầng mạng của những kẻ tấn công cho thấy nhóm tội phạm thường sử dụng lừa đảo để giành quyền truy cập vào bảng quản trị của cửa hàng trực tuyến mục tiêu. Những kẻ tấn công đăng ký một miền trông giống với miền của cửa hàng, sau đó triển khai biểu mẫu đăng nhập bảng quản trị Magento giả mạo trên đó. Nếu thành công, kẻ tấn công sẽ có quyền truy cập vào bảng quản trị của Magento CMS, điều này cho phép chúng có cơ hội chỉnh sửa các thành phần trang web và triển khai trình đánh hơi để đánh cắp dữ liệu thẻ tín dụng.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
cơ sở hạ tầng

Домен Ngày phát hiện/xuất hiện
mediapack.info 04.05.2017
adsgetapi.com 15.06.2017
simcounter.com 14.08.2017
mageanalytics.com 22.12.2017
maxstatics.com 16.01.2018
Reacjsapi.com 19.01.2018
mxcounter.com 02.02.2018
apitstatus.com 01.03.2018
orderracker.com 20.04.2018
tagstracking.com 25.06.2018
adapigate.com 12.07.2018
tin cậy-tracker.com 15.07.2018
fbstatspartner.com 02.10.2018
billgetstatus.com 12.10.2018
www.aldenmlilhouse.com 20.10.2018
balletbeautlful.com 20.10.2018
bargalnjunkie.com 20.10.2018
payselector.com 21.10.2018
tagsmediaget.com 02.11.2018
hs-thanh toán.com 16.11.2018
ordercheckpays.com 19.11.2018
geisseie.com 24.11.2018
gtmproc.com 29.11.2018
livegetpay.com 18.12.2018
sydneysalonsupplies.com 18.12.2018
newrelicnet.com 19.12.2018
nr-public.com 03.01.2019
cloudodesc.com 04.01.2019
ajaxstatic.com 11.01.2019
livecheckpay.com 21.01.2019
asianfoodgracer.com 25.01.2019

Nhóm G-Analytics

Nhóm đánh hơi này được sử dụng để đánh cắp thẻ khách hàng từ các cửa hàng trực tuyến. Tên miền đầu tiên được nhóm sử dụng đã được đăng ký vào tháng 2016 năm 2016, điều này có thể cho thấy nhóm đã bắt đầu hoạt động vào giữa năm XNUMX.

Trong chiến dịch hiện tại, nhóm sử dụng các tên miền bắt chước các dịch vụ trong đời thực, chẳng hạn như Google Analytics và jQuery, che giấu hoạt động của những kẻ đánh hơi bằng các tập lệnh hợp pháp và tên miền tương tự như các tên miền hợp pháp. Các trang web chạy Magento CMS đã bị tấn công.

Cách triển khai G-Analytics vào mã của cửa hàng trực tuyến

Một tính năng đặc biệt của dòng này là việc sử dụng nhiều phương pháp khác nhau để đánh cắp thông tin thanh toán của người dùng. Ngoài việc tiêm mã JavaScript cổ điển vào phía máy khách của trang web, nhóm tội phạm còn sử dụng các kỹ thuật tiêm mã vào phía máy chủ của trang web, cụ thể là các tập lệnh PHP xử lý dữ liệu do người dùng nhập. Kỹ thuật này nguy hiểm vì nó gây khó khăn cho các nhà nghiên cứu bên thứ ba trong việc phát hiện mã độc. Các chuyên gia của Group-IB đã phát hiện ra một phiên bản của trình thám thính được nhúng trong mã PHP của trang web, sử dụng miền làm cổng dittm.org.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Phiên bản đầu tiên của sniffer cũng được phát hiện sử dụng cùng tên miền để thu thập dữ liệu bị đánh cắp dittm.org, nhưng phiên bản này nhằm mục đích cài đặt ở phía máy khách của cửa hàng trực tuyến.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Nhóm sau đó đã thay đổi chiến thuật và bắt đầu tập trung hơn vào việc che giấu hoạt động độc hại và ngụy trang.

Đầu năm 2017, nhóm bắt đầu sử dụng tên miền jquery-js.com, giả dạng CDN cho jQuery: khi truy cập trang web của kẻ tấn công, người dùng sẽ được chuyển hướng đến một trang web hợp pháp jquery.com.

Và vào giữa năm 2018, nhóm đã sử dụng tên miền g-analytics.com và bắt đầu ngụy trang các hoạt động của kẻ đánh hơi thành một dịch vụ Google Analytics hợp pháp.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến

Phân tích phiên bản

Trong quá trình phân tích các miền được sử dụng để lưu trữ mã sniffer, người ta phát hiện ra rằng trang web này chứa một số lượng lớn các phiên bản, khác nhau ở chỗ có tính năng làm rối mã nguồn cũng như việc có hay không có mã không thể truy cập được thêm vào tệp để đánh lạc hướng sự chú ý. và ẩn mã độc.

Tổng số trên trang web jquery-js.com Sáu phiên bản của sniffers đã được xác định. Những kẻ đánh hơi này gửi dữ liệu bị đánh cắp đến một địa chỉ nằm trên cùng một trang web với chính kẻ đánh hơi: hxxps://jquery-js[.]com/latest/jquery.min.js:

  • hxxps://jquery-js[.]com/jquery.min.js
  • hxxps://jquery-js[.]com/jquery.2.2.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.8.3.min.js
  • hxxps://jquery-js[.]com/jquery.1.6.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.4.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.12.4.min.js

Tên miền sau g-analytics.com, được nhóm này sử dụng trong các cuộc tấn công từ giữa năm 2018, đóng vai trò như một kho lưu trữ cho nhiều kẻ đánh hơi hơn. Tổng cộng có 16 phiên bản khác nhau của thiết bị đánh hơi đã được phát hiện. Trong trường hợp này, cổng gửi dữ liệu bị đánh cắp được ngụy trang dưới dạng liên kết đến định dạng hình ảnh GIF: hxxp://g-analytics[.]com/__utm.gif?v=1&_v=j68&a=98811130&t=pageview&_s=1&sd=24-bit&sr=2560×1440&vp=2145×371&je=0&_u=AACAAEAB~&jid=1841704724&gjid=877686936&cid
= 1283183910.1527732071
:

  • hxxps://g-analytics[.]com/libs/1.0.1/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.10/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.11/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.12/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.13/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.14/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.15/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.16/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.3/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.4/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.5/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.6/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.7/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.8/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.9/analytics.js
  • hxxps://g-analytics[.]com/libs/analytics.js

Kiếm tiền từ dữ liệu bị đánh cắp

Nhóm tội phạm kiếm tiền từ dữ liệu bị đánh cắp bằng cách bán thẻ thông qua một cửa hàng ngầm được tạo ra đặc biệt để cung cấp dịch vụ cho chủ thẻ. Việc phân tích các miền được những kẻ tấn công sử dụng cho phép chúng tôi xác định rằng google-analytics.cm đã được đăng ký bởi cùng một người dùng với tên miền cardz.vc. Miền cardz.vc đề cập đến một cửa hàng bán thẻ ngân hàng bị đánh cắp Cardsurfs (Flysurfs), đã trở nên phổ biến từ thời nền tảng giao dịch ngầm AlphaBay còn hoạt động với tư cách là một cửa hàng bán thẻ ngân hàng bị đánh cắp bằng thiết bị đánh hơi.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Phân tích miền phân tích.is, nằm trên cùng một máy chủ với các miền được sử dụng bởi những kẻ đánh hơi để thu thập dữ liệu bị đánh cắp, các chuyên gia của Group-IB đã phát hiện ra một tệp chứa nhật ký đánh cắp cookie, có vẻ như tệp này sau đó đã bị nhà phát triển loại bỏ. Một trong các mục trong nhật ký có chứa tên miền iozoz.com, trước đây đã được sử dụng trong một trong những thiết bị đánh hơi hoạt động vào năm 2016. Có lẽ, miền này trước đây đã được kẻ tấn công sử dụng để thu thập các thẻ bị đánh cắp bằng cách sử dụng trình thám thính. Tên miền này đã được đăng ký vào một địa chỉ email [email được bảo vệ], cũng được sử dụng để đăng ký tên miền thẻz.su и cardz.vc, liên quan đến cửa hàng bán thẻ Cardsurfs.

Dựa trên dữ liệu thu được, có thể giả định rằng nhóm công cụ đánh hơi G-Analytics và cửa hàng ngầm bán thẻ ngân hàng Cardsurfs được quản lý bởi cùng một người và cửa hàng được sử dụng để bán thẻ ngân hàng bị đánh cắp bằng cách sử dụng công cụ đánh hơi.

cơ sở hạ tầng

Домен Ngày phát hiện/xuất hiện
iozoz.com 08.04.2016
dittm.org 10.09.2016
jquery-js.com 02.01.2017
g-analytics.com 31.05.2018
google-analytics.is 21.11.2018
phân tích.to 04.12.2018
google-analytics.to 06.12.2018
google-analytics.cm 28.12.2018
phân tích.is 28.12.2018
googlc-analytics.cm 17.01.2019

gia đình Illum

Illum là một nhóm kẻ đánh hơi được sử dụng để tấn công các cửa hàng trực tuyến chạy Magento CMS. Ngoài việc giới thiệu mã độc, những kẻ điều hành công cụ đánh hơi này còn sử dụng việc đưa vào các hình thức thanh toán giả mạo hoàn toàn để gửi dữ liệu đến các cổng do kẻ tấn công kiểm soát.

Khi phân tích cơ sở hạ tầng mạng được các nhà khai thác trình thám thính này sử dụng, một số lượng lớn các tập lệnh độc hại, cách khai thác, hình thức thanh toán giả mạo cũng như tập hợp các ví dụ về trình thám thính độc hại từ các đối thủ cạnh tranh đã được ghi nhận. Dựa trên thông tin về ngày xuất hiện của các tên miền được nhóm sử dụng, có thể giả định rằng chiến dịch bắt đầu vào cuối năm 2016.

Cách Illum được triển khai thành mã của một cửa hàng trực tuyến

Phiên bản đầu tiên của sniffer được phát hiện đã được nhúng trực tiếp vào mã của trang web bị xâm nhập. Dữ liệu bị đánh cắp đã được gửi đến cdn.illum[.]pw/records.php, cổng được mã hóa bằng cách sử dụng base64.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Sau đó, người ta phát hiện ra một phiên bản đóng gói của thiết bị đánh hơi sử dụng một cổng khác - record.nstatistics[.]com/records.php.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Theo báo cáo Willem de Groot, máy chủ tương tự đã được sử dụng trong trình thám thính, được triển khai trên trang web cửa hàng, thuộc sở hữu của đảng chính trị Đức CSU.

Phân tích trang web của kẻ tấn công

Các chuyên gia của Group-IB đã phát hiện và phân tích một trang web được nhóm tội phạm này sử dụng để lưu trữ các công cụ và thu thập thông tin bị đánh cắp.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Trong số các công cụ được tìm thấy trên máy chủ của kẻ tấn công có các tập lệnh và cách khai thác để leo thang đặc quyền trong hệ điều hành Linux: ví dụ: Tập lệnh kiểm tra nâng cao đặc quyền Linux do Mike Czumak phát triển, cũng như cách khai thác CVE-2009-1185.

Những kẻ tấn công đã sử dụng hai cách khai thác trực tiếp để tấn công các cửa hàng trực tuyến: đầu tiên có khả năng tiêm mã độc vào core_config_data bằng cách khai thác CVE-2016-4010, 2 khai thác lỗ hổng RCE trong plugin của CMS Magento, cho phép thực thi mã tùy ý trên máy chủ web dễ bị tấn công.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Ngoài ra, trong quá trình phân tích máy chủ, nhiều mẫu thiết bị đánh hơi và hình thức thanh toán giả mạo đã được phát hiện, bị kẻ tấn công sử dụng để thu thập thông tin thanh toán từ các trang web bị tấn công. Như bạn có thể thấy trong danh sách bên dưới, một số tập lệnh được tạo riêng cho từng trang web bị tấn công, trong khi một giải pháp chung được sử dụng cho một số CMS và cổng thanh toán nhất định. Ví dụ, các kịch bản segapay_standart.js и segapay_onpage.js được thiết kế để triển khai trên các trang web sử dụng cổng thanh toán Sage Pay.

Danh sách tập lệnh cho các cổng thanh toán khác nhau

Kịch bản Cổng thanh toán
sr.illum[.]pw/mjs_special/visiondirect.co.uk.js //request.payrightnow[.]cf/check Payment.php
sr.illum[.]pw/mjs_special/topdierenshop.nl.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/tiendalenovo.es.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/pro-bolt.com.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/plae.co.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/ottolenghi.co.uk.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/oldtimecandy.com.js //request.payrightnow[.]cf/check Payment.php
sr.illum[.]pw/mjs_special/mylook.ee.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/luluandsky.com.js //request.payrightnow[.]cf/check Payment.php
sr.illum[.]pw/mjs_special/julep.com.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/gymcompany.es.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/grotekadoshop.nl.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/fushi.co.uk.js //request.payrightnow[.]cf/check Payment.php
sr.illum[.]pw/mjs_special/fareastflora.com.js //request.payrightnow[.]cf/check Payment.php
sr.illum[.]pw/mjs_special/compuindia.com.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs/segapay_standart.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/segapay_onpage.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/replace_standart.js //request.payrightnow[.]cf/check Payment.php
sr.illum[.]pw/mjs/all_inputs.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/add_inputs_standart.js //request.payrightnow[.]cf/check Payment.php
sr.illum[.]pw/magento/Payment_standart.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/magento/Payment_redirect.js //payrightnow[.]cf/? Payment=
sr.illum[.]pw/magento/Payment_redcrypt.js //payrightnow[.]cf/? Payment=
sr.illum[.]pw/magento/Payment_forminsite.js //Paymentnow[.]tk/? Payment=

Tổ chức thanh toán ngay bây giờ[.]tk, được dùng làm cổng trong chữ viết Payment_forminsite.js, được phát hiện là SubjectAltName trong một số chứng chỉ liên quan đến dịch vụ CloudFlare. Ngoài ra, máy chủ còn chứa một tập lệnh ác.js. Đánh giá theo tên của tập lệnh, nó có thể được sử dụng như một phần của việc khai thác CVE-2016-4010, nhờ đó có thể tiêm mã độc vào phần chân trang của một trang web chạy CMS Magento. Máy chủ đã sử dụng tập lệnh này làm cổng request.requestnet[.]tksử dụng cùng chứng chỉ với máy chủ thanh toán ngay bây giờ[.]tk.

Các hình thức thanh toán giả

Hình dưới đây minh họa một ví dụ về biểu mẫu nhập dữ liệu thẻ. Biểu mẫu này được sử dụng để xâm nhập vào một cửa hàng trực tuyến và đánh cắp dữ liệu thẻ.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Hình dưới đây cho thấy ví dụ về hình thức thanh toán PayPal giả mạo đã được kẻ tấn công sử dụng để xâm nhập vào các trang web bằng phương thức thanh toán này.
Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
cơ sở hạ tầng

Домен Ngày phát hiện/xuất hiện
cdn.illum.pw 27/11/2016
record.nstatistics.com 06/09/2018
request.payrightnow.cf 25/05/2018
Paymentnow.tk 16/07/2017
Payment-line.tk 01/03/2018
Paymentpal.cf 04/09/2017
requestnet.tk 28/06/2017

Cà phêMokko gia đình

Dòng máy đánh hơi CoffeMokko, được thiết kế để đánh cắp thẻ ngân hàng từ người dùng cửa hàng trực tuyến, đã được sử dụng ít nhất từ ​​tháng 2017 năm 1. Có lẽ, những kẻ điều hành nhóm đánh hơi này là nhóm tội phạm Nhóm 2016, được các chuyên gia RiskIQ mô tả vào năm XNUMX. Các trang web chạy CMS như Magento, OpenCart, WordPress, osCommerce và Shopify đã bị tấn công.

Cách CoffeMokko được triển khai thành mã của một cửa hàng trực tuyến

Những người vận hành thuộc họ này tạo ra các trình thám thính duy nhất cho mỗi lần lây nhiễm: tệp trình thám thính nằm trong thư mục src hoặc js trên máy chủ của kẻ tấn công. Việc kết hợp vào mã trang web được thực hiện thông qua liên kết trực tiếp tới trình thám thính.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Mã sniffer mã hóa cứng tên của các trường biểu mẫu mà dữ liệu cần bị đánh cắp. Trình thám thính cũng kiểm tra xem người dùng có ở trang thanh toán hay không bằng cách kiểm tra danh sách từ khóa có địa chỉ hiện tại của người dùng.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Một số phiên bản của trình thám thính được phát hiện đã bị xáo trộn và chứa một chuỗi mã hóa trong đó mảng tài nguyên chính được lưu trữ: nó chứa tên của các trường biểu mẫu cho các hệ thống thanh toán khác nhau, cũng như địa chỉ cổng mà dữ liệu bị đánh cắp sẽ được gửi đến.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Thông tin thanh toán bị đánh cắp đã được gửi tới một tập lệnh trên máy chủ của kẻ tấn công trong quá trình thực hiện /savePayment/index.php hoặc /tr/index.php. Có lẽ tập lệnh này được sử dụng để gửi dữ liệu từ cổng đến máy chủ chính, máy chủ này sẽ hợp nhất dữ liệu từ tất cả các trình thám thính. Để ẩn dữ liệu được truyền đi, tất cả thông tin thanh toán của nạn nhân sẽ được mã hóa bằng cách sử dụng base64và sau đó xảy ra một số thay thế ký tự:

  • ký tự "e" được thay thế bằng ://:
  • ký hiệu "w" được thay thế bằng "+"
  • ký tự "o" được thay thế bằng "%"
  • ký tự "d" được thay thế bằng "#"
  • ký tự "a" được thay thế bằng "-"
  • ký hiệu "7" được thay thế bằng "^"
  • ký tự "h" được thay thế bằng "_"
  • biểu tượng "T" được thay thế bằng "@"
  • ký tự "0" được thay thế bằng "/"
  • ký tự "Y" được thay thế bằng "*"

Là kết quả của việc thay thế ký tự được mã hóa bằng cách sử dụng base64 Dữ liệu không thể được giải mã nếu không thực hiện chuyển đổi ngược lại.

Một đoạn mã sniffer chưa bị xáo trộn trông như thế này:

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến

Phân tích cơ sở hạ tầng

Trong các chiến dịch đầu tiên, những kẻ tấn công đã đăng ký tên miền tương tự như tên miền của các trang mua sắm trực tuyến hợp pháp. Tên miền của họ có thể khác với tên miền hợp pháp của từng ký hiệu hoặc TLD khác. Các miền đã đăng ký được sử dụng để lưu trữ mã sniffer, một liên kết được nhúng vào mã cửa hàng.

Nhóm này cũng sử dụng các tên miền gợi nhớ đến các plugin jQuery phổ biến (slickjs[.]org cho các trang web sử dụng plugin slick.js), Cổng thanh toán (sagecdn[.]org đối với các trang web sử dụng hệ thống thanh toán Sage Pay).

Sau đó, nhóm bắt đầu tạo các miền có tên không liên quan gì đến miền của cửa hàng hoặc chủ đề của cửa hàng.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Mỗi tên miền tương ứng với một trang web nơi thư mục được tạo / js hoặc / src. Các tập lệnh đánh hơi được lưu trữ trong thư mục này: một trình đánh hơi cho mỗi lần lây nhiễm mới. Trình thám thính được nhúng vào mã trang web thông qua một liên kết trực tiếp, nhưng trong một số trường hợp hiếm hoi, kẻ tấn công đã sửa đổi một trong các tệp trang web và thêm mã độc vào đó.

Phân tích mã

Thuật toán xáo trộn đầu tiên

Trong một số mẫu của trình thám thính thuộc họ này được phát hiện, mã đã bị xáo trộn và chứa dữ liệu mã hóa cần thiết để trình thám thính hoạt động: đặc biệt là địa chỉ cổng của trình thám thính, danh sách các trường hình thức thanh toán và trong một số trường hợp, mã giả. hình thức thanh toán. Trong mã bên trong hàm, tài nguyên được mã hóa bằng cách sử dụng XOR bởi khóa được truyền dưới dạng đối số cho cùng một hàm.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Bằng cách giải mã chuỗi bằng khóa thích hợp, duy nhất cho mỗi mẫu, bạn có thể nhận được một chuỗi chứa tất cả các chuỗi từ mã sniffer được phân tách bằng ký tự phân tách.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến

Thuật toán làm xáo trộn thứ hai

Trong các mẫu thiết bị đánh hơi sau này thuộc họ này, một cơ chế che giấu khác đã được sử dụng: trong trường hợp này, dữ liệu được mã hóa bằng thuật toán tự viết. Một chuỗi chứa dữ liệu được mã hóa cần thiết để trình thám thính hoạt động đã được chuyển làm đối số cho hàm giải mã.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Bằng cách sử dụng bảng điều khiển trình duyệt, bạn có thể giải mã dữ liệu được mã hóa và thu được một mảng chứa tài nguyên của trình thám thính.

Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến

Kết nối với các cuộc tấn công MageCart sớm

Trong quá trình phân tích một trong những miền được nhóm sử dụng làm cổng thu thập dữ liệu bị đánh cắp, người ta phát hiện ra rằng miền này lưu trữ cơ sở hạ tầng để đánh cắp thẻ tín dụng, giống hệt với cơ sở hạ tầng được sử dụng bởi Nhóm 1, một trong những nhóm đầu tiên, đã phát hiện bởi các chuyên gia RiskIQ.

Hai tập tin đã được tìm thấy trên máy chủ của dòng máy đánh hơi CoffeMokko:

  • pháp sư.js — tệp chứa mã sniffer Nhóm 1 có địa chỉ cổng js-cdn.link
  • mag.php — Tập lệnh PHP chịu trách nhiệm thu thập dữ liệu bị đánh cắp bởi kẻ đánh hơi

Nội dung của tệp mage.js Bốn trình đánh hơi JavaScript đang chờ bạn trong các cửa hàng trực tuyến
Người ta cũng xác định rằng các miền sớm nhất được sử dụng bởi nhóm đằng sau gia đình đánh hơi CoffeMokko đã được đăng ký vào ngày 17 tháng 2017 năm XNUMX:

  • link-js[.]link
  • liên kết thông tin-js[.]
  • liên kết track-js[.]
  • liên kết bản đồ-js[.]
  • liên kết thông minh-js[.]

Định dạng của các tên miền này khớp với tên miền Nhóm 1 đã được sử dụng trong các cuộc tấn công năm 2016.

Dựa trên những tình tiết được phát hiện, có thể giả định rằng có mối liên hệ giữa những người điều hành máy đánh hơi CoffeMokko và nhóm tội phạm Nhóm 1. Có lẽ, những người điều hành CoffeMokko có thể đã mượn các công cụ và phần mềm từ những người đi trước để đánh cắp thẻ. Tuy nhiên, nhiều khả năng nhóm tội phạm đằng sau việc sử dụng dòng máy đánh hơi CoffeMokko chính là những người đã thực hiện các cuộc tấn công Nhóm 1. Sau khi công bố báo cáo đầu tiên về hoạt động của nhóm tội phạm, tất cả tên miền của chúng đều đã bị xóa. bị chặn và các công cụ đã được nghiên cứu chi tiết và mô tả. Nhóm buộc phải nghỉ ngơi, tinh chỉnh các công cụ nội bộ và viết lại mã sniffer để tiếp tục các cuộc tấn công mà không bị phát hiện.

cơ sở hạ tầng

Домен Ngày phát hiện/xuất hiện
liên kết-js.link 17.05.2017
thông tin-js.link 17.05.2017
track-js.link 17.05.2017
bản đồ-js.link 17.05.2017
thông minh-js.link 17.05.2017
adobeauty.org 03.09.2017
bảo mật-thanh toán.su 03.09.2017
braincdn.org 04.09.2017
sagecdn.org 04.09.2017
slickjs.org 04.09.2017
oakandfort.org 10.09.2017
citywlnery.org 15.09.2017
dobell.su 04.10.2017
trẻ emplayclothing.org 31.10.2017
jewsondirect.com 05.11.2017
shop-rnib.org 15.11.2017
tủ quần áolondon.org 16.11.2017
misshaus.org 28.11.2017
pin-force.org 01.12.2017
kik-vape.org 01.12.2017
Greatfurnituretradingco.org 02.12.2017
etradesupply.org 04.12.2017
thay thếmyremote.org 04.12.2017
all-about-sneakers.org 05.12.2017
mage-checkout.org 05.12.2017
nililotan.org 07.12.2017
lamoodbighat.net 08.12.2017
walletgear.org 10.12.2017
dahlie.org 12.12.2017
davidsfootwear.org 20.12.2017
blackriverimages.org 23.12.2017
exrpesso.org 02.01.2018
công viên.su 09.01.2018
pmtonline.su 12.01.2018
otocap.org 15.01.2018
christohperward.org 27.01.2018
cà phê.org 31.01.2018
energycoffe.org 31.01.2018
energytea.org 31.01.2018
tràcaffe.net 31.01.2018
thích nghicss.org 01.03.2018
coffemokko.com 01.03.2018
londontea.net 01.03.2018
ukcoffe.com 01.03.2018
labbe.biz 20.03.2018
pinnart.com 03.04.2018
btosports.net 09.04.2018
gàsadddlery.net 16.04.2018
paypaypay.org 11.05.2018
ar500arnor.com 26.05.2018
ủy quyềncdn.com 28.05.2018
slickmin.com 28.05.2018
bannerbuzz.info 03.06.2018
kandypens.net 08.06.2018
mylrendyphone.com 15.06.2018
Freshchat.info 01.07.2018
3lift.org 02.07.2018
abtasty.net 02.07.2018
mechat.info 02.07.2018
zoplm.com 02.07.2018
zapaljs.com 02.09.2018
foodandcot.com 15.09.2018
Freshdepor.com 15.09.2018
swappastore.com 15.09.2018
verywellfitnesse.com 15.09.2018
elegrina.com 18.11.2018
majsurplus.com 19.11.2018
top5value.com 19.11.2018

Nguồn: www.habr.com

Thêm một lời nhận xét