도메인 환경에서 EDR을 활용한 자격 증명 정보 탈취 단계 탐지

“도메인 환경에서 EDR을 활용한 내부 정찰 단계 탐지” [1] 포스팅에서는 공격자가 액티브 디렉터리 환경에 속한 시스템을 장악한 이후 내부 네트워크를 정찰하여 정보를 수집하는 과정을 EDR을 활용하여 탐지하는 사례들을 다루었다. 조직의 인프라가 액티브 디렉터리(Active Directory)를 사용하는 환경인 경우 공격자는 내부 정찰 단계를 거쳐 도메인 환경의 정보를 수집하고 자격 증명 정보를 탈취한 후 이를 기반으로 측면 이동하여 최종적으로 도메인 환경을 장악할 수 있다.

여기에서는 공격자가 액티브 디렉터리 환경에 속한 시스템을 장악한 이후 측면 이동을 위해 자격 증명 정보들을 탈취하는 공격 단계를 설명하고 EDR을 이용해 이를 탐지하는 방식을 다룬다. 공격자는 자격 증명 정보 탈취를 위해 미미카츠(Mimikatz)를 포함한 다양한 도구들을 활용하기도 하며 관리자의 부주의를 악용할 수도 있다.

이러한 자격 증명 정보 탈취 단계는 도메인을 장악하기 위한 핵심적인 단계이기 때문에 공격자들은 보안 제품을 우회하기 위해 다양한 방식들을 사용한다. 파일 진단을 우회하기 위해 패킹하거나 난독화하는 것은 물론 행위 탐지를 우회하기 위해 정상 유틸리티인 ProcDump를 활용하기도 한다. 이에 따라 AntiVirus 같은 기존의 제품들로는 탐지에 한계가 존재하며 EDR을 활용해 의심스러운 행위를 모니터링하고 대응할 필요가 있다.

AhnLab EDR (Endpoint Detection and Reponse)은 국내 유일의 행위 기반 분석 엔진을 기반으로 엔드포인트 영역에 대해 강력한 위협 모니터링과 분석, 대응 역량을 제공하는 차세대 엔드포인트 위협 탐지 및 대응 솔루션이다. AhnLab EDR은 의심스러운 행위에 관한 유형별 정보를 상시 수집해 탐지 및 분석, 대응 관점에서 사용자가 위협을 정확하게 인식할 수 있는 기능을 제공하며 이를 통해 종합적인 분석을 통해 원인 파악과 적절한 대응, 재발 방지 프로세스를 수립할 수 있다.


1. 개요

디렉터리 서비스는 컴퓨터 네트워크의 사용자와 자원에 대한 정보를 통합하여 저장하고 관리하는 서비스이며, 윈도우에 구현된 디렉터리 서비스를 액티브 디렉터리라고 한다. 도메인은 AD의 기본 단위이며 해당 도메인에서 인증이나 권한 설정과 같은 관리를 담당하는 서버를 도메인 컨트롤러(Domain Controller)라고 한다. 공격자의 목표는 해당 도메인에 존재하는 Domain Admins 그룹에 포함된 계정의 자격 증명 정보를 탈취하여 도메인 컨트롤러 즉 도메인 전체를 장악하는 것이다.

공격자는 자격 증명을 탈취하기 위해 주로 미미카츠를 이용하는 경우가 많다. 하지만 미미카츠를 사용하지 않더라도 부적절하게 관리되고 있는 사용자 정보들에서 자격 증명 정보를 추출하거나 및 잘못된 설정을 악용하여 획득할 수도 있다. 이렇게 획득한 자격 증명 정보는 측면 이동 공격에서 사용되며 최종적으로 도메인 관리자의 계정 정보를 탈취할 때까지 지속된다.


2. 미미카츠 (Mimikatz)

2.1. 미미카츠란

미미카츠는 윈도우 운영체제 환경에서 자격 증명 정보를 추출하는 기능을 갖는 프로그램이다. 오픈 소스 프로젝트로서 깃허브에 공개되어 있기 때문에 공격자들이 애용하고 있으며, 특히 도메인 환경에서 랜섬웨어 유포나 정보 탈취를 위해 도메인을 장악하기 위한 수단으로 자주 사용되고 있다.

Figure 1. 미미카츠 깃허브 페이지

자격 증명 정보 탈취와 관련해서는 윈도우 계정에 대한 평문 형태의 비밀번호 외에도 해시, 커버로스 티켓 등과 같은 다양한 정보들을 윈도우 환경에서 추출할 수 있으며, 나아가 획득한 자격 증명 정보들을 이용한 측면 이동 공격 및 제어 유지를 위한 기능도 지원한다.

미미카츠가 지원하는 기능이 단계 별로 다양하지만 여기에서는 실질적으로 가장 자주 활용되는 기능인 자격 증명 정보 탈취 방식을 다룬다. 자격 증명 탈취 명령들도 많지만 LSASS 프로세스의 메모리에 저장되어 있는 NT Hash(NTLM 인증 프로토콜에서 사용하는 해시)를 추출하는 기법을 정리한다.

대부분의 공격 사례에서 공격자들은 미미카츠의 “sekurlsa::logonpasswords” 명령을 사용하는 사례가 대부분이며 이 명령은 현재 시스템에서 추출 가능한 대부분의 자격 증명 정보들을 보여준다.

Figure 2. logonpasswords 명령어 실행 결과


2.2. 다양한 형태의 미미카츠

미미카츠는 위와 같이 쉘 프롬프트 형태로 명령을 입력할 수도 있지만 커맨드 라인 인자로 명령을 입력하여 실행시킬 수도 있다. 실제 공격에서는 명령을 인자로 전달하여 실행시키고 결과를 텍스트 파일로 출력하는 사례가 자주 확인된다.

> mimikatz.exe “privilege::debug” “sekurlsa::logonpasswords” exit
Figure 3. GlobeImposter 랜섬웨어 공격 사례에서 확인된 미미카츠 명령
Figure 4. 미미카츠 명령에 대한 탐지 로그 – EDR 제품

미미카츠는 LSASS 프로세스의 메모리에 저장되어 있는 NT Hash를 얻기 위해 직접 LSASS 프로세스의 메모리에 접근한다. 이러한 행위는 보안 제품에 의해 쉽게 탐지될 수 있으며 이에 따라 최근 공격자들은 보안 제품의 탐지를 우회하기 위해 정상 프로그램인 Sysinternals 사의 ProcDump를 이용하기도 한다. 정상 프로그램인 ProcDump로 메모리를 덤프하여 파일로 생성하고 “sekurlsa::minidump” 명령을 이용해 덤프 파일을 미미카츠로 복호화하는 방식이다. 해당 사례는 과거 “국내 기업들의 웹 서비스를 대상으로 하는 APT 공격 사례 분석” [2] 사례에서도 사용되었다.

> procdump.exe -accepteula -ma lsass.exe C:\attack\lsass.dmp
> mimikatz.exe “sekurlsa::minidump C:\attack\lsass.dmp” “sekurlsa::logonpasswords” “exit”

AhnLab EDR은 정상 프로그램인 Sysinternals 사의 ProcDump를 이용해 LSASS 프로세스의 메모리를 덤프하는 행위에 대해 위협으로 탐지하여 관리자가 이를 인지하고 원인 파악과 적절한 대응을 진행할 수 있도록 지원한다.

Figure 5. 의심스러운 ProcDump 실행 로그에 대한 탐지 로그 – EDR 제품

참고로 최신 윈도우 환경에서는 기본적으로 WDigest 보안 패키지를 이용한 평문 비밀번호 획득이 불가능하며 UseLogonCredential 레지스트리 키를 설정해야 평문 비밀번호를 얻을 수 있다. 이에 따라 공격자는 평문 비밀번호를 얻기 위해 UseLogonCredential 레지스트리 키를 추가하는 명령을 사용하는 경우도 있다.

> reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
Figure 6. UseLogonCredential 키 설정을 통한 평문 비밀번호 획득 및 탐지 로그 – EDR 제품

지금까지 다룬 미미카츠는 실행 파일 포맷이었다. 공격자들은 파일 진단을 우회하기 위해 직접 제작하거나 기존 바이너리를 패킹 및 난독화하여 사용하기도 하지만 실제 공격 사례에서는 파워쉘 포맷의 미미카츠가 자주 확인된다. 파워쉘 스크립트의 특징 상 편리한 인터페이스와 파일 형태 대신 메모리 상에서 실행될 수 있다는 장점이 있으며, PowerSploit, Empire, Nishang 등 대부분의 침투 테스트 도구에서 “Invoke-Mimikatz.ps1”라는 이름으로 지원한다.

Figure 7. Invoke-Mimikatz 파워쉘 스크립트에 대한 탐지 로그 – EDR 제품

코발트 스트라이크는 기업이나 기관의 네트워크 및 시스템에 대한 보안 취약점을 점검하기 위한 목적으로 사용 가능한 도구이다. 이에 따라 내부 정찰 단계부터 권한 상승, 자격 증명 정보 탈취, 측면 이동, 명령 제어 등 침투 테스트 단계별로 다양한 기능들을 지원한다. 코발트 스트라이크는 자격 증명 정보 탈취에 미미카츠를 사용한다. 위에서 다룬 실행 파일 포맷 대신 DLL 포맷이 사용되는데 이는 Invoke-Mimikatz 파워쉘 스크립트가 내부적으로 DLL 포맷의 미미카츠를 사용하는 것과 유사하다. 코발트 스트라이크는 미미카츠 명령을 실행할 때 정상 프로세스를 실행시키고 여기에 미미카츠를 인젝션하는 방식으로 동작한다.

GUI 환경에서 “Run Mimikatz” 명령을 사용하면 미미카츠의 “sekurlsa::logonpasswords” 명령이 기본적으로 실행되어 결과를 보여주며, 직접 쉘에서 미미카츠의 각 명령들을 실행할 수도 있다.

Figure 8. 코발트 스트라이크에서 지원하는 미미카츠 기능 (출처 – Basic Beacon Use [3])

AhnLab EDR은 코발트 스트라이크의 미미카츠가 정상 프로세스에 인젝션되어 자격 증명 정보를 탈취하는 행위에 대해 탐지하여 관리자가 이를 인지하고 원인 파악과 적절한 대응을 진행할 수 있도록 지원한다.

Figure 9. 코발트 스트라이크에 의해 실행된 미미카츠 탐지 로그 – EDR 제품


2.3. 미미카츠를 활용한 자격 증명 정보 탈취

미미카츠는 LSASS 프로세스의 메모리에 존재하는 자격 증명 정보를 추출해 복호화하여 보여준다. 만약 감염 시스템이 개인이 사용하는 PC이거나 특정 네트워크에 포함되어 있지 않을 경우에는 감염 시스템 자체에 대한 자격 증명 정보만을 획득할 수밖에 없을 것이다. 하지만 조직의 도메인 환경은 설정에 따라 관리자의 실수나 여러 가지 복잡한 관계가 존재하는 경우가 있다. 이러한 환경에서는 제어를 탈취한 소수의 시스템에서 미미카츠를 실행하는 것만으로 측면 이동에 필요한 정보들을 수집할 수 있다. [4]

A. 동일한 로컬 관리자 계정

예를 들어 IT 관리자가 새로운 PC를 지급할 때 로컬 관리자 그룹의 계정을 동일한 형태로 설정하여 지급할 수도 있다. 이 경우 다수의 PC들은 동일한 로컬 관리자 계정 및 비밀번호를 갖기 때문에 동일하게 지급된 다른 시스템들도 동일한 NT Hash를 갖게 된다. 즉 공격자가 하나의 시스템을 장악하여 로컬 관리자 계정에 대한 자격 증명을 탈취할 경우 이러한 시스템들 전체에 대해서도 자격 증명을 얻게 되는 것이다. 이렇게 획득한 자격 증명 정보를 이용하여 측면 이동 공격을 진행하면서 도메인 관리자 계정을 사용하는 또는 사용한 이력이 있는 내부 시스템까지 장악해 갈 수 있다.

B. 로컬 관리자 권한을 갖는 그룹

이외에도 도메인 사용자에게 부적절한 권한을 주는 경우도 존재한다. 예를 들면 헬프데스크 부서에서는 IT 서비스를 위해 도메인 내의 시스템들에 대해 관리자 권한을 필요로 할 수 있다. 이를 위해 헬프데스크 그룹에 대해 로컬 관리자 권한을 추가한다면 헬프데스크 그룹의 사용자가 도메인 내의 시스템에서 로그인할 때 해당 시스템의 로컬 관리자 권한을 가지게 된다. 만약 공격자가 헬프데스크 계정에 대한 자격 증명 즉 NT Hash를 탈취한다면 로컬 관리자 권한이 포함되기 때문에 이 도메인은 측면 이동 공격에 취약해진다.

C. 도메인 관리자 그룹의 계정으로 로그인

로컬 관리자 외에 도메인 관리자 그룹의 계정을 부적절하게 관리하는 경우도 있다. 현재 시스템에 다수의 사용자가 로그인한 이력이 있을 경우 자격 증명이 LSASS 프로세스의 메모리에 남아있기 때문에 감염된 시스템에서 로그인한 사용자들은 모두 자격 증명 정보 탈취의 대상이 된다. 만약 감염된 시스템의 사용자가 Domain Users가 아닌 도메인 관리자 계정으로 로그인했다면 별다른 과정 없이 도메인을 장악할 수 있을 것이다

D. 도메인 관리자 계정으로 프로세스 실행

위와 같이 직접 도메인 관리자 계정으로 로그인하지 않더라도 도메인 관리자 권한으로 특정 프로그램을 실행시키는 경우가 있을 수 있다. 예를 들어 설치 또는 실행 시 관리자 권한을 필요로 하는 프로그램들이 존재하며 이를 위해 관리자 계정으로 로그인하여 관리자 권한으로 실행시키는 경우가 있다. 만약 현재 시스템의 프로세스 목록을 조회했을 때 도메인 관리자 계정으로 실행 중인 프로세스가 존재한다면 LSASS 프로세스의 메모리에는 도메인 관리자 계정의 자격 증명이 남아있다는 것을 의미한다.


3. 다양한 자격 증명 정보 탈취 방식들

지금까지는 미미카츠를 활용해 로컬 시스템에 저장된 자격 증명 정보를 탈취하는 공격 방식들을 다루었다. 하지만 사용자나 관리자의 부주의를 활용하는 경우 미미카츠를 사용하지 않아도 충분한 자격 증명 정보를 얻을 수 있다. 특히 외부에서 접근이 불가능한 내부 인프라의 경우 디폴트로 설정되어 있거나 취약한 자격 증명을 설정하는 경우가 많으며 여기에서는 대표적인 사례들을 다룬다.


3.1. 부적절한 데이터 관리

첫 번째 방식은 접근 가능한 내부 데이터를 활용하는 방식이다. 예를 들어 공유 폴더를 스캐닝한 후 각각의 공유 폴더 내에 존재하는 설정 파일, 스크립트 파일 등을 이용해 정보를 수집할 수 있다. 일반적인 회사 내의 부서에서는 업무 자료를 공유하기 위한 방식으로 공유 폴더를 활용하는 경우가 있다. 여기에는 다른 시스템에 대한 주소 및 설명 외에도 자격 증명을 담고 있는 설정 파일이라든지, 로그인 스크립트와 같은 스크립트 파일이 존재할 수 있다. 공격자들은 접근 가능한 모든 공유 폴더들을 스캐닝한 후 전체 자료를 조사하여 측면 이동에 필요한 정보를 수집한다.

PowerView는 PowerSploit 프로젝트에도 포함된 도구로서 윈도우 도메인 환경에서 다양한 정보를 수집해서 보여준다. 예를 들어 현재 도메인에 존재하는 공유 폴더들을 찾아주는 Find-DomainShare 명령을 지원한다. 공격자들은 해당 결과를 이용해 공유 폴더에 접속하여 정보들을 수집할 수 있다. Find-InterestingDomainShareFile 명령은 공유 폴더들에서 “admin”, “password” 같은 자격 증명 정보 관련 키워드가 존재하는 파일들을 추출해서 보여주는 명령이다.


3.2. 부적절한 사용자 관리

내부 데이터 관리 문제 외에도 잘못된 관리 방식을 악용하는 방식도 있다. 예를 들어 관리 대상 사용자의 수가 너무 많을 경우 관리자가 도메인 사용자의 “설명” (Description) 항목에 비밀번호 같은 정보들을 적어 놓을 수 있다. 해당 항목은 관리자들뿐만 아니라 일반 도메인 사용자들도 도구들을 이용해 전체 도메인 사용자들을 목록화하고 출력하는 것이 가능하다.

다음 사례에서는 PowerView의 Get-NetUser 명령을 이용해 전체 도메인 사용자들의 Description을 User Fileld에서 추출하였다.

> Get-NetUser | select samaccountname, description
Figure 10. PowerView를 이용한 사용자 Description 출력

이렇게 PowerView는 내부 정찰 단계뿐만 아니라 이렇게 자격 증명 정보 탈취 단계에서도 자주 사용된다. AhnLab EDR은 공격자가 PowerView 스크립트를 이용해 도메인 환경에서 자격 증명 정보들을 획득하는 행위에 대해 다음과 같이 탐지하여 관리자가 이를 인지할 수 있도록 도와준다.

Figure 11. PowerView 명령들에 대한 탐지 로그 – EDR 제품


3.3. 응용 프로그램에 저장된 자격 증명 정보들

내부망에 존재하는 시스템들은 인터넷 연결이 가능한 환경의 시스템들과 비교해서 자격 증명 관리가 부실할 가능성이 높다. 또한 대부분의 인프라는 웹으로 구축되어 있기 때문에 내부망 시스템의 웹 브라우저에는 내부망의 또 다른 시스템들에 대한 접근 기록과 자격 증명 정보가 다수 존재할 수 있다. 웹 브라우저나 이메일 및 FTP 그리고 SSH 클라이언트 같은 프로그램들에서 사용자의 계정 정보를 탈취하는 방식은 이미 많이 알려져 있다.

예를 들어 과거 Defray777 랜섬웨어 공격자도 VMware ESXi 서버 공격 과정에서 웹 브라우저에 저장된 자격 증명을 활용하였다. 미미카츠 및 웹 브라우저에서 수집한 자격 증명 정보를 이용해 측면 이동하였으며 최종적으로 VMware ESXi 환경에서 동작 중이던 VM들을 암호화하였다. [5]

이외에도 GlobeImposter, MedusaLocker [6], Crysis, Venus [7] 등의 랜섬웨어 공격자들은 외부에 노출된 원격 데스크톱 서비스를 공격 대상으로 하는데, 최초 침투 이후 여러 도구들을 이용해 내부 정찰 및 자격 증명 정보 탈취 단계를 진행한다. 감염 시스템에 저장된 계정 정보를 수집하는 과정에서는 NirSoft 사의 도구들이 자주 사용된다. WebBrowserPassView는 크롬, 파이어폭스, IE 등의 웹 브라우저에 저장된 계정 정보를 추출해 보여주는 도구이며 Mail PassView는 아웃룩, 썬더버드와 같은 이메일 클라이언트에 저장된 계정 정보를 추출해 보여준다. 이외에도 VNCPassView, WirelessKeyView 등 감염 시스템에 저장되어 있는 다양한 계정 정보들을 추출하는 도구들을 사용하기도 한다.

Figure 12. Venus 랜섬웨어 공격자가 자격 증명 탈취를 위한 도구들을 설치하는 로그

이러한 도구들은 비록 다양한 공격에서 사용되고 있지만 관리자가 조직의 네트워크를 점검하는 목적으로도 사용 가능한 도구이기 때문에 AntiVirus 제품으로 이러한 도구들을 완벽하게 차단하는 데에는 한계가 존재한다.

Figure 13. 공격에 사용된 도구들에 대한 탐지 로그 – EDR 제품


4. 결론

액티브 디렉터리를 사용하는 조직의 도메인 환경에 침입한 공격자는 미미카츠를 이용해 자격 증명 정보를 획득할 수 있다. 물론 미미카츠가 가장 자주 사용되는 도구이긴 하지만 공격자들은 부적절한 데이터 및 사용자 관리 등 관리자의 부주의를 활용하여 자격 증명 정보를 얻을 수도 있다. 이렇게 획득한 자격 증명 정보는 내부 정찰 과정에서 얻은 정보들과 결합하여 추후 측면 이동 공격에서 사용된다.

이러한 자격 증명 정보 탈취 단계는 도메인을 장악하기 위한 핵심적인 단계이기 때문에 공격자들은 보안 제품을 우회하기 위해 다양한 방식들을 사용하며 이에 따라 AntiVirus 제품 단독으로는 탐지 및 차단하는 데 한계가 존재한다. AhnLab EDR은 특정 시스템을 장악한 공격자가 추후 도메인 전체를 장악하기 위해 자격 증명 정보를 탈취해가는 공격 기법들을 탐지하여 관리자가 원인을 파악하고 적절한 대응 및 재발 방지 프로세스를 수립할 수 있도록 도와준다.

행위 진단
– Execution/EDR.Mimikatz.M11444
– Execution/EDR.Behavior.M10484
– Suspicious/DETECT.SystemManipulation.M2810
– CredentialAccess/EDR.Mimikatz.M10451
– Suspicious/DETECT.T1003.M2608
– LateralMovement/EDR.PowerView.M4055
– Execution/EDR.Event.M10819
– Execution/EDR.Event.M10817
– Execution/EDR.Event.M10815

행위 정보 탐지 및 분석을 통한 엔드포인트 가시성을 제공하고 위협을 능동적으로 추적하는 AhnLab EDR에 대한 자세한 정보는 안랩닷컴에서 확인이 가능하다.

Categories:안랩 탐지

Tagged as:,

5 1 vote
별점 주기
Subscribe
Notify of
guest

1 댓글
Inline Feedbacks
View all comments
trackback

[…] “도메인 환경에서 EDR을 활용한 자격 증명 정보 탈취 단계 탐지” [1] 블로그를 통해 공격자가 액티브 디렉터리 환경에 속한 시스템을 장악한 […]