반응형

PIL 13

[CTFlearn] The Adventures of Boris Ivanov Part 2 - 프로그래밍 / PIL

CTFlearn에서 제공하는 프로그래밍 카테고리의 Hard 난이도 문제 지난 Old memories 와 비슷한 문제이다. (https://hackingstudypad.tistory.com/584) 이번 문제 역시도 스테가노그래피와 관련이 있다. 문제 설명을 보면 중요한 정보가 담긴 종이가 찢어졌는데 이걸 복원해야 한다고 한다. 원본의 크기는 500*500 이라고 주어진다. 문제 파일을 열어보면 정말 사진을 세절기에 넣은것처럼 세로 1픽셀, 가로 500픽셀로 500 조각이 나있는 이미지를 볼 수 있다. 프로그래밍 카테고리에 있으니 프로그래밍 해서 이걸 다 이어붙이라는 의미인듯 하다. 이번 문제는 Python PIL 라이브러리를 이용해서 풀었다. PIL은 Python Imaging Library의 약자로 파..

워게임/CTFlearn 2023.08.05

[CTFlearn] Old memories - 프로그래밍 / PIL

CTFlearn에서 제공하는 프로그래밍 카테고리의 Hard 난이도 문제 이번 문제는 Hard 치고는 쉬운 편이다. 카테고리도 프로그래밍 보단 스테가노그래피에 가까운것 같다. 문제에서 주어지는 것은 1.png, 2.png 두 개의 파일이다. 이전에 블로그에서 유사한 문제를 다룬적이 있었는데 거의 그대로 하면 된다. (https://hackingstudypad.tistory.com/125) 이번 문제는 Python PIL 라이브러리를 이용해서 풀었다. PIL은 Python Imaging Library의 약자로 파이썬으로 이미지 처리를 할 수 있도록 해주는 라이브러리이다. pip install image pip install pillow 두 명령어를 이용해서 다운로드 받아주면 된다. from PIL impor..

워게임/CTFlearn 2023.08.01

[n00bzCTF] QRazy CSV - 포렌식 / PIL / QR코드

문제 제목에서 QR 코드라고 힌트를 주고 있는 포렌식 문제이다. 문제에서 주어지는 것은 secret.csv 파일이다. 해당 파일을 열어보면 row, col 이라고 적혀있고 그 아래 숫자들이 써있다. row, col 이라는걸 보니 x,y 좌표라고 생각하면 될것 같고, 숫자는 x, y 모두 0부터 28까지 적혀있었다. 위에도 보면 0 ~ 28 범위 내에서 써있는 숫자도 있고, 안써있는 숫자도 있는데 써있는 숫자는 1, 안써있는 숫자는 0 으로 분류해서 해당 좌표에 색을 칠할지 말지 판단하면 되는듯 했다. 이번 문제는 Python PIL 라이브러리를 이용해서 풀었다. PIL은 Python Imaging Library의 약자로 파이썬으로 이미지 처리를 할 수 있도록 해주는 라이브러리이다. pip install ..

CTF/포렌식 2023.06.28

[D^3CTF] d3gif - MISC / PIL

git 파일과 관련된 스테가노그래피 문제 포렌식 느낌인데 MISC 로 분류되었다. MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제에서 주어지는 (x,y,bin).gif 파일은 이렇게 생겼다. 자세히 보면 뒷 배경의 색깔이 계속 바뀌는데 여기에 뭔가 숨겨진 메세지가 있을거라고 생각했다. 문제는 Python PIL 라이브러리를 이용해서 풀었다. PIL은 Python Imaging Library의 약자로 파이썬으로 이미지 처리를 할 수 있도록 해주는 라이브러리이다. pip install image pip install pillow 두 명령어를 이용해서 다운로드 받아주면 된다. from PIL import Image, ImageSequence path = "./gg..

CTF/MISC 2023.05.29

[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

[Tenable CTF] Secret Images - 포렌식 / PIL

생각보다 자주 보이는 유형의 스테가노그래피 문제 오래전에 블로그에서도 유사한 문제를 다룬적이 있다. (https://hackingstudypad.tistory.com/125) 두개의 사진에서 숨겨진 데이터를 찾는것이 문제의 목표이다. 문제에서는 crypted1.png, crypted2.png 파일 두개가 주어진다. 각 이미지는 이렇게 생겼다. 노이즈처럼 지지직 하게 생긴 이미지가 두개 주어진다. 이번 문제는 Python PIL 라이브러리를 이용해서 풀었다. PIL은 Python Imaging Library의 약자로 파이썬으로 이미지 처리를 할 수 있도록 해주는 라이브러리이다. pip install image pip install pillow 두 명령어를 이용해서 다운로드 받아주면 된다. from PIL ..

CTF/포렌식 2023.03.27

[CTFlearn] Smiling ASCII - 포렌식 / HxD / PIL

CTFlearn의 일흔 다섯번째 문제 이번엔 Medium 난이도의 포렌식 문제이다. 문제에서 주어지는 파일은 smiling.png 파일이다. 뭔가 묘하게 기분나쁘게 생겼다. 해당 파일을 HxD 도구를 이용해 열어본다. 파일이 89 50 4E 47 으로 시작하는것을 알 수 있다. 89 50 4E 47로 시작하는것은 PNG 파일의 특징이다. 이런걸 파일 시그니처 라고 한다. 이번엔 HxD에서 스크롤을 내려 파일의 끝으로 이동해 봤다. PNG 파일은 끝날때 49 45 4E 44 AE 42 60 82 로 끝난다. IEND®B`‚ 이렇게 생긴 문자열이 나오면 PNG 파일은 끝난것이다. 그런데 이상한게 위의 문자열이 나왔음에도 뒤에 Base64 인코딩된듯한 데이터가 더 있는것이 보였다. CyberChef(https..

워게임/CTFlearn 2023.03.01

[CTFlearn] Exclusive Santa - 포렌식 / HxD / PIL

CTFlearn의 예순 세번째 문제 PNG 파일을 이용한 포렌식 문제인데 난이도가 올라갈수록 PIL 라이브러리를 사용하는 문제 유형이 많이 나오는것 같다. 문제에서 주어지는 것은 Exclusive_Santa.rar 압축파일이다. 압축을 풀면 이렇게 1.png, 3.png 파일 두개가 들어있다. 2.png 가 없는것을 보니 어딘가에 숨겨져 있는것 같다. 1.png 파일은 이렇게 생겼다. WINTER IS COMING 이라는 글자가 보이고 사진이 뭔가 깨진것 처럼 엄청 복잡한 느낌이다. 3.png 는 이렇게 생겼는데 이건 구글에 XOR 이라고 검색하면 바로 나오는 사진이다. XOR 을 두 개의 집합을 사용해 가시적으로 표현한 다이어그램이다. 1.png 가 정상적인 사진과 달리 복잡하게 생긴이유가 어떤 사진이..

워게임/CTFlearn 2023.02.01

[JISCTF] Colorfull - 포렌식 / Wireshark / John the Ripper / PIL

조금 어려웠던 포렌식 문제 네트워크 트래픽을 캡쳐했는데 악성 행위가 있는거 같다고 찾아내보라고 한다. 문제에서 주어지는 것은 colorfull.pcapng 파일이다. pcapng 파일은 Wireshark 도구를 이용해 열어볼 수 있다. 열어보면 위와 같은 화면이 나온다. 조금만 스크롤을 내려보면 FTP 프로토콜을 이용해 files.zip 파일을 내려받은 흔적을 확인할 수 있다. 해당 패킷에서 우클릭 - Follow - TCP Stream 버튼을 눌러 자세한 내용을 확인해 본다. Show and save data as를 Raw로 선택해주고 Save as... 버튼을 눌러 데이터를 저장해준다. 데이터 맨 앞에 50 4b 03 04 로 시작하는걸 보니 ZIP 파일이 맞다. 저장한 files.zip 파일의 압축..

CTF/포렌식 2023.01.26

[CTFlearn] Image Magic - 프로그래밍 / 포렌식 / PIL

CTFlearn의 쉰세번째 문제 이번엔 처음으로 나온 프로그래밍 카테고리의 문제이다. 사실 여기서 분류는 프로그래밍으로 했지만 거의 포렌식 문제라고 생각한다. 간만에 CTFlearn에서 생각해볼 만한 문제가 나와서 재미있었다. 문제 설명을 읽어보면 누군가가 사진의 픽셀을 가져와 재구성했다고 이걸 PIL 모듈을 이용해 복원할 수 있냐고 물어본다. 이미지가 변경되기 전 Width는 304라는 힌트도 주어진다. 이것이 문제에서 주어지는 out copy.jpg 파일이다. 아무것도 없는것 처럼 보이는데 사실은 그게 아니다. 이미지를 우클릭해 속성을 보면 너비가 27968, 높이가 1인 것을 볼 수 있다. 아까 문제 설명에서 본대로 누군가가 이미지의 픽셀을 일렬로 쭉 늘어놓은 것이다. 일단 원래의 높이를 구해준다...

워게임/CTFlearn 2023.01.06
반응형