분류 전체보기

    [DigitalForensic] with CTF 파일에서 이미지 파일을 찾아라!…

    자료를 다운로드 받은면 다음과 같은 빈 사진을 얻을 수 있다. 사진을 HxD로 얻으면 다음과 같이 여러개의 사진이 합쳐져있음을 알 수 있다.. 사진속에 숨겨진건 bmp, gif, png, jpg 4가지 종류이다. 시그니처와 푸터를 이용해서 다음의 코드로 추출했다. def search_next(value:list) -> tuple : res = float('inf') for v in value: if(v==-1) : continue elif(v tuple : res = value[3] new_value = value[:3] end,t = search_next(new_value) return (res,end,t) if __name__=="__main__" : target_file = "MrFusion.gif..

    [DigitalForensic] with CTF black-hole…

    사진을 다운로드 받아보면 block-hole이 보인다. 문제의 포멧은 base64다. 그러므로 base64형식으로 인코딩된 문자열이 있는지 먼저 string을 통해서 탐색해 보았다. 위쪽 base64값처럼 보이는 것이 있다. "UQklUQ1RGe1M1IDAwMTQrODF9" 이 값 말이다. 다만 이값은 base64로 정상적으로 decoding되지 않았다. 누가봐도 base64 인코딩같은데... 잠시 문제로 돌아오자. 문제는 BITCTF{로 시작하는 문자열이 base64인코딩되어잇다고 한다. base64는 해시와 다르게 비슷한 문자열을 인코딩했을때 패턴이 나온다. 이와 같이 말이다. 그러므로 BITCTF{를 인코딩한 값과 유사한 값을 찾으면 될 것이다. 아; 찾을 것도 없이 우리가 찾은 문자열의 맨 앞 U..

    [DigitalForensic] with CTF broken…

    자료를 다운로드 받으면 깨진 QR Code를 얻을 수 있다. 포토샵으로 살짜쿵 복원해주자 완벽하다. 반전까지 시켰다. 이제 QR Code를 읽으면 완벽하다

    [DigitalForensic] with CTF Find Key(Image)…

    사진을 다운로드 받아보면 머리잔이 있다. 진짜 머리잔이다ㅋㅋㅋ 뒤에 보면 이상한 패턴이 있다. 반복되는 것을 검정 1로 투명0으로 해석해보자 1010011 0110100 1001110 1000011 1001000 0110000 이렇게 된다. 이를 문자열로 변환해보자 a=["1010011", "0110100", "1001110", "1000011", "1001000", "0110000"] for v in a : print(chr(int(v,2)),end="") 출력은 다음과 같다. 오! 산초! Key의 format은 md5라고 하였으니, 이를 md5화하자 a=["1010011", "0110100", "1001110", "1000011", "1001000", "0110000"] for v in a : pri..

    [DigitalForensic] with CTF 이 그림에는 뭔가 좀 수상한…

    사진을 다운로드 받으면 별로 차이나지않는 두개의 사진이 보인다. 아마도 LSB방식을 통한 steganography가 사용된거 같다. 우선 bit 차이가 있는 곳을 알아보기 위해서 다음의 코드를 사용했다. from PIL import Image if __name__=="__main__" : B = (0,0,0) W = (255,255,255) im1 = Image.open("original.png") im2 = Image.open("encrypted.png") im3 = Image.new(im1.mode,im1.size) width,height = im1.size for x in range(width) : for y in range(height) : if(im1.getpixel((x,y))==im2.get..

    [DigitalForensic] with CTF Find Key(Hash)…

    자료는 한개의 텍스트파일이다.(txt) 으헤.. 이게 뭘까 싶긴한데, 우선 무슨 책같다. 번역기결과는 프랑스어다. 우왕.... 이거로는 문제를 못푼다. 문제가 Hash 인점을 이용해서 해당 파일의 Hash를 구해보자 아쉽게도 아니다.. HXD로 뜯어보자 조금 특이한 점을 알 수 있다. 공백으로 사용된 일련의 문자열들 말이다. 0A / 20 / 09 포괄적으로 사용됬다. 암호화 기법중에 snow라는 툴이 이런 패턴을 보인다. Snow로 풀어보자 다음의 문자열을 얻을 수 있었다. 으흠... 번역의 결과는 큰도움이 안된다. 아마 문제에서 물어본것은 Hash이니 이 문자열의 Hash값 인듯 하다. 아주좋다. KEY다