ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 래터럴 무브먼트(Lateral Movement)
    DFIR 2020. 1. 3. 19:53
    반응형

    래터럴 무브먼트란 쉽게 얘기하면 내부확산이다.

    주로 APT(Advanced Persistent Threat)공격에 쓰이며, 기업의 내의 A 컴퓨터에서 중요한 정보를 담고있는 내부의 다른 시스템으로 이동해나가며 확산해나가는데 이 과정이 래터럴 무브먼트라고 생각하면 될 것 같다.

     

    대부분의 보안장비들은 외부에서 내부로 진입하는데에만 집중된 상태라 내부망에서 내부에서 내부로 이동하는 것은 자유로운 편이다.

     

    내부망 이동시 공격자들이 주로 사용하는 방법은 시스템 접근을 위해 인증정보(크리덴셜)를 훔친 후 이를 이용해 내부망의 다른 시스템으로 이동하는 것이다.

    훔친 인증정보가 해시일 경우 이를 패스 더 해시(Pass-the-hash)공격이라고 부른다.

     

    크리덴셜을 훔치기 위한 도구는 주로 미미카츠(Mimikatz)가 많이 사용된다.

    -> 레지스트리 OR 메모리에서 윈도우 계정정보를 덤프할 수 있다.

     

    인증정보를 탈취한 후 다른 시스템에 접근할 수 있는데, 이때 사용되는 도구는 PsExec, Powershell, RDP 등이 존재한다.

     

    최근에는 PowerShell을 이용한 공격방법이 늘고 있는 추세이다.

    PowerShell로 강력한 시스템 제어가 가능하며, 윈도우에 기본적으로 내장되어 있다.

    -> PowerShell을 이용한 침해관련 프레임워크도 많이 나와있다. ( 파워스플로잇(Powersploit), 니샹(Nishang) )

     

    APT 침해사고 유형의 인지

    - 시스템 내에서 이상한 파일 발견

    - DB변경

    - 비정상적인 접근기록

    - 기밀정보유출

    - 공격자의 협박

    - 외부신고

    인지가 늦는 이유는 회사 내부에서 Threat Hunting 활동을 하지 않고, 악성코드 탐지시 원인파악을 하지 않고, 안티바이러스 치료나, 포맷 등 단순 대응으로 그친다. 그리고 중요한 건 내부망 침해시 악성코드 사용을 줄이고, 정상 프로그램을인 LOLBins(Living Off the Land Binaries)를 많이 활용하기 때문이다.

    -> 정상프로그램은 안티바이러스 시스템에 탐지되지 않는다.

     

    래터럴 무브먼트 방식은 추적이 어렵다.

    요약하면 로그 부족, 의도적인 로그삭제, 늦은 침해사고 인지, 식별의 어려움이다. 

    Client - Client 간의 이동은 로그가 많이 남지 않는다. 또한 공격자는 이러한 로그마저 의도적으로 삭제하기 때문에, SSD가 많이 보급되는 현재에서는 복구조차 쉽지 않아 공격자에게 유리하다. 또한 PC를 사용하거나 시간이 흐를수록 공격자의 흔적이 소멸되거나 덮어져 사라지게 된다. 

    식별이 어려운 이유는 시스템간의 사용자 계정을 이용한 인증방식은 악성 행위인지 정상 행위인지 식별하기 어렵다.

     

    이러한 이유로 흔적이 소멸되지 않도록 하거나 침해사고를 빨리 인지하는것이 중요하다고 생각한다.

    개인적으로 소멸되지 않도록 하는방법은 로깅 관리 시스템을 따로 구축하면 되지 않나 생각한다. -> 있을려나?

     

    사전차단방법

    인증정보, 네트워크, 서비스 이 세 개만 잘 관리하면 래터럴 무브먼트를 방어할 수 있다.

    -> 비밀번호 관리 정책 ( 일정기간 지나면 바꾸는 행위 그 외 ... )

    -> 메모리에 크리덴셜 캐싱 정보가 남지 않도록 조치 ( 레지스트리 수정하면 됨 ) - 미미카츠 대응

    • HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 레지스트리 키의 CachedLogonsCount를 0 또는 1로 설정

    • HKLM\SYSTEM\CurrentControlSet/Control/SecurityProviders/Wdigest 레지스트리 키의 UseLogonCredential를 0으로 설정

    -> 네트워크 망 분리를 해서 중요한 시스템 보호, 전체 망으로 연결되어있는 경우 피시 하나 뚫리면 전체가 해커 손으로..

    -> 시스템에서 사용하지 않는 서비스는 비활성화 하며, 그에 맞는 포트도 차단 조치 

     

    발생 후 인지방법

    1. 허니팟 - 허니팟 시스템, 계정으로 ( 해커 낚시용 ) 접속 시 "잡았다 요놈" 가능

    2. 머신러닝을 이용한 방법 각 시스템의 행위들이 정상적인 업무의 활동 임계치를 넘으면 비정상으로 탐지, 각 조직마다 정상의 기준이 다르기 때문에, 조직마다 교육(훈련)이 필요

    3. 해당 시스템 접속시 관련부서에 확인전화

     

    래터럴 무브먼트 추적관련 아티팩트와 도구

    - Security.evtx: 시스템 인증 시 남는 로그

    - Sysmon: 프로그램 실행, 네트워크 접속 로깅

    - Powershell Block Logging: 파워쉘 명령기록 로깅

     

    밥먹자 밥밥

    반응형

    'DFIR' 카테고리의 다른 글

    DGA(Domain Generation Algorithm)  (0) 2020.01.03
    Forensic code  (0) 2018.05.30
Designed by Tistory.