CTF 10

[DEF CON CTF Qualifier 2023] Live CTF : Test Your Luck

64비트 기반이고 실행파일의 보호기법은 PIE와 ssp가 걸려있습니다. 특이한점은 메모리 내에 rwx 권한이 있다는것입니다. 이 권한이 있는것을 보니 쉘코드를 활용하는 문제인것으로 유추할수 있을것같은데 한번 실행시켜보면 처음에 알수없는값이 출력되고 값을 입력해보면 세그폴트가 나타납니다. 도데체 무슨 프로그램인지 알아내기위해 IDA로 분석해보면 main함수는 다음과 같습니다. 처음에는 입력을 받은뒤 입력값이 전역변수값과 같으면 Correct! 라는 메세지를 출력하고 아니면 Incorrect 라는 메세지를 출력하는데 사용되는 전역변수의 값이 어디서 초기화되는지 살펴보면 위와 같이 랜덤값을 뽑아서 다른 변수들과 연산을 거친값의 결과입니다. 그러므로 당장 랜덤함수를 뚫을만한 방법은 보이지 않습니다. 그런데 아무..

CTF 2023.06.02

[DEF CON CTF Qualifier 2023] Live CTF : What a maze meant

주말에 BoB 자소서를 쓰다가 선배님이 데프콘 예선을 뛰고 있다고 연락이 왔습니다. 그래서 부럽다는 생각을 하고있었는데, 선배님이 데프콘 예선은 누구나 참가할수있다고 하셔서 저는 우선 데프콘 예선 문제들은 어느정도 수준일지 궁금하기도 하고 곧있으면 국내 메이저 CTF가 시작하기도 해서, 저의 버킷리스트중 하나인 데프콘 본선 진출해보기를 이루기 위한 경험을 쌓기 위해서 한번 참가해봤습니다. 문제들을 둘러보니 역시나 데프콘 답게 예선인데도 불구하고 문제들 수준이 왠만한 메이저 대회 본선급으로 난이도가 미쳐 날뛰고 있었습니다. 데프콘을 처음 경험해봐서 문제 시스템도 생소하기도 해서 뭐라도 푸는것이 불가능한가 싶었는데 데프콘 예선에서 Live CTF를 연습할수 있는 문제들이 나온다는것을 보고 예전부터 한번 풀어..

CTF 2023.05.31

2023 TAMUctf write-up

PWN 1. inspector-gadget 이 문제를 분석해보면 나오는 취약점은 pwnme 함수에 있습니다. read 함수에서 buf크기 이상의 값을 버퍼에 입력받기 때문에 BOF가 발생합니다. 프로그램에는 NX보호기법이 적용되어 있으므로 ROP를 시도해볼수 있습니다. 이 프로그램을 익스플로잇 하기위해서는 원가젯을 사용하거나 system함수를 사용해야하므로 먼저 libc base 를 leak하고나서 pwnme 함수로 다시 리턴한뒤 이 값을 기반으로 system함수를 호출해서 쉘을 따는 방식으로 익스플로잇 했습니다. 주의해야할건, system 함수를 사용해서 쉘을 따므로 rsp 16바이트로 정렬되어있어야 하는데 제가 작성했던 이전 페이로드는 16바이트로 정렬이 되지 않아서 익스플로잇에 실패했었습니다. 그러..

CTF 2023.05.15

[2023 root access CTF] write-up

PWN secret 이 문제의 바이너리를 확인해보면 64비트기반에 부분적인 RELRO와 NX 보호기법이 적용되어 있습니다. IDA로 정적분석을 해보면 다음과같은 main함수와 flag함수가 정의되어 있습니다. 처음에는 서버에서 동작하는 ELF에는 플래그값이 그대로 있는줄알고 이 flag함수로 리턴하기위해 가젯을 구성해봤지만, 서버에서도 똑같은 페이크 플래그를 출력했습니다. 그 다음으로는 적용되어있는 보호기법들을 고려해서 ROP공격을 시도해봤지만 rdx값이 비정상적으로 높게 설정되어있어서 실패했습니다. 그래서 ret2csu라고하는 기법으로 rdx도 컨트롤하려고 했지만, 입력받는 길이에 비해서 페이로드가 너무 길어지기 때문에 실패했습니다. 그래서 어떤방법이 있을지 자세히 분석해봤는데, 처음에 buf포인터가 ..

CTF 2023.05.02

[2023 FooBar CTF] Write-up

ctftime에 올라온 대회들 중에서 처음 참가해보는 대회입니다. 팀 이름은 동아리 이름인 Secumaster 이지만 정작 참가한건 저 혼자네요. 2번째 암호학 문제만 풀었으면 2위를 기록할수 있었는데, 아쉽게도 대회가 끝나고나서야 풀이법을 떠올려버렸습니다... 2위를 못해서 Offsec 강의를 못받는건 아쉽긴 해도 수상권인 3위에 들어간것에 만족합니다. 문제 리스트 misc con-string-cat list-dir-list locked-out pwn i-hate-garbages sos rev iron Formless web inspect crypto Pixelite funwithrandom-1 con-string-cat 이 문제는 파이썬의 포맷스트링 에 대한 취약점을 찾는것이 목표입니다. 저는 off..

CTF 2023.03.14

2022 Hacking Land CTF write-up

7월 30일경에 별생각 없이 유튜브를 들어가보니 노말틱님의 유튜브에서 자체적인 CTF를 개최한다는 영상을 봤습니다. 마침 저의 실력이 어느정도인지 궁금하기도 했고, 한번 이런 CTF도 나가보고 싶었어서 초보자인 저로서는 굉장히 혹한 대회였습니다. 그래서 카페에 가입하고나서 등록을 해서 CTF를 참가하게 되었습니다. 순위권에 들수 있으면 좋겠다는 생각은 했지만 운좋게도 제가 순위권에 들고말았습니다. 비록 작은 대회이지만 첫 CTF에서 순위권에 들수 있었던 것이 좋은 경험이었던것 같습니다. Web 1. Pac-man 사이트에 들어가보면 평범한 팩맨 게임을 할 수 있는 사이트로 보입니다. F12 키가 안먹기 때문에 우클릭을 해준뒤 개발자도구를 열어서 분석을 진행했습니다. 웹사이트의 소스를 살펴보면 /stati..

CTF 2022.08.01

[Reversing] Baby_Keylogger

이번 문제는 어디선가 얻은 리버싱 문제입니다. 주어진 파일은 키로거 프로그램과 플래그파일입니다. 먼저 플래그파일을 열어보면 플래그가 다음과 같은 형식으로 길게 나열되어있습니다. 이제 한번 프로그램을 실행시켜보면 다음과 같은 메세지와 함께 프로그램이 실행되지 않습니다. dll 파일이 누락되어서 그런거 같은데 일단 동적분석은 제쳐놓고 exeinfope 로 한번 열어보겠습니다. 64비트 기반 실행파일이고 gcc를 통해서 컴파일된 프로그램으로 보입니다. 별다른 패킹은 없으므로 바로 IDA로 분석을 진행해보겠습니다. 함수 목록을 쭉 살펴보면 다음과 같이 이름이 잘 나와있습니다. 하나하나 확인해보면 fake_flag 함수와 encrypt_text 함수를 제외하곤 기본적으로 키로거를 구성하는 함수들이란것을 알수 있습..

CTF 2022.07.09

[Forensic] Baby_RSA writeup

이번 문제는 네트워크 포렌식 문제입니다. 문제파일을 보면 pcapng 파일과 txt파일이 주어집니다. pcapng 파일은 패킷 파일일 것이고 txt파일은 열어보면 다음과 같이 RSA 암호화에 쓰인 n값과 e값이 있습니다. 이 값을 이용해서 포렌식을 통해 얻은 암호화된 데이터를 복호화할때 써야 할것입니다. 먼저 패킷을 열어보면 이렇게 되있습니다. 먼저 Conversations를 열어보면 TCP, UDP 등이 보입니다. 먼저 TCP를 살펴보면 전부다 http 포트로 통신한것이므로, 그다지 수상한 패킷은 보이지 않습니다. 그다음으로 UDP를 살펴보면 이 부분에 수상한 패킷이 하나 보입니다. 이 패킷을 Follow Stream ... 해보면 다음과 같은 수상한 값이 나옵니다. 이 패킷 이외의 패킷에는 별다른 이..

CTF 2022.05.11
728x90