반응형

CTF 362

[TeamH4C CTF] The Easiest problem of the universe - 암호학 / Base64 / Binary

'우주에서 가장 쉬운 문제' 문제가 쉽긴 하다만.. 우주에서 가장 쉬운지는 생각해볼 필요가 있다. h4c(V0hreFpreFdPSFJZTVRobldIa3dkRmd4T0hSWWVUQm5XSGt3ZEZneE9XWlllVEJuV0hrd2RGaDVNSFJZZVRCbldIa3habGg1TVdaWU1UaG5XREU0ZEV4V09IUllNVGhuV0hreFpsZ3hPV1pNVXpBOQ==) 이게 문제에서 주어진 문자열인데 데이터의 맨 끝을 보면 == 로 끝나는 것을 볼 수 있다. = 은 Base64에서 사용하는 패딩으로 저렇게 알수없는 알파벳+숫자들이 있는 데이터의 맨 끝이 = 또는 == 이라면 Base64 로 인코딩 되었다고 생각하면 거의 맞다. CyberChef(https://gchq.github.io/Cyber..

CTF/암호학 2022.12.17

[TeamH4C CTF] simple_forensic - 포렌식 / John the Ripper / Unicode / HxD

문제 제목처럼 마냥 단순하지만은 않았던 포렌식 문제 악랄한 문제였다.. 역시나 별다른 설명없이 simple_forensic.zip 파일 하나만 주어진다. zip 파일의 압축을 풀어보려 했더니 비밀번호가 걸려있다. zip 파일 비밀번호를 crack 하는데는 John the Ripper 라는 도구를 이용했다. 여러가지 비밀번호를 crack 해주는 기능을 가지고 있다. zip2john > hash 명령어로 hash 파일을 생성해준 다음 john hash 명령어로 비밀번호를 crack 해주면 된다. 해당 파일의 비밀번호는 1337 이었다. 압축을 풀면 그 안에 file.zip 파일과 H&C.txt 파일 두개가 들어있다. file.zip 파일은 또 암호가 걸려있고, H&C.txt 파일이 해당 암호에 대한 힌트인것..

CTF/포렌식 2022.12.15

[TeamH4C CTF] message from space - 포렌식 / SSTV / Steghide

재미있었던 포렌식 문제 이번 문제 역시도 아무런 설명 없이 파일만 주어진다. 문제에서 주어진 signal.wav 파일을 열어보면 뭔가 외계인이랑 통신하는것 같은 삐리비릭~~~ 하는 소리가 들린다. 예전에도 관련된 문제를 다룬적이 있는데 이럴경우 SSTV 와 관련될 확률이 높다. (https://hackingstudypad.tistory.com/8) SSTV는 저속 주사 텔레비전의 약자로 아마추어 무선 운영가가 주로 사용하는 영상 전송 방법이다. 구글 플레이스토어에 SSTV 라고 검색해보면 관련된 어플이 하나 나온다. Robot36 - SSTV Image Decode 라는 어플을 설치해서 이용하면 된다. 어플을 실행시킨 상태로 휴대폰에 singnal.wav 파일의 소리를 들려주면 이렇게 그림파일이 하나 생..

CTF/포렌식 2022.12.11

[TeamH4C CTF] GNP - 포렌식 / HxD / Stegsolve

푸는데 조금 시간이 걸렸던 포렌식 문제 별다른 설명없이 flag.png 파일 하나만 주어진다. 문제 제목이 GNP 인데 뭔가 PNG 를 거꾸로 쓴 느낌이다. 이 부분을 잘 기억해야 한다. 주어진 flag.png 파일을 열어보면 이런 그림이다. 대회 주최측 로고 같은게 그려져 있고 그 외에 특이한 점은 없다. 해당 파일을 HxD 를 이용해 열어보니 이상한 점을 바로 확인할 수 있었다. 파일의 맨 앞부분이 FF D8 FF E0 로 시작하는것을 볼 수 있는데 이건 JPG 파일의 특징이다. 이런걸 파일 시그니처 라고 한다. 그러니까 확장자는 .png 인데, 알고봤더니 JPG 파일이라는 것이다. 그럼 문제 제목에서 PNG 를 거꾸로 쓴듯한 GNP 는 무엇을 의미할까? 컨트롤 + F 키늘 룰러 검색 기능을 이용해 ..

CTF/포렌식 2022.12.09

[TeamH4C CTF] Find the flag - 포렌식 / HxD / Binwalk

TeamH4C에서 진행했던 CTF의 첫번째 포렌식 문제 이번 문제는 아주 쉬운 편이다. 문제에서 주어지는 Hangul.png 파일을 열어보면 이렇게 생겼다. 특별한거 없어 보이는 PNG 파일이다. 해당 파일을 HxD 도구를 이용해 열어본다. 파일이 89 50 4E 47 으로 시작하는것을 알 수 있다. 89 50 4E 47로 시작하는것은 PNG 파일의 특징이다. 이런걸 파일 시그니처 라고 한다. 이번엔 HxD에서 스크롤을 끝까지 내려 파일의 맨 끝으로 이동해 봤다. PNG 파일은 끝날때 49 45 4E 44 AE 42 60 82 로 끝난다. IEND®B`‚ 이렇게 생긴 문자열이 나오면 PNG 파일은 끝난것이다. 그런데 이상한게 위의 문자열이 나왔음에도 파일이 끝나지 않고 뒤에 50 4B 03 04 ~ 로 ..

CTF/포렌식 2022.12.07

[b0lers CTF] Matryoshka(2/2) - 포렌식 / PIL / HxD

https://hackingstudypad.tistory.com/341 지난 포스팅에 이어서 계속 쓰는 Matryoshka 문제 지난번 마지막으로 생성했던 qr.gz 파일 내에서 압축되어 있는 qr 이라는 이름의 파일을 발견했었다. 열어보니 숫자 1과 알파벳 엘(l) 로 이루어진 85x85 크기의 텍스트 파일인데 두 문자가 마구 섞여서 뭔지 알아보기가 힘들다. 하지만 파일의 이름이 qr 이니 이전 png 파일처럼 하나는 흰색, 하나는 검은색을 의미하는 것일거라고 생각했다. Sublime에서 l 을 □ 로, 1을 ■ 로 한번 바꿔봤더니 뭔가 QR코드 같이 생긴 그림이 보였다. 다음으로 이걸 진짜 그림으로 바꿔주는 작업을 했다. from PIL import Image qr = open('qr', 'r') n..

CTF/포렌식 2022.12.03

[b0lers CTF] Matryoshka(1/2) - 포렌식 / PIL / HxD

포렌식 문제 아주 어렵고 짜증나는 문제였다.. 러시아의 마트료시카 인형처럼 풀어도 풀어도 계속 끊임없이 문제들이 계속 나왔다. 풀이가 너무 길어서 포스팅 두개로 나눠서 절반씩 올릴 예정이다. 문제파일로 주어지는건 matryoshka.png 파일이다. 뭐가 빽빽하게 그려져 있는데 확대해서 보면 이런 딸기 그림이다. 이게 무슨 의미인지 알아내는데 엄청나게 시간이 걸렸다.. 자세히 보면 딸기의 종류가 두 개 이다. 두 딸기는 서로 다른 방향을 바라보고 있는데, 컴퓨터 관련된 문제이니 이 딸기가 0과 1 같은 의미일거라고 생각했다. 그래서 우선 이 0과 1 딸기들이 어떻게 배치되었는지 알아보기로 했다. matryoshka.png 파일의 속성을 보면 가로 세로 각각 6050 픽셀인 것을 확인할 수 있다. 수작업으..

CTF/포렌식 2022.12.02

[b01lers CTF] Echoes of Reality / Zima Blue - 포렌식 / Stegsolve / Audacity

이번엔 조금 쉬운 문제들이라 같이 풀이를 써본다. 둘다 스테가노그래피와 관련된 문제이다. 첫번째 문제는 echoesofreality.wav 파일이 주어진다. 해당 파일을 재생시켜보면 삐비비비빅 삐삐삐 하는 소리가 들린다. 어떤 화음이나 규칙성이 없이 그냥 무작위로 나오는 느낌이다. CTF에서 음악파일이 주어지면 보통 Audacity 라는 프로그램을 많이 쓴다. https://audacity.en.softonic.com/download Audacity Plenty of features to edit audio files audacity.en.softonic.com Audacity는 위 링크에서 다운로드 받을 수 있다. Audacity를 실행시키면 이런 화면이 나온다. 소리 편집기라고 생각하면 된다. 음악파..

CTF/포렌식 2022.11.30

[b01lers CTF] Dream Stealing - 암호학 / RSA / Python

계속해서 이어지는 RSA 관련 암호학 문제 이전 문제보다 훨씬 쉬운 느낌이다. RSA는 지금까지도 아주 많이 사용하는 공개키 알고리즘의 이름이다. 개발자인 Rivest, Shamir, Adleman 세명의 이름 앞글자를 따서 RSA 라고 이름을 붙혔다. 엄청나게 큰 숫자일수록 소인수분해가 어렵다는것에 착안해서 설계되었다. RSA의 원리는 아래와 같다. 1. 두 소수 p, q를 준비한다. 2. p-1, q-1과 각각 서로소(1외에는 공약수가 없는 수)인 정수 e를 준비한다. 3. ed를 (p-1)(q-1)으로 나눈 나머지가 1의 되도록 하는 d를 구한다.(d는 개인키로 공개하지 않는다) 4. n=pq를 계산한 후 n과 e를 공개한다.(이 둘이 공개키) 이 알고리즘을 이용해서 공개키-개인키 쌍을 만들고 공개..

CTF/암호학 2022.11.28

[b01lers CTF] Clear the Mind - 암호학 / RSA / Python

쉬운 RSA 문제 2020CCE 대회가 끝나고 이 문제를 풀었는데 CCE 에서 나왔던 문제 유형과 아주 비슷한 문제여서 금방 풀었다. (https://hackingstudypad.tistory.com/315) RSA는 지금까지도 아주 많이 사용하는 공개키 알고리즘의 이름이다. 개발자인 Rivest, Shamir, Adleman 세명의 이름 앞글자를 따서 RSA 라고 이름을 붙혔다. 엄청나게 큰 숫자일수록 소인수분해가 어렵다는것에 착안해서 설계되었다. RSA의 원리는 아래와 같다. 1. 두 소수 p, q를 준비한다. 2. p-1, q-1과 각각 서로소(1외에는 공약수가 없는 수)인 정수 e를 준비한다. 3. ed를 (p-1)(q-1)으로 나눈 나머지가 1의 되도록 하는 d를 구한다.(d는 개인키로 공개하지..

CTF/암호학 2022.11.26
반응형