반응형

해킹대회 617

[HackTheBox] Impossible Password - 리버싱 / IDA

HackTheBox 에서 제공하는 쉬운 난이도의 리버싱 문제 간단하게 풀 수 있다. 문제에서 주어지는 파일은 impossible_password.bin 파일이다. 리버싱 문제이니 고민하지 않고 바로 IDA 로 열어보았다. main 함수에서 f5를 눌러 수도코드를 살펴보니 * 을 출력한 뒤에 사용자 입력을 받는데 그 값이 SuberSeKretKey 일 경우 다음으로 넘어가게 되어있다. 그리고나서 ** 을 출력하고 또 입력을 받는데 이번엔 그 값이 v3 의 값과 같아야 한다. v3 는 sub_40078D 의 수행결과가 저장되는데 sub_40078D 를 들어가 봤더니 시간을 시드값으로 해서 랜덤한 값을 생성하고 그 값의 % 94 + 33 을 계산해 V3 에 집어넣고 있었다. 사실상 이걸 알아내는건 불가능하다...

[Tenable CTF] Reggie McRegex - MISC / 정규식

정규식과 관련된 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제 제목부터 Regex 를 언급하며 정규식을 사용해야 한다는 것을 알려주고 있다. 문제 설명에는 플래그의 형식에 관한 내용이 적혀있다. 플래그 포맷은 flag{here_is_a_flag} 와 같은 형태이며 중괄호 안에는 알파벳 소문자와 언더바(_) 로 이루어져 있고 최대 길이는 16이라고 한다. 이게 문제에서 주어지는 haystack.txt 파일의 내용이다. 캡쳐본이라 짤려서 그런데 실제로는 훨씬 양이 많다. 이중에서 문제에서 언급한 플래그 포맷을 찾아내야 한다. 맨눈으로 찾는것은 불가능에 가깝기 때문에 정규식을 사용해서 풀어본다. 온라인으로 정규식을 테스트할 수 있는 사이트(http..

CTF/MISC 2023.04.16

[CTFlearn] Music To My Ears - 포렌식 / faad

CTFlearn의 여든 일곱번째 문제 계속해서 Hard 난이도의 문제가 나와서 부담스러워 지기 시작했다. 이번엔 포렌식 문제이다. 문제에서 주어지는 것은 hereisyourflag.m4a 파일이다. 파일을 클릭해서 재생시켜보려 했더니 이런 문구가 떴다. 파일이 온전하지 않은 상태인듯 하다. 일단 HxD로 열어봤다. 아직까진 뭐가 문제인지 모른다. https://www.file-recovery.com/m4a-signature-format.htm MPEG4 Audio Signature Format: M4A,M4B,M4P Documentation and Recovery Examples MPEG-4 Part 14 Audio (M4A,M4B,M4P) Format & Recovery Example M4A is a ..

워게임/CTFlearn 2023.04.15

[Tenable CTF] Funny Sound - 포렌식 / Oscilloscope

WAV 파일과 관련된 스테가노그래피 문제 문제 배점은 낮았는데 풀이 수가 엄청 적었다. 푸는 방법만 알면 쉽게 해결할 수 있는데 문제는 그 방법이 아주 잘 알려지지 않은 방법이었다는것.. 문제에서 주어지는 파일은 flag1.wav 파일이다. 파일을 재생시켜 보면 지이이잉 지이이잉 하는 귀아픈 소리가 들린다. 처음엔 wav 파일이라 기존에 문제 풀었던것 처럼 Audacity 나 DeepSound 도구를 이용해 풀어보려 했다. 하지만 해당 툴들로는 의미있는 결과를 얻을 수가 없었다. https://dood.al/oscilloscope/ https://dood.al/oscilloscope/ Set "Audio Volume" to zero to avoid feedback. Stereo input may not ..

CTF/포렌식 2023.04.14

[CTFlearn] Python Reversal - 프로그래밍

CTFlearn의 여든 여섯번째 문제 지난 문제에 이어서 프로그래밍 카테고리의 Hard 난이도 문제이다. (https://hackingstudypad.tistory.com/469) 이번엔 제공되는 언어가 파이썬이다. import base64 as rtfd import webbrowser import time def mikeSwift(cre): sto = [] gre = "" for i in cre: sto.append(i+str(len(i))) sto.append("h4ck" + i) for i in sto: gre+=i return gre def prompt(): return bytes(input("Welcome to the loading dock. What is the password?\t"), 'u..

워게임/CTFlearn 2023.04.12

[Tenable CTF] Look at all the pixels, where do they all come from - 포렌식 / PIL

PIL 라이브러리를 이용해 풀 수 있는 포렌식 문제 문제 제목이 참 장황하다. 문제 제목에서 pixel 이라는 단어를 통해 간접적으로 힌트를 주고 있다. 문제에서 제공되는 pip.png 파일은 이렇게 생겼다. 369 * 369 사이즈의 노이즈 처럼 생긴 사진이다. 아까 언급한것 처럼 이번 문제는 Python PIL 라이브러리를 이용해서 풀었다. PIL은 Python Imaging Library의 약자로 파이썬으로 이미지 처리를 할 수 있도록 해주는 라이브러리이다. pip install image pip install pillow 두 명령어를 이용해서 다운로드 받아주면 된다. from PIL import Image img = Image.open('pip.png').convert('RGB') xlen = 3..

CTF/포렌식 2023.04.10

[HackTheBox] xorxorxor - 암호학

제목 그대로 정직한 XOR 과 관련된 암호학 문제이다. 문제에서 제공되는 파일은 output.txt 파일이다. 해당 파일을 열어보면 암호화된 플래그가 적혀있다. 당연하겠지만 XOR 을 이용해서 암호화 됐을것이다. 암호화하는 파이썬 코드도 함께 주어진다. 암호화하는 과정을 살펴보면 os.urandom(4) 로 4바이트짜리 임의의 키를 생성해서 그 키값과 플래그를 XOR 연산을 한다. 랜덤이라 경우의 수가 굉장히 많지만 HackTheBox 에서의 플래그는 HTB{ 로 시작한다는 사실일 알기때문에 아주 쉽게 풀 수 있다. CyberChef(https://gchq.github.io/CyberChef) 를 이용해서 HTB{ 를 16진수로 바꿔보면 48 54 42 7b 가 된다. 이 값을 암호화된 플래그 맨 앞자리..

[Tenable CTF] Play Me - 리버싱 / VisualBoyAdvance

Tenable CTF 에서 처음 접해본 게임 리버싱 문제 재밌는 문제였다. game.gb 파일이 문제로 주어지는데 이건 VisualBoyAdvance 를 이용해 실행시킬 수 있다. 실행시키면 이런 화면이 나온다. 슈퍼마리오 같은 간단한 게임이다. 점프해서 장애물을 넘어 오른쪽 끝으로 가면 된다. 순조롭게 진행되다가 이 부분 이후로는 게임을 더이상 진행시킬 수 없다. 마지막에 보이는 발판은 발판이 아니라 그냥 배경그림이다.. 그래서 아무리 점프를 해도 저 발판을 밟을수가 없다. VisualBoyAdvance 의 기능을 이용해 본다. Tools 메뉴에서 Memory viewer 기능을 선택한다. 그럼 게임이 진행되는 동안 메모리 상태를 실시간으로 확인할 수 있다. 주목할 부분은 C0AC, COAE 부분의 값..

CTF/리버싱 2023.04.08

[CTFlearn] Is it the Flag? (JAVA) - 프로그래밍 / Python

CTFlearn의 여든 다섯번째 문제 이번엔 Hard 난이도의 프로그래밍 문제이다. 갈수록 어려운 문제가 나와서 이젠 못풀수도 있겠다 싶다. 문제 설명을 읽어보면 플래그는 6글자의 alphanumeric characters 라고 한다. alphanumeric 은 a ~ z, 0 ~ 9 까지의 문자열을 모두 합한걸 의미한다. public class IsItTheFlag { public static boolean isFlag(String str) { return str.hashCode() == 1471587914 && str.toLowerCase().hashCode() == 1472541258; } public static void main(String[] args) { String flag = "-----..

워게임/CTFlearn 2023.04.07

[Tenable CTF] Web 문제들(3/3) - 웹해킹 / Python

Tenable CTF 에서 웹해킹 카테고리에 있던 문제들은 하나의 웹 사이트가 주어지고, 그 안에서 여러 플래그를 찾아 해결하는 방식이었다. 간단한 문제들이 많아서 여러개를 한번에 포스팅한다. 위에 보이는 것이 공통적으로 제공되는 웹사이트이다. 일곱번째 문제는 Certificate of Authenticity 문제이다. 문제 제목에서 볼 수 있는것처럼 인증서와 관려한 문제이다. 문제 페이지에서 https:// 로 스키마를 바꿔서 접속하면 인증서가 하나 다운로드 된다. 다운받은 인증서를 열어보면 발급 대상 및 발급자에 플래그가 적혀있는걸 볼 수 있다. 마지막 문제는 Follow The Rabbit Hole 문제이다. 이전 문제들과 비교해보면 확실하게 풀이수가 적다. 메인 페이지에서 Rabbit Hole 버..

CTF/웹해킹 2023.04.06
반응형