반응형

워게임 270

[Root Me] WAV - Noise analysis - 포렌식 / Audacity

Root Me 에서 제공하는 쉬운 난이도의 스테가노그래피 문제 문제에서 제공되는 것은 ch3.wav 파일이다. 해당 파일을 재생해보면 삐리삐리빅 하면서 이상한 알 수 없는 소음이 들린다. 사실 이 문제는 스펙토그램 같이 wav 파일 스테가노그래피 같은 형태가 아니라 단순히 wav 파일 속도와 재생방향만 조작하면 해결할 수 있다. https://twistedwave.com/online TwistedWave Online Audio Editor TwistedWave is a browser-based audio editor. You only need a web browser to access it, and you can use it to record or edit any audio file. twistedwav..

워게임/Root Me 2023.11.25

[247CTF] THE SECRET LOCK - 리버싱 / Python

247CTF 에서 제공하는 MODERATE 난이도의 리버싱 문제 문제에서 주어지는 것은 The Secret Lock.html 파일이다. 문제에서 주어진 HTML 파일을 실행시켜 보면 이런 화면이 나온다.. 번호 40개짜리 자물쇠인데 각 번호는 0부터 500까지 구성되어 있다. 자전거 자물쇠처럼 돌려서 맞춰야 하는건데 일단 확률부터 말도 안되고, 실제로 돌려볼려해도 너무 느려서 이번생 안에는 도저히 못한다. F12를 눌러 개발자도구를 열어 Javascript 코드를 보니 플래그를 검증하는 듯한 부분이 보였다. 해당 부분을 깔끔하게 보이게 정리해보니 이런 형태였다... 무려 120줄이다. 이 어마어마한 연립방정식을 풀어야 플래그를 찾을 수 있는데 마치 수능을 다시보는 기분이었다. from z3 import ..

워게임/247CTF 2023.11.21

[Root Me] AES - ECB - 암호학 / Mysql

Root Me 에서 제공하는 AES 알고리즘과 관련된 암호학 문제 웃긴게 AES를 몰라도 풀 수 있는 문제이다. 문제에서 주어지는 것은 mylogin.cnf 파일이다. HxD 같은걸로 열어보면 안에는 알 수 없는 데이터들이 저장되어 있는데 아마 이 데이터들이 AES - ECB 로 암호화 되어있기 때문일 것이다. 이걸 어떻게 해독하냐는 것인데 구글에 Decrypt mylogin.cnf 라고 검색해보면 아주 쉽게 방법을 찾을 수 있다. mylong.cnf 파일이 Mysql DBMS에서 자격증명을 저장할때 사용하는 설정파일인듯 하다. 그래서 이미 Decrypt 할 수 있는 코드가 공개되어 있었다. https://github.com/isotopp/mysql-config-coder GitHub - isotopp/..

워게임/Root Me 2023.11.17

[Root Me] Twitter Secret Messages - 암호학 / homoglyphs

Root Me에서 제공하는 간단하고 재밌는 암호학 문제 문제 설명을 보면 어떤 트윗이 약속장소를 숨기고 있는것 처럼 보인다고 한다. Choose a jοb yоu lονe, and you wіll never have tο work a day in yοur lіfe. 이게 문제에서 제공된 트윗인데 딱 봐도 뭔가 이질감이 드느게 몇몇 글자들이 크기가 조금 다른것을 볼 수 있다. 문제 제목아래 써있는 homoglyph 를 검색해 봤는데 동형문자라고 한다. 간단하게 똑같이 생겼는데 다른 문자라고 이해하면 되는것 같다. 그래서 처음에는 저 트윗에 있는 이질감이 드는 문자들이 모두 동형문자이고, 이것들을 모으면 숨겨진 장소가 나오는줄 알았다. https://holloway.nz/steg/ Twitter Secret..

워게임/Root Me 2023.11.13

[Root Me] Transposition - Rail Fence - 암호학

Root Me 에서 제공하는 암호학 문제 아주 간단한 문제인데 생각보다 풀이수가 작고 난이도도 노란색으로 표시되어 있다. 문제 설명을 보면 적으로부터 획득한 암호문을 해독해야 하는 상황인듯 하다. 문제에서 제공된 링크로 들어가면 이렇게 간단한 문장 하나면 적혀있다. 그냥 봐선 이게 영언지 뭔지 도무지 알 수 없는 문장이다. Wnb.r.ietoeh Fo"lKutrts"znl cc hi ee ekOtggsnkidy hini cna neea civo lh 문제 설명에서 힌트를 준것처럼 이 문장은 Rail Fence Cipher 로 암호화 된 것이다. CyberChef(https://gchq.github.io/CyberChef) 에 가면 Rail Fence Cipher 를 디코딩 해주는 레시피가 있다. 처음에 ..

워게임/Root Me 2023.11.09

[Root Me] System - Android lock pattern - 암호학 / Python

Root Me 에서 제공하는 암호학 문제 이번 문제는 안드로이드 패턴과 관련된 문제이다. 문제에서 제공되는 것은 ch17.tbz2 파일이다. 해당 파일을 압축 풀고 들어가보면 이런 파일과 폴더들이 보이는데 안드로이드 시스템 파일과 폴더들인것 같다. 안드로이드 패턴을 푸는것이 목표이니 여기 어딘가에 패턴에 관련된 정보가 저장되어 있을 것이다. 해당 파일을 찾는것은 검색해보면 어렵지 않다. 버전마다 다를순 있겠지만 /data/system/ 경로에서 gesture.key 파일을 찾으면 된다. 바로 그냥 상위디렉토리에서 find 돌려도 된다. https://github.com/sch3m4/androidpatternlock/tree/master GitHub - sch3m4/androidpatternlock: A ..

워게임/Root Me 2023.11.05

[247CTF] THE WEB SHELL - 포렌식 / Wireshark / Tshark

247CTF 에서 제공하는 MODERATE 난이도의 네트워크 포렌식 문제 문제에서는 web_shell.pcap 파일이 주어진다. 해당 파일을 Wireshark 로 열어보면 특정 웹 서버에 대해서 brute force 하는 듯한 흔적을 찾을 수 있다. uri 를 계속 바꿔가면서 GET 요청을 보내는데, 돌아오는 응답은 모두 404 인것이 보인다. 쭉 내려보다가 /uploader.php 경로에서 200 OK 가 떨어진걸 확인할 수 있었다. 200 OK를 확인한 후 POST 패킷을 이용해 어떤 데이터를 보내고 있다. 해당 패킷을 우클릭 - Follow - HTTP Stream 을 해보니 뭔가 난독화된 PHP 코드를 전송하고 있는데 자세히 보면 그렇게 어렵지 않다. 보기 쉽게 쓰면 위와 같은데 먼저 str_re..

워게임/247CTF 2023.10.28

[247CTF] HIDDEN PAINTING - MISC / Pygame

247CTF 에서 제공하는 EASY 난이도의 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제 설명을 보면 플래그가 그림으로 그렸는데, 점들을 이어서 찾을 수 있냐고 물어본다. 어릴때 많이 했던 점선잇기 같은 느낌이다. 문제에서 주어지는 것은 secret_map.txt 파일이다. 16진수가 두개씩 적혀있는데 map 이라는걸 보니 이어야 할 점들의 좌표인듯 하다. python을 이용해 그림을 그려본다. import pygame def main(): pygame.init() background = pygame.display.set_mode((2700, 200)) while True: ev = pygame.event.poll() if ev.type =..

워게임/247CTF 2023.10.24

[247CTF] TRY AND CATCH - MISC / Python

247CTF 에서 제공하는 EASY 난이도의 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제페이지로 접속하면 Python flask 코드가 나온다. 웹으로 간단한 계산기를 구현한듯 한데 /calculator 경로에서 number_1, number_2 파라미터에 각각 숫자를, operation 파라미터에 연산자를 넣으면 결과를 출력해주는것 같다. 이렇게 1+2를 넣으면 3으로 결과를 출력해준다. 제목이 Try and catch 인걸로 보아 뭔가 오류를 내야할 것 같은데 아주 쉽게 오류를 낼 수 있는 방법이 있다. 바로 0으로 나누는 것이다. 예외처리가 되어있지 않아 이렇게 바로 오류가 난다. debug 모드가 활성화되어 있는지 디버그 화면으로 넘..

워게임/247CTF 2023.10.20

[247CTF] FORGOTTEN FILE POINTER - 웹해킹 / PHP / LFI

247CTF 에서 제공하는 MODERATE 난이도의 WEB 문제 문제 페이지에 접속하면 이런 화면이 나온다. PHP 코드가 보여지는데 내용을 보면 /tmp/flag.txt 파일에 플래그가 있다는것을 알 수 있다. GET 메소드로 include 파라미터가 있어야하고, include 인자의 길이가 10 이하여야 include 함수로 서버 내부 파일을 읽어올 수 있는듯 하다. 10글자 길이제한이 없다면 단순히 URL 에 ?include=/tmp/flag.txt 를 추가하면 되겠지만 10글자 제한 때문에 안된다. https://bugs.php.net/bug.php?id=53465 PHP :: Bug #53465 :: Cannot open file descriptor streams bugs.php.net 조금 찾..

워게임/247CTF 2023.10.16
반응형