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

Joomla 웹사이트 해킹 및 스팸 이메일 전송. 어떻게 고치는 지?

Joomla는 훌륭한 커뮤니티 지원을 제공하는 매우 강력한 CMS입니다. 또한 Joomla에서 실행되는 사이트는 개인 페이지에서 정부 사이트에 이르기까지 다양하기 때문에 사용자 정의가 가능합니다. 광범위한 인기는 제공하는 90개 이상의 언어 지원에 기인합니다. 그러나 인기가 있기 때문에 스팸 발송자와 해커의 표적이 되기도 합니다. 종종 사용자는 커뮤니티 포럼에서 스팸을 보내는 Joomla 해킹에 대해 불평합니다. 이러한 공격은 영향을 받는 사용자가 많기 때문에 상당히 일반적입니다. 종종 스팸 이메일에는 비아그라를 판매하는 제약 광고가 포함되어 있습니다. Joomla Web Security라는 책에 따르면

Joomla가 스팸 발송을 해킹한 징후

스팸 이메일 공격을 발견하는 데는 일반적으로 몇 시간에서 며칠이 걸립니다. 이메일이 전파되는 데 시간이 걸리기 때문에 대기 시간이 발생합니다. 따라서 사용자가 스팸 메일에 대해 알려줄 때 감지됩니다. 그러나 경우에 따라 웹 관리자가 스팸을 보내기 전에 온라인 서비스를 사용하여 스팸을 확인하는 경우 알림을 받습니다. 이러한 서비스는 도메인이 스팸 차단 목록에 포함되었음을 나타낼 수 있습니다. 특정 온라인 보안 솔루션은 이러한 위협에 대해 사용자에게 미리 알릴 수 있습니다.

어떤 경우에는 스팸 공격이 대역폭을 질식시킬 수 있는 것으로 관찰되었습니다. 그 후 ISP는 스팸 이메일의 유출에 대해 알려줄 수 있습니다. 인터넷에는 온라인 스팸 목록을 유지 관리하는 리소스가 많이 있습니다. Joomla가 해킹하여 스팸을 보내는 경우 서버 IP가 블랙리스트에 올라갑니다. 한 서비스가 사용자를 블랙리스트에 올리면 이러한 모든 블랙리스트에 전파됩니다. 그 후 Google과 같은 검색 엔진은 스팸을 위해 사이트를 블랙리스트에 추가합니다. 따라서 사용자가 방문하면 다음과 같은 페이지가 표시될 수 있습니다.

Joomla 웹사이트 해킹 및 스팸 이메일 전송. 어떻게 고치는 지?

사이트에서 스팸 이메일의 대규모 배포를 확인한 후 Google은 이를 공격 페이지로 나열했습니다. 이 페이지는 사이트에서 진행하지 않도록 사용자에게 경고합니다. 사이트에 이러한 증상이 표시되면 스팸을 보내는 Joomla 해킹으로 인한 것일 수 있습니다.

Joomla 해킹 스팸 발송 예

스팸을 보내는 Joomla 해킹 문제는 상당히 광범위합니다. 여러 사용자가 커뮤니티 포럼에서 이 문제에 대해 불평합니다. 일부는 재감염되기도 합니다! 다음은 Joomla 커뮤니티 포럼에서 가져온 몇 가지 예입니다.

Joomla 웹사이트 해킹 및 스팸 이메일 전송. 어떻게 고치는 지? Joomla 웹사이트 해킹 및 스팸 이메일 전송. 어떻게 고치는 지? Joomla 웹사이트 해킹 및 스팸 이메일 전송. 어떻게 고치는 지?

Joomla 해킹 스팸 발송:원인

SQL 주입

Joomla 데이터베이스는 매우 자주 표적이 됩니다. SQL 주입이 웹에서 상당히 일반적이라는 사실과 관련하여. 이를 통해 OWASP 상위 10개 취약점 중 하나로 유도합니다. 공격자가 데이터베이스를 확보하면 SQL 문을 사용하여 가입 이메일이 포함된 테이블을 결정할 수 있습니다. 목록을 얻은 후 공격자는 이 목록을 사용하여 많은 사용자에게 스팸을 보낼 수 있습니다. 따라서 데이터베이스를 안전하게 유지하는 것이 중요합니다.

예를 들어 Joomla에는 Jimtawl이라는 확장명이 있습니다. . 웹에서 라디오 방송국을 실행하는 데 사용할 수 있습니다. 그러나 이 구성 요소는 SQLi에 취약한 것으로 나타났습니다. 취약한 매개변수는 id이었습니다. . 전체 URL은 다음과 같습니다.

https://localhost/[경로]/index.php?option=com_jimtawl&view=user&task=user.edit&id=[SQL]

구성 요소는 SQLi로 이어지는 정제되지 않은 사용자 입력을 허용했습니다. 여기서 id 뒤에 SQL 문을 추가하여 , 공격자는 데이터베이스의 내용을 읽을 수 있습니다. 예를 들어, 데이터베이스 버전과 사용자를 나타내기 위해 다음 쿼리를 실행할 수 있습니다.

' AND EXTRACTVALUE(66,CONCAT(0x5c,(SELECT (ELT(66=66,1))),CONCAT_WS(0x203a20,USER(),DATABASE(),VERSION())))-- VerAyari

여기에서 아포스트로피 표시는 이전 명령문의 입력을 종료합니다. 그 후 또는 절은 다음 SQL 문을 실행합니다. 이 문은 사용자 및 데이터베이스 버전을 가져옵니다. 이에 대한 익스플로잇은 이미 릴리스되었습니다. 또한 공격자는 자동화된 도구를 사용하여 공격 속도를 높일 수 있습니다. 여기에서 공격자는 데이터베이스에 저장된 모든 이메일을 검색할 수 있습니다.

사이트가 스택 기반 SQLi인 경우 취약한 공격자는 명령을 실행할 수 있습니다. 이러한 명령은 로컬 서버에서 실행되는 데이터베이스 서비스를 통해 실행됩니다. 이 명령을 사용하면 Joomla 해킹 스팸 문제가 발생할 수 있습니다. 따라서 스팸은 로컬 SMTP 서버 자체에서 발생할 수 있습니다. 스팸을 보내는 Joomla 해킹 외에도 공격자는 데이터베이스 정보를 사용하여 사이트에서 다른 공격을 수행할 수도 있습니다!

약한 자격 증명

공격자가 SMTP 서버에 강제로 로그인했을 가능성이 있습니다. 기본 암호나 약한 암호를 사용하면 사이트가 이러한 종류의 공격에 취약해집니다. SMTP 서버가 공격자의 제어 하에 있을 때 Joomla가 스팸을 보내는 해킹으로 이어질 수 있습니다.

오픈 포트

열린 포트는 공격자에게 사이트를 제공할 수 있습니다. SMTP는 기본 포트 25를 사용합니다. . 그러나 이 포트는 스팸 발송자의 표적이 되는 경우가 많으므로 사용하지 마십시오. 어떤 경우에는 ISP 자체가 이 포트를 차단합니다. 포트 587 더 나은 대안입니다. 이 포트는 TLS 암호화를 지원합니다. 포트 25 맬웨어 및 스팸의 주요 대상입니다. 공격자는 열린 포트를 통해 침입하여 스팸을 보내는 Joomla를 해킹할 수 있습니다. 포트 25 노출 인터넷에 많은 양의 인바운드 스팸이 발생할 수 있습니다!

스크립트 업로드

일반적으로 공격자는 위에 주어진 알려진 기술을 사용하여 서버를 악용합니다. 이후 Joomla 해킹 스팸 발송을 최적화하기 위해 자동화가 사용됩니다. PHP 스크립트는 이 작업을 매우 효율적으로 수행할 수 있습니다. 이 스크립트는 SMTP 서버 또는 MX 서버에 연결하는 데 사용됩니다. 일부 경우에. 일반적인 스크립트에는 다음과 같은 코드가 포함됩니다.

Joomla 웹사이트 해킹 및 스팸 이메일 전송. 어떻게 고치는 지?

분명히 코드 난독화 기술이 사용되었습니다. 그러나 이 스크립트가 디코딩되면 다음과 같이 변환됩니다.

Joomla 웹사이트 해킹 및 스팸 이메일 전송. 어떻게 고치는 지?

코드에서 볼 수 있듯이 스크립트는 eval() 구문을 사용합니다. 이 명령은 입력 문자열을 PHP 코드로 처리합니다. 안전한 코딩 방법은 eval() 사용을 피하는 것이 좋습니다. 공격자가 서버에서 임의의 코드를 실행하는 데 도움이 되기 때문입니다. 또한 eval()을 사용하여 데이터베이스에 코드를 저장할 수 있습니다. 이 코드는 나중에 실행되어 Joomla가 스팸 발송을 해킹하게 만듭니다. 이 스크립트는 다음 두 가지 방법으로 대량 스팸을 퍼뜨릴 수 있습니다.

  1. MTA 대기열 스팸 :MTA(Message Transfer Agent)는 Joomla 사이트에서 받는 사람에게 메일을 전달하는 역할을 합니다. 때때로 악용 스크립트는 MTA 대기열에 엄청난 양의 스팸 이메일을 주입합니다. "MTA 대기열이 너무 큽니다!와 같은 경고 메시지가 나타날 수 있습니다. ". 특정 한도에 도달하면 이메일도 ISP에 의해 차단될 수 있습니다. 따라서 스크립트는 때때로 MX에 직접 연결합니다.
  2. MX 스팸으로 연결 :Direct to MX를 사용하면 중간 에이전트로 ISP를 우회할 수 있습니다. Direct to MX는 메일을 받는 사람 Mail eXchange 서버로 직접 배달할 수 있는 합법적인 서비스입니다. 이렇게 하면 이메일이 ISP의 SMTP 서버에 도달하는 것을 방지할 수 있습니다. 스크립트는 이 기능을 악용하여 수신자에게 직접 스팸을 주입합니다. 이는 MTA 대기열에서 감지되지 않도록 하기 위한 것입니다.

웹 공간 공유

종종 저렴한 호스팅 비용이 많이 들 수 있습니다. 여러 사이트가 같은 공간을 공유하면 감염이 빠르게 퍼집니다. 따라서 스팸을 보내는 Joomla 해킹은 다른 사이트의 감염으로 인한 것일 수 있습니다. 이로 인해 스팸을 생성하는 사이트를 감지하기 어렵습니다!

Joomla가 스팸 발송을 해킹한 후 서버 보안에 전문가의 도움이 필요하십니까? 채팅 위젯에 메시지를 남겨주시면 기꺼이 도와드리겠습니다. 지금 내 Joomla 스팸 이메일을 수정하세요.

스팸 이메일 수신

등록 스팸

종종 스팸 시나리오를 보내는 Joomla 해킹이 관찰되었습니다. 그러나 때때로 사이트 자체가 스팸의 대상이 될 수 있습니다. 다수의 가짜 가입이 귀하의 사이트를 대상으로 할 수 있습니다. Joomla는 양식이 비활성화된 상태에서도 사용자가 이메일을 제출할 수 있는 취약점이 있었습니다. com_contact라는 취약한 구성 요소로 인해 발생했습니다. 이 취약점의 이름은 CVE-2018-17859입니다. 이를 악용하여 공격자는 많은 수의 스팸 이메일을 제출할 수 있습니다. 이 시나리오에서 적절한 견제와 균형이 이루어지지 않으면 봇이 혼란을 일으킬 수 있습니다. 자동으로 등록 테이블을 채웁니다. 결국 어떤 이메일이 원래 가입 이메일이고 어떤 이메일이 봇인지 구별하기 어려워집니다!

그 외에도 일부 사이트에서는 각각의 신규 가입에 대한 알림을 활성화합니다. 이 경우 가입 스팸으로 인해 여러 알림이 생성될 수 있습니다. 이러한 알림이 특정 제한에 도달하는 경우 서비스 공급자는 스팸으로 플래그를 지정합니다. 따라서 귀하의 계정을 차단하고 새로운 가입 알림을 방지합니다. 가입 외에도 사이트가 공격을 받을 때 알림이 생성될 수도 있습니다. 따라서 통지 한도를 초과하는 경우에도 동일한 절차를 따릅니다.

배달 못 함 보고서 스팸

SMTP 프로토콜은 "보낸사람 " 및 "받는 사람 " 필드는 누구나 조작할 수 있습니다. 일반 사용자도 마찬가지입니다. 스패머는 귀하의 도메인을 "보낸사람 " 필드. 이것은 다음과 같은 방식으로 이루어집니다:

  • 1단계: 봇은 가짜 이메일(존재하지 않는 이메일) 목록을 생성합니다.
  • 2단계: 귀하의 이메일 admin@wsxdn.com은 "보낸사람 옵션에서 발신자로 사용됩니다. ".
  • 3단계: 봇이 존재하지 않는 계정으로 이메일을 보냅니다.
  • 4단계: 이메일 전송에 실패했습니다.
  • 5단계: 배달 못 함 보고서 이메일은 귀하의 계정(admin@wsxdn.com)으로 반환됩니다. 이로 인해 스팸 이메일이 대량으로 유입됩니다.

Joomla에서 스팸 이메일을 중지하는 방법:수정 사항

인바운드 스팸 수정

발신인 정책 프레임워크

SMTP 프로토콜에는 자체 제한 사항이 있습니다. “보낸사람 " 옵션. 그러나 특정 수정 사항이 있습니다. 메일 서버는 도메인을 대신하여 메일을 보낼 수 있는 IP와 관련하여 알림을 받을 수 있습니다. 따라서 SPF는 이 작업을 수행하는 DNS TXT 레코드 유형입니다. SPF를 구현하기 위해 다음 단계를 수행할 수 있습니다.

  1. 먼저 DNS 관리를 방문합니다. 페이지.
  2. 그 후 방문 기록 부분. 추가를 클릭합니다. TXT를 선택합니다. 메뉴에서.
  3. 이제 다음 필드를 채우십시오.
    • 호스트: 이 인수에는 호스트 이름이 필요합니다. 예를 들어 @를 입력합니다. 레코드를 도메인 이름에 직접 매핑합니다.
    • TXT 값 – 할당하려는 값을 입력합니다.
  4. 마지막으로 저장을 클릭합니다. .

결국 YourDomain.com.  IN TXT “v=spf1 mx ip4:123.123.123.123 -all”와 같이 보일 것입니다. .

이것은 YourDomain.com 유효한 이메일 소스는 두 개뿐입니다. 하나는 메일 교환 서버입니다. MX 서버는 이메일 수신자인 도메인을 정의합니다. 그리고 다른 하나는 123.123.123.123에 있는 서버입니다. 나머지 모든 이메일은 스팸으로 처리됩니다. 그러나 여기서 robots.txt와 마찬가지로 이것이 규칙이라는 점은 주목할 만합니다. 대부분의 메일 서버는 이를 따르지만 일부는 그렇지 않을 수 있습니다!

즉각적인 맬웨어 제거를 위해 지금 Astra 보안 전문가에게 문의하십시오. 당사의 강력한 방화벽은 XSS, LFI, RFI, SQL 주입, 불량 봇, 자동화된 취약점 스캐너 및 80개 이상의 보안 위협으로부터 웹사이트를 보호합니다. 지금 내 Joomla 웹사이트를 보호하세요.

발신 스팸 수정

스팸 스크립트 식별 및 제거

1단계: 먼저 스팸을 생성하는 스크립트를 식별해야 합니다. 따라서 관리자 권한(SUDO)으로 메일 서버에 로그인하십시오.

2단계: 스크립트로 아웃바운드 이메일을 캡처하려면 PHP.ini 파일에 다음 코드가 있습니다mail.add_x_header = On . 이 작업이 완료되면 계속해서 메일 대기열을 검사합니다.

3단계: 이것은 mailq 명령으로 수행할 수 있습니다. . 이 명령은 대기열에 있는 모든 이메일을 나열합니다. 여기에서 소스를 추적하려는 이메일의 ID를 기록해 두십시오.

4단계: 이제 "grep " 및 "우체국 ” 명령이 유용할 것입니다. 다음 명령을 실행하십시오.postcat -q   <ID obtained from mailq> | grep X-PHP-Originating-Script

5단계: 이 명령은 X-PHP-Originating-Script: 45:SPAMmailer.php과 같은 출력을 제공합니다. . 여기에서 45는 SPAMmailer.php 스크립트의 UID입니다. 이 명령은 스팸 스크립트를 보내는 Joomla를 성공적으로 찾았습니다. 또한 서버의 로컬 ID입니다. 스크립트를 제거하고 설치를 정리하십시오.

그러나 4단계의 경우 출력이 나오지 않으면 계정이 도용되었을 가능성이 있습니다. Joomla가 스팸을 보내는 해킹을 방지하려면 비밀번호를 안전한 비밀번호로 변경하세요!

기타 주의사항

  • Google에서 블랙리스트에 올린 경우 검토를 위해 사이트를 정리하고 제출하세요.
  • 꼭 필요한 경우가 아니면 direct-to-MX를 차단합니다.
  • SMTP에 포트 25를 사용하지 마십시오. 대신 더 나은 옵션은 포트 587입니다.
  • 전용 VPS 호스팅을 사용해보십시오. 이렇게 하면 스팸 감염을 보내는 Joomla 해킹이 확산될 가능성이 줄어듭니다.
  • 폴더에 대한 읽기, 쓰기, 실행 권한을 현명하게 관리합니다. 스팸 메일러 스크립트가 업로드되어 있어도 코드 실행을 방지할 수 있기 때문입니다.
  • 명성 있는 확장 프로그램을 설치합니다. 알 수 없거나 null 확장자를 사용하지 마십시오.
  • SMTP 서버에서 인증 시도를 제한합니다. 이는 무차별 대입 공격을 방지할 수 있습니다.
  • 업데이트 업데이트 업데이트!

결론

스팸을 보내는 Joomla 해킹은 사이트의 평판에 심각한 영향을 미칠 수 있습니다. 최선의 예방책은 보안 솔루션을 사용하는 것입니다. 방화벽 및 IDS가 포함된 수많은 보안 솔루션이 현재 온라인에서 사용 가능합니다. Astra와 같은 보안 솔루션은 확장성이 뛰어납니다. 개인 블로그와 대기업의 요구 사항을 모두 충족합니다.