최근에 많은 WordPress 사이트에서 functions.php 상단에 추가된 악성 코드를 발견했습니다. 파일을 악용하여 멀웨어 제작자가 원하는 피해를 거의 가할 수 있습니다. 삽입된 코드는 ApiWord 악성코드에서 가져옵니다. post.php에 수정 사항을 생성할 뿐만 아니라 및 functions.php , 그러나 백도어를 포함하는 파일도 생성합니다:/wp-includes/class.wp.php
functions.php의 존재 파일은 모든 테마가 WordPress에서 인식되는 데 필수적이므로 각 페이지를 볼 때마다 실행됩니다. 이는 악성 코드의 훌륭한 표적이 됩니다.
ApiWord 맬웨어 정보
사례 중 하나에서 감염된 코드는 woocommerce-direct-download라는 악성 플러그인의 functions.php 파일에서 발견되었습니다. 이 플러그인에는 난독화된 PHP 코드를 호스팅하는 woocp.php라는 악성 스크립트가 포함되어 있습니다. 이 스크립트는 실행 시 모든 functions.php 파일에 악성 코드를 주입합니다.
일단 감염되면 스크립트는 공격자가 여러 가지 방법으로 오용할 수 있는 백도어를 생성합니다. 백도어 PHP 스크립트가 오용될 수 있는 몇 가지 방법은 다음과 같습니다.
- 사이트에 임의의 게시물 추가 또는 수정
- 서버의 모든 WordPress 웹사이트 감염
- ApiWord 도메인에서 동적으로 가져온 코드를 사용하여 서버에 새 PHP 파일 생성
ApiWord 악성코드는 wp-includes/post.php 에 코드 조각을 추가합니다. 파일. 그런 다음 wp-includes/wp-cd.php 파일을 생성합니다. 다음은 base64 디코딩입니다.
관련 블로그 – WordPress에서 wp-vcd 악성코드를 수정하는 방법
디코딩 시 다음과 같이 표시됩니다.
ApiWord 맬웨어를 감지하는 방법
설치된 각 테마의 루트 디렉터리에 있는 모든 functions.php 파일의 맨 위에 악성 코드가 추가된다는 사실을 알아야 합니다.
예를 들어 WordPress 사이트에 "MyTheme"라는 테마가 있는 경우 악성 코드가 wp-content/themes/MyTheme/functions.php에 추가됩니다. 파일.
악성 코드가 포함된 것으로 알려진 파일 경로는 "@file_puts_contents($_SERVER['DOCUMENT_ROOT'].'/wp-includes/class.wp.php',file_get_contents)"입니다. .
이 코드는 기본적으로 wp_cd_code라는 이름의 변수 형식으로 서명을 포함합니다. 이렇게 하면 감염된 파일을 식별하는 데 도움이 됩니다.
사용자가 Unix 기반 OS를 실행 중인 경우 서버 웹 루트의 루트 디렉터리에서 다음 명령을 실행하여 감염된 모든 파일 목록을 추출할 수 있습니다.
find -iname '*.php' -print0 | xargs -0 egrep -in 'wp_cd_code'
이것을 실행하면 서명 문자열 "wp_cd_code에 대한 재귀 검색이 시작됩니다. " 모든 .php 파일을 통해. 그러면 출력에 검색 문자열이 포함된 파일 경로와 줄 번호가 표시됩니다.
ApiWord 맬웨어 코드의 기능
간단히 말해서, 코드 인젝터는 각 사이트에 대한 악성 코드를 구성하고 각 사용자 요청에 따라 실행될 PHP 파일에 주입합니다. 이 파일은 공격자에게 다시 보고됩니다. 이 코드는 변수의 작업 을 확인합니다. 및 비밀번호 HTTP 요청에 전달됩니다. 비밀번호가 하드 코딩된 해시(코드 인젝터에 의해 생성됨)와 일치하면 삽입된 코드는 action의 내용을 기반으로 작업을 실행합니다. 변수.
공격자는 생성된 비밀번호를 사용하여 일반적인 로그인 경로를 따르지 않고 웹사이트에 대한 관리자 권한을 얻을 수 있습니다. 이는 공격자에게 임의의 콘텐츠 추가 및 감염된 사이트의 게시물 수정과 같은 특정 작업의 권한을 제공합니다. 이에 대한 자세한 내용은 WordPress의 PHP 코드 실행에 대한 기사를 확인하십시오.
PHP/ApiWord 악성코드 해킹 제거
ApiWord 악성코드를 완화하려면 사이트 테마 디렉토리의 모든 function.php 파일에서 모든 백도어 코드를 철저히 제거해야 합니다. 다음 체크리스트를 따를 수 있습니다.
- 모든 functions.php 파일에 악성 코드가 있는지 확인하세요. 관련 코드는 첫 번째 php ?> 블록이 PHP 파일에 있으므로 이 블록을 완전히 제거하는 것이 좋습니다.
- 코드 인젝터가 아직 존재하는 경우 즉시 제거합니다. 예를 들어 woocommerce-direct-download의 경우 플러그인에서 코드 인젝터는 삭제해야 하는 woocp.php라는 파일에 포함되어 있었습니다.
_datalist 및 수정된 게시물을 찾는 데 도움이 될 수 있으므로 이것을 기록해 두십시오. 그런 다음 이 표를 삭제해야 합니다._install_meta 테이블을 찾아보세요. - 시그니처 변수 "wp_cd_code"에 대한 모든 게시물 검색 영향을 받는 각 게시물에 대해 이 DIV를 제거합니다.
- 서버에서 최근에 수정한 파일을 확인합니다. SSH를 통해 웹 서버에 로그인하고 다음 명령을 실행하여 가장 최근에 수정된 파일을 찾습니다.
/path-of-www -type f -printf 찾기 '%TY-%Tm-%Td %TT %p\n' | 정렬 -r
ApiWord Malware에 감염되는 것을 방지하는 방법
- 파일 사용자 및 권한 업데이트 웹 사이트의 파일 권한을 더 제한적으로 변경하는 것을 고려하십시오. 폴더 및 파일에 대한 기본 권한 체계는 각각 750 및 640이어야 합니다. FTP/SFTP 클라이언트를 통해 권한을 변경할 수 있습니다. 명령줄을 통해 권한을 변경하려면 다음 명령을 재귀적으로 실행하십시오.
- 디렉터리:
find /path/to/your/wordpress/install/ -type d -exec chmod 750 {} \;
-
파일의 경우:
find /path/to/your/wordpress/install/ -type f -exec chmod 640 {} \;
- 디렉터리:
- 서버에서 생성되는 새 파일을 모니터링합니다. Astra와 같은 WAF(Web Application Firewall)는 배포 시 기본적으로 서버에서 생성되는 새/삭제/수정된 파일을 검색하고 정기적으로 맬웨어를 검사합니다.
- 해적판 테마를 사용하지 마세요. 신뢰할 수 있는 공식 출처의 테마에만 의존하는 것이 좋습니다.
- 모든 WordPress 업데이트를 지체 없이 설치하십시오. WordPress는 공개된 취약점을 완화하기 위해 정기적으로 업데이트와 플러그인을 출시합니다. Astra의 WordPress Security는 WordPress 사이트의 업데이트 및 플러그인에 대한 적시 알림을 보장합니다.
ApiWord 맬웨어:결론
맬웨어는 항상 변화하며 웹사이트와 평판에 영향을 줄 수 있습니다. 웹사이트에서 맬웨어를 제거하는 것도 한 부분이지만 추가 감염으로부터 안전하려면 Astra의 보안 제품군과 같은 보다 영구적인 것이 필요합니다!
WordPress 커뮤니티의 최신 소식을 확인하거나 업데이트 릴리스에 대한 알림을 받으려면 WordPress Security의 블로그를 구독하세요.
Astra Security Suite 정보
Astra는 해커, 인터넷 위협 및 봇과 싸우는 필수 웹 보안 제품군입니다. WordPress, OpenCart, Magento 등과 같은 인기 있는 CMS를 실행하는 웹사이트에 사전 예방적 보안을 제공합니다. 지원 팀은 연중무휴 24시간 상주하여 귀하의 쿼리를 도와드립니다.