국방 트랙의 CTF의 경우, 침해사고가 일어난 가상머시 이미지를 주고 대회 당일 날 이미지의 압축파일 비밀번호를 뿌려 vmware로 구동 시킨 후 문제에 맞게 분석하는 것이다.
다른 일반부나 청소년부의 문제는 읽어보지 못해서 잘 모르겠다.
대충 vmware로 켜 보면 윈도우에 cmd가 자꾸 껏다 켜지고 다운로드 폴더엔 여러 파일들이 저장되어 있다. 지금 이미 컴퓨터를 해킹당해 여러 정보가 유출된 상황이고 우린 이 침해사고를 분석하는 것이 임무인 것이다.
Scenario Step A
공격자는 초기 침투를 위해 정상 프로그램으로 위장한 악성코드를 유포하였다. 주어진 피해 시스템을 분석하여 공격자가 유포한 악성코드를 판별하라
공격자가 초기 침투에 사용한 파일의 원본 SHA1 해시 값은?
(대소문자 구분 없음)
윈도우 이벤트 로그만 잘 보면 풀 수 있다.
윈도우 이벤트 로그 중 Sysmon을 이용하여 이벤트 ID 11 (File created)를 찾으면 된다.
여기 경로로 들어가보면 초기에 정상프로그램의 원본이 있다. 이름 부터가 _origin인게 원본인거 같다.
실제로 다운로드 폴더엔 HOffice2022_Viewer.exe가 있었고, 실행 하면 파워셸이 켜졌다.
즉, 여기서 알 수 있는 사실은 원본의 한컴 오피스 뷰어 프로그램을 숨기고 악성코드로 위장한 프로그램을 다운로드 폴더에 생성했다고 볼 수 있다.
Scenario Step B
피해자는 공격자의 속임수에 넘어가 악성코드를 실행하였고, 결국 피해 PC에 악성 코드와 악성 도구들이 무차별적으로 설치되었다.
공격자가 사용한 드랍퍼 악성코드를 분석하여 피해 호스트에 설치된 악성코드에 대해 파악하라.
공격자가 초기 침투에 사용한 파일과, 해당 파일에 담겨있던 스크립트가 최초 실행된 시각은 언제인가?
이것도 Sysmon을 잘 처다보면 풀린다.
실행시간 추적을 위해 LastActivityView 도구를 활용하여 초기침투에 활용된 파일은 문제 A와 동일하며 파일에 담겨있던 io_.vbs가 실행된 내용을 이벤트로그뷰어에서 확인하면 된다.
이쯤되면 그냥 툴만 잘 쓰면 되는 것 같다.
Scenario Step B
피해자는 공격자의 속임수에 넘어가 악성코드를 실행하였고, 결국 피해 PC에 악성 코드와 악성 도구들이 무차별적으로 설치되었다. 공격자가 사용한 드랍퍼 악성코드를 분석하여 피해 호스트에
설치된 악성코드에 대해 파악하라. 악성코드를 다운로드 받는 공격자 서버의 종류와 버전은 무엇인가?
이거 같은 경우에는 좀 야매로 풀었는데, 네트워크 분석을 위해 패킷파일을 준다. 거기서 시간순으로 정렬한다음에 대충 저 시간대로 필터를 건다음 HTTP만 필터링 했다. 왜냐하면 사용자의 PC에 무차별적으로 설치를 하기 위해선 무조건 웹 사이트를 만들어서 거기서 받아야 한다고 생각했기 때문이다.
Scenario Step C
의문의 공격자는 계속해서 피해 PC 내부에 있는 중요 데이터를 수집하기 시작했다. 또한, 추적을 피하기 위해 데이터 유출 시 클라우드 서비스를 사용하는 등 주도면밀한 모습을 보여주었다. 피해 시스템을 분석하여 공격자가 유출한 민감한 데이터에 대해 식별하라. 공격자가 자격증명을 덤프하기 위해 사용한 도구 이름과 프리패치 로그 상에서 해당 도구가 마지막으로 실행 된 시각은?
이거는 사실 주는 문제다. 어쩌면 내가 쉬운 문제밖에 못풀었던 것도 있는 듯
공격자가 자격증명을 덤프하기 위해 사용한 도구 이름 그대로 구글에 치면 MIMIKATZ.exe가 나온다.
프리패치 로그 상에서 해당 도구가 마지막으로 실행 된 시각은? 아까 LastActivityView를 깔았기 때문에 쉽게 확인 가능하다.
Scenario Step C
의문의 공격자는 계속해서 피해 PC 내부에 있는 중요 데이터를 수집하기 시작했다. 또한, 추적을 피하기 위해 데이터 유출 시 클라우드 서비스를 사용하는 등 주도면밀한 모습을 보여주었다. 피해 시스템을 분석하여 공격자가 유출한 민감한 데이터에 대해 식별하라. 공격자가 자격증명을 덤프한 뒤 유출할 때 사용한 도구 이름과 해당 도구가 데이터를 유출하기 위해 최초 실행된 시각은 언제인가?
rclone이 클라우드 서비스라고 인터넷에 치니까 나왔다.
Scenario Step D
유출된 민감한 데이터 중에 PC 로그인과 관련된 정보가 있었는지, 공격자는 피해 PC에 원격 로그인을 한 뒤 무차별적으로 데이터를 수정하고 추가적인 악성 행위를 수행한다. 공격자가 수행한 원격 로그온에 대해 분석하라. 피해 호스트에 원격 접근을 수행한 공격자 서버 아이피는?
원격이라고 하면 원격 데스크톱일까? 라고 생각했지만 꼭 원격데스크톱만이 원격은 아니다. ssh도 있고 telnet도 있으니까, 그래서 Security.evtx를 열어서 이벤트로그를 봤다. 원격 관련된 로그가 저장되는 건 Security 로그니까.
이건 따로 스크린샷을 찍지는 못해서 텍스트 로그 긁어논걸로 설명하겠다.
해킹이 일어난 시간대의 로그를 불러와서 하나씩 읽다가 이걸 발견했다.
계정이 성공적으로 로그온되었습니다.
주체:
보안 ID: NULL SID
계정 이름: -
계정 도메인: -
로그온 ID: 0x0
로그온 정보:
로그온 유형: 3
제한된 관리 모드: -
가상 계정: 아니요
상승된 토큰: 예
가장 수준: 가장
새 로그온:
보안 ID: DESKTOP-UG0L2UF\Kang
계정 이름: Kang
계정 도메인: DESKTOP-UG0L2UF
로그온 ID: 0x10F53DD
연결된 로그온 ID: 0x0
네트워크 계정 이름: -
네트워크 계정 도메인: -
로그온 GUID: {00000000-0000-0000-0000-000000000000}
프로세스 정보:
프로세스 ID: 0x0
프로세스 이름: -
네트워크 정보:
워크스테이션 이름: -
원본 네트워크 주소: 192.168.35.199
원본 포트: 40026
인증 세부 정보:
로그온 프로세스: NtLmSsp
인증 패키지: NTLM
전송된 서비스: -
패키지 이름(NTLM 전용): NTLM V2
키 길이: 0
원본 네트워크 주소: 192.168.35.199 찾았다.
아는건 여기까지였고
그래도 배경지식을 총동원 하니까 그렇게 못풀건 없었던 것 같다.
툴 의존도가 너무 높았던 것도 있고 와이어샤크 숙련도도 좀 부족했다.
아무래도 침해사고분석은 윈도우가 대부분이니까 윈도우 시스템 분석을 잘하는 사람이 유리한거 같습니다.