테크레시피

워드프레스 테마‧플러그인에 무단 액세스 백도어가…

인터넷상에 존재하는 모든 웹사이트 중 43.3%가 이용하고 있는 워드프레스(WordPress)에 있어서 모두 90개가 넘는 테마나 플러그인에 웹사이트 부정 액세스를 가능하게 하는 백도어가 숨겨져 있었다고 한다.

워드프레스에선 웹사이트 외형을 바꾸는 테마나 확장 기능을 제공하는 플러그인을 설치해 자신의 웹사이트를 자유롭게 사용자 정의할 수 있다. 워드프레스를 사용하는 웹사이트 보안과 최적화 도구를 개발하는 제트팩(Jetpack) 측은 액세스프레스(AccessPress)라는 기업이 제공하는 워드프레스 테마나 플러그인에 웹사이트 접근권을 부정하게 취득할 수 있게 해주는 백도어가 숨겨져 있었다고 발표했다.

이번에 백도어가 발견된 건 액세스프레스가 배포하는 테마 40개와 플러그인 53개. 이들은 36만 개 이상 활성 웹사이트에서 사용하고 있다. 제트팩 연구팀은 공격자가 2021년 9월 전반 액세스프레스 웹사이트를 침해해 백도어를 넣었다고 생각하고 있으며 액세스프레스 공식 웹사이트와 미러링 사이트에서 백도어를 포함한 테마와 플러그인이 설치 가능했다고 말한다.

악성 PHP 코드가 포함된 테마나 플러그인이 설치되면 메인 테마 디렉터리에 파일(initial.php)을 추가하고 이를 메인 파일(functions.php)에 포함한다는 것. 첫 번째 파일은 백도어 인코딩 기능을 갖고 있으며 ‘wp-includes/vars.php’에 백도어 코드를 쓰면 미리 빌드된 자기 파괴 함수에 의해 자동으로 소멸되는 구조다.

자동 소멸 기능은 이 악성코드를 탐지하기 어렵지만 웹사이트가 코어 파일 무결성을 모니터링하는 보안 플러그인을 사용하는 경우 파일(vars.php)이 변경됐다는 걸 알 수 있다.

액세스프레스에서 발견된 백도어를 조사한 보안 기업 수쿠리(Sucuri)에 따르면 이번 백도어와관련해 발견된 악성코드는 스팸과 사기 사이트에 리디렉션을 제공하는 정도이며 그만큼 세련된 공격이 이뤄지지는 않는 것으로 보인다. 하지만 백도어를 담은 범죄자가 다크웹에서 백도어로 액세스할 수 있는 웹사이트 목록을 판매했을 가능성도 지적된다.

당초 제트팩은 액세스프레스와 쉽게 연락을 취할 수 없었지만 커뮤니케이션 채널을 확보하고 자세한 정보를 제공한 뒤에는 곧바로 문제가 있는 확장 기능이 삭제됐다고 한다. 하지만 이미 침해된 테마나 플러그인을 설치한 상태라면 단순히 테마나 플러그인을 삭제, 치환, 업데이트해도 심어진 웹쉘을 뿌리째 배제할 수는 없다고 한다.

이런 영향을 받을 수 있는 웹사이트 관리자라면 첫째 특정 파일(wp-includes/vars.php) 146~158행째에 함수(wp_is_mobile_fix)가 있는지 확인해 함수를 발견하면 웹사이트가 치매된 것이다. 파일 시스템에 ‘wp_is_mobile_fix’ 또는 ‘wp-theme-connect’를 쿼리해 영향을 받는 파일이 있는지 확인한다. 코어 워드프레스 파일을 새 복사본으로 바꾸고 영향을 받은 플러그인을 업그레이드하고 다른 테마로 전환한다. wp-admin와 데이터베이스 암호를 변경한다. 관련 내용은 이곳에서 확인할 수 있다.

추천기사