$ 포렌식 $/$ 디지털 포렌식 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