DFIR/DFIR

윈도우 원격 데스크톱 이벤트 로그 분석 상세

dotaky99 2024. 3. 20. 15:06
반응형

원격 데스크톱


본 글의 원격 데스크톱은 윈도우에서 제공하는 원격 데스크톱 서비스의 모든 경우의 수를 다루지 않았다. 큰 틀에서 흐름을 보기 위함이다.

원격 데스크톱 분석을 위해서는 당연히 원격 관련된 로그를 보는 것이 우선이다. 하지만, 그 외로 운영체제마다 곁가지로 따라오는 다른 로그들도 보인다. 본 글은 모든 운영체제를 테스트하지 않았으며, 분석하는 대상에 따라 로그가 다르게 남을 수 있음을 참고바란다.

원격에 관련된 취약점 혹은 사고 분석 시 재밌는 로그가 보일 때마다 추가할 예정이다.

본 글을 작성하며 생각보다 행위가 일어남에 있어서 반복 기록되는 이벤트들이 있다. 이런 로그들은 생략하였으며, 중요 로그만 기록하였다.

 

원격 데스크톱 정책 관련

  • 로컬 그룹 정책 편집기 – 컴퓨터 구성 – 관리 템플릿 – Windows 구성 요소 – 터미널 서비스 – 원격 데스크톱 세션 호스트 – 세션 시간 제한

 

실험 환경

  1. 피해자: Windows Server 2012 R2 Standard
    • IP: 192.168.100.140
    • hostname: ADTEST / ADTEST.adtest.com
        
  2. 공격자: Windows 10
    • IP: 192.168.100.132
    • hostname: DESKTOP-EEHR9DG

간단하게 표현하고자 원격을 당하는 쪽이 피해자, 원격을 하는 곳을 공격자라고 칭함.

 

원격 접속 시도

이 경우는 단순히 원격지에 원격을 시도하려고 할 떄 나타나는 로그이다. 아래 사진 참고 바란다.

 

 

공격자가 위 사진의 화면이 나타날 때 아래의 이벤트들이 나타난다.

 

  1. Microsoft-Windows-RemoteDesktopServices-RdpCoreTS.evtx
    • Event ID 131: 서버에서 192.168.100.132:랜덤포트 클라이언트로부터의 새로운 TCP 연결을 수락
      • 참고 정보: 공격자 IP
    • Event ID 65: RDP-Tcp#N 연결이 만들어졌습니다.
    • Event ID 141: PerfCounter 세션이 인스턴스 ID N(으)로 시작
    • Event ID 72: 인터페이스 메서드 호출
  2. Microsoft-Windows-TerminalServices-RemoteConnectionManager.evtx
    • Event ID 261: 수신기 RDP-Tcp이(가) 연결을 받음

공격자가 자격 증명을 입력하지 않고 창을 종료하면 아래와 같은 이벤트들이 나타난다.

  1. Microsoft-Windows-RemoteDesktopServices-RdpCoreTS.evtx
    • Event ID 102: 서버가 클라이언트와의 주 RDP 연결을 종료
    • Event ID 103: 연결이 끊긴 이유는 0

원격 접속 실패

1번 사진에서 공격자가 자격 증명을 입력하였지만, 올바르지 않은 아이디와 비밀번호를 입력하였을 때를 생각하면 된다. 가끔 공격자들은 무작위공격으로 Security.evtx 로그들을 밀어서 분석에 어려움을 주기도 한다. 원격 접속 실패 시 남는 로그는 아래와 같다.

공격자가 위 사진의 화면이 나타날 때 아래의 이벤트들이 나타난다. 다만, 시스템 속도, 운영체제 버전에 따라 순서는 상이하다. 참고하기바란다.

 

  1. Microsoft-Windows-RemoteDesktopServices-RdpCoreTS.evtx
    • Event ID 131: 서버에서 192.168.100.132:랜덤포트 클라이언트로부터의 새로운 TCP 연결을 수락했습니다.
  2. Microsoft-Windows-TerminalServices-RemoteConnectionManager.evtx
    • Event ID 261: 수신기 RDP-Tcp이(가) 연결을 받았습니다.
  3. Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational.evtx
    • Event ID 65: RDP-Tcp#N 연결이 만들어졌습니다.
    • Event ID 141: PerfCounter 세션이 인스턴스 ID N(으)로 시작되었습니다.
  4. Security.evtx
    • Event ID 4672: 특수 권한을 새 로그온에 할당
    • Event ID 4624: 계정이 성공적으로 로그온 됨
    • Event ID 4634: 계정이 로그오프 됨
      • 위 3개는 큰 의미는 없다.
    • Event ID 4625: 계정 아이디 혹은 패스워드 틀림
      • 참고 정보: 로그온 타입(10), 계정 이름, IpPort, 프로세스 이름
  5. Microsoft-Windows-RemoteDesktopServices-RdpCoreTS.evtx
    • Event ID는 보통 아래와 같은 순서로 진행된다.
      • 102 -> 103 -> 131 -> 65 -> 141 -> 102 -> 103
  6. Microsoft-Windows-TerminalServices-RemoteConnectionManager.evtx
    • Event ID 261: 수신기 RDP-Tcp이(가) 연결을 받음

원격 접속 성공(새로운 세션 부여)

이전 접속된 세션을 부여받지 않고, 새로운 세션을 부여받았을 경우에 남는 로그는 아래와 같다. 아래 로그들은 순서대로 기록되지 않으니 참고 바란다.

 

  1. Security.evtx
    • Event ID 4672: 특수 권한을 새 로그온에 할당
    • Event ID 4624: 계정이 성공적으로 로그온
      • 로그온 유형(3), 공격자 IP, 워크스테이션 이름(공격자 장치 이름), 로그온 프로세스(NtLmSsp), 인증 패키지(NTLM)
    • Event ID 4798: 사용자으 로컬 그룹 구성원이 열거
    • Event ID 4624: 계정이 성공적으로 로그온
      • 로그온 타입(10), 사용자 ID, 프로세스 이름(svchost.exe), 워크스테이션 이름(피해자 장치 이름), 공격자 IP
  2. Microsoft-Windows-TerminalServices-LocalSessionManager/Operational.evtx
    • Event ID 41: 세션 중재 시작
      • 세션 ID, 사용자
    • Event ID 42: 세션 중재 종료
      • 세션 ID, 사용자
    • Event ID 21: 원격 데스크톱 서비스: 세선 로그온 성공
      • 세션 ID, 사용자, 공격자 IP
    • Event ID 22: 원격 데스크톱 서비스: 셸 시작 알림 받음
      • 세션 ID, 사용자, 공격자 IP
  3. Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational.evtx
    • Event ID 261: 수신기 RDP-Tcp이(가) 연결을 받음
    • Event ID 1149: 원격 데스크톱 서비스: 사용자 인증 성공
      • 참고 정보: 도메인, 원격 접속한 IP(공격자), 접속된 ID
  4. Microsoft-Windows-RemoteDesktopServices-RdpCoreTS.evtx
    • Event ID 131: 서버에서 공격자IP:PORT 클라이언트로부터의 새로운 TCP 연결을 수락
    • Event ID 66: RDP-Tcp#2 연결이 세션 N에 할당

원격 접속 성공(기존 세션 부여)

  1. Microsoft-Windows-TerminalServices-LocalSessionManager/Operational.evtx
    • Event ID 40: N 세션의 연결 끊김. 이유 코드 N
    • Event ID 25: 원격 데스크톱 세션 다시 연결 성공
      • 접속된 ID, 세션 ID, 원격 접속한 IP(공격자)
  2. Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational.evtx
    • Event ID 261: 수신기 RDP-Tcp이(가) 연결을 받음
    • Event ID 1149: 원격 데스크톱 서비스: 사용자 인증 성공
      • 참고 정보: 도메인, 원격 접속한 IP(공격자), 접속된 ID
  3. Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational.evtx
  4. Security.evtx
    • Event ID 4672: 특수 권한을 새 로그온에 할당
    • Event ID 4624: 계정 성공적으로 로그온
      • 참고 정보: 접속 ID, 원격 접속한 IP(공격자), 로그온 프로세스(NtLmSsp), 로그온 타입(3, 7), 워크스테이션 이름(공격자 장치이름)
    • Event ID 4648: 명시적 자격을 사용하여 로그온 시도
  5. Microsoft-Windows-Wcmsvc/Operational.evtx
    • Event ID 1006: 터미널 서비스 세션 변경이 처리됨

원격 접속 종료

원격 접속 후 종료하게 되면 아래 이벤트들을 볼 수 있다. 이 경우는 기존 세션에서 종료된 것, 새로운 세션에서 종료됐을 때가 다르게 나타나기도 한다.

 

  1. Microsoft-Windows-TerminalServices-LocalSessionManager.evtx
    • Event ID 40: N 세션의 연결이 끊김. 이유 코드 N
  2. Microsoft-Windows-RemoteDesktopServices-RdpCoreTS.evtx
    • Event ID 102: 서버가 클라이언트와의 주 RDP 연결을 종료
    • Event ID 103: 연결이 끊긴 이유는 N
  3. Microsoft-Windows-Wcmsvc.evtx
    • Event ID 1006: 터미널 서비스 세션 변경이 처리됨
  4. Microsoft-Windows-TerminalServices-LocalSessionManager.evtx
    • Event ID 24: 원격 데스크톱 서비스: 세션 연결 끊김
    • 참고 정보: 공격자 IP, 세션 ID, 피해자 계정
  5. Microsoft-Windows-Kernel-PnP.evtx
    • Event ID 420: 장치 삭제
  6. Security.evtx
    • Event ID 4634: 계정 로그오프

참고사항

 

Microsoft-Windows-TerminalServices-LocalSessionManager/Operational.evtx

원격이 종료됐다는 의미의 이벤트 아이디는 23(로그오프), 24(종료) 두 가지로 볼 수 있다. Event ID 23번을 보려면 피해자 시스템의 원격 세션 설정에 의해 세션이 종료되거나 PC의 로그오프, 다시시작, 시스템 종료에 의해서 나타나게 된다. 무조건 적으로 이벤트 ID 23번이 나타나지 않는다는 이유로 공격자가 원격을 완벽하게 종료하지 않았다고 단언할 수는 없다. 때문에, 세션이 로그오프된 상태가 아니라면 서로 다른 IP가 같은 계정을 통해 접속할 때 새로운 세션을 의미하는 21번이 나타나는 경우보다 세션 재접속을 의미하는 25번을 더 자주볼 수 있다.

무작위 공격(Brute Force)

공격자들은 자취를 감추기 위해 안티포렌식 행위를 한다. 예를 들어, 이벤트 로그 삭제 혹은 비트라커 랜섬웨어로 PC사용을 불가능하게 하거나 알려지지 않은 취약점을 사용한다. 공격자가 무작위 공격을 했다는 증거로는 Security 로그인 실패 이력을 살펴볼 수 있다. 하지만 공격자가 Security 이벤트로그를 삭제했다면 무작위 공격을 통한 계정 탈취 시도는 어떻게 알 수 있을까? 아래 원격 관련 이벤트로그를 참고하자.

 

Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational.evtx

  • Event ID: 261
  • RDP-TCP 수신기 받음

 

해당 이벤트로그는 로그인 성공 여부 상관없이 연결만 시도하더라도 해당 이벤트로그가 나타난다. 짧은 시간 내에 비정상적으로 많은 요청이 발생했다면 해당 이벤트도 비례해서 기록된다. 만약 취약점을 사용했다면 기록이 남지 않을 수도 있다.

 

 

반응형

'DFIR > DFIR' 카테고리의 다른 글

주요 악성코드 경로(Windows)  (0) 2024.02.25
[파일 업로드] 취약점 기록  (0) 2023.11.25
악성 파일에 사용된 WScript Object  (0) 2023.11.25
CVE-2020-1473 권한 상승 취약점  (1) 2023.11.25
생성시간 및 수정시간  (0) 2021.11.12