SlideShare a Scribd company logo
BSides Delhi CTF 2018 WriteUp
Never Too Late Mister (Forensics 200points)
by 이 세 한 (Alchemic)
2
BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)]
다음과 같이 문제가 주어집니다.
문제의 설명으로 보았을 때, 메모리 덤프를 분석하는 내용으로 보여집니다.
문제 파일은 압축 파일로 주어지며, 압축을 해제하면 다음과 같은 다양한 파일을 확인할 수
있습니다.
메모리 덤프 파일인 “Challenge.raw” 파일을 확인할 수 있습니다.
이제 [volatility]를 이용하여 메모리 덤프 파일을 분석해보도록 하겠습니다.
우선, 어떤 환경에서 만들어진 메모리 덤프인지 확인을 해보도록 하겠습니다.
3
BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)]
4
BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)]
확인 결과, 본 문제에 주어진 메모리 덤프 파일은 Windows 7 Service Pack 1 x86 환경에서
만들어진 메모리 덤프 파일인 것을 확인할 수 있습니다.
이제 어떤 환경인지를 확인하였으므로, [volatility]를 이용하여 계속해서 분석을 진행하도록
하겠습니다.
우선, 어떤 명령 히스토리가 있는지를 보기 위해 ‘cmdscan’ 플러그인을 사용해보도록
하겠습니다.
5
BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)]
Python 스크립트를 실행한 명령 히스토리를 발견하게 되었습니다.
‘consoles’ 플러그인으로 해당 스크립트가 어떤 결과를 나타내는지를 확인해보도록
하겠습니다.
6
BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)]
파이썬 스크립트를 실행한 결과, ‘335d366f5d6031767631707f’ 라는 값이 나타난 것을
확인할 수 있습니다. 이는 HEX 문자열로 보여집니다.
하지만 이 데이터만으로는 무엇인지 알 수 없으므로 더 분석을 진행해보도록 하겠습니다.
7
BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)]
계속 분석을 진행하다가 ‘envars’ 플러그인을 이용하여 프로세스 환경 변수를 조사하다가
특이한 변수를 발견하게 되었습니다.
‘conhost.exe’(2424) 프로세스에서 “Thanos” 라는 변수를 확인하게 되었고, 그 변수값으로
“xor and password” 라는 문자열을 확인할 수 있습니다.
이는 문제를 해결하기 위한 힌트로 보여집니다.
8
BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)]
하지만 힌트를 보았을 때, 패스워드의 경우 Windows User Password를 뜻하는 것으로
파악되며, XOR의 경우에는 알 수 없으므로 직접 앞서 확인한 파이썬 스크립트 파일인
“demon.py.txt” 파일을 조사하도록 하겠습니다.
‘mftparser’ 플러그인과 grep 명령어를 이용하여 “demon.py.txt” 파일의 내용이 포함된
MFT(Master File Table) 영역의 내용을 확인하였고, 해당 offset과 데이터 일부를 찾아낼
수 있었습니다.
9
BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)]
MFT(Master File Table)는 윈도우 NT 계열 운영체제의 파일 시스템인 NTFS의 중요한 영역
입니다.
NTFS 볼륨의 모든 파일에 대하여 적어도 하나의 엔트리를 가지고 있으며, 파일 크기, 작성
일자, 사용 권한, 데이터 내용 등 파일에 관한 모든 정보가 저장되고 관리되는 영역이라고 볼 수
있습니다.
[Reference: “NTFS Master File Table (MFT) Structure”, http://www.ntfs.com/ntfs-mft.htm]
10
BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)]
Python script 파일 내용 확인
앞서 확인된 offset (0x7ca3c00) 을 이용하여 MFT 영역 조사
파이썬 스크립트의 내용을 확인할 수 있습니다!
앞서 확인된 힌트인 ‘xor and password’에서 XOR 힌트의 정답을 발견하였습니다!
11
BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)]
[volatility]의 ‘consoles’ 플러그인을 이용하여 확인한 HEX 문자열과 같은 값이 출력되는
것을 확인할 수 있습니다.
이로써 flag의 일부는 “1_4m_b3tt3r}” 인 것을 알 수 있습니다.
이제 flag의 나머지 부분을 찾아야 합니다.
힌트에서 “password” 라는 힌트를 보았으므로, Windows User Password 를 확인해보도록
하겠습니다.
12
BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)]
‘hashdump’ 플러그인을 이용하여 패스워드 해쉬 덤프를 확인해보도록 하겠습니다.
User는 ‘hello’ 이며, 패스워드는 NTLM Hash로 출력되는 것을 확인할 수 있습니다.
이를 crack 하기 위해 ‘mimikatz’ 플러그인을 사용하도록 하겠습니다. (mimikatz.py)
패스워드 확인 결과 flag의 다른 부분을 찾을 수 있습니다!
The flag is... flag{you_are_good_but1_4m_b3tt3r}
Thank You!
Contact
sehands@sju.ac.kr

More Related Content

What's hot

Linux+정리
Linux+정리Linux+정리
Linux+정리
chang yong yang
 
Hackerschool FTZ 문제 풀이
Hackerschool FTZ 문제 풀이Hackerschool FTZ 문제 풀이
Hackerschool FTZ 문제 풀이
re4lfl0w
 
Exp manager
Exp managerExp manager
Exp manager
Yoonjae Park
 
루팅(Rooting)에 관해
루팅(Rooting)에 관해루팅(Rooting)에 관해
루팅(Rooting)에 관해
Youngbin Han
 
7급 공무원도 쉽게 따라하는 쉘 스크립트
7급 공무원도 쉽게 따라하는 쉘 스크립트7급 공무원도 쉽게 따라하는 쉘 스크립트
7급 공무원도 쉽게 따라하는 쉘 스크립트Young-Ho Cha
 
Ddd
DddDdd
GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)
GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)
GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)
Sehan Lee
 
141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍
Changwon Choe
 
성미급한 사람들을 위한 아파치 설치
성미급한 사람들을 위한 아파치 설치성미급한 사람들을 위한 아파치 설치
성미급한 사람들을 위한 아파치 설치경민 남
 
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
Minchul Jung
 
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
Wooyoung Ko
 
Solr 디렉토리 구조와 관리 콘솔
Solr 디렉토리 구조와 관리 콘솔Solr 디렉토리 구조와 관리 콘솔
Solr 디렉토리 구조와 관리 콘솔
용호 최
 
AWS EC2 flask_uwsgi_nginx install guide korean
AWS EC2 flask_uwsgi_nginx install guide koreanAWS EC2 flask_uwsgi_nginx install guide korean
AWS EC2 flask_uwsgi_nginx install guide korean
Jinsoo Park
 
GoogleCTF 2016 [Ernst Echidna] Write-Up (ver.korean)
GoogleCTF 2016 [Ernst Echidna] Write-Up (ver.korean)GoogleCTF 2016 [Ernst Echidna] Write-Up (ver.korean)
GoogleCTF 2016 [Ernst Echidna] Write-Up (ver.korean)
Sehan Lee
 
Buffer Overflow PPT (OneTwo)
Buffer Overflow PPT (OneTwo)Buffer Overflow PPT (OneTwo)
Buffer Overflow PPT (OneTwo)
one_two_12
 

What's hot (17)

Linux+정리
Linux+정리Linux+정리
Linux+정리
 
Hackerschool FTZ 문제 풀이
Hackerschool FTZ 문제 풀이Hackerschool FTZ 문제 풀이
Hackerschool FTZ 문제 풀이
 
Exp manager
Exp managerExp manager
Exp manager
 
루팅(Rooting)에 관해
루팅(Rooting)에 관해루팅(Rooting)에 관해
루팅(Rooting)에 관해
 
7급 공무원도 쉽게 따라하는 쉘 스크립트
7급 공무원도 쉽게 따라하는 쉘 스크립트7급 공무원도 쉽게 따라하는 쉘 스크립트
7급 공무원도 쉽게 따라하는 쉘 스크립트
 
Ddd
DddDdd
Ddd
 
GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)
GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)
GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)
 
shell and process
shell and processshell and process
shell and process
 
141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍
 
Backup
BackupBackup
Backup
 
성미급한 사람들을 위한 아파치 설치
성미급한 사람들을 위한 아파치 설치성미급한 사람들을 위한 아파치 설치
성미급한 사람들을 위한 아파치 설치
 
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
 
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
리스펙토링 세미나 - 웹 브라우저 동작 개념, Node.js를 통한 서버 이해, REST API
 
Solr 디렉토리 구조와 관리 콘솔
Solr 디렉토리 구조와 관리 콘솔Solr 디렉토리 구조와 관리 콘솔
Solr 디렉토리 구조와 관리 콘솔
 
AWS EC2 flask_uwsgi_nginx install guide korean
AWS EC2 flask_uwsgi_nginx install guide koreanAWS EC2 flask_uwsgi_nginx install guide korean
AWS EC2 flask_uwsgi_nginx install guide korean
 
GoogleCTF 2016 [Ernst Echidna] Write-Up (ver.korean)
GoogleCTF 2016 [Ernst Echidna] Write-Up (ver.korean)GoogleCTF 2016 [Ernst Echidna] Write-Up (ver.korean)
GoogleCTF 2016 [Ernst Echidna] Write-Up (ver.korean)
 
Buffer Overflow PPT (OneTwo)
Buffer Overflow PPT (OneTwo)Buffer Overflow PPT (OneTwo)
Buffer Overflow PPT (OneTwo)
 

Similar to BSides Delhi CTF 2018 [Never Too Late Mister (Forensics 200pts)] WriteUp

Ssscon forensic pt
Ssscon forensic ptSsscon forensic pt
Ssscon forensic pt
윤아 황
 
[무료] 시스템해킹(해커스쿨문제풀이) 공개버전
[무료] 시스템해킹(해커스쿨문제풀이) 공개버전[무료] 시스템해킹(해커스쿨문제풀이) 공개버전
[무료] 시스템해킹(해커스쿨문제풀이) 공개버전
James (SeokHun) Hwang
 
dddd
dddddddd
dddd
dooroomi
 
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
INSIGHT FORENSIC
 
리눅스 커널 기초 태스크관리
리눅스 커널 기초 태스크관리리눅스 커널 기초 태스크관리
리눅스 커널 기초 태스크관리
Seungyong Lee
 
포렌식 세미나.pptx
포렌식 세미나.pptx포렌식 세미나.pptx
포렌식 세미나.pptx
dalonn
 
(130525) #fitalk ntfs log tracker (korean)
(130525) #fitalk   ntfs log tracker (korean)(130525) #fitalk   ntfs log tracker (korean)
(130525) #fitalk ntfs log tracker (korean)
INSIGHT FORENSIC
 
UNIX 시스템 2014-2018년 기말시험 기출문제
UNIX 시스템 2014-2018년 기말시험 기출문제UNIX 시스템 2014-2018년 기말시험 기출문제
UNIX 시스템 2014-2018년 기말시험 기출문제
Lee Sang-Ho
 
04 프로세스
04 프로세스04 프로세스
04 프로세스
ssuser3fb17c
 
Linux programming study
Linux programming studyLinux programming study
Linux programming study
Yunseok Lee
 
(160820) #fitalk fileless malware forensics
(160820) #fitalk    fileless malware forensics(160820) #fitalk    fileless malware forensics
(160820) #fitalk fileless malware forensics
INSIGHT FORENSIC
 
(120128) #fitalk sql server anti-forensics
(120128) #fitalk   sql server anti-forensics(120128) #fitalk   sql server anti-forensics
(120128) #fitalk sql server anti-forensics
INSIGHT FORENSIC
 
도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편
Sam Kim
 
악성코드 분석 도구
악성코드 분석 도구악성코드 분석 도구
악성코드 분석 도구
Youngjun Chang
 
sqlserver7.0 데이타베이스
sqlserver7.0 데이타베이스sqlserver7.0 데이타베이스
sqlserver7.0 데이타베이스영빈 송
 
Chapter 3. 컴퓨터! 커피 한 잔 마시고 올게, 전부 정리해놔! | 6개월 치 업무를 하...
Chapter 3. 컴퓨터! 커피 한 잔 마시고 올게, 전부 정리해놔! | 6개월 치 업무를 하...Chapter 3. 컴퓨터! 커피 한 잔 마시고 올게, 전부 정리해놔! | 6개월 치 업무를 하...
Chapter 3. 컴퓨터! 커피 한 잔 마시고 올게, 전부 정리해놔! | 6개월 치 업무를 하...
Byunghyun Ban
 
Linux 강의자료 ed10
Linux 강의자료 ed10Linux 강의자료 ed10
Linux 강의자료 ed10
hungrok
 
Trace memory leak with gdb (GDB로 메모리 누수 찾기)
Trace memory  leak with gdb (GDB로 메모리 누수 찾기)Trace memory  leak with gdb (GDB로 메모리 누수 찾기)
Trace memory leak with gdb (GDB로 메모리 누수 찾기)
Jun Hong Kim
 
(120513) #fitalk a dig into the $log file
(120513) #fitalk   a dig into the $log file(120513) #fitalk   a dig into the $log file
(120513) #fitalk a dig into the $log file
INSIGHT FORENSIC
 
(120513) #fitalk a dig into the $log file
(120513) #fitalk   a dig into the $log file(120513) #fitalk   a dig into the $log file
(120513) #fitalk a dig into the $log file
INSIGHT FORENSIC
 

Similar to BSides Delhi CTF 2018 [Never Too Late Mister (Forensics 200pts)] WriteUp (20)

Ssscon forensic pt
Ssscon forensic ptSsscon forensic pt
Ssscon forensic pt
 
[무료] 시스템해킹(해커스쿨문제풀이) 공개버전
[무료] 시스템해킹(해커스쿨문제풀이) 공개버전[무료] 시스템해킹(해커스쿨문제풀이) 공개버전
[무료] 시스템해킹(해커스쿨문제풀이) 공개버전
 
dddd
dddddddd
dddd
 
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
 
리눅스 커널 기초 태스크관리
리눅스 커널 기초 태스크관리리눅스 커널 기초 태스크관리
리눅스 커널 기초 태스크관리
 
포렌식 세미나.pptx
포렌식 세미나.pptx포렌식 세미나.pptx
포렌식 세미나.pptx
 
(130525) #fitalk ntfs log tracker (korean)
(130525) #fitalk   ntfs log tracker (korean)(130525) #fitalk   ntfs log tracker (korean)
(130525) #fitalk ntfs log tracker (korean)
 
UNIX 시스템 2014-2018년 기말시험 기출문제
UNIX 시스템 2014-2018년 기말시험 기출문제UNIX 시스템 2014-2018년 기말시험 기출문제
UNIX 시스템 2014-2018년 기말시험 기출문제
 
04 프로세스
04 프로세스04 프로세스
04 프로세스
 
Linux programming study
Linux programming studyLinux programming study
Linux programming study
 
(160820) #fitalk fileless malware forensics
(160820) #fitalk    fileless malware forensics(160820) #fitalk    fileless malware forensics
(160820) #fitalk fileless malware forensics
 
(120128) #fitalk sql server anti-forensics
(120128) #fitalk   sql server anti-forensics(120128) #fitalk   sql server anti-forensics
(120128) #fitalk sql server anti-forensics
 
도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편
 
악성코드 분석 도구
악성코드 분석 도구악성코드 분석 도구
악성코드 분석 도구
 
sqlserver7.0 데이타베이스
sqlserver7.0 데이타베이스sqlserver7.0 데이타베이스
sqlserver7.0 데이타베이스
 
Chapter 3. 컴퓨터! 커피 한 잔 마시고 올게, 전부 정리해놔! | 6개월 치 업무를 하...
Chapter 3. 컴퓨터! 커피 한 잔 마시고 올게, 전부 정리해놔! | 6개월 치 업무를 하...Chapter 3. 컴퓨터! 커피 한 잔 마시고 올게, 전부 정리해놔! | 6개월 치 업무를 하...
Chapter 3. 컴퓨터! 커피 한 잔 마시고 올게, 전부 정리해놔! | 6개월 치 업무를 하...
 
Linux 강의자료 ed10
Linux 강의자료 ed10Linux 강의자료 ed10
Linux 강의자료 ed10
 
Trace memory leak with gdb (GDB로 메모리 누수 찾기)
Trace memory  leak with gdb (GDB로 메모리 누수 찾기)Trace memory  leak with gdb (GDB로 메모리 누수 찾기)
Trace memory leak with gdb (GDB로 메모리 누수 찾기)
 
(120513) #fitalk a dig into the $log file
(120513) #fitalk   a dig into the $log file(120513) #fitalk   a dig into the $log file
(120513) #fitalk a dig into the $log file
 
(120513) #fitalk a dig into the $log file
(120513) #fitalk   a dig into the $log file(120513) #fitalk   a dig into the $log file
(120513) #fitalk a dig into the $log file
 

More from Sehan Lee

BSides Delhi CTF 2018 [st4t1c (Reversing 200pts)] WriteUp
BSides Delhi CTF 2018 [st4t1c (Reversing 200pts)] WriteUpBSides Delhi CTF 2018 [st4t1c (Reversing 200pts)] WriteUp
BSides Delhi CTF 2018 [st4t1c (Reversing 200pts)] WriteUp
Sehan Lee
 
BSides Delhi CTF 2018 [krev (Reversing 200pts)] WriteUp
BSides Delhi CTF 2018 [krev (Reversing 200pts)] WriteUpBSides Delhi CTF 2018 [krev (Reversing 200pts)] WriteUp
BSides Delhi CTF 2018 [krev (Reversing 200pts)] WriteUp
Sehan Lee
 
BSides Delhi CTF 2018 [avap (Reversing 75pts)] WriteUp
BSides Delhi CTF 2018 [avap (Reversing 75pts)] WriteUpBSides Delhi CTF 2018 [avap (Reversing 75pts)] WriteUp
BSides Delhi CTF 2018 [avap (Reversing 75pts)] WriteUp
Sehan Lee
 
Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]
Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]
Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]
Sehan Lee
 
Basic My SQL Problems(sqlzoo.net - select from world) & Basic SQL Injection(z...
Basic My SQL Problems(sqlzoo.net - select from world) & Basic SQL Injection(z...Basic My SQL Problems(sqlzoo.net - select from world) & Basic SQL Injection(z...
Basic My SQL Problems(sqlzoo.net - select from world) & Basic SQL Injection(z...
Sehan Lee
 
GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)
GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)
GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)
Sehan Lee
 
Attacking Session Management
Attacking Session ManagementAttacking Session Management
Attacking Session Management
Sehan Lee
 
Web Application Technologies
Web Application TechnologiesWeb Application Technologies
Web Application Technologies
Sehan Lee
 
Packet Tracer를 이용한 OSPF 설정
Packet Tracer를 이용한 OSPF 설정Packet Tracer를 이용한 OSPF 설정
Packet Tracer를 이용한 OSPF 설정
Sehan Lee
 
레이스 컨디션 기초(Basic Race Condition)
레이스 컨디션 기초(Basic Race Condition)레이스 컨디션 기초(Basic Race Condition)
레이스 컨디션 기초(Basic Race Condition)
Sehan Lee
 
Packet tracer 설치 및 사용법
Packet tracer 설치 및 사용법Packet tracer 설치 및 사용법
Packet tracer 설치 및 사용법
Sehan Lee
 

More from Sehan Lee (11)

BSides Delhi CTF 2018 [st4t1c (Reversing 200pts)] WriteUp
BSides Delhi CTF 2018 [st4t1c (Reversing 200pts)] WriteUpBSides Delhi CTF 2018 [st4t1c (Reversing 200pts)] WriteUp
BSides Delhi CTF 2018 [st4t1c (Reversing 200pts)] WriteUp
 
BSides Delhi CTF 2018 [krev (Reversing 200pts)] WriteUp
BSides Delhi CTF 2018 [krev (Reversing 200pts)] WriteUpBSides Delhi CTF 2018 [krev (Reversing 200pts)] WriteUp
BSides Delhi CTF 2018 [krev (Reversing 200pts)] WriteUp
 
BSides Delhi CTF 2018 [avap (Reversing 75pts)] WriteUp
BSides Delhi CTF 2018 [avap (Reversing 75pts)] WriteUpBSides Delhi CTF 2018 [avap (Reversing 75pts)] WriteUp
BSides Delhi CTF 2018 [avap (Reversing 75pts)] WriteUp
 
Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]
Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]
Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]
 
Basic My SQL Problems(sqlzoo.net - select from world) & Basic SQL Injection(z...
Basic My SQL Problems(sqlzoo.net - select from world) & Basic SQL Injection(z...Basic My SQL Problems(sqlzoo.net - select from world) & Basic SQL Injection(z...
Basic My SQL Problems(sqlzoo.net - select from world) & Basic SQL Injection(z...
 
GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)
GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)
GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)
 
Attacking Session Management
Attacking Session ManagementAttacking Session Management
Attacking Session Management
 
Web Application Technologies
Web Application TechnologiesWeb Application Technologies
Web Application Technologies
 
Packet Tracer를 이용한 OSPF 설정
Packet Tracer를 이용한 OSPF 설정Packet Tracer를 이용한 OSPF 설정
Packet Tracer를 이용한 OSPF 설정
 
레이스 컨디션 기초(Basic Race Condition)
레이스 컨디션 기초(Basic Race Condition)레이스 컨디션 기초(Basic Race Condition)
레이스 컨디션 기초(Basic Race Condition)
 
Packet tracer 설치 및 사용법
Packet tracer 설치 및 사용법Packet tracer 설치 및 사용법
Packet tracer 설치 및 사용법
 

BSides Delhi CTF 2018 [Never Too Late Mister (Forensics 200pts)] WriteUp

  • 1. BSides Delhi CTF 2018 WriteUp Never Too Late Mister (Forensics 200points) by 이 세 한 (Alchemic)
  • 2. 2 BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)] 다음과 같이 문제가 주어집니다. 문제의 설명으로 보았을 때, 메모리 덤프를 분석하는 내용으로 보여집니다.
  • 3. 문제 파일은 압축 파일로 주어지며, 압축을 해제하면 다음과 같은 다양한 파일을 확인할 수 있습니다. 메모리 덤프 파일인 “Challenge.raw” 파일을 확인할 수 있습니다. 이제 [volatility]를 이용하여 메모리 덤프 파일을 분석해보도록 하겠습니다. 우선, 어떤 환경에서 만들어진 메모리 덤프인지 확인을 해보도록 하겠습니다. 3 BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)]
  • 4. 4 BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)] 확인 결과, 본 문제에 주어진 메모리 덤프 파일은 Windows 7 Service Pack 1 x86 환경에서 만들어진 메모리 덤프 파일인 것을 확인할 수 있습니다. 이제 어떤 환경인지를 확인하였으므로, [volatility]를 이용하여 계속해서 분석을 진행하도록 하겠습니다. 우선, 어떤 명령 히스토리가 있는지를 보기 위해 ‘cmdscan’ 플러그인을 사용해보도록 하겠습니다.
  • 5. 5 BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)] Python 스크립트를 실행한 명령 히스토리를 발견하게 되었습니다. ‘consoles’ 플러그인으로 해당 스크립트가 어떤 결과를 나타내는지를 확인해보도록 하겠습니다.
  • 6. 6 BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)] 파이썬 스크립트를 실행한 결과, ‘335d366f5d6031767631707f’ 라는 값이 나타난 것을 확인할 수 있습니다. 이는 HEX 문자열로 보여집니다. 하지만 이 데이터만으로는 무엇인지 알 수 없으므로 더 분석을 진행해보도록 하겠습니다.
  • 7. 7 BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)] 계속 분석을 진행하다가 ‘envars’ 플러그인을 이용하여 프로세스 환경 변수를 조사하다가 특이한 변수를 발견하게 되었습니다. ‘conhost.exe’(2424) 프로세스에서 “Thanos” 라는 변수를 확인하게 되었고, 그 변수값으로 “xor and password” 라는 문자열을 확인할 수 있습니다. 이는 문제를 해결하기 위한 힌트로 보여집니다.
  • 8. 8 BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)] 하지만 힌트를 보았을 때, 패스워드의 경우 Windows User Password를 뜻하는 것으로 파악되며, XOR의 경우에는 알 수 없으므로 직접 앞서 확인한 파이썬 스크립트 파일인 “demon.py.txt” 파일을 조사하도록 하겠습니다. ‘mftparser’ 플러그인과 grep 명령어를 이용하여 “demon.py.txt” 파일의 내용이 포함된 MFT(Master File Table) 영역의 내용을 확인하였고, 해당 offset과 데이터 일부를 찾아낼 수 있었습니다.
  • 9. 9 BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)] MFT(Master File Table)는 윈도우 NT 계열 운영체제의 파일 시스템인 NTFS의 중요한 영역 입니다. NTFS 볼륨의 모든 파일에 대하여 적어도 하나의 엔트리를 가지고 있으며, 파일 크기, 작성 일자, 사용 권한, 데이터 내용 등 파일에 관한 모든 정보가 저장되고 관리되는 영역이라고 볼 수 있습니다. [Reference: “NTFS Master File Table (MFT) Structure”, http://www.ntfs.com/ntfs-mft.htm]
  • 10. 10 BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)] Python script 파일 내용 확인 앞서 확인된 offset (0x7ca3c00) 을 이용하여 MFT 영역 조사 파이썬 스크립트의 내용을 확인할 수 있습니다! 앞서 확인된 힌트인 ‘xor and password’에서 XOR 힌트의 정답을 발견하였습니다!
  • 11. 11 BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)] [volatility]의 ‘consoles’ 플러그인을 이용하여 확인한 HEX 문자열과 같은 값이 출력되는 것을 확인할 수 있습니다. 이로써 flag의 일부는 “1_4m_b3tt3r}” 인 것을 알 수 있습니다. 이제 flag의 나머지 부분을 찾아야 합니다. 힌트에서 “password” 라는 힌트를 보았으므로, Windows User Password 를 확인해보도록 하겠습니다.
  • 12. 12 BSides Delhi CTF 2018 WriteUp [Never Too Late Mister (Forensics 200points)] ‘hashdump’ 플러그인을 이용하여 패스워드 해쉬 덤프를 확인해보도록 하겠습니다. User는 ‘hello’ 이며, 패스워드는 NTLM Hash로 출력되는 것을 확인할 수 있습니다. 이를 crack 하기 위해 ‘mimikatz’ 플러그인을 사용하도록 하겠습니다. (mimikatz.py) 패스워드 확인 결과 flag의 다른 부분을 찾을 수 있습니다! The flag is... flag{you_are_good_but1_4m_b3tt3r}