반응형

XOR 28

[247CTF] AN EXCLUSIVE KEY - 암호학 / XOR

247CTF 에서 제공하는 MODERATE 난이도의 암호학 카테고리 문제 제목에서 알 수 있는것처럼 XOR 관련된 문제이다. 문제에서 주어지는 것은 exclusive_key 파일이다. 해당 파일을 HxD로 열어봤는데 아무 의미없어 보이는 데이터들만 들어있었다. CyberChef(https://gchq.github.io/CyberChef) 에 해당 파일을 업로드 한 후 XOR 을 해보았다. KEY 값이 뭔가 플래그일 것 같아서 플래그 포맷의 맨 앞부분인 247CTF{ 를 넣어봤는데 Output의 맨 앞부분이 뭔가 HTML 을 XOR 한 데이터인듯 했다. 맨 앞부분이 이 되도록 XOR 키를 하나씩 늘려가며 붙혀줬다. 중간중간에 /title> 같은 html 태그들이 보이기 시작하는걸 보니 어떤 웹페이지를 가져..

워게임/247CTF 2023.12.23

[2022 화이트햇 콘테스트] H-1 - 포렌식 / Powershell / XOR

2022 화이트햇 콘테스트 예선에 출제되었던 문제 이전 G-2 문제와 이어지는 문제이다. (https://hackingstudypad.tistory.com/679) H-1 문제는 공격자가 스크린 캡쳐를 위해 사용한 스크립트에서 플래그를 획득하는 것이 목표이다. 지난 문제에서 위와 같이 스크린 캡쳐하는 파워쉘 스크립트를 찾았었다. pscp.exe를 이용해 C2 서버로 데이터를 전송하는데 스크립트 중간에 보면 뭔가 수상한게 껴있다. 바로 이 부분인데 어떤 숫자들이 있고 $xorkey 에는 77이 정의되어 있다. 뭔가 XOR을 해야할것 같은 느낌이다. CyberChef(https://gchq.github.io/CyberChef) 에서 해당 값을 디코딩 해준 뒤, 77로 XOR하고, 역순으로 배열해주게 되면 숨..

CTF/포렌식 2023.12.02

[247CTF] MY MAGIC BYTES - 암호학 / XOR

247CTF 에서 제공하는 MODERATE 난이도의 암호학 문제 XOR 과 관련된 문제이다. 문제에서 제공되는 것은 my_magic_bytes.jpg.enc 파일이다. 해당 파일의 내용을 보면 전혀 무엇인지 알 수 없는 상태로 암호화가 되어있다. 문제 설명에 나와있듯이 어떤 키값으로 XOR 되어있기 때문이다. .jpg.enc 라는 확장자를 통해 암호화 되기 전에는 jpg 파일이었음을 알 수 있다. 키 값을 찾아내기 위해서는 jpg 파일이 기본적으로 가지는 특징들을 이용해야 한다. jpg XOR key = enc 라면 end XOR jpg = key 이기 때문이다. 가장 쉽게 확인할 수 있는 것은 jpg 파일의 시그니처이다. 파일마다 조금씩 다르긴 하지만 어떤 jpg 파일들은 FF D8 FF E0 00 1..

워게임/247CTF 2023.10.02

[CTFlearn] Finish The Flag - 리버싱 / IDA / XOR

CTFlearn에서 제공하는 Easy 난이도의 리버싱 문제 문제 설명을 보면 이상한 문서를 받았는데 매트릭스 바코드가 안에 들었있었다고 무슨 내용인지 알아봐 달라고 한다. 이렇게 세 개의 파일이 주어지는데 문제 풀때는 qr.png 파일만 사용하면 된다. qr.png 파일은 이렇게 생겼다. 조금 사이즈가 큰 QR코드이다. 해당 파일을 온라인 QR코듯 스캐너(https://www.online-qr-scanner.com/) 에 넣으면 뭔가 BASE64로 인코딩된듯한 데이터가 나온다. CyberChef(https://gchq.github.io/CyberChef)에서 해당 데이터를 base64 디코딩 해주면 맨 앞이 ELF 로 시작하는 데이터가 나온다. 이건 리눅스에서 실행 가능한 ELF 파일이라는 뜻이다. 해당..

워게임/CTFlearn 2023.09.03

[2021CCE] Ransom - 포렌식 / XOR

이번엔 랜섬웨어에 관련된 문제이다. 랜섬웨어 악성코드인 cce_ransom.exe 랜섬노트인 cce_ransom_note.txt 그리고 그 아래 확장자가 .pdf_cce_ransom 으로 암호화된 파일들이 보인다. 랜섬노트를 열어 내용을 읽어본다. 파일들은 랜덤한 키를 기반으로 xor 암호화 되었다고 한다. 친절하게 두가지 풀이방법을 안내하는데 무차별 대입을 해서 기적적으로 암호화 키를 찾아내거나 암호화의 취약점을 이용해서 해결을 하면 된다고 한다. 조금만 생각해보면 아주 간단하게 해결할 수 있다. A XOR B = C 라면 C XOR B = A 가 되기 때문에 암호화된 파일을 똑같은 키로 한번 더 XOR 암호화 한다면 사실 복호화가 되는 것이다. 이렇게 암호화된 flag.pdf_cce_ransom 파일..

CTF/포렌식 2023.08.25

[Root Me] Known plaintext - XOR - 암호학 / HxD

Root Me에서 제공하는 xor 관련 암호학 문제 제목이 Known plaintext 인데 Known plaintext란 한글로 기지평문(공격)으로 공격자가 어떤 암호문과 그에 대한 평문을 알고 있을때 해독하는 방법이다. 문제에서는 ch3.bmp 파일이 주어진다. 파일이 깨진듯 내용은 보이지 않는다. HxD로 파일을 열어보면 맨 앞부분이 24 2C로 시작하는 것을 볼 수 있다. BMP 파일은 기본적으로 42 4D로 시작되어야 한다. 문제 제목이 XOR이니 어떤 키값으로 XOR 되어서 파일 시그니처가 변했고, 그에 따라 윈도우에서 BMP 파일을 인식하지 못하는 것이다. 파일 시그니처로 알고있는 42 4D 가 바로 평문을 알고있는 것이다. CyberChef(https://gchq.github.io/Cybe..

워게임/Root Me 2023.08.19

[2021CCE] rox - 암호학 / XOR

2021CCE에 출제된 암호학 문제 이번 문제에서도 역시 기초에 대해 언급한다. 이렇게 기초를 좋아했던 CCE인데 2022년 부턴 대회 난이도가 엄청나게 올라가서 좀 아이러니하다. 문제 제목부터 딱 봐도 XOR과 관련된 문제이다. 같이 제공된 압축파일의 압축을 풀면 Bg0PXUlMTx46AgYKIRcWMR4HHCENDAMaAxwNCjoBBAomPRELCRgODQ1fGA== 이런 암호문이 주어진다. key="???????" flag="cce2021{??????????????????????????????????}" def encrypt(plain): res="" for _ in range(len(plain)): res+=chr(ord(key[_%7])^ord(plain[_])) return res open(..

CTF/암호학 2023.08.17

[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

[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] 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
반응형