워싱턴 DC에 위치한 사이버 보안 회사 볼렉시티(Volexity)1)에 의하면 인터넷에 연결된 웹서버에 대한 침해대응을 수행하던 도중, Atlassian Confluence 서버가 설치된 서버에 웹쉘이 업로드 되어 있다는 것을 발견했다. 볼렉시티는 Atlassian Confluence 와 연관된 문제라고 판단하여 익스플로잇 코드를 제작해 보았고, 최신 패치가 완료된 상태에서도 원격코드 실행이 가능한 제로데이 취약점임을 확인 한 후, 해당 이슈를 Atlassian 에 리포트 하였다 (미국 시간 5/31 PDT)

Atlassian 에서는 이슈를 제보 받고 제로데이 취약점임을 확인 한 뒤, 인증되지 않은 원격 코드 실행 취약점인 CVE-2022-26134에 대한 보안 권고를 발표했다. 처음에는 보안 패치 없이 취약점만 발표하였으나, 6/3 PDT 현재 패치와 임시 조치 방법 모두가 다시 재 포스팅 된 상태다. 또한 동시에 Volexity 에서도 해당 제로데이에 대해서 트위터에 내용을 포스팅하였다.

1) Volexity CTO MICHAEL HALE LIGH , 악성코드 분석의 교과서라고도 볼 수 있는 Malware Analyst’s Cookbook 의 저자 중 한명이다.
Volexity 트위터에 업로드된 Atlassian Confluence 제로데이에 대한 포스팅

Volexity 트위터에 업로드된 Atlassian Confluence 제로데이에 대한 포스팅

Atlassian Confluence 제로데이 타임라인

  • 5/31 Volexity 에서 Atlassian Confluence 에 제로데이 취약점 발견
  • 6/2 1pm CVE-2022-26134 취약점 권고 릴리즈, Atlassian사와 Volexity 에서 공식 발표
  • 6/3 8am Atlassian사에서 보안 패치 없이 취약점을 완화시키는 방법 공개
  • 6/3 8pm Atlassian사에서 취약점 해결 보안 업데이트 릴리즈

(모든 시간은 PDT 기준)

MS 익스체인지 서버 공격때도 쓰였던 웹쉘

Volexity 의 분석 리포트에 의하면, 공격자는 이 CVE-2022-26134 취약점을 이용하여 웹쉘을 업로드할 수 있으며, 특히 차이나 초퍼 China Chopper 웹쉘이 업로드 되어 있는 것을 확인했다고 한다.  차이나 초퍼 웹쉘은 이 사건과 유사한 보안 취약점 이슈로, 지난 번 마이크로소프트 익스체인지 서버 사태 때 악명을 떨쳤던 웹쉘이다. 중국 해킹 그룹인 하프늄(Hafnium)이 만든 것으로 추정되는 웹쉘로, 공격자가 침투에 성공한 뒤 이 웹쉘을 심어두면 제로데이가 해결된 보안 패치를 최신으로 하였다 하더라도 여전히 공격자는 서버에 자유롭게 드나들 수 있게 된다 (익스체인지 서버 사건 때 그랬듯이)

차이나 초퍼 웹쉘로 알려진 깃허브 링크
https://github.com/tennc/webshell/blob/master/caidao-shell/%E8%8F%9C%E5%88%80jsp%E4%BF%AE%E6%94%B9.jsp

또 다른 웹쉘
md5: ea18fb65d92e1f0671f23372bacf60e7
sha1 : 80b327ec19c7d14cc10511060ed3a4abffc821af

바이러스토탈에 진단 된 모습
https://www.virustotal.com/gui/file/5f3d46a5d18c25c7ee63f6bbe9af930d3be44f541625363a029f23de25cd36ae

China Chopper 에 대한 Mitre Att&ck 링크
https://attack.mitre.org/software/S0020

여전히 인터넷에 노출된 Confluence 서버들

미국 현충일 휴일에서 부터 시작된 제로데이 공격이었음에도 불구하고 Atlassian사에서는 그래도 꽤 빠른 속도로 보안 패치를 릴리즈 했다고 생각된다. 하지만 문제는 아직 인터넷에는 수많은 Confluence 서버가 여전히 연결되어 있는 상태라는 점이다. 마이크로소프트 익스체인지 서버 사태에도 그랬듯, 보안 업데이트가 나온 이후에도 방치된 서버는 몇 달이 지나도록 패치를 하지 않고 있으며 그것들은 여전히 인터넷에 연결되어 있었다.

AI Spera CIP Team Criminal IP를 이용하여 인터넷에 연결된 Atlassian Confluence가 얼마나 존재하는지 그 내용을 조사해 보았다. Element Analysis 에서 tech_stack: “Atlassian Confluence” 필터를 사용하면 인터넷에 연결되어 노출된 국가 별 Confluence 의 통계를 볼 수 있다.

tech_stack: “Atlassian Confluence”

Criminal IP의 Element Analysis로 확인한 70여 개 국가에 설치되는 어 있5,600건이 넘는 Confluence 서버 통계

Criminal IP의 Element Analysis로 확인한 70여 개 국가에 설치되는어 있는 5,600건이 넘는 Confluence 서버 통계

위 스크린샷을 보면 인터넷에는 5,600건이 넘는 Confluence 서버가 70여 개 국가에 설치되어 있다는 것을 확인할 수 있다. Asset Search 를 통해 개별 IP주소를 확인해보면, 실제로 아래와 같이 Confluence 가 설치된 채 인터넷에 무방비로 노출되어 있다는 사실이 확인 가능했다

Criminal IP Asset Search에서 검색한 노출된 Confluence 화면

Criminal IP Asset Search에서 검색한 노출된 Confluence 화면

Criminal IP Asset Search에서 검색한 노출된 Confluence

Criminal IP Asset Search에서 검색한 노출된 Confluence

 

더욱 문제인 것은 이 IP주소들이 실제 기업이나 기관인 경우가 상당히 많이 존재한다는 것이다. IP주소의 ASN Name 으로 조사해 보면 물론 대부분 AWS, MS Azure, Google 등의 클라우드 서버가 대다수로 발견되긴 하지만, 이는 기관이나 기업이 클라우드 서버를 단지 사용하는 것으로 출력된 결과일 뿐이고, 아래 화면의 Dashboard – XXXX 로 보이는 html 의 title 을 보면 클라우드의 서버를 사용한다고 하더라도 어떤 기업이나 기관의 것인지도 유추할 수 있다. 

Criminal IP에서 검색한 노출된 Confluence 서버의 ASN Name 통계

Criminal IP에서 검색한 노출된 Confluence 서버의 ASN Name 통계

이런 위키 시스템의 경우 기업에서 다수의 서버를 가지고 있는 것이 아니고 한 두대의 서버만 보유하고 있기 때문에, IP주소의 ASN Name 으로 조사해 볼 때는 결과 수가 높은 것으로 sorting 을 하는 것보다는 결과 수가 낮은 것부터 (즉 결과가 1~2 개로 나오는 것 위주로) 확인해 보는 것이 보다 구체적인 결과를 알기 쉬울 수 있다. 예를 들어 아래의 경우는 비록 1건만 탐지 되었지만 ASN Name 이 university of XXX 라는 식으로 기재된, 일종의 학교에서 사용하는 IP주소들이며, 학교 내의 연구실 등에서 설치해둔 Confluence 서버일 수 있다. 

노출된 Confluence 서버 중 ASN Name으로 추출한 학교에서 사용하는 IP주소들

노출된 Confluence 서버 중 ASN Name으로 추출한 학교에서 사용하는 IP주소들

실제로 아래의 경우는 미국의 모 Medical School 의 Confluence 가 인터넷에 발견되었으며 더욱 심각한 것은 로그인 인증도 없이 정보가 모두 공개되어 있다는 점이다.

Criminal IP에서 검색된 미국 Medical School 의 노출된 Confluence, 로그인 인증 없이 정보가 공개되어있다.

Criminal IP에서 검색된 미국 Medical School 의 노출된 Confluence, 로그인 인증 없이 정보가 공개되어있다.

공격 IP 분석

Volexity 가 공개한 IOC 에 의하면 최초 공격이 발견된 침해 사례에서 Confluence 공격을 감행한 후 웹쉘과  통신을 하고 있는 15개의 IP주소를 확인할 수 있다. Criminal IP 로 분석해본 결과 그 IP주소들 가운데 특히 아래의 5개 IP주소는 VPN 서비스가 가동되고 있는 IP주소로 확인된다. 요즘 제로데이 공격을 수행하거나 APT 공격을 감행하는 공격자들은 악성지수가 높은 IP주소를 활용하지 않는 경향이 있다. 그 대신에 공격자의 IP주소에서 VPN 서비스가 많이 확인된다. 미리 침투해 놓은 서버를 경유할 때 VPN 을 통과해서 접근하기 위하여 VPN 서비스를 설치해두는 목적으로 예상되고, 이는 곧 기업에서 인바운드 IP주소에 대해 VPN IP주소 여부를 반드시 탐지해야 한다는 요즘의 보안 트렌드로 이어진다.

아래는 Criminal IP 에서 vpn 으로 태깅된 IP주소들이다. 참고로 그외 1개의 Tor IP주소도 확인되었다.

156.146.56.136 vpn
198.147.22.148 vpn
59.163.248.170 vpn
64.64.228.239 vpn
66.115.182.102 vpn
66.115.182.111 vpn

156.146.34.9 Tor

Volexity 가 공개한 Confluence 제로데이 공격을 감행한 후 웹쉘과  통신을 하고 있는 15개의 IP주소 중 하나를 Criminal IP 로 분석해본 결과. VPN서버가 가동되어 있다.

Volexity 가 공개한 Confluence 제로데이 침해사례의 15개 IP주소 중 하나를 Criminal IP 로 분석해본 결과. VPN IP주소로 탐지되었다.

취약 여부 확인 방법

본인이 Confluence 를 사용하고, 본인 PC 에서 브라우저를 통하여 Confluence 로 접근할 수 있는 상태라면, 아래와 같은 명령어를 curl 로 날리거나 python 스크립트를 통해 현재 사용하는 Confluence 서버가 취약한지 확인할 수 있다. 만약 당신이 IT 관련 부서 또는 보안 부서가 아닌 경우에도 확인할 수 있으므로, 본인 기업에서 사용하고 있는 Confluence 를 아래 방법으로 점검해 보고 즉시 해당 부서에 패치를 요청하길 바란다.

https://your_confluence_address/${(#result=@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec(“id”).getInputStream(),”utf-8″)).(@com.opensymphony.webwork.ServletActionContext@getResponse().setHeader(“X-Cmd-Response”,#result))}/

your_confluence_address 부분을 변경한다면 curl 로 다음과 같이 확인할 수 있다. X-Cmd-Response 헤더 값에 Confluence 서버의 uid, gid, group 내용이 출력된다면 이 서버는 현재 CVE-2022-26134 취약점을 가진 상태라고 볼 수 있다.

curl -v -k --head https://your_confluence_address/%24%7B%28%23a%3D%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%22id%22%29.getInputStream%28%29%2C%22utf-8%22%29%29.%28%40com.opensymphony.webwork.ServletActionContext%40getResponse%28%29.setHeader%28%22X-Cmd-Response%22%2C%23a%29%29%7D/ | grep X-Cmd-Response

결론

Atlassian은 2022년 6월 3일에 CVE-2022-26134용 패치를 출시했다. 하지만 Confluence 의 특성 상 여러 사람이 중요한 정보를 공유하기 위해 쓰는 Wiki 시스템인 만큼 보안 업데이트를 위해 서버를 올리고 내리는 것이 부담스러운 조직이 있을 수도 있다. 그런 경우를 대비하여 수동으로 보안 문제만 해결할 수 있는 방법도 제시하고 있으니 Atlassian 권고에 따라 그 방법을 사용하여 서둘러 조치를 취하길 바란다.

제로데이 공격이 나왔을 때 이처럼 공급업체는 적절한 보안 업데이트를 위해 적극적으로 노력하고 있다. 하지만 대부분의 취약점과 달리 이 같은 웹 시스템의 취약점은 복잡한 조건 필요 없이 제로데이가 등장하자마자 외부에서 쉬운 공격이 가능한 상태가 되어버리고, 패치를 수행해도 웹쉘로 백도어를 열어두었다면 해커가 드나들 수 있는 또 다른 문이 이미 생겨버린 상태이므로, 별도의 보안점검 조치를 또 추가적으로 수행해야만 한다. 이처럼 이 같은 제로데이를 이용한 원격 코드 실행 취약점이 등장하면, 웹쉘을 이용한 백도어 설치로 이어지는 패턴이 끊이지 않고 있다. 익스체인지 사건을 비롯하여 이번 Confluence 사건까지 웹쉘 공격은 앞으로도 계속될 것으로 전망된다.

참고로 작년에도 Confluence 는 제로데이 공격이 등장하여 홍역을 앓은 바 있다. Confluence 는 세계적으로 탑 랭크에 들어있는 유명한 시스템이지만 그만큼 강한 공격 표적이 되어가고 있다.  또 가장 무서운 점은 기업/기관의 중요 정보가 한 군데 모아져 있다는 점에서 해커가 군침을 흘릴만한 서버라는 것이다. 따라서 무엇보다 중요한 것으로 Confluence 를 사용하는 기업이나 기관에서 가장 먼저 수행해야 할 것은 Confluence Server 인스턴스에 대한 외부 접근을 즉시 차단하는 것이다. 또한 이 같은 중요한 정보관리 시스템이 외부에 노출되지 않는지 주기적으로 공격표면관리를 이용하여 모니터링과 점검을 수행해야 한다.


데이터 출처 : Criminal IP