Don't give up

Hello World!

|

여러분의 방문을진심으로 환영 합니다

언제나 열심히 노력하겠습니다. 😀

총 방문자

4

포스팅

구독자

블로그 운영
CTF/CTF Write-Up

[Write-Up] KakaoTalk Decrypt

KakaoTalk Decrypt 우리가 복호화 해야 되는 파일은 users > {userDir} > chat_data 안에 있는 edb 파일이다이 데이터베이스에서 카카오톡 메시지를 확인할 수 있다 Fig. 1.과 같이 대화 기록 데이터베이스를 복호화하기 위해서는 key, iv 쌍을 생성해야 한다. pragma와 userId를 512바이트가 될 때까지 반복하여 연접한 후 MD5 해싱을 수행하면 key가 된다. key에 대해 Base64 인코딩 수행 후 MD5 해싱을 수행하면 iv가 된다. 구체적인 알고리즘은 Fig. 2와 같다. 카카오톡 메시지를 복호화 하기 위해 제시한 알고리즘의 key와 id 값을 먼저 생성해야 한다앞서 pragma는 문제에서 주어졌고 userId 값을 찾아내야 한다  userId는 u..

CTF/Customized CTF

[Forensics] KakaoTalk Decrypt - CTF

KakaoTalk Decrypt 이번에 멀웨어 분석 프로젝트 도중 카카오톡 복호화 기능을 알게 되었는데 이 내용을 바탕으로 포렌식 문제도 만들어봤다  "우리 서버에 저장된 중요한 고객 데이터가 손상된 상황입니다 이를 해결하기 위해 회사 서버에 접근해야 하는데, 지난주에 개발팀이 카카오톡으로 서버 접속키를 보내준 기억이 납니다 그러나 현재 휴대폰이 고장 나서 PC 카카오톡에서 대화 내용을 확인하려고 했으나, 실수로 대화방을 나가버렸습니다 어쩔 수 없이 PC에 카카오톡 대화 내용이 있는 데이터를 확인하는데 맙소사..데이터가 암호화가 되어있다.. 이후에 카카오톡 복호화 방법을 찾다가 어떤 한 논문을 알게 되었습니다제가 첨부한 파일은 %LocalAppData%\Kakao\KakaoTalk\users 폴더 입니다..

CTF/CTF Write-Up

[Write-Up] Hex Encrypt Data

Hex Encrypt Data 코드에서 나와있듯이 _encryption  함수는 실제 encryption 암호화하는 함수를 호출하기 위해 입력 데이터를 각각 2byte씩 처리하여 암호화하는 형식이다사진에서 코드를 실행할 때 암호화할 인자를 같이 넘겨주면 a는 3102 b는 31e4로 암호화되어 출력되는 걸 알 수 있다 즉 원본 문자와 암호화된 결과를 각각 딕셔너리로 저장한 다음 암호화된 문자열을 찾을 때 딕셔너리에 같이 저장된 원본 데이터를 이용해서 원래 문자열로 되돌릴 수 있다 import subprocessimport stringfrom concurrent.futures import ProcessPoolExecutor, as_completeddef run_external_program(pair): ..

CTF/Customized CTF

[Reversing] Hex Encrypt Data - CTF

Hex Encrypt Data 이번 CTF 대회에 출제된 문제를 바탕으로 암호화 부분을 변형하여 만들어봤다#include #include #include // 암호화 함수: 주어진 데이터 배열을 암호화하여 반환unsigned long* encryption(unsigned long data[], unsigned long size){ unsigned int temp1; unsigned int temp2; unsigned int temp3; unsigned int index; // 데이터 배열의 각 요소에 대해 암호화 수행 for (index = 0; index > 16; temp1 = temp3 ^ temp2; ..

無事
'CTF' 태그의 글 목록