본문 바로가기
워드프레스 정보창고/워드프레스 - 에러코드

긴급!! 엘리멘토 3.11.7 이전버전 해커에게 취약점 노출로 급하게 패치 - 여러분의 워드프레스 안전한지 체크하세요.

by 시너지메이커9 2023. 4. 4.
반응형

많은 해커들은 수백만 개의 사이트를 완전히 제어할 수 있는 WordPress 플러그인 결함을 악용합니다.
Elementor Pro 회사는 취약점을 수정 베포했지만 모든 사람이 패치를 설치한 것은 아닙니다.


대부분 설치해서 그냥 사용하기때문에 버전 체크를 안하시게 되면 해커에게 쉽게 노출됩니다.
일단 노출되고 파일 변조가 있게되면 자기 도메인을 치고 들어가면 이상한 사이트로 리다이렉트되면서 수정도 안되고
수정해놔도 다시 변조되고가 반복됩니다. 코어파일과 wp-include 폴더 체크하셔야 됩니다.


해외 내용을 요약하면
해커들은 널리 사용되는 WordPress 플러그인에서 수백만 개의 사이트를 완전히 제어할 수 있는 능력을 제공하는 치명적인 취약점을 적극적으로 악용하고 있다고 연구원들은 말했습니다.

10점 만점에 8.8점의 심각도를 지닌 이 취약점은 WordPress 콘텐츠 관리 시스템으로 구동되는 1,200만 개 이상의 사이트에서 실행되는 프리미엄 플러그인인 Elementor Pro에 존재합니다 . Elementor Pro를 사용하면 사용자가 다양한 도구를 사용하여 고품질 웹사이트를 만들 수 있습니다. 그 중 하나는 별도의 WordPress 플러그인인 WooCommerce입니다. 이러한 조건이 충족되면 구독자 또는 고객과 같이 사이트에 계정이 있는 사람은 누구나 전체 관리자 권한이 있는 새 계정을 만들 수 있습니다.

이 취약점은 보안 회사인 NinTechNet의 연구원인 Jerome Bruandet이 발견했습니다.
지난 주, Elementor Pro 플러그인 개발자인 Elementor 회사는 급하게 결함을 패치한 버전 3.11.7을 출시했습니다 .

화요일에 게시된 게시물 에서 Bruandet은 다음과 같이 썼습니다.

 

users_can_register인증된 공격자는 취약점을 악용하여 등록( )을 활성화하고 기본 역할( )을 "관리자"로 설정하여 관리자 계정을 생성하거나 default_role관리자 이메일 주소를 변경( admin_email)하거나 아래와 같이 모든 트래픽을 외부 악성 웹사이트로 리디렉션 할 수 있습니다.
siteurl다른 많은 가능성 중에서 변경하여 :
MariaDB [example]> SELECT * FROM `wp_options` WHERE `option_name`='siteurl';
+-----------+-------------+------------------+----------+
| option_id | option_name | option_value     | autoload |
+-----------+-------------+------------------+----------+
|		 1 | siteurl     | https://evil.com | yes 	 |
+-----------+-------------+------------------+----------+
1 row in set (0.001 sec)

 

또한 별도의 보안 회사인 PatchStack의 연구원들은 이 취약점이 적극적으로 악용되고 있다고 보고했습니다 . 
공격은 다음과 같은 다양한 IP 주소에서 발생합니다.

  • 193.169.194.63
  • 193.169.195.64
  • 194.135.30.6

손상된 사이트에 업로드된 파일의 이름은 종종 다음과 같습니다.

  • wp-resortpack.zip
  • wp-rate.php
  • lll.zip

손상된 사이트의 URL은 종종 다음과 같이 변경됩니다.

  • away[dot]trackersline[dot]com

손상된 액세스 제어 취약점은 Elementor Pro의 "elementor-pro/modules/woocommerce/module.php" 구성 요소 사용에서 비롯됩니다. WooCommerce가 실행 중일 때 이 스크립트는 다음 AJAX 작업을 등록합니다.

 

/**
 * Register Ajax Actions.
 *
 * Registers ajax action used by the Editor js.
 *
 * @since 3.5.0
 *
 * @param Ajax $ajax
 */
public function register_ajax_actions( Ajax $ajax ) {
   // `woocommerce_update_page_option` is called in the editor save-show-modal.js.
   $ajax->register_ajax_action( 'pro_woocommerce_update_page_option', [ $this, 'update_page_option' ] );
   $ajax->register_ajax_action( 'pro_woocommerce_mock_notices', [ $this, 'woocommerce_mock_notices' ] );
}
/**
 * Update Page Option.
 *
 * Ajax action can be used to update any WooCommerce option.
 *
 * @since 3.5.0
 *
 * @param array $data
 */
public function update_page_option( $data ) {
   update_option( $data['option_name'], $data['editor_post_id'] );
}


담당자인 ruandet 
B은 update_option 기능은 "관리자 또는 상점 관리자가 일부 특정 WooCommerce 옵션을 업데이트할 수 있도록 허용해야 하지만, 관리자에서 특정 권한을 가진 사용자에게만 액세스를 콘트롤하는 기능 제어가 부족합니다"라고  설명했습니다. 그는 이어서

Elementor는 자체 AJAX 핸들러를 사용하여 pro_woocommerce_update_page_option전역 elementor_ajax작업을 포함한 대부분의 AJAX 작업을 관리합니다.
무료 버전(Elementor Pro 실행에 필요)의 "elementor/core/common/modules/ajax/module.php"
스크립트에 있습니다.
/**
 * Handle ajax request.
 *
 * Verify ajax nonce, and run all the registered actions for this request.
 *
 * Fired by `wp_ajax_elementor_ajax` action.
 *
 * @since 2.0.0
 * @access public
 */
public function handle_ajax_request() {
   if ( ! $this->verify_request_nonce() ) {
  	$this->add_response_data( false, esc_html__( 'Token Expired.', 'elementor' ) )
     	->send_error( Exceptions::UNAUTHORIZED );
   }
   ...

 

Elementor Pro를 사용하는 모든 사용자는 이전 버전이 모두 취약하므로 3.11.7 이상을 실행 중인지 확인해야 합니다. 
관리자-플럭인-업데이트를 통해서 반드시 업데이트를 해주시는게 좋습니다.
워드프레스가 워낙 보안에 취약하고 해외에서 공격이 많이 오는 것으로 유명하지만 전세계적으로 가장 많이 설치된 엘리멘토 페이지빌더를 통해서 보안이 뚫린점은 생각지 못한 부분입니다.

보안의 기본은 워드프레스 최신버전 설치와 최소한의 플러그인 설치, 그리고 wordfense처럼 보안 플러그인, 해외 IP 차단등으로 기본정도는 막을 수 있습니다. 일단 긴급 발표된 만큼 빠른 패치나 기존 사용하던 버전을 먼저 체크해보시고 업데이트를 해주시는게 좋습니다.

반응형