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

스팸 페이지로 리디렉션되는 Drupal 웹사이트:증상, 원인 및 수정 사항

Drupal은 매우 안전한 것으로 간주되며 이것이 인기의 이유였습니다. Drupal은 오픈 소스 CMS이며 강력한 것으로 알려져 있습니다. 오픈 소스이기 때문에 소스 코드가 공개적으로 표시됩니다. 이것은 버그 현상금 사냥꾼을 위한 금광입니다. Drupal은 최근 몇 달 동안 악명 높은 "Pharma Hack"에서 "Kitty Cryptomining Malware"로 고통받았습니다. 증가하고 있는 또 다른 감염은 "Drupal 해킹 리디렉션 " 웹사이트 방문자를 스팸성 웹페이지로 리디렉션합니다.

Drupal 리디렉션 해킹 공격자가 웹 사이트의 취약점을 악용하고 사이트 콘텐츠를 수정하여 맬웨어를 설치한 후에 발생합니다. 결과적으로 웹사이트 방문자는 스팸성 및 의심스러운 링크로 리디렉션됩니다. 웹사이트 소유자는 이 멀웨어가 사용자를 피싱 및 비아그라 또는 포르노를 판매하는 성인용 페이지로 리디렉션한다고 불평했습니다.

Drupal Hack이 문제를 리디렉션하는 방법은 무엇입니까?

이 리디렉션 감염에는 여러 유형이 있습니다.

  1. 웹사이트 방문자는 홈페이지 방문 시 스팸 페이지로 리디렉션됩니다.
  2. 버튼/링크를 클릭할 때마다 페이지는 비아그라, 시알리스를 판매하는 가짜 약국 페이지로 리디렉션됩니다.

Drupal 사이트가 두 번째 변종에 감염되었는지 확인하려면 Google dork를 사용할 수 있습니다. 다음 Google dork는 우리가 무엇에 대해 알아볼 것인지에 대한 소개를 제공합니다.

site:your-website.com "viagra"

여기에서 이 dork는 비아그라 페이지로 리디렉션되는 모든 Drupal 웹사이트를 보여줍니다. 하지만 viagra라는 단어를 'poker와 같은 다른 키워드로 바꾸면 더 많은 리디렉션을 검색할 수 있습니다. ', '포르노 ', '대출'

스팸 페이지로 리디렉션되는 Drupal 웹사이트:증상, 원인 및 수정 사항

첫 번째 웹사이트 링크를 클릭한 후 다음 오류가 발생했습니다.

스팸 페이지로 리디렉션되는 Drupal 웹사이트:증상, 원인 및 수정 사항

이는 공격자가 웹사이트를 악용하여 리디렉션 중임을 의미합니다. 그러나 다른 요인으로 인해 리디렉션이 현재 작동하지 않을 수 있습니다.

스팸 페이지로 리디렉션되는 Drupal 웹사이트:증상, 원인 및 수정 사항

Drupal 해킹 리디렉션 유형(HTTP 상태 코드) :

  1. 301 리디렉션: 이것은 영구 리디렉션이라고도 할 수 있습니다. Google 또는 해당 문제에 대한 다른 검색 엔진이 이 URL을 볼 때. URL이 새 위치로 이동했음을 나타내므로 모든 이전 관계를 업데이트합니다. 공격자는 단순하기 때문에 이 리디렉션을 사용할 가능성이 가장 높습니다.
  2. 302 리디렉션: 302의 사용은 303으로 대체되었으므로 이제 중복됩니다. 303 리디렉션은 기본적으로 문서를 일시적으로 사용할 수 있음을 나타냅니다.
  3. 303 리디렉션: 302의 개선된 버전입니다. 303 리디렉션은 미래에 동일한 주소에 존재하지 않을 수 있는 임시 페이지를 제공합니다. 신용 카드 데이터 양식, 임시 세부 정보 생성기 등이 될 수 있습니다. 이것은 정말로 정교한 공격이 아닌 한 공격자에게 가장 예상되지 않습니다.
  4. 307 리디렉션: 몇 가지 차이점이 있는 303 리디렉션의 변형입니다. 또한 실험적 리디렉션인 308 리디렉션이 있습니다. 사용 가능성은 매우 낮지만 가능성을 배제할 수 없습니다.

Drupal 악성 코드 리디렉션의 징후:

  • 비정상적으로 높은 웹사이트 트래픽
  • Drupal 사이트에 알 수 없는 파일이 추가되었습니다.
  • 관리자 권한이 있는 새 사용자 생성
  • 웹사이트 홈페이지의 링크를 클릭하면 스팸으로 리디렉션됩니다.
  • 귀하의 웹사이트에 악성 광고 또는 포르노 팝업이 표시됨
  • 이전에 알려지지 않은 새로운 노드, 파일 등이 나타날 수 있음
  • 검색 엔진에 스팸 콘텐츠가 표시될 수 있음
  • Google, Bing 등과 같은 검색 엔진의 보안 경고 또는 블랙리스트

Drupal 해킹 리디렉션 문제의 원인:

Drupal 해킹 리디렉션의 원인은 매우 다양하며 한 기사로 요약할 수 없습니다. 그러나 주요 원인을 간단히 살펴볼 수 있습니다.

DNS 리디렉션

DNS 리디렉션은 누군가가 DNS 서버의 항목을 수정할 때 발생합니다. 따라서 누군가 귀하의 웹사이트를 요청하면 DNS 서버가 사용자를 해당 항목으로 보냅니다. 경험적 테스트로 DNS 조회를 수행할 수 있습니다. Windows에는 기본 도구 traceroute가 있습니다. 명령줄 tracert www.your-site.com을 사용하여 액세스할 수 있습니다. 마찬가지로 Linux 사용자는 host www.your-site.com를 사용할 수 있습니다. . DNS 조회가 잘못된 IP 주소를 반환하면 문제는 웹사이트가 아니라 DNS에 있는 것입니다. 고급 사용자는 불량 DNS 서버 항목을 확인할 수 있습니다.

변조 파일

공격자가 .htaccess를 변조했을 수 있습니다. 및 index.php 파일. 아마 그들 안에 악성 코드를 찾고 싶어. 코드는 다음 형식일 수 있습니다.

data:text/html,<html><meta http-equiv="refresh" content="0; url=https://malicious_site.com/process/route/1673246826.html?refresh=non-ie&bl=0"></html>

여기에서 이 코드는 웹사이트를 https://malicious_site.com 도메인으로 리디렉션합니다.

핵심 무결성

이러한 모든 파일에 대한 철저한 수동 검사가 필요합니다. 모든 웹 사이트를 수동으로 확인할 수는 없습니다. 따라서 이 방향의 첫 번째 단계는 설치된 파일의 핵심 무결성 값을 확인하는 것입니다. 시작:

mkdir drupal-8.3.5
cd drupal-8.3.5
wget https://github.com/drupal/core/archive/8.3.5.tar.gz
tar -zxvf core-8.3.5.tar.gz

이 코드 조각은 Drupal-8.3.5라는 디렉터리를 만든 다음 해당 디렉터리로 변경합니다. 세 번째 줄은 Github 저장소에서 원본 설치 파일을 다운로드하고 네 번째 줄은 압축을 풉니다. 이제 그것들을 비교하는 중요한 부분이 나옵니다. diff -r core-8.3.5 ./public_html 이 명령은 원래 설치에 대한 파일의 변경 사항을 제공합니다. 이 형식으로 진행하여 모든 파일을 확인하십시오.

기타 원인

  • SQL 주입에 대한 최초의 공개 토론은 1998년으로 거슬러 올라갑니다. 그것이 오늘날까지 웹사이트를 괴롭히는 데는 이유가 있습니다. SQL 인젝션의 발생은 정제되지 않은 입력의 결과입니다. 코딩 시 세미콜론만 건너뛰면 SQL 주입 취약점이 발생할 수 있습니다.
  • 아마도 modules/system/wxeboa.php과 같은 이상한 모듈 이름을 찾고 싶을 것입니다. . 이들은 원래 설치의 일부가 아닙니다.
  • Google 투명성 보고서는 Drupal 해킹 리디렉션의 원인을 찾는 데 큰 도움이 될 수 있습니다. 웹사이트에 대한 많은 정보를 얻을 수 있습니다.
  • 약한 FTP 또는 웹사이트 비밀번호는 Drupal 해킹 리디렉션의 원인이 될 수 있습니다. 기본 구성을 사용 중이라면 지금 변경하세요!

Drupal 해킹 리디렉션 문제에 대한 손상 제어:

키워드가 포함된 참조자 기반

사이버 보안의 기본 원칙은 공격 가능성을 절대 제거할 수 없으며 지연시킬 수 있다는 것입니다. 이 방향에서 또 다른 영리한 트릭은 .htaccess 파일을 편집하는 것입니다. 파일을 편집하여 나중에 감염이 발생하더라도 웹사이트에서 사용자가 스팸에 액세스하지 못하도록 차단할 수 있습니다. 이를 통해 사용자 간의 신뢰를 높일 수 있습니다. 따라서 감염에도 불구하고 검색 엔진은 스팸을 자동으로 차단하므로 사용자를 블랙리스트에 올리지 않습니다. 이렇게 하면 시간을 벌고 검색 순위가 급락하는 것을 막을 수 있습니다. 따라서 데미지 컨트롤 역할을 합니다.

<Limit GET>
order allow, deny
allow from all
deny from env = spammer
SetEnvIfNoCase Referer ". * (Poker | credit | money). *" Spammer
</ Limit>

이 조각 코드는 식별자(HTTP 리퍼러)를 기반으로 포커, 크레딧 등과 같은 링크가 있는 페이지에 사용자가 액세스하는 것을 차단합니다. 당사 웹사이트에는 이러한 단어가 포함되어 있지 않으므로 이러한 단어를 차단하지 않아도 됩니다. 와일드카드가 있는 필터 역할을 합니다.

자체 식별자 기반

두 번째 방법은 자체 식별자(HTTP REFERRERS)를 기반으로 액세스를 차단하는 것입니다.

Rewrite Engine On
RewriteBase /
# allow referrals from search engines:
RewriteCond% {HTTP_REFERER}!. * xyz \ .com /.*$ [NC]
RewriteCond% {HTTP_REFERER}! ^ Http: // ([^ /] +) google \ .. * $ [NC]

계속해서 google이라는 문구를 허용하려는 yahoo, bing 등과 같은 모든 검색 엔진으로 바꾸십시오.

# Conditions for don`t wanted referrals
RewriteCond% {HTTP_REFERER} ^. * Loans. * $ [OR]

대출이라는 단어를 차단하려는 비아그라, 포르노 등과 같은 스팸 단어로 계속 교체하십시오. 그러나 이것이 작동하려면 Apache의 ModRewrite가 켜져 있어야 합니다. 또한 공개적으로 스팸으로 알려진 특정 IP를 제한할 수도 있습니다.

Drupal 악성코드 리디렉션에 감염된 웹사이트 치료

데이터베이스 정리:

사용자 확인

먼저 SQL 인젝션을 검색하는 것으로 시작합니다. Sqlmap과 같은 비린내가 나는 테이블을 찾으십시오. Sqlmap이라는 이름의 이 테이블은 웹사이트에 대해 자동화된 펜 테스트 도구인 Sqlmap을 사용하는 동안 정크 쿼리의 결과입니다. 모든 테이블을 표시하려면 명령을 사용하기만 하면 됩니다. show tables ; . 공격자는 새 사용자 항목을 만들고 관리자 권한을 얻었을 수도 있습니다. 사용을 확인하려면:

Select * from users  as u

AND u.created > UNIX_TIMESTAMP(STR_TO_DATE('Oct 15 2018', '%M %d %Y '));

여기에 2018년 10월 15일 이후에 생성된 모든 사용자가 표시됩니다. 이 줄을 원하는 날짜로 조정할 수 있습니다. 악성 사용자 또는 테이블을 발견한 경우 drop database database-name.dbo;를 사용하여 삭제할 수 있습니다. .

사용자 차단

또한 사용자를 차단하거나 모든 사용자의 비밀번호를 변경할 수 있습니다. 다음 명령을 사용하십시오.

update users set pass = concat('ZZZ', sha(concat(pass, md5(rand()))));

이 SQL 문은 사용자 암호를 MD5 형식으로 변경합니다. MD5 형식은 암호화 보안 기능입니다. 암호를 일반 텍스트 형식으로 저장하지 마십시오. 공격자가 손상된 데이터베이스에서 일반 텍스트 암호를 추출하는 것은 매우 쉽습니다. MD5 값은 여전히 ​​추가 보안 계층을 제공합니다. admin이라는 단어로 해시 86fb269d190d2c85f6e0468ceca42a20가 됩니다. . 단방향 함수이므로 거꾸로 계산하기가 어렵습니다.

파일 정리:

  • 파일의 백업 복사본으로 롤백 설치.
  • 외부 모듈을 사용하여 감염을 검사할 수 있습니다. 해킹된 모듈은 그러한 인기 제품 중 하나입니다.
  • 루트 디렉토리 외부의 민감한 파일에 대한 액세스를 허용하지 않습니다.
  • 민감한 정보 유출을 막기 위해 오류 보고를 비활성화합니다.
  • 설치가 오래된 경우 업데이트! 업데이트! 업데이트!
  • 이전에 사용한 모든 API 키와 FTP 비밀번호를 재설정합니다. 강력한 비밀번호를 사용하세요.
  • 다음 명령을 사용하여 캐시를 지웁니다.  drush cache-rebuild (Drupal 8) 또는 drush cache-clear all (드루팔 7).
  • Drupal 리디렉션 해킹에 대한 추가 보안 계층으로 일종의 WAF 솔루션을 사용합니다.

그러나 여전히 잘못되어 Drupal 해킹 리디렉션이 발생할 수 있습니다. 여전히 알아낼 수 없으면 전문가에게 문의하십시오. 수동 청소가 너무 귀찮다면 자동 도구를 사용하십시오. CMS에서 발견된 취약점에 대해 블로그, 웹사이트 등에서 정기적으로 업데이트를 받으십시오.