#About


어느날 나는 커피집에서 노트북을 놓고 잠시 자리를 비웠다.

그리고 다시 와서 작업을 하다가 작업프로그램이 갑자기 꺼졌고, 작업파일들이 모두 다 삭제되었다.

원인을 찾기 위해 나는 서둘러 메모리 덤프를 만들었다.

이 메모리 덤프파일을 분석하여 다음 정보를 알아내자.


키 형식 : (Process Name_PID_Port_Process Execute Time(Day of the wekk-Month-Day-Hour:Min:Sec-Years)

ex (explorer.exe_1234_7777_Mon-Jan-01-12:00:00-2012)



#Solution


[그림 1] - 문제 파일 확인


127MB의 메모리 덤프 파일을 확인했으며 볼라틸리티로 분석을 위해 운영체제 정보를 확인해보았다


[그림 2] - 운영체제 정보 확인


확인 된 운영체제 정보들은 추후 다른 명령을 사용함에 있어 인자로 사용되며, 먼저 문제에서 요구하는 사항 중 프로세스가 포함 되므로


연결 및 종료된 프로세스 정보를 확인하기 위해 pslist 명령을 이용하여 아래와 같이 확인해보았다


[그림 3] - 연결 및 종료 된 프로세스 정보 확인


확인된 위 프로세스 정보에서는 cmd.exe의 PID=164, PPID=1124인 부분을 확인했을 경우, cmd.exe가 nc.exe의 하위 프로세스로 


동작하고 있으며 또한 그 하위로 PID=616을 가지는 cmd.exe이 동작했다. 이는 늘 explorer.exe의 하위로 동작하는 cmd.exe와는 


다른 모습을 보여 의심 사기에 충분했으며 해당 프로세스 정보 이외에도 다른 아티팩트를 찾기 위해 네트워크 연결정보를 확인해보았다


[그림 4] - 네트워크 연결 정보 확인


네트워크 연결 정보를 확인결과, 로컬에서 원격지로 연결되는 오로지 하나의 레코드가 존재 했으며 PID 값은 1124를 가지고 있었다


[그림 3]에서 악성 프로세스로 의심했던 PID 값 1124를 가지는 nc.exe는 네트워크와 관련한 프로그램이 메모리에 상주하고있었다


또한 psxview 명령을 이용, 은폐된 프로세스를 확인했을 때 공교롭게도 아래와 같이 nc.exe가 존재함을 확인했다


[그림 5] - 은폐 된 프로세스 목록 확인


psxview 명령은 프로세스 관련 다른 명령에 의해 보이는 것과 비교하여 프로세스가 은폐되었는지에 대한 진위 여부를 확인할 수 있다


정확한 분석을 위해서는 모든 아티팩트를 조사 및 분석을 해야 알 수 있겠지만 예상되는 시나리오는 다음과 같다


노트북을 두고 잠시 자리를 비운 사이 해커로 추정되는 누군가 노트북에 네트워크 연결과 관련 프로그램인 nc.exe를 


외부저장매체를 통해 다운로드 및  nc.exe의 실행을 통해 해커의 C&C 서버로 추정되는 1.226.182.38:59495와 연결되었고, 


해커는 C&C서버에 노트북의 작업파일을 삭제하는 명령을 통해 노트북의 주인이 작업하던 파일이 모두 삭제되었다 


인증키 = nc.exe_1124_80_Fri-Nov-02-09:06:48-2012



'Wargame' 카테고리의 다른 글

[DISK] XCZ > Who's Notebook?  (0) 2017.12.12
[Windows] XCZ > File Deleted  (0) 2017.12.11
[DISK] SuNiNaTaS > Terrorist  (0) 2017.12.11
[MEMORY] SuNiNaTaS > Military  (0) 2017.12.11
[SCENARIO] SuNiNaTaS > Brothers  (0) 2017.12.10

#About


경찰청으로 부터 연쇄 테러 용의자로 부터 압수한 USB 이미지 분석을 의뢰 받았다.

최초 분석을 신입 직원에게 맡겼으나 Hex Editor로 여기 저기 둘러 보다 실수로 특정 부분이 손상되고 이미지가 인식되지 않는다.


당신은 포렌식 전문가의 자존심을 걸고 이미지를 살려 내고 다음 테러를 예방하는데 기여를 해야 한다.


1. 다음 테러 계획이 들어있는 문서의 수정 일시는? (UTC+9)

2. 다음 테러 장소는?


인증키 형식 : lowercase(MD5(YYYY-MM-DD_HH:MM:SS_장소)

예) lowercase(MD5(2016-03-28_13:00:00_Pink Lake)




#Solution


[그림 1] - 문제 파일 확인


문제에서 제공 받은 디스크 이미지 파일은 931MB이며 이를 분석하기 위해 FTK Imager로 열어 보았다


[그림 2] - 디스크 이미지 파일 인식 에러


하지만 문제에서 언급했듯 특정 부분이 손상되었는지 이미지의 인식이 되지 않았고, 손상된 값을 찾기 위해 에디터로 열어보았다


[그림 3] - VBR 영역 확인


0번째 섹터의 OEM Name(0x03~0x0A)을 보고 파일시스템이 FAT임을 알 수 있었고 또한 해당 파일 시스템의 


섹터의 크기가 0x200 = 512Byte, 클러스터 할당 크기가 512 x 8 = 4096Byte 임을 알 수 있었다 이렇게 되면 


한 섹터의 끝에 섹터의 끝을 의미하는 매직 넘버인 55AA가 있어야 하지만 [그림 3]에서는 확인할 수 없고, 직접 값을 입력해야 한다


또한 아래와 같이 매직 넘버가 섹터의 끝이 아닌 중간 부분에 놓여있음을 확인했다


[그림 4] - 일정 바이트 가량 밀린 매직 넘버 확인


따라서 오프셋  0x30C인 72전 부터 0xD8개의 널 바이트를 채워 줌으로써 아래와 같이 정확히 한 섹터의 끝에 매직 넘버를 설정해 줄 수 있었다


[그림 5] - 널 바이트 삽입으로 인한 매직 넘버의 올바른 위치 설정


이 후 FTK Imager로 열었을 때 정상 인식 된 것을 확인할 수 있었고 아래와 같이 시나리오에서 요구하는 2차 테러 계획.hwp를 확인할 수 있었다


[그림 6] - 이미지 파일 정상 인식


2차 테러 계획.hwp 파일을 추출한 뒤 확인 결과는 아래와 같으며 시나리오에서 요구하는 다음 테러의 장소는 Rose Park임을 알 수 있었다


[그림 7] - 2차 테러 계획 내용 확인


문서의 수정 일시 또한 [그림 7]에서 확인할 수 있고 FTK Imager는 UTC+00을 기준으로 하기 때문에 


문제에서 요구하는 시간대인 UTC+09를 맞춰주게 되면 2016-05-30_11:44:02가 된다


인증키 = md5(2016-05-30_11:44:02_Rose Park)


마지막으로, [그림 3]에서 VBR영역의 OEM Name 부분을 보고 파일시스템이 FAT임을 알 수 있었다고 했지만 정확히 확인하기 위해선


VBR의 백업영역의 값과 같은지 재 확인 절차가 필요하며 백업영역은 보통 +6 섹터에 위치하고 BPB에 따라 달라진다




'Wargame' 카테고리의 다른 글

[Windows] XCZ > File Deleted  (0) 2017.12.11
[MEMORY] XCZ > Memoryyyyy Dumpppppp  (0) 2017.12.11
[MEMORY] SuNiNaTaS > Military  (0) 2017.12.11
[SCENARIO] SuNiNaTaS > Brothers  (0) 2017.12.10
[Lord of Buffer Overflow] Xavius > Death_knight  (0) 2017.12.10

#About


해커가 김장군의 PC에 침투한 흔적을 발견하였다.

사고 직후 김장군의 PC에서 획득한 메모리 덤프를 제공받은 당신은 해커가 한 행동을 밝혀내야한다


1. 김장군 PC의 IP 주소는?

2. 해커가 열람한 기밀문서의 파일명은?

3. 기밀문서의 주요 내용은? 내용속에 "Key"가 있다.


인증키 형식 : lowercase(MD5(1번답+2번답+3번키))



#Solution


[그림 1] - 문제 파일 확인


해당 시나리오에서 제공 받은 메모리 덤프 파일은 1GB이며 메모리 분석을 위해 파이썬 기반 상용 유틸리티인


 Volatility를 사용할 것이며 해당 덤프 된 시스템의 운영체제 정보를 알기 위해 imageinfo 명령을 사용하였다


[그림 2] - 운영체제 정보 확인


추후, 인자로 전달하기 위한 운영체제의 정보는 Win7SP0x86과 Win7SP1x86임을 확인했고, 먼저 해당 시나리오에서 


첫 번째로 요구하는 것은 김장군의 IP 주소이므로 이와 관련한 명령인 netscan을 이용하여 IP 주소를 확인해 보았다


[그림 3] - 네트워크 연결 정보 확인


위 그림에서 보이는 것 이외에도 아래에 IP 주소가 조금 더 있었지만 마찬가지로 192.168.197.138만을 


가지고 있었고 해당 필드가 외부 원격지가 아닌 Local Address임을 통해 김장군의 IP 주소임을 알 수 있었다


다음으로 해커가 기밀문서를 열람하기 위해 사용했던 명령을 확인하기위해 아래와 같이 cmdscan을 이용했다


[그림 4] - 명령 프롬프트 히스토리 확인


확인 결과, notepad를 이용하여 C:\Users\training\Desktop에 있는 "SecreetDocumen7.txt"라는 문서를 열람했음을 알 수 있었고


또한 문제에서 마지막으로 요구하는 사항인 기밀문서의 내용을 확인하기 위해 메모리로부터 해당 파일을 추출해야 하므로 


먼저 기밀문서의 메모리상 위치를 알아야하고, 이를 위해 아래와 같이 filescan 명령과 grep을 이용하여 확인할 수 있었다


[그림 5] - 기밀문서의 메모리상 주소 확인


확인 된 메모리 주소는 0x3df2ddd8이며, 이를 이용하여 아래와 같이 dumpfiles 명령을 이용하여 기밀문서를 메모리로부터 추출해냈다


[그림 6] - 메모리로부터 기밀문서 추출


추출 된 기밀문서를 열람 결과, 아래와 같이 해당 시나리오에서 마지막으로 요구하는 Key 값을 확인할 수 있었다


[그림 7] - 기밀문서 속 Key 값 확인


인증키 : md5(192.168.197.138SecreetDocumen7.txt4rmy_4irforce_N4vy)






+ Recent posts