반응형

CTF 604

[Root Me] EXIF - Metadata - 포렌식 / 스테가노그래피 / Exiftool

Root Me의 포렌식 문제 문제 배점도 낮고 앞쪽에 있는데 왜이렇게 풀이수가 낮을까 봤더니 올해 3월에 새로 추가된 따끈따끈한 문제였다. 문제 설명을 읽어보면 pepo를 잃어버렸는데 어디있는지 찾을 수 있냐고 물어본다. 비밀번호를 pepo가 있는 도시 이름이라고 한다. 그러면서 주어지는 문제파일은 위 파일이다. 밈으로 익숙한 개구리 페페 사진이 있다. 문제풀때 Guessing은 하지 말라는 문구도 같이 적혀있다. 문제 제목에도 써있지만 이 문제는 EXIF 메타데이터를 이용해서 풀면 된다. EXIF는 Exchangeable Image File Format 의 약자로 디지털 카메라에서 사용되는 메타데이터 포멧이다. 디카로 사진을 찍으면 그안에 날짜, 시간, 카메라 제조사, 위치 등등의 정보가 같이 저장되는..

워게임/Root Me 2022.07.25

[CTFlearn] Base 2 2 the 6 - 암호학 / Base64

CTFlearn의 여섯번째 문제 풀이수가 생각보다 적지만 사실 풀이가 필요없을만큼 쉬운 문제이다. 분류가 암호학으로 되어있긴 한데 사실 이 문제는 암호 보다는 인코딩과 관련된 문제이다. 암호와 인코딩 둘다 원래 데이터를 다른 데이터로 바꾸지만, 암호에는 Key 값이 사용된다는 특징이 있다. 여기서는 Key가 필요없으니 그냥 인코딩-디코딩 이라고 생각하면 된다. Q1RGe0ZsYWdneVdhZ2d5UmFnZ3l9 간단하게 문제에서 주어진 이 문자열을 디코딩 하면 된다. 문제 제목으로 유추해 볼 수 있는것처럼 이건 Base64로 인코딩된 값이다. 이러고 바로 디코딩 해버리면 포스팅이 너무 짧아지니, 간단하게 원리를 정리하고 넘어가본다. abc 라는 단어가 있다. ASCII 코드로 각각 a는 97, b는 98..

워게임/CTFlearn 2022.07.24

[ImaginaryCTF] journey - OSINT / Google Map

OSINT 문제 OSINT는 Open Source Intelligence 의 약자로 공개출처정보라는 뜻이다. 말 그대로 공개된 출처에서 얻은 정보들을 의미한다. 해킹대회에서는 구글이나 네이버 검색처럼 누구나 쉽게 접근해서 얻을수 있는 정보들을 이용해서 의미있는 새로은 정보를 만들어내거나 알아내는 방식으로 진행된다. 뭔가 이런 유형의 문제들은 풀때 형사가 된 것 같은 기분이다. 문제 설명을 읽어보면 Max49 라는 사람이 여행을 갔는데 여기가 어딘지 알아낼 수 있냐고 물어본다. 그러면서 주어진 사진이 바로 이 사진이다. 모자이크 처리된 부분이 아마 Max49 인것같다. 일단 사진에 보이는 텍스트로 범위를 조금씩 좁혀나가기로 했다. 일단 가장 먼저 눈에 띈 것은 왼쪽에 있는 이 표지판이다. 오른쪽에도 비슷한..

CTF/MISC 2022.07.23

[ImaginaryCTF] ret2win - 포너블 / 버퍼오버플로우

오랜만에 써보는 포너블 문제 포너블은 왠지 모르게 손이 잘 안가는거 같다.. 어려워서 그런가.. 이번 문제는 간단해서 쉽게 풀었다. 문제파일로 바이너리 파일인 vuln과 소스코드인 vuln.c 파일이 주어진다. 그리고 실제 접속해서 문제를 풀어야 하는 문제서버 주소(ret2win.chal.imaginaryctf.org 1337) 도 같이 주어진다. 우선 어떤 프로그램인지 테스트 해보기 위해 문제 서버에 한번 접속해봤다. 접속하면 Can you overwrite the return address? 라고 하면서 사용자의 입력을 받는다. aaaa 라고 시험삼아 입력해봤는데, 별다른 반응없이 retrun 주소를 출력하면서 프로그램이 종료된다. #include #include int win() { FILE *fp..

CTF/포너블 2022.07.22

[Root Me] PHP - register globals - 웹해킹 / 백업파일

PHP register globals 와 관련된 웹해킹 문제 register globals 는 php 설정파일인 php.ini 파일에 있는 옵션 중 하나인데 이 값이 만약 on 으로 설정되어 있을경우, 외부에서 GET 이나 POST로 전달된 값들이 자동으로 php 변수로 바뀌게 된다. 문제 설명에 힌트가 살짝 적혀있다. 개발자들은 종종 백업파일을 남겨놓는다고 한다. 문제페이지에 접속하면 이렇게 비밀번호 입력하는 창이 나온다. 개발자가 남겨둔 백업파일을 먼저 찾아본다. 보통 백업파일은 파일명 뒤에 .bak 이런식으로 저장하는 경우가 많다. 주소창 맨 뒤에 index.php.bak 이라고 입력해보면 이렇게 백업파일이 자동으로 다운로드 된다. 아이콘은 한글파일인데 무시해도 된다.

워게임/Root Me 2022.07.20

[Root Me] PHP - Filters - 웹해킹 / LFI / PHP wrapper

PHP Filters 와 관련된 웹해킹 문제 이전에도 실제 대회에서 비슷한 문제를 다뤄본 적이 있다. (https://hackingstudypad.tistory.com/143) 문제의 목표는 admin의 비밀번호를 알아내는 것이다. 문제 페이지에 처음 접속하면 이런 화면이 나온다. 페이지 기능을 살펴보기 위해 일단 눈에 보이는 버튼을 눌러봤다. home 버튼을 눌렀더니 URL에서 inc 변수로 accueil.php 페이지를 불러오는걸 볼 수 있었다. 두번째로 login 버튼을 눌러봤더니 이번에도 URL에서 inc 변수로 login.php 페이지를 불러오고 있었다. inc 변수가 핵심인거 같아서 이번엔 inc 변수에 임의로 hello 라고 적어보았다. 그랬더니 에러가 나는데, 에러 내용을 살펴보면 서버에서..

워게임/Root Me 2022.07.18

[CTFlearn] Where Can My Robot Go? - 웹해킹 / robots.txt

CTFlearn의 다섯번째 문제 드디어 풀이수가 2만명 이하로 떨어졌다. 출제자는 문제를 MISC로 분류했지만(Miscellaneous) 굳이 따지자면 웹해킹이랑 관련있는거 같아 웹해킹으로 포스팅을 적는다. 이 문제는 제목이랑 설명에서 부터 큰 힌트가 있다. Where Can My Robot Go? Where do robots find what pages are on a website? 아마 티스토리 하시는 분들이라면 익숙한 단어일 것이다. 이 문제는 robots.txt 를 이용해 푸는 문제이다. 네이버 서치어드바이저에 있는 바로 그 robots.txt이다. robots.txt는 로봇 배제 표준이라고 해서 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 일종의 규약이다. 검색엔진들이 내 웹페이지를 마구마..

워게임/CTFlearn 2022.07.17

[TenableCTF] The One with a Lot of Cats - 포렌식 / FTK Imager

간단한 포렌식 문제이다. 문제에 그 어떤 설명도 없다. 문제파일로 주어지는것은 ctf.img 파일이다. .img 확장자를 가지는 파일은 흔히 생각하는 그림파일의 그 이미지가 아니다. 이건 디스크 이미징 파일로 하드디스크 같은 저장매체를 그대로 덤프뜬 파일을 말한다. 실제로 파일 아이콘을 보면 저렇게 CD 모양이 가운데 있는것을 볼 수 있다. 이런 이미지 파일들은 FTK Imager 라는 도구를 이용해 열어볼 수 있다. FTK Imager 를 실행시킨 후 Add Evidencd Item 버튼을 눌러 Image File을 선택해준다. Select File에서 문제에서 주어진 ctf.img 파일을 선택해주고 Finish 버튼을 눌러주면 된다. 그럼 이렇게 이미지 파일이 로드되면서 ext4 파일시스템을 사용하는..

CTF/포렌식 2022.07.16

[Root Me] PHP - assert() - 웹해킹 / Command Injection

PHP의 assert() 함수와 관련된 웹해킹 문제 assert() 함수는 프로그래머가 예상치 못한 예외처리를 하기 위해서 사용되는 함수이다. 이번 문제에서는 assert() 함수의 취약점을 이용해 .passwd 파일의 내용을 읽으면 된다. 문제페이지에 접속했을때 화면이다. 비밀이 어디있는지 못찾을것이라며 사악한 웃음을 짓고있다.. 메뉴처럼 생긴 Home, About, Contact 버튼을 각각 눌러보면 URL이 누를때마다 바뀌는 것을 볼 수 있다. URL에서 ? 뒤에오는것은 변수라고 생각하면 된다. 문제페이지에서는 page 변수에 각각의 페이지 이름을 담아서 페이지를 불러오고 있다. 보통 이렇게 page 를 변수로 받아오는 환경에서 LFI(Local File Inclusion) 취약점이 발생한다. 그래..

워게임/Root Me 2022.07.14

[CTFlearn] Taking LS - 포렌식 / Linux / 숨김파일

두번째 포렌식 문제 아직까진 2만명이나 푼걸보니 할만한것 같다. 문제 제목으로 보아 뭔가 리눅스의 ls 명령어와 관련된 문제인듯 하다. 문제 설명을 읽어보면 zip 파일을 받아서 숨겨져 있는 플래그를 찾으면 된다고 한다. 문제에서 주어진 링크로 들어가면 The Flag.zip 파일을 받을 수 있다. 리눅스 환경에서 zip 파일 압축을 풀어보면 이렇게 The Flag 폴더 안에 __MAXOSX 폴더와 The Flag 폴더가 있는것을 볼 수 있다. The Flag 폴더로 들어가보면 The Flag.pdf 파일이 있는것이 보이는데 pdf 파일을 열려고 하면 이렇게 비밀번호가 걸려있어 내용을 볼 수가 없다. 이번엔 터미널을 실행시켜서 확인해본다. The Flag/The Flag 경로로 접근해서 ls 명령어를 입..

워게임/CTFlearn 2022.07.13
반응형