$ 포렌식 $/$ 디지털 포렌식 with CTF $
Disk - 도와주십시오, 누군가…
ws1004
2020. 4. 8. 01:38
문제를 해결하기 위해서 flag.torrent 파일을 HxD로 열어 보겠습니다.
이러한 데이터를 가지고 문제를 해결 해야 하는데 Hex 데이터에서 length 문자열을 확인 할 수 있습니다.
공유 파일 크기 : lengthi 28 e4
piece 조각의 크기 : lengthi 2 e6
위의 데이터를 기반으로 해서 "공유파일 크기" / "piece 조각 크기" = "piece 조각의 개수" 를 알 수 있습니다.
piece 조각의 개수는 14개 인것을 확인 할 수 있습니다.
그리고 pieces280 를 보아 암호화 해서 전달하는 데이터의 크기는 280byte라는 것을 알 수 있습니다.
280바이트의 데이터를 확인해 보면 아래와 같습니다.
해당 데이터가 총 14조각이 되어야 하기 때문에 1조각당 20바이트 라는 것을 알 수 있습니다.
해당 값을 정리해 보면 아래와 같습니다.
총 14개의 조각을 만들면 1조각당 40글자 라는 것을 알 수 있습니다.
40글자의 hash 값인 SHA-1 알고리즘을 이용해서 Decrypt를 해보겠습니다.
위의 코드를 실행 시켜 보면 Flag를 확인 할 수 있습니다.
Flag : tjctf{pls_2_n0t_fl4g_share}
출처 : 디지털 포렌식 with CTF