Security & Forensic

반응형

시스템 이상징후 기초 분석

 

분석을 위해 CMD 창을 띄워서 실행 결과를 표시할 때 만약 한글이 깨져 보인다면 CMD 출력 창을 UTF-8로 변경한다.

C:\Dropbox\DFIR\Window\SystemBasic\Tools\RegRipper>chcp -> 현재 코드페이지 

활성 코드 페이지: 949

C:\Dropbox\DFIR\Window\SystemBasic\Tools\RegRipper>chcp 65001  -> 코드페이지 변경

 

포렌식이나 침해사고 분석에서 시간은 매우 중요하다. 파일의 MAC Time이나 이벤트 발생 시간등과 직접적 연관이 있고

데이터 표현이나 분석에서 중요한 기법인 TimeLine 에서 시간은 기본이다. 수 많은 데이터에서 분석 범위를 한정하기 위해서도 이벤트 발생 시간으로 그 범위가 결정되어 보다 빠르고 정밀하게 분석이 가능하다.

 

표준 시간대(TimeSozne) 변경 여부
C:\>w32tm /tz
시간대: Current:TIME_ZONE_ID_UNKNOWN Bias: -540min (UTC=LocalTime+Bias)
[Standard Name:"대한민국 표준시" Bias:0min Date:(지정되지 않음)]
[Daylight Name:"대한민국 일광 절약 시간" Bias:-60min Date:(지정되지 않음)]

NTP 설정 및 활성화 여부
C::\>w32tm /dumpreg /subkey:parameters
값 이름                       값 종류                값 데이터
-------------------------------------------------------
NtpServer                  REG_SZ              time.windows.com,0x9
ServiceDll                 REG_EXPAND_SZ       %systemroot%\system32\w32time.dll
ServiceDllUnloadOnStop    REG_DWORD           1
ServiceMain                REG_SZ              SvchostEntry_W32Time
Type                        REG_SZ              NTP

서비스 상태
C:\>sc query w32time
SERVICE_NAME: w32time
        종류               : 30  WIN32
        상태              : 1  STOPPED
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        검사점         : 0x0
        WAIT_HINT          : 0x0

C:\>w32tm /query /status
윤초 조정: 3(동기화되지 않음)
계층: 0(지정되지 않음)
정밀도: -23(틱당 119.209ns)
루트 지연: 0.0000000s
루트 분산: 0.0000000s
참조 ID: 0x00000000(지정되지 않음)
마지막으로 동기화한 시간: 지정되지 않음    <- 주의깊게 살펴봐야 함
원본: Local CMOS Clock <- NTP가 내려가 있을 경우임. 
폴링 간격: 10(1024s)

 

또는

 

윤초 조정: 0(경고 없음)
계층: 4(보조 참조 - (S)NTP로 동기화됨)
정밀도: -23(틱당 119.209ns)
루트 지연: 0.1376417s
루트 분산: 7.9801694s
참조 ID: 0x28515E41(원본 IP:  40.81.94.65)
마지막으로 동기화한 시간: 2020-03-12 오후 3:14:52
원본: time.windows.com,0x9
폴링 간격: 12(4096s)


동기화 주기 
C:\>w32tm /query /configuration
......

MinPollInterval: 10 (로컬)
MaxPollInterval: 15 (로컬)
......
FrequencyCorrectRate: 4 (로컬)
......
UpdateInterval: 360000 (로컬)
......

OS 시간변경 여부

관련 이벤트 ID

security log : XP 이하 : 520, 577 / Vista 이후 : 4616

system log : XP 이하없음 / Vista 이후 : 1, 34

Application log : XP 이하없음 / Vista 이후 : 20000

F:\temp>LogParser.exe -stats:off -i:evt "select TimeGenerated, Message from security where EventID=4616"

F:\temp>LogParser.exe -stats:off -i:evt "select TimeGenerated, Message, strings from system where EventID=6013"

TimeGenerated       Message                Strings
------------------- ---------------------- --------------------------
2020-02-17 12:38:56 시스템 작동 시간은 15초입니다.     ||||15|60|-540 대한민국 표준시
2020-02-18 08:47:25 시스템 작동 시간은 11초입니다.     ||||11|60|-540 대한민국 표준시
2020-02-18 12:00:00 시스템 작동 시간은 11568초입니다.  ||||11568|60|-540 대한민국 표준시
2020-02-19 08:46:00 시스템 작동 시간은 9초입니다.      ||||9|60|-540 대한민국 표준시
2020-02-19 12:00:00 시스템 작동 시간은 11649초입니다.  ||||11649|60|-540 대한민국 표준시
2020-02-20 08:51:38 시스템 작동 시간은 9초입니다.      ||||9|60|-540 대한민국 표준시
2020-02-20 11:59:59 시스템 작동 시간은 11311초입니다.  ||||11311|60|-540 대한민국 표준시
2020-02-20 12:00:00 시스템 작동 시간은 11312초입니다.  ||||11312|60|-540 대한민국 표준시
2020-02-21 08:46:09 시스템 작동 시간은 10초입니다.     ||||10|60|-540 대한민국 표준시
2020-02-21 11:59:59 시스템 작동 시간은 11640초입니다.  ||||11640|60|-540 대한민국 표준시

 

F:\temp>wevtutil qe System /q:"*[System[(EventID=6013)]]" /e:Events /uni:false /f:text

……

Event[38]:

  Log Name: System

  Source: EventLog

  Date: 2020-03-11T08:43:17.827

  Event ID: 6013

  Task: N/A

  Level: 정보

  Opcode: N/A

  Keyword: 클래식

  User: N/A

  User Name: N/A

  Computer: chohb

  Description:

시스템 작동 시간은 14초입니다.

……

 

F:\temp>wevtutil qe /rd Security /q:"*[System[(EventID=520) or (EventID=4616)]]" /e:Events /uni:false /f:text
Event[17]:
  Log Name: Security
  Source: Microsoft-Windows-Security-Auditing
  Date: 2020-02-27T11:48:42.317
  Event ID: 4616
  Task: Security State Change
  Level: 정보
  Opcode: 정보
  Keyword: 감사 성공
  User: N/A
  User Name: N/A
  Computer: chohb
  Description:
시스템 시간이 변경되었습니다.

주체:
        보안 ID:                S-1-5-19
        계정 이름:              LOCAL SERVICE
        계정 도메인:            NT AUTHORITY
        로그온 ID:              0x3E5

프로세스 정보:
        프로세스 ID:    0x1584
        이름:           C:\Windows\System32\svchost.exe

이전 시간:              ‎2020‎-‎02‎-‎27T02:48:42.313630900Z
새 시간:                ‎2020‎-‎02‎-‎27T02:48:42.317348000Z

이 이벤트는 시스템 시간이 변경되면 생성됩니다. 시스템 권한으로 실행되는 Windows 시간 서비스가 정기적으로 시스템 시간을 변경하는 것은 정상입니다. 다른 시스템 시간 변경은 컴퓨터를 임의로 변경하려는 시도를 나타낼 수 있습니다.

 

Prefetch

C:\>dir %windir%\prefetch\rundll*.pf

2019-07-19  오후 01:17             4,467 RUNDLL32.EXE-65953559.pf

2019-07-19  오전 11:05             4,445 RUNDLL32.EXE-A3EE2396.pf

 

C:\>PECmd.exe -f c:\Windows\prefetch\RUNDLL32.EXE-65953559.pf | findstr /i /c:"timedate.cpl"

Rundll32-XXXXXXXXXX.pf 가 있고 해당 프리패치 내 참조 파일 목록에 timedate.cpl이 있으면 OS 시간 변경을 유출할 수 있지만 제어판을 열어도 동일 흔적이 남기 때문에 다른 흔적도 같이 살펴보아서 정상 시간 변경 여부를 판단해야 한다.

 

부팅 이력

최근 부팅 시간

F:\temp>uptime.exe 또는 F:\tool\forensic>net stats work
\\CHOHB has been up for: 0 day(s), 7 hour(s), 25 minute(s), 37 second(s)

F:\temp>systeminfo
시스템 부트 시간:        2020-03-12, 오전 8:41:50

 

부팅 이력

관련 이벤트 ID

F:\temp>wevtutil qe System /q:"*[System[(EventID=6005) or (EventID=6006) or (EventID=6008) or (EventID=6009)]]" /e:Events /uni:false /f:text 

Event[37]:
  Log Name: System
  Source: EventLog
  Date: 2020-03-01T18:51:20.926
  Event ID: 6005
  Task: N/A
  Level: 정보
  Opcode: N/A
  Keyword: 클래식
  User: N/A
  User Name: N/A
  Computer: chohb
  Description:
이벤트 로그 서비스가 시작되었습니다.

 

F:\>LogParser.exe -stats:off "select timegenerated, message from system where eventid = '6005' or eventid = 6006"
TimeGenerated       Message
------------------- ---------------------
2020-02-17 12:34:52 이벤트 로그 서비스가 시작되었습니다.
2020-02-17 12:38:29 이벤트 로그 서비스가 멈추었습니다.
2020-02-17 12:38:56 이벤트 로그 서비스가 시작되었습니다.
2020-02-17 18:02:34 이벤트 로그 서비스가 멈추었습니다.

F:\script\batch>wevtutil qe Security /q:"*[System[(EventID=4624) or (EventID=4627) ]]" /e:Events /uni:false /f:text
Event[87]:
  Log Name: Security
  Source: Microsoft-Windows-Security-Auditing
  Date: 2020-02-27T11:49:02.355
  Event ID: 4624
  Task: Logon
  Level: 정보
  Opcode: 정보
  Keyword: 감사 성공
  User: N/A
  User Name: N/A
  Computer: chohb
  Description:
계정이 성공적으로 로그온되었습니다.

주체:
        보안 ID:                S-1-5-18
        계정 이름:              CHOHB$
        계정 도메인:            WORKGROUP
        로그온 ID:              0x3E7

로그온 정보:
        로그온 유형:            5
        제한된 관리 모드:       -
        가상 계정:              아니요
        상승된 토큰:            예

 

공유 현황

의도치 않게 생성된 공유 폴더나 기존 공유 폴더의 접근 권한 변경 확인. admin$나 IPC$는 원격에서 해당 PC에
프로그램을 실행 시킬 수 있으므로 특히 주의가 필요하다. 

F:\temp>net share
F:\temp>wmic path win32_share get * /format:table

 

공유폴더 접근 권한

F:\temp>net share IPC$
공유 이름          IPC$
경로
설명               원격 IPC
최대 사용자 수     제한 없음
사용자
캐싱               문서의 수동 캐시
사용 권한          Everyone, FULL  <- Everyone, FULL이다

 

F:\temp>F:\tool\OS\accesschk.exe -h IPC$
IPC$
  RW BUILTIN\Administrators
  RW S-1-5-32-549
  RW BUILTIN\Backup Operators
  RW NT AUTHORITY\INTERACTIVE
  RW NT AUTHORITY\SERVICE
  RW NT AUTHORITY\BATCH

 

F:\temp>net share users
공유 이름          Users
경로               C:\Users
설명
최대 사용자 수     제한 없음
사용자
캐싱               문서의 수동 캐시
사용 권한          BUILTIN\Administrators, FULL
                   Everyone, FULL

F:\temp>F:\tool\OS\accesschk.exe -d C:\Users
C:\Users
  RW NT AUTHORITY\SYSTEM
  RW BUILTIN\Administrators
  R  BUILTIN\Users
  R  Everyone

 

AllShareFolderACL.zip
0.13MB

 

중요 폴더 권한

F:\temp>icacls C:\WINDOWS
C:\WINDOWS NT SERVICE\TrustedInstaller:(F)
           NT SERVICE\TrustedInstaller:(CI)(IO)(F)
           NT AUTHORITY\SYSTEM:(M)
           NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F)
           BUILTIN\Administrators:(M)
           BUILTIN\Administrators:(OI)(CI)(IO)(F)
           BUILTIN\Users:(RX)
           BUILTIN\Users:(OI)(CI)(IO)(GR,GE)
           CREATOR OWNER:(OI)(CI)(IO)(F)
           APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(RX)
           APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(OI)(CI)(IO)(GR,GE)
           APPLICATION PACKAGE AUTHORITY\모든 제한된 응용 프로그램 패키지:(RX)
           APPLICATION PACKAGE AUTHORITY\모든 제한된 응용 프로그램 패키지:(OI)(CI)(IO)(GR,GE)

F:\temp>F:\tool\OS\accesschk.exe -d C:\windows
C:\Windows
  RW NT SERVICE\TrustedInstaller
  RW NT AUTHORITY\SYSTEM
  RW BUILTIN\Administrators
  R  BUILTIN\Users
  R  APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES
  R  APPLICATION PACKAGE AUTHORITY\?? ??? ?? ???? ???

 

세션 연결 확인

C:\>net session /list

NBT(NetBIOS) Session

arp spoofing 시도 등 원격에서 호스트명을 알아내기 위해 주로 사용하는 명령어가 nbtstat -c
C:\>nbtstat -c
Wi-Fi:
노드 IpAddress: [10.102.10.72] 범위 ID: []
    캐시에 이름 없음

 

F:\script\batch>nbtstat -a 10.102.10.72
이더넷:
노드 IpAddress: [10.102.10.219] 범위 ID: []
           NetBIOS 원격 컴퓨터 이름 테이블
       이름               유형         상태
    ---------------------------------------------
    TEST           <00>  UNIQUE      등록됨
    TEST           <03>  UNIQUE      등록됨
    TEST           <20>  UNIQUE      등록됨
    ..__MSBROWSE__.<01>  GROUP       등록됨
    WORKGROUP      <00>  GROUP       등록됨
    WORKGROUP      <1D>  UNIQUE      등록됨
    WORKGROUP      <1E>  GROUP       등록됨
......

 

로그온-오프 내역

F:\script\batch>wevtutil qe Security /q:"*[System[(EventID=4624) or (EventID=4627) ]]" /e:Events /uni:false /f:text
Event[87]:
  Log Name: Security
  Source: Microsoft-Windows-Security-Auditing
  Date: 2020-02-27T11:49:02.355
  Event ID: 4624
  Task: Logon
  Level: 정보
  Opcode: 정보
  Keyword: 감사 성공
  User: N/A
  User Name: N/A
  Computer: chohb
  Description:
계정이 성공적으로 로그온되었습니다.

주체:
        보안 ID:                S-1-5-18
        계정 이름:              CHOHB$
        계정 도메인:            WORKGROUP
        로그온 ID:              0x3E7

로그온 정보:
        로그온 유형:            5
        제한된 관리 모드:       -
        가상 계정:              아니요
        상승된 토큰:            예


F:\script\batch>F:\tool\OS\NTLast.exe -f

 - No Records - Check to see if auditing is on

<참고> 시스템 감사 정책이 활성화되어 있어야 한다.

 

네트워크 관련

NIC 동작 모드

F:\script\batch>F:\tool\OS\promiscdetect.exe

 

Promiscuous Mode가 발견되면 Warning과 함께 알려준다.

 

현재 연결 내역

F:\script\batch>netstat -anb

 

라우팅 정보

F:\script\batch>netstat -r

<참고>

네트워크 데이터 흐름을 분석하기 위해 라우팅 정보를 수집해야 한다. 만약 게이트웨이 등이 내부 개인 PC등으로 설정되어 있으면 중계 컴퓨터로 사용될 수도 있다. "netstat -r" 명령어로 인터페이스 / 라우팅 테이블 정보를 확인한다. 특히 네트워크 인터페이스 정보를 분석해야 하는 이유는 MAC의 변조 유무를 파악하여 sniffer / spoofing 공격에 당하고 있는지를 파악할 수 있어야 한다.

 

DNSQuery

C:\>ipconfig /displaydns

ARP
F:\script\batch>arp -a[v]

 

<참고>

ARP Cache Table의 내용을 공격자의 의도대로 변경한다. 그 결과 패킷의 전송 방향이 달라진다.

 

예약 작업

F:\script\batch>schtasks
폴더: \Microsoft\XblGameSave
작업 이름                                다음 실행 시간         상태
======================================== ====================== 
XblGameSaveTask                          N/A                    준비

 

폴더: \Microsoft\Windows\WaaSMedic
작업 이름                                다음 실행 시간         상태
======================================== ======================
PerformRemediation                       2020-03-15 오전 6:51:5 준비

 

프로세스 분석

<참고>
악성코드 등에서 자주 사용하는 레지스트리 경로, 등록된 이상한 파일 들이 있는지 확인

1. HKCR\Wordpad.Document.[version]\shell\open\command 
: 문서를 더블 클릭할 때마다 실행

2. HKLM\SOFTWARE\Microsoft\Command Processor\AutoRun
: cmd.exe를 실행할 때마다 실행

3. HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
:  GUI Application이 시작될 때마다 DLL을 memory 내로 Load함

4. HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
: 사용자 로그온/로그오프, 화면보호기 시작 등 이벤트에 외부 기능을 차단하는 알림 

 

자동실행 프로그램

C:\>rip.exe -r "f:\Test\chohb.NTUSER.DAT" -f system -p autoruns

C:\>reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" 
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 
    TrustNetCert    REG_SZ    C:\Program Files (x86)\UNETsystem\TrustNET\NPH\TrustNetCert.exe 
    MagicMRS    REG_SZ    C:\Program Files (x86)\DreamSecurity\SmartMobileSign\Launcher.exe 
    CrossEXService    REG_SZ    C:\Program Files (x86)\iniLINE\CrossEX\crossex\CrossEXService.exe


시작프로그램
C:\>Autorunsc.exe  -> 아래 레지스트리 조회
HKLM\System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\StartupPrograms
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit


C:\>wmic Startup get * /format:list

부팅 시 실행
C:\>Autorunsc.exe -b
HKLM\System\CurrentControlSet\Control\Session Manager\BootExecute

AppInit DLLs
C:\>Autorunsc.exe -d

Explorer AddOn
C:\>Autorunsc.exe -e
HKLM\SOFTWARE\Classes\Protocols\Filter

실행 목록(활성 프로세스)
C:\>pslist64.exe -t

프로세스 계층형 조회

-> 원래 부모 프로세스가 아닌 다른 프로세스를 부모로 가지면 상세 분석 필요

-> 윈도우 기본 프로세스랑 이름이 비슷하거나 이름이 같으면서 기본 경로가 다르면 상세 분석 필요

C:\>tasklist
C:\>wmic process list brief [ or wmic path win32_process get * /format:list ]

로드 DLL
C:\>Listdlls.exe /?
C:\>Listdlls.exe [ -r ]
C:\>Listdlls.exe -u
C:\>tasklist /m

Handle
C:\>handle.exe 

서비스 목록
F:\script\batch>sc query

F:\>wmic service list brief

F:\>wmic path win32_service get * /format:list

F:\>tasklist /svc

 

활성 드라이브 목록

F:\>sc query type= driver | more

 

최근 실행 명령어

HKU\{UserSID}\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU

반응형

'DFIR > 시스템 분석' 카테고리의 다른 글

시스템 이상징후 판단 기준  (0) 2020.03.13