티스토리 뷰
제 2회 rootctf writeup
misc 4문제와 reversing 1문제를 풀고 16등을 하였다.
MIC DROP
mic check 문제이다
플래그: FLAG{M1c..Dr0p..M1c..Dr0p..Welc0me_T0_R00T_CTF_2018!!}
HubGIT
Github를 이용한 문제로 git reflog와 git reset을 이용해서 플래그가 있었던 시점으로 돌릴수 있다.
플래그:FLAG{GIT_8rob1em_7h@t_C4n_b3_50lv3d_in_O63_M1nu7e!}
Encoded_Code
3글짜씩 인코딩 되어있는것을 이용해서 게싱과 손 브포로 충분히 풀수 있다.
플래그:FLAG{B4sE_64_Enc0d1Ng_TT}
FindMe!
처음에 파일 다운로드 경로가 잘못되어있어서 그 경로의 pwn을 misc로 고쳐서 다운로드 받았다.
파일을 다운로드하면 .dmp 파일이 나오는데 hex editor로 열어서 ctrl+f로 "FLAG{"를 검색하면 플래그가 나온다.
플래그:FLAG{0h_You_Find_IT_!_!}
ROOT_Process_1
immunity debugger로 열어서 분석을 해보면 이 프로그램은 지금 실행중인 프로세스들과 이 프로세스의 이름을 비교해서
맞으면 correct를 출력한다.그리고 중간에 20개 정도의 테이블이 있다.
위의 테이블들과 프로세스 이름을 xor하는 부분이있는데 이 부분을
nop으로 패치해버린후 실행하면
프로세스 이름이 Very_easy_Reversing!일때 correct가 출력된다.
다시 Very_easy_Reversing을 위의 테이블과 xor 하고 실행하면
이렇게 IL0veWInnnAp1236.exe.exe가 나온다.
여기서 뒤에 .exe를 제거해서 IL0veWInnnAp1236.exe가 프로세스 이름이 된다.
1 2 3 4 5 6 | arr="Very_easy_Reversing!" table=[31,41,66,15,58,50,40,29,23,49,19,21,71,87,65,69,71,11,31,68] flag="" for i in range(len(arr)): flag+=chr(ord(arr[i])^table[i]) print(flag) | cs |
즉 위 코드와 동일한 결과이다.
플래그:FLAG{IL0veWInnnAp1236.exe}
후기:포너블이나 웹문제들은 한 문제도 풀지 못하였고 리버싱도 1문제밖에 못푼게 아쉽다.
더욱 열심히 공부해서 다음번에는 더 좋은 순위를 얻고싶다.
'write up' 카테고리의 다른 글
19회 해킹캠프 rev 풀이(magic_number 추가) (0) | 2019.02.21 |
---|---|
제 1회 trust ctf write-up (0) | 2019.02.16 |
x-mas ctf Endless Christmas (0) | 2018.12.24 |
2018 OtterCTF Hopity Hop (2) | 2018.12.11 |
BSides Delhi CTF 2018 (0) | 2018.10.27 |