반응형

리버싱 62

[Root Me] ELF x86 - 0 protection - 리버싱 / IDA

Root Me에서 제공하는 첫번째 리버싱 문제 아무래도 첫번째 문제이기때문에 아주 쉽다.(배점도 5 point 밖에 안된다.) 제목도 참 정직하다. 문제파일로 ch1.bin 파일이 주어지는데 해당 파일을 HxD 프로그램을 이용해 열어보면 ELF 파일인것을 확인할 수 있다. 제목의 ELF 뒤에 오는 x86은 32bit 환경에서 동작하는 프로그램임을 알려주고, 0 protection은 말 그래도 아무런 보안조치도 되지 않은 프로그램 이라는 뜻이다. 리눅스 환경에서 file ch1.bin 명령어를 통해서도 확인할 수 있다. ELF 파일은 리눅스에서 실행 가능한 EXE 파일같은거라고 생각하면 된다. 실험삼아 ./ch1.bin 해서 프로그램을 실행시켜 봤다. Veuillez entrer le mot de pass..

워게임/Root Me 2022.06.16

[HouseplantCTF] SQUEEZY - 리버싱 / Python / Base64 / XOR

계속해서 이어지는 python 리버싱 문제 Ok this time, you aren't getting anywhere near anything 자꾸 쉬운 문제만 내면서 멘트는 엄청난 각오를 다지고 있는게 귀엽다. 주어지는 문제파일은 pass3.py 파일이다. 먼저 IDLE을 이용해 py파일을 한번 실행시켜 봤다. 역시나 이번에도 패턴은 똑같다. Enter the password: 라는 문구가 나오고, 123을 입력해봤더니 Incorrect password! 라는 문구가 나오면서 저번처럼 약올리는듯한 멘트를 출력한다. import base64 def checkpass(): userinput = input("Enter the password: ") key = "meownyameownyameownyameown..

CTF/리버싱 2022.06.15

[HouseplantCTF] LEMON - 리버싱 / Python

계속해서 이어지는 쉬운 파이썬 리버싱 문제 똑같은 패턴이다. 조금 더 secure한걸 만들었다고 한다. 하지만 역시나 아주 쉽게 플래그를 얻을 수 있다. 주어지는 문제파일은 pass2.py 파일이다. 먼저 IDLE을 이용해 py파일을 한번 실행시켜 봤다. Enter the password: 라는 문구가 나오고, 123을 입력해봤더니 Incorrect password! 라는 문구가 나온다. 그리고 나서 저번처럼 약올리는듯한 멘트를 출력한다. def checkpass(): userinput = input("Enter the password: ") if userinput[0:4] == "rtcp": if userinput[10:13] == "tHi": if userinput[22:25] == "cuR": if..

CTF/리버싱 2022.06.14

[HouseplantCTF] PZ - 리버싱 / Python

어려운 Java 리버싱 문제를 풀고 난 후 다시 머리를 식혀주는 쉬운 문제 문제 제목부터 PZ (EZ-PZ) 이다. (EZ : https://hackingstudypad.tistory.com/167) 문제 설명을 읽어보면 EZ 문제보다 조금 더 잘 만든거 같다고 아마 플래그를 얻지 못할것이라고 한다. 하지만 아주 쉽게 얻을 수 있다. EZ문제도 그렇고 이 문제도 그렇고 리버싱 이라기보다 그냥 틀린그림찾기 정도가 아닐까 싶다. 이번에도 역시 pass1.py 파일이 주어진다. IDLE을 이용해 py파일을 실행시켜 보았다. Enter the password: 라는 문구가 나오고, 123을 입력해봤더니 Incorrect password! 라는 문구가 나온다. 그다음 뭔가 은근 기분나쁜 느낌의 노래같은걸 출력한다..

CTF/리버싱 2022.06.12

[HouseplantCTF] Bendy - 리버싱 / Java

Java 리버싱 최종단계 문제 확실히 이전 두 문제(Fragile, Breakable) 보다 더 어렵다. 막 기술적으로 어렵다기보다 계산을 복잡하게 해서 머리가 아파진다. Fragile : https://hackingstudypad.tistory.com/163 Breakable : https://hackingstudypad.tistory.com/164 이번에도 역시 java 파일이 주어진다. import java.util.*; public class bendy { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); System.out.print("Enter flag: "); String userInput = ..

CTF/리버싱 2022.06.11

[HouseplantCTF] EZ - 리버싱 / Python / 주석

본격적으로 어려운 Java 리버싱 문제를 풀기 전 조금 머리를 식히는 느낌으로 나온 귀여운 문제이다. 사실 이 문제는 리버싱이라고 부르기도 좀 그렇다; 문제 설명을 읽어보면 password system을 만들어서 flag를 획득하지 못할 것이라고 한다. 문제 파일로 주어진건 pass0.py 파일이다. 시험삼아 윈도우 cmd창에서 해당 파일을 먼저 실행시켜 봤다. 그랬더니 무슨 사람 모양으로 특수문자들이 출력되는데, 맨 위쪽에 보면 플래그 같은것도 같이 출력되어 있다. rtcp{tH1s_i5_4_d3c0Y_fL4g_s0_DoNt_sUbm1T_1t!} 라고 적혀있는데 이걸 읽기 쉽게 다시 쓰자면 This is a decoy flag so Don't submit it! 이라고 적혀있는것이다. 한마디로 함정이다..

CTF/리버싱 2022.06.10

[HouseplantCTF] Breakable - 리버싱 / Java

두번째 리버싱 문제 어제 포스팅한 Fragile 문제보다 조금 더 어렵게 진화한 문제이다. Fragile : https://hackingstudypad.tistory.com/163 이번에도 역시 java 파일이 주어진다. import java.util.*; public class breakable { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); System.out.print("Enter flag: "); String userInput = scanner.next(); String input = userInput.substring("rtcp{".length(),userInput.length()-1); if..

CTF/리버싱 2022.06.07

[HouseplantCTF] Fragile - 리버싱 / Java

이번 대회의 리버싱 문제 중 가장 쉬웠던 문제이다. 처음엔 뭐 이렇게 쉽나 생각했는데 약간 함정이었던게 이 문제를 베이스로 해서 뒤로 갈 수록 더욱더 괴상한 문제들이 나왔었다. 철저한 빌드업이었던것.. 문제파일로는 fragile.java 파일이 주어진다. import java.util.*; public class fragile { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); System.out.print("Enter flag: "); String userInput = scanner.next(); String input = userInput.substring("rtcp{".length(),userInpu..

CTF/리버싱 2022.06.06

[UMDCTF] Twilight Zone - 리버싱 / dnSpy

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

CTF/리버싱 2022.05.11

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

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

CTF/리버싱 2022.05.03
반응형