반응형

CTF 604

[UMDCTF] Sensitive - 포렌식 / PDF / Python

포렌식 문제 특별한 설명 없이 sensitive 라는 바이너리 파일 하나만 주어진다. 문제 파일인 sensitive 파일이다. 확장자도 없는 그냥 바이너리 파일같아 보이는데 HxD 프로그램으로 열어보면 PDF 파일인걸 바로 알 수 있다. 자세히보면 보통 PDF 파일과 조금 달라 보이는데 파일을 구성하는 모든 문자열 사이에 스페이스(\x20)가 들어가 있는걸 볼 수 있다. 참고로 일반적인 PDF 파일은 이렇게 생겼다. 여기서 모든 문자 사이에 스페이스바를 눌러 넣은 것이다. 이런 문제는 아주 간단하게 PDF 파일을 열어서 눌러진 스페이스바를 다 없애주면 된다. f1 = open('sensitive', 'rb') read = f1.read()[::2] f2 = open('output.pdf', 'wb') f..

CTF/포렌식 2022.05.12

[UMDCTF] Twilight Zone - 리버싱 / dnSpy

리버싱 문제 생각보다 어려워서 시간을 많이 투자했다. 문제파일로 TwilightZone.exe 파일이 주어진다. 주어진 exe파일을 실행시키면 이렇게 느끼한 아저씨 사진과 함께 비밀번호를 입력하는 창이 뜬다. 비밀번호칸에 hello 라고 시험삼아 입력해봤는데 당연히 틀린 비밀번호기 때문에 Not happening! 이라는 알람창이 뜬다. exe 파일이니 평소에 하던대로 디스어셈블러인 IDA 프로그램으로 열어보았다. 그런데 평소와 다른 인터페이스가 나왔다. .NET으로 개발하면 이런식으로 나온다고 한다. Mystery라는 함수가 있어서 내용을 살펴보는데 뭔가 암호화시켜서 저장하고 있는듯 보였다. 아무래도 비밀번호를 내부에 암호화해서 저장하고 있는듯 하다. IDA로 이리저리 보다 너무 가독성이 떨어져서 어떻..

CTF/리버싱 2022.05.11

[UMDCTF] Cool Coin - 포렌식 / 스테가노그래피 / Zsteg

간단한 스테가노그래피 문제였다. CoolCoin.png 라는 이름의 png 파일이 하나 주어진다. CoolCoin.png를 열어보면 이런 사진이 나온다. 참고로 코인에 그려진 사람은 에라토스테네스이다. 교과서에서 지구 둘레를 최초로 계산한 사람 또는 에라토스테네스의 체를 이용해 소수를 찾아내는 방법을 고안한 사람으로 나오는 고대 그리스의 수학자이다. 스테가노그래피 문제에서 PNG나 BMP 파일이 주어질 경우 유용하게 쓸 수 있는게 zsteg 라는 도구이다. sudo gem install zsteg 명령어로 다운로드 받을 수 있다. zsteg -a CoolCoin.png 이렇게 -a 옵션을 줘서 zsteg를 실행시키면 가능한 모든 경우의 수를 테스트 해준다. 여러가지 경우의 수 중 하나에서 플래그가 출력되..

CTF/포렌식 2022.05.10

[Root Me] CRLF - 웹해킹

20점짜리 웹해킹 문제 문제 제목의 CRLF는 Carriage-Return, Line Feed 의 약자인데 쉽게 생각하면 그냥 줄바꿈, 엔터를 의미한다. 문제 페이지에 접속하면 이렇게 로그인 창이 있고, 아래쪽에는 인증 로그가 보인다. admin이 인증에 한번 실패한 뒤 로그인에 성공했고, 그다음 guest가 로그인에 실패한것을 알 수 있다. 시험삼아 hello / hi 를 입력해서 로그인을 시도해봤는데 아래쪽에 hello가 로그인에 실패했다는 로그가 출력되는걸 확인했다. 아무래도 로그를 속여서 admin 으로 로그인을 하면 되는듯 하다. f12를 눌러서 개발자도구로 들어가 본다. 개발자도구에서 해당 페이지의 웹 소스를 볼 수 있는데 사용자 ID를 입력하는 부분의 HTML 코드를 찾아본다. 이라고 적혀있..

워게임/Root Me 2022.05.09

[UMDCTF] Fragile Foundations - 암호학 / Base64

쉬웠던 암호학 문제 제목이 Fragile Foundations 인데 Foundation 이라는 단어가 '기초' 라는 의미가 있기 때문에 아마도 말장난처럼 Base64 인코딩을 사용하지 않았을까 추측했다. 문제파일로 ciphertext 라는 바이너리 파일이 주어진다. 해당 파일을 notepad++로 열어보면 이런 내용이 들어있다. 알파벳 대소문자 + 숫자로 이루어진걸 보니 Base64로 인코딩된게 맞는거 같다. 확실한건 맨 끝을 보면 되는데 맨 끝에 == 으로 끝나면 Base64로 인코딩된 것이다. 참고로 이 파일은 txt 파일 치고 용량이 꽤 된다. CyberChef(https://gchq.github.io/CyberChef)에서 Base64를 쉽게 디코딩 할 수 있다. ciphertext 파일을 Inp..

CTF/암호학 2022.05.08

[UMDCTF] Colors - 포렌식 / 스테가노그래피 / Stegcracker

스테가노그래피 문제 적당한 툴만 사용할 줄 알면 아주 쉬운문제였는데 조금 해맸다. 문제파일로 colors.jpg 파일이 주어지는데 해당 파일을 열어보면 이렇게 생겼다. 이 문제를 풀기전에 https://hackingstudypad.tistory.com/125 [UMDCTF] Padme Twice - 포렌식 / 스테가노그래피 / PIL 재미있는 문제였다. 실제 대회에서는 Crypto로 분류된 문제였으나 뭔가 포렌식적인 요소가 있는거 같아서 포렌식으로 분류를 해봤다. 사실 이런 문제들은 코에 걸면 코걸이 귀에 걸면 귀걸이다. hackingstudypad.tistory.com 요문제를 먼저 풀었는데 주어진 이미지 생긴게 비슷해서 저거 풀이했던것처럼 이것저것 해보다가 시간을 많이 날렸다.. 보통 이런 이미지파일..

CTF/포렌식 2022.05.07

[Root Me] Install files - 웹해킹 / Directory Listing

Install files 웹해킹 문제이다. 문제 설명을 읽어보면 You know phpBB? 라고 적혀있다. phpBB를 이번 문제 풀면서 처음들어봤는데 검색해보니 PHP 기반의 전자 게시판 프로그램이라고 한다. 전 세계적으로 많이 쓰이고 있는 프로그램인것 같다. 문제 페이지에 접속해보면 이렇게 아무것도 없는 흰 화면만 덜렁 나온다. 문제 제목이 install file 이니 뭔가 phpBB 설치와 관련된 것이라고 생각해서 검색창에 "phpBB 설치" 이런식으로 검색을 해봤다. 그 중 한 웹페이지를 통해 phpBB가 phpBB/install/index.php 경로에서 설치할 수 있는걸 알게 되었다. 해당 경로로 바로 접근해 봤는데 404 Not Found 에러가 났다. 이것저것 해보면서 시행착오를 겪다가 ..

워게임/Root Me 2022.05.06

[UMDCTF] Question - MISC / Bash Jail Escape

MISC 문제 플래그를 읽을 수 있느냐 없느냐.. 그것이 문제로다. 재밌는 Bash Jail Escape 문제였다. Netcat(nc) 명령어를 이용해서 문제 페이지에 접속 할 수 있다. 접속하면 가장먼저 The flag.txt is here. Try to read it! 이라는 문구가 나온다. 그리고 사용자 입력을 받는데 flag.txt 파일을 읽으라고 했으므로 cat flag.txt 라고 입력해봤다. 그랬더니 밑에 Nope! 라는 문구가 출력이 된다. 이렇게 리눅스 쉘같은게 주어진 상태에서 각종 제약조건을 우회해 원하는 목표를 달성시키는 유형의 문제를 Jail Escape 라고 한다. 지난번에 풀어봤던 Pyjail 문제의 Bash 버전이다. (https://hackingstudypad.tistory...

CTF/MISC 2022.05.05

[Root Me] Job Interview - 포렌식 / RDP Cache / BMC

Root Me는 포렌식 문제가 재밌는거 같다. 문제 설명을 읽어보면 미국 국가안보국(NSA)에 포렌식 수사관으로 면접을 갔는데 주어진 파일을 분석해서 실력을 증명해야 한다고 한다. 이정도 수준의 문제가 NSA 인터뷰 문제면 그냥 합격일텐데.. 주어지는 파일은 image_forensic.e01 파일이다. 확장자가 e01인 파일은 Encase 이미지 파일이다. FTK Imager 라는 프로그램을 이용해서 열어볼 수 있다. (https://accessdata.com/product-download/ftk-imager-version-4-5) FTK Imager를 실행시켜서 lmage File을 선택해준다. 그다음 주어진 image_forensic.e01 파일을 선택해주고 Finish 버튼을 눌러주면 된다. 이미지..

워게임/Root Me 2022.05.04

[UMDCTF] Santa Mysterious Box - 리버싱 / IDA

이 문제를 2년전에 풀어보고 이번에 포스팅 하면서 다시 풀어봤는데 예전과 달리 넘 쉽게 풀려서 어이가 없었다. 예전에 풀때는 ltrace를 이용해서 노가다해서 풀었는데 다시보니 사실 그럴 필요가 없는 문제였다. 문제 설명을 읽어보면 산타할아버지가 박스를 주는데 비밀번호를 맞춰야 사탕을 주고, 나머지 사람들은 석탄을 준다고 한다... 문제 파일로 SantaBox라는 이름의 바이너리 파일이 주어진다. 칼리 리눅스에서 file 명령어를 통해 해당 바이너리의 정보를 확인해보면 ELF 파일임을 알 수 있다. ELF 파일은 리눅스에서 실행 가능한 EXE 파일같은거라고 생각하면 된다. 시험삼아 바이너리 파일을 실행시켜 본다. 실행시키면 저렇게 Enter code here: 라고 뜨면서 입력을 받는데 giveme 라고..

CTF/리버싱 2022.05.03
반응형