반응형

CTF 362

[EZCTF] OMG - 암호학 / Linux

특이했던 암호학 문제 사실 이 문제는 대회에서 암호학으로 분류되어 있긴 했지만 MISC(기타등등)에 더 어울리는 것 같다. 문제 설명도 읽어보면 귀여운데 이 문제에 대해서 죄송하고, 나 자신도 이거 만드는데 짜증났다고 적혀있다. 실제로 보면 조금 당황스럽긴 한 문제다. 문제 파일로 OMG 라는 이름의 바이너리 파일이 주어진다. Notepad++ 라는 도구를 이용해서 해당 파일을 열어보면 그냥 OMG 라는 단어가 수백개 써있는 모습이 보인다. (Notepad++는 다양한 기능이 내장되어 있는 성능 좋은 메모장이다.) 그런데 자세히 보면 OMG 단어가 무작위 하게 적혀 있는게 아니라 어떤 규칙이나 패턴이 있는것 처럼 보인다. 리눅스 환경에서 보면 조금 다르지 않을까 싶어서 OMG 파일을 칼리 리눅스로 복사한..

CTF/암호학 2022.05.19

[EZCTF] I made a blog! - 웹해킹 / LFI / PHP wrapper

LFI 취약점을 이용한 웹해킹 문제였다. 문제 소스는 별도로 주어지지 않고 문제페이지 주소만 주어진다. 문제 페이지에 접속해보면 이런 블로그가 나온다. 취약점이 발생하는 부분은 Blog 페이지이다. Blog 페이지에 가보면 위에 보이는거 처럼 게시글이 3개 저장되어 있다. 첫번째 게시글을 클릭한 뒤에 URL을 확인해 본다. ez.ctf.cafe:9999/blog-posts.php?file=blog1.html 이렇게 적혀있는데 URL에서 ? 뒤에오는 부분은 변수 라고 생각하면 된다. blog-posts.php 페이지에서는 file이라는 변수를 선언하고, 그 변수에 blog1.html 페이지를 담아서(불러와서) 사용자에게 보여주는 것이다. 이런식으로 웹 페이지를 구현할 경우, PHP 환경에서 include(..

CTF/웹해킹 2022.05.17

[EZCTF] Mario bros! - 포너블 / Bash / Pipe

이번 대회는 대회 이름(EZCTF) 처럼 아주 쉬운 문제들로 구성된 대회였다. 그중 가장 쉬웠던 포너블 문제 슈퍼마리오 컨셉으로 만들어진 문제였다. 바이너리 파일은 따로 주어지지 않고 서버에 원격 접속할 수 있는 주소와 포트만 주어져 있다. 리눅스 환경에서 nc 명령어를 이용해서 원격 접속을 할 수 있다. 원격으로 접속하면 Are you root? 라고 물어보는데 시험삼아 yes 라고 입력했더니 내가 입력한 yes를 그대로 다시 echo 해주고, lol ur not root! 라는 문자열을 출력시킨다. 어떻게 풀어야 하나 고민하다가, 문제 제목을 보고 느낌이 팍 왔다. 슈퍼마리오를 한번이라도 플레이해본 사람은 이게 뭔지 알거다. 슈퍼마리오가 맵을 이동할 때 쓰는 파이프인데, 리눅스에서도 똑같이 파이프가 ..

CTF/포너블 2022.05.16

[angstromCTF] crumbs - 웹해킹 / Requests

이번에 두번째로 참가해본 angstromCTF 시간이 없어서 딱 두 문제만 풀었다. 난이도도 그렇고 컨셉도 재미있는 대회인데 아쉽다. 두번째로 쉬웠던 웹해킹 문제이다. 문제 설명에 Follow the crumbs 라고 적혀있는데 crumbs 는 부스러기 라는 뜻이다. 웬지 헨젤과 그레텔이 생각나는 문제였다. 역시나 별 다른 소스없이 문제 페이지 주소만 주어진다. 문제 페이지에 접속하면 아무것도 없고 딱 저렇게만 나온다. Go to ~~~~ 라고 적혀있는데, 저걸 URL에 그대로 쳐봤다. URL에 쳐보니 또다시 Go to ~~~ 라고 이번엔 다른 문자열들이 나온다. 문제 제목인 crumbs 처럼, 헨젤과 그레텔의 빵 부스러기처럼 저 주소를 계속 따라가야하는듯 하다. 한번 더 테스트해봤는데 역시나 또다시 G..

CTF/웹해킹 2022.05.15

[angstromCTF] The Flash - 웹해킹 / 자바스크립트

이번에 두번째로 참가해본 angstromCTF 시간이 없어서 딱 두 문제만 풀었다. 난이도도 그렇고 컨셉도 재미있는 대회인데 아쉽다. The Flash는 가장 쉬웠던 웹해킹 문제이다. 저스티스리그의 플래시를 컨셉으로 만들었고, 소스없이 문제페이지 주소만 주어진다. 문제 페이지에 접속하면 이런 화면이 나온다. 순간적으로 플래그가 나왔다가 this_is_not_the_flag! 라는 문구로 바뀐다. 이게 동영상으로 봐서 조금 느려보이는데 실제 환경에선 엄청나게 빨라서 자세히 안보면 글자가 바뀐지도 모른다 이런 문제는 f12를 눌러서 개발자도구를 이용해 풀 수 있다. 개발자도구의 '소스' 탭에 들어가보면 웹 소스를 확인할 수 있다. flash.js 파일이 보이는데 순간적으로 플래그를 출력시키는 부분을 난독화해..

CTF/웹해킹 2022.05.14

[UMDCTF] Sensitive - 포렌식 / PDF / Python

포렌식 문제 특별한 설명 없이 sensitive 라는 바이너리 파일 하나만 주어진다. 문제 파일인 sensitive 파일이다. 확장자도 없는 그냥 바이너리 파일같아 보이는데 HxD 프로그램으로 열어보면 PDF 파일인걸 바로 알 수 있다. 자세히보면 보통 PDF 파일과 조금 달라 보이는데 파일을 구성하는 모든 문자열 사이에 스페이스(\x20)가 들어가 있는걸 볼 수 있다. 참고로 일반적인 PDF 파일은 이렇게 생겼다. 여기서 모든 문자 사이에 스페이스바를 눌러 넣은 것이다. 이런 문제는 아주 간단하게 PDF 파일을 열어서 눌러진 스페이스바를 다 없애주면 된다. f1 = open('sensitive', 'rb') read = f1.read()[::2] f2 = open('output.pdf', 'wb') f..

CTF/포렌식 2022.05.12

[UMDCTF] Twilight Zone - 리버싱 / dnSpy

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

CTF/리버싱 2022.05.11

[UMDCTF] Cool Coin - 포렌식 / 스테가노그래피 / Zsteg

간단한 스테가노그래피 문제였다. CoolCoin.png 라는 이름의 png 파일이 하나 주어진다. CoolCoin.png를 열어보면 이런 사진이 나온다. 참고로 코인에 그려진 사람은 에라토스테네스이다. 교과서에서 지구 둘레를 최초로 계산한 사람 또는 에라토스테네스의 체를 이용해 소수를 찾아내는 방법을 고안한 사람으로 나오는 고대 그리스의 수학자이다. 스테가노그래피 문제에서 PNG나 BMP 파일이 주어질 경우 유용하게 쓸 수 있는게 zsteg 라는 도구이다. sudo gem install zsteg 명령어로 다운로드 받을 수 있다. zsteg -a CoolCoin.png 이렇게 -a 옵션을 줘서 zsteg를 실행시키면 가능한 모든 경우의 수를 테스트 해준다. 여러가지 경우의 수 중 하나에서 플래그가 출력되..

CTF/포렌식 2022.05.10

[UMDCTF] Fragile Foundations - 암호학 / Base64

쉬웠던 암호학 문제 제목이 Fragile Foundations 인데 Foundation 이라는 단어가 '기초' 라는 의미가 있기 때문에 아마도 말장난처럼 Base64 인코딩을 사용하지 않았을까 추측했다. 문제파일로 ciphertext 라는 바이너리 파일이 주어진다. 해당 파일을 notepad++로 열어보면 이런 내용이 들어있다. 알파벳 대소문자 + 숫자로 이루어진걸 보니 Base64로 인코딩된게 맞는거 같다. 확실한건 맨 끝을 보면 되는데 맨 끝에 == 으로 끝나면 Base64로 인코딩된 것이다. 참고로 이 파일은 txt 파일 치고 용량이 꽤 된다. CyberChef(https://gchq.github.io/CyberChef)에서 Base64를 쉽게 디코딩 할 수 있다. ciphertext 파일을 Inp..

CTF/암호학 2022.05.08

[UMDCTF] Colors - 포렌식 / 스테가노그래피 / Stegcracker

스테가노그래피 문제 적당한 툴만 사용할 줄 알면 아주 쉬운문제였는데 조금 해맸다. 문제파일로 colors.jpg 파일이 주어지는데 해당 파일을 열어보면 이렇게 생겼다. 이 문제를 풀기전에 https://hackingstudypad.tistory.com/125 [UMDCTF] Padme Twice - 포렌식 / 스테가노그래피 / PIL 재미있는 문제였다. 실제 대회에서는 Crypto로 분류된 문제였으나 뭔가 포렌식적인 요소가 있는거 같아서 포렌식으로 분류를 해봤다. 사실 이런 문제들은 코에 걸면 코걸이 귀에 걸면 귀걸이다. hackingstudypad.tistory.com 요문제를 먼저 풀었는데 주어진 이미지 생긴게 비슷해서 저거 풀이했던것처럼 이것저것 해보다가 시간을 많이 날렸다.. 보통 이런 이미지파일..

CTF/포렌식 2022.05.07
반응형