티스토리 뷰

write up

제 2회 rootctf

slyfizz 2018. 12. 26. 15:25


제 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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함