안랩 ASEC 분석팀, 국내 기업 웹 서비스 타깃으로 하는 APT 공격 사례 분석
호텔, 통신장비 제조사, 온라인 쇼핑몰 등 다양한 분야 공격 대상…2019년부터 확인돼

[보안뉴스 김영명 기자] 웹 서버는 불특정 사용자 다수에 웹 서비스를 제공하기 위한 목적으로 외부에 공개돼 있어 공격자들의 대표적인 타깃이 되고 있다. 최근 수년간 지속해서 국내 기업들의 웹 서버를 공격 중인 APT 공격 사례와 함께 공격에 사용된 다양한 악성코드 및 도구들의 침해지표를 분석했다. 공격자는 대부분의 감염 시스템들에서 ‘tripod’라는 이름의 계정을 악용하고 있으며, 이는 해당 공격자를 특정할 수 있는 몇 가지 특징 중 하나다.

[보안뉴스 / 8.15.] 수년간 감행된 국내 기업 웹 서버 타깃 APT 공격 분석... ‘tripod’ 계정 악용

[이미지=gettyimagesbank]

안랩 ASEC 분석팀은 취약점이 패치되지 않았거나 부적절하게 관리되는 등 취약한 웹 서버를 분석했다. 윈도 서버에서 웹 서비스를 제공하는 웹 서버들로는 Internet Information Services(IIS) 웹 서버와 아파치 톰캣 웹 서버, JBoss, Nginx 등이 존재한다. 이러한 웹 서버들은 취약점 미패치 또는 부적절한 관리 등으로 지속적인 공격 대상이 되고 있다.

윈도 서버를 사용 중인 국내 기업들의 경우 IIS 웹 서버의 비중이 높아 IIS 서버를 대상으로 하는 공격이 다수 확인된다. 중국 기반의 공격 그룹인 달빗(Dalbit) 공격 사례도 IIS 웹 서버가 공격 대상이었다. 또한, 김수키(Kimsuky) 공격 그룹이 IIS 웹 서버를 공격하거나 라자루스(Lazarus) 공격 그룹이 감염 이후 악성코드 배포 서버로 사용한 사례도 존재한다. 이번에 확인된 공격자도 윈도 IIS 웹 서버가 공격 대상이었다. 공격은 2019년부터 확인되고 있으며, 공격 대상 국내 업체는 호텔, 통신 장비 제조사, 온라인 쇼핑몰, 외국계 제조업 등 다양하다.

[보안뉴스 / 8.15.] 수년간 감행된 국내 기업 웹 서버 타깃 APT 공격 분석... ‘tripod’ 계정 악용

▲대부분의 감염 시스템들에서 확인되는 tripod 사용자 계정[자료=안랩 ASEC 분석팀]

공격자, Sy_Runas 도구로 공격 진행…중국어도 확인돼
일반적으로 IIS 웹 서버를 대상으로 하는 공격 사례에서는 웹셸, Potato, 권한 상승 취약점 PoC, Ladon 등 공통적인 악성코드가 확인된다. 이 도구들은 대부분 중국어를 사용하는 공격자들이 공격에 사용하지만, 인터넷에 공개돼 있어 파일만으로 공격자를 특정하기는 어렵다.

공격자가 파일 진단을 우회하기 위해 악성코드들을 VMP로 패킹하거나 직접 개발해 공격에 사용하는 사례는 해당 공격자만의 특징이기 때문에 이를 기반으로 공격 사례를 분류했다. 이외에도 공격자는 주로 악성코드들을 특정 경로에 생성한다는 점이 특징이다.

또한, 공격에 사용되는 Sy_Runas는 웹셸을 통해 특정 사용자의 권한으로 명령을 실행하는 도구이지만 사례를 찾기 힘들다. 이외에도 국내 특정 업체를 공격, 웹 서버를 악성코드 다운로드 서버로 사용해 악성코드들을 업로드하고, 다른 업체 공격 때 사용하는 것으로 추정된다.

가장 큰 특징은 지속성 유지를 위해 웹셸을 추가로 설치하는 악성코드가 확인된다는 점이다. 감염 시스템들은 작업 스케줄러에 해당 Batch 파일을 실행하는 명령이 등록됐다. 공격자는 감염 시스템을 장악한 이후 Administrator의 계정정보를 탈취하거나 UserClone으로 Guest 계정에 Administrator 권한 부여, 또는 ‘tripod’ 계정을 생성해 사용하는 듯하다.

[보안뉴스 / 8.15.] 수년간 감행된 국내 기업 웹 서버 타깃 APT 공격 분석... ‘tripod’ 계정 악용

▲중국어 버전의 WinRARexe[자료=안랩 ASEC 분석팀]

공격에 사용된 도구들 중 다수는 이미 공개돼 있는 도구들이며 공격자가 직접 제작한 것으로 추정되는 파일들도 모두 PDB와 같은 부가적인 정보는 찾을 수 없다. 공격자는 지속성 유지 과정에서 WinRAR를 사용해 웹셸을 설치한다. 몇몇 사례를 보면 일반적인 영문 버전의 WinRAR과 함께 2019년에는 중국어 버전의 rar의 사용이력도 확인된다.

공격자는 공격 과정에서 테스트 목적의 프로그램을 제작해 사용한 사례가 존재한다. 테스트 프로그램은 WinRAR SFX 형태의 실행 파일이며 어떤 파일은 단순하게 동일한 경로에 ‘test.txt’라는 이름의 빈 파일을 생성하는 행위가 전부이지만, 어떤 파일은 다음 경로에 존재하는 ‘sd2.bat’ 파일을 실행하는 명령도 포함됐다. WinRAR SFX 실행 파일은 중국어 버전으로 제작됐으며, 실행 파일의 리소스 영역에서 중국어 버전의 WinRAR 문자열이 확인된다.

권한 상승을 위한 Potatos 등 다양한 악성코드들
먼저, ‘Potato’ 악성코드들은 권한 상승 기능을 담당하는 악성코드이며 권한 상승 방식에 따라 JuicyPotato, RottenPotato, SweetPotato 등 다양한 유형들이 존재한다. 공격자들은 웹셸이나 사전 공격을 통해 감염 시스템을 제어할 수 있다고 하더라도 w3wp.exe 프로세스가 적절한 권한이 존재하지 않아 원하는 악성 행위를 수행할 수 없다. 공격자는 BadPotato, EfsPotato, GodPotato, JuicyPotato, JuicyPotatoNG 등 대부분의 Potato 유형들을 공격에 사용했다.

[보안뉴스 / 8.15.] 수년간 감행된 국내 기업 웹 서버 타깃 APT 공격 분석... ‘tripod’ 계정 악용

▲웹셸을 이용해 Potato 악성코드를 설치하는 로그[자료=안랩 ASEC 분석팀]

최근에는 깃허브에 공개돼 있는 패킹 도구인 ‘go-shellcode’로 패킹된 Potato 악성코드들이 공격에 사용되고 있다. ‘go-shellcode’는 Go 언어로 개발됐으며, 다양한 기법들을 이용해 셸코드를 실행시켜주는 도구다. 최근 공격자들은 ‘go-shellcode’도 공격자가 지정한 악성코드를 암호화해 갖고 있다가 실행 중 메모리 상에서 복호화해 공격에 사용하고 있다.

공격자가 권한 상승을 위해 대부분 potato 악성코드들을 사용했지만, 이외에도 PrintSpoofer나 취약점 PoC 악성코드들도 다수 확인된다. 특히, PrintSpoofer 악성코드들은 대부분의 감염 시스템들에서 확인되는 것으로 보아 공격자는 권한 상승 목적으로 Potato 악성코드들과 함께 PrintSpoofer를 주로 사용하는 것으로 보인다.

지속성 유지 위해 추가 웹셸 설치 등 악성행위 수행
KISA에 따르면 공격자는 ‘CredentialTask’, ‘CertificateTask’라는 작업을 등록해 관리자의 퇴근 시간대에 기업의 홈페이지에서 무단 광고 페이지를 노출시켰다. 등록된 작업은 Batch 파일을 실행시키며 이것이 웹셸을 설치하고 광고 페이지를 등록하는 기능을 담당한다.

작업 스케줄러에 의해 실행되는 Batch 파일은 설정 파일을 읽어와 악성 행위를 수행한다. Batch 파일은 압축파일 안에 저장된 웹셸의 MD5를 구한 후 설정 파일의 특정 필드 내 존재하는 값과 비교, 해시가 동일할 경우 웹셸을 복사하고 권한을 설정한다. 이를 통해 시스템에 주기적으로 웹셸이 설치되며 공격자는 이를 이용해 감염 시스템을 제어할 수 있다.

UserClone은 관리자 그룹의 계정을 생성하거나 특정 계정의 권한을 다른 계정으로 복사하는 기능을 제공하는 도구다. /Clone 옵션을 사용할 경우 두 번째 인자로 전달받은 계정의 권한을 첫 번째 인자로 전달받은 계정에 복사한다. 실제 KISA의 보고서에서도 공격자가 Guest 계정 권한을 Administrator 계정 권한으로 변경하기 위해 UserClone을 사용했던 내용이 있다.

[보안뉴스 / 8.15.] 수년간 감행된 국내 기업 웹 서버 타깃 APT 공격 분석... ‘tripod’ 계정 악용

▲UserClone 도구[자료=안랩 ASEC 분석팀]

자격증명 정보 수집을 위한 다양한 악성 도구들
첫 번째로, ‘미미카츠’와 ‘ProcDump’들이 있다. 공격자는 이후 현재 감염 시스템에 존재하는 자격증명 정보들을 수집하기 위해 미미카츠를 설치했다. 미미카츠는 윈도 운영체제 환경에서 자격증명 정보를 추출하는 기능을 지원하는 도구다. 일반적으로 미미카츠는 현재 실행 중인 lsass.exe 프로세스의 메모리를 읽어와 복호화해 자격증명 정보를 구하지만, 메모리 덤프 파일이 있으면 이를 인자로 전달받아 자격증명 정보를 구한다. 최근 공격자들은 보안 제품의 탐지를 우회하기 위해 정상 프로그램인 시그인터널즈(Sysinternals) 사의 ProcDump를 이용하기도 한다.

두 번째로, ‘Runas 악성코드’다. Runas 유형의 악성코드들은 인자로 특정 사용자의 계정 정보를 전달받아 해당 계정의 권한으로 명령을 실행하는 기능을 담당한다. 이러한 악성코드들은 RunasCs과 Sy_Runas가 있으며 공격자는 두 가지 모두 공격에 사용했다. Runas를 사용할 때는 미미카츠로 수집한 기존 계정의 자격증명 정보를 이용하거나, UserClone을 통해 상승된 권한을 갖는 Guest 계정을 이용하며 직접 추가한 것으로 추정되는 계정을 사용하기도 한다.

세 번째로, 원격 제어를 위한 다양한 악성코드들이다. 공격자는 WebShell을 이용해 추가 악성코드들을 생성하고 실행했으며, 이외에도 NetCat을 설치하고 리버스 셸로 사용했다. 공격에 사용된 C&C 주소는 IP 포맷이지만, 실제로는 이미 침투했던 기업의 주소와 같다.

공격자는 이외에도 공격 과정에서 중국어를 기반으로 한 공격자들이 주로 사용하는 오픈소스 해킹 도구인 Ladon 사용, 스캐닝, 권한 상승, 계정 정보 탈취와 같은 다양한 악성 행위를 수행할 수 있다. 실행 파일 포맷뿐 아니라 파워셸 포맷인 PowerLadon도 함께 사용됐다.

[보안뉴스 / 8.15.] 수년간 감행된 국내 기업 웹 서버 타깃 APT 공격 분석... ‘tripod’ 계정 악용

▲PowerLoadon 설치 명령[자료=안랩 ASEC 분석팀]

이번 공격자의 최종 목적은 광고 페이지 노출을 통한 수익으로 추정되며, 특정 시스템에서는 Sy_Runas를 이용해 감염 시스템의 볼륨 섀도 복사본을 제거하는 로그도 확인된다. 이를 보면 공격자의 초기 목적은 무단 광고 노출을 통한 수익이었지만, 최근에는 랜섬웨어 공격과 같은 다른 목적이 존재할 수도 있다는 가능성도 있다.

공격자는 국내 기업 대상 APT 공격을 통해 부적절하게 관리되거나 취약점이 패치되지 않은 웹 서버에 웹셸을 설치했다. 또한, 파일 업로드 취약점으로 웹셸을 업로드한 것으로 추정되며 이후 권한 상승, 지속성 유지, 자격증명 정보 탈취 등을 통해 감염 시스템 제어를 획득했다.

관리자는 웹 서버에 존재하는 파일 업로드 취약점을 점검해 초기 침투 경로인 웹셸 업로드를 사전에 막아야 한다. 이밖에도 비밀번호 주기적인 변경, 접근 제어 설정으로 탈취된 계정 정보를 이용한 측면 이동 공격에 대응해야 한다. 또한, 사용 중인 백신을 최신 버전으로 업데이트해 악성코드 감염을 사전에 차단하는 노력이 필요하다.
[김영명 기자(boan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>