$ Capture The Flag $

Newbie CTF write up

ws1004 2019. 11. 7. 09:55

Misc

 

Discord

 

 

Flag : KorNewbie{W31C0m3_t0_0ffiC14l_D1$C05d}

 

NC_MIC

 

 

nc 연결하면 flag를 줍니다

 

Flag : KorNewbie{W3lC0m3_T0_K0RN3wB13_W4RG4M3!!!!!}

 

Catch Me

 

 

문제를 열어보면 아래와 같습니다.

 

이런 배경에 검은 점들이 왔다갔다 합니다.

 

gif 파일 인것으로 보아 여러개의 프레임이 겹쳐져서 만들어 졌을 것 이라 생각했고, 프레임 별로 추출해 주는 코드를 작성해 보았습니다.

 

아래와 같은 프레임 사진들이 나왔지만 중첩되서 나온것을 알 수 있습니다.

 

그래서 온라인 툴을 이용했습니다.

https://ezgif.com/split/ezgif-3-4e6e77b33116.gif

 

 

첫번째 사진을 예시로 해서 flag 를 찾아 보겠습니다.

 

 

11이라는 숫자와 9 라는 숫자를 결합해서 119 -> w 와 같은 방법으로 flag 찾을 수 있습니다.

 

Flag : KorNewbie{w0w_e4g1e_3y3}

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

Webhacking

 

Normal_Host

 

 

해당 사이트를 들어가 보면 아래와 같은 화면이 나옵니다.

 

normalflag.iwinv.net에서 flag를 찾을 수 있다고 되어있습니다.

 

직접 입력해서 들어가 보면 아래와 같습니다.

 

banned 당했다고 하면서 다시 아까 그페이지로 돌아오게 됩니다.

 

저 같은 경우에는 https://a@naver.com이라고 입력을 하면  https://www.naver.com/로 들어가게 된다는 점을 이용해서 문제를 해결했습니다.

 

 

 

Flag : KorNewbie{H0$7_$P1it_A774cK_U$3s_N0RM^liZ47ioN&##$%%!}

 

Flag 를 보면 host split attack 을 유도한 문제 인것 같습니다.

 

host split attack은 host normalization attack 이라고도 불리는데 아래와 같이 입력해주면 clear가 됩니다.

 

normalⓕⓛⓐⓖ.iwinv.net

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

Pwnable

 

python_jail

 

 

해당 nc를 연결해 보면 아래와 같습니다.

 

 

os.spawnlp 를 이용해서 필터링을 우회하려고 합니다.

 

StreamReaderWriter 클래스를 이용해서 sys 모듈을 가져오고, os 모듈을 이용해서 spawnlp를 사용하는 방식입니다.

 

 

를 입력 하면 아래와 같습니다.

 

 

현재 디렉터리는 / 입니다.

 

 

 

Flag : KorNewbie{H311o_h0w_@r3_y0u_d0lng?}

 

babypwn

 

 

IDA 64bit으로 열어보겠습니다.

 

 

v4에 bof를 터트려서 flag2 함수의 주소를 넣으면 될 거같습니다.

 

익스 코드를 작성해 보겠습니다.

 

 

Flag : KorNewbie{Th1s_1S_R34L_Fl4g_C0ngr4tu14ti0n5!}

 

OneShot_OneKill

 

 

IDA로 열어보겠습니다.

 

BOF 가 터지는 부분이 보이네요

 

oneshot함수를 보겠습니다.

 

익스 코드를 작성해 보겠습니다.

 

 

Flag : KorNewbie{Nice_Sh0T_N3wbie_Pwner!$#}

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

Reversing

 

LOW_MIPS

 

 

해당 문자열은 기계어 입니다.

 

그래서 어셈블리 코드로 변환을 하면 아래와 같습니다.

 

해당 코드를 정리해 보면 아래와 같습니다.

 

10,2,4 전부 addi 이기 때문에 16

 

Flag : KorNewbie{16}

 

S_@_X

 

 

.so 파일에 flag가 있습니다.

 

Flag 를 찾을 수 있습니다.

 

Flag : KorNewbie{aMd_i$_bEttEr_thaN_iNtel!}

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

Forensic

 

Top Secret

 

 

파일을 HxD열어서 검색 기능을 이용하면 답을 찾을 수 있습니다.

 

Flag : KorNewbie{OH..You_Know_B4sic_0F_M3mory_Forensics!}

 

Contact point

 

 

파일을 열어보면 아래와 같이 backup.ab 라는 파일이 나옵니다.

.ab 파일은 Android Backup 파일로 abe.jar 로 압축을 해제 할 수 있습니다.

압축이 해제가 되면 tar 파일로 생성이 됩니다.

 

android-backup-extractor :  https://sourceforge.net/projects/adbextractor/

 

위의 명령어로 압축 해제가 가능합니다.

 

압축 해제를 하면 아래와 같은 폴더가 하나 생성 됩니다.

 

아래와 같은 경로에 DB 파일들이 있습니다.

IoT와 마찬가지로 모바일도 db에 데이터를 보관합니다.

 

 

browser2.db를 DB Browser for SQLite 를 이용해서 열어보겠습니다.

여러 테이블 중에서 검색기록을 보기 위해서 history를 열어보면 아래와 같습니다.

 

제주도와 관련된 내용이 검색이 되었습니다.

 

그런것으로 보아 제주 공항에서 만나기로 한것 같습니다.

[2번 타이틀을 보면 flag 와 같은 문자열이 검색되어 있다. ]

 

Flag : KorNewbie{Jeju_international_airport}

 

Find The Plain

 

 

먼저 .pcapng 파일을 제공해 주기 때문에 .pcap 로 변환 부터 하겠습니다.

 

ftp로 통신을 했다고 했으니 ftp로 필터링 하겠습니다.

 

전체 ftp 통신을 캡쳐 했으나 잘 안보여서 확대해 보겠습니다.

 

USER : ftpdir , PASS : root 로 로그인 했습니다.

 

그렇기 때문에 KorNewbie{root_~~~~} 의 형식의 flag가될 것 같습니다.

 

badguy.txt 파일을 네트워크 마이너 을 이용해서 뽑아내겠습니다.

 

↑ 네트워크 마이너에서 확인한 ftp 로그인 로그

 

badguy.txt 에서 이러한 문자열을 찾았습니다.

 

base64로 복호화 하면 아래와 같습니다.

 

해당 사이트에 들어가 보면 어떤 문자열이 있습니다.

 

패킷으로 다시 돌아와 보면 주석에 어떠한 값이 있는 것을 확인 할 수 있습니다.

 

확인해 보면 아래와 같습니다.

 

key값 7로 카이사르 암호화 하라고 합니다.

 

아까 얻은 데이터인 k459iki6m5j094m2lmkhjmi9527l81ml 를 복호화 해보겠습니다.

복호화 사이트 : https://cryptii.com/pipes/caesar-cipher

 

 

 

해당 문자열이 32글자로 md5 해시값이라는 것을 알 수 있습니다.

[ 문제에 해시값이 있다면 md5라고 명시되어 있습니다. ]

 

md5 복호화 사이트 :  https://www.md5online.org/md5-decrypt.html

 

Flag : KorNewbie{root_IronDragon}

 

REC

 

 

해당 실행 파일을 HxD로 열어보면 헤더 부분이 이상하다.

 

 

PE파일인것을 확인 할 수 있습니다.

 

4D 5A 가 없는 것으로 보아 넣어 주면 될 것 같습니다.

 

 

실행을 해보면 아래와 같습니다.

 

Flag : KorNewbie{Recover_Signature}

 

Chat

 

 

사용자의 이메일을 찾는 문제 입니다.

VM파일을 압축 풀면 아래와 같은 화면을 볼 수 있습니다.

 

vmdk 파일을 FTK Imager 에 넣어서 분석해 보겠습니다.

 

 

하위에 Downloads 파일에 Discordsetup, KakaoTalksetup, tsetup 이 존재 합니다.

 

카카오톡 설치 파일로 가서 등록할 때 사용한 이메일을 찾아 보겠습니다.

위의 경로를 보면 아래와 같은 파일이 있습니다.

 

 

login_list.dat 를 확인해 보면 아래와 같습니다.

 

Flag : KorNewbie{renek@it-simple.net}

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ