이 암호를 푸시는분 정말 천재십니다^^

redpig의 이미지

안녕하세요.
윈도용 p2p 프로그램을 리눅스용 클론을 만들어 볼려고 패킷캡쳐해서 분석해보고 있는데요.

0000  36 34 24 30 24 45 33 30 42 38 44 35 33 42 41 31    64$0$E30B8D53BA1
0010  38 42 43 38 31 31 39 44 41 32 36 32 38 38 42 37    8BC8119DA26288B7
0020  41 37 30 46 33 5E 30 38 30 4E 39 58 58 4F 78 30    A70F3^080N9XXOx0
0030  64 4F 35 57 79 68 4C 48 46 49 53 51 51 69 4D 47    dO5WyhLHFISQQiMG
0040  78 67 6D 46 55 6B 44 76 63 64 51 5A 4F 4A 4F 54    xgmFUkDvcdQZOJOT
0050  76 44 4C 6C 63 58 54 75 2F 53 6D 50 6B 41 31 43    vDLlcXTu/SmPkA1C
0060  43 41 76 48 4D 61                                  CAvHMa

0000  36 34 24 30 24 36 32 45 34 31 34 36 42 39 44 31    64$0$62E4146B9D1
0010  32 32 45 33 43 41 45 39 30 33 39 38 30 31 43 43    22E3CAE9039801CC
0020  33 38 35 35 30 5E 52 78 4F 65 6A 57 53 48 58 30    38550^RxOejWSHX0
0030  59 55 78 45 65 78 2F 79 61 43 69 71 42 32 45 6E    YUxEex/yaCiqB2En
0040  77 34 6C 57 59 76 4D 4B 30 62 45 48 47 58 34 70    w4lWYvMK0bEHGX4p
0050  31 71 51 59 39 47 67 63 34 75 34 61 63 45 56 43    1qQY9Ggc4u4acEVC
0060  30 6F 4C 4B 40 5A                                  0oLK@Z

다른 부분은 일정한 규칙이 있어 대충 감이 잡히는데 위의 패킷은 계속 바뀌는데 전혀 감이 안오네요
계속 바뀌는데 샘플로 2개만 올렸습니다.
일단 보시다시피 길이는 같고 값만 틀려지는데 일부러 못알아보게 간단한 암호화를 한것 같습니다.
제머리로는 도저히 해결불가이구 고수님들 좀 풀어주세요. :D
lifthrasiir의 이미지

redpig wrote:
안녕하세요.
윈도용 p2p 프로그램을 리눅스용 클론을 만들어 볼려고 패킷캡쳐해서 분석해보고 있는데요.

0000  36 34 24 30 24 45 33 30 42 38 44 35 33 42 41 31    64$0$E30B8D53BA1
0010  38 42 43 38 31 31 39 44 41 32 36 32 38 38 42 37    8BC8119DA26288B7
0020  41 37 30 46 33 5E 30 38 30 4E 39 58 58 4F 78 30    A70F3^080N9XXOx0
0030  64 4F 35 57 79 68 4C 48 46 49 53 51 51 69 4D 47    dO5WyhLHFISQQiMG
0040  78 67 6D 46 55 6B 44 76 63 64 51 5A 4F 4A 4F 54    xgmFUkDvcdQZOJOT
0050  76 44 4C 6C 63 58 54 75 2F 53 6D 50 6B 41 31 43    vDLlcXTu/SmPkA1C
0060  43 41 76 48 4D 61                                  CAvHMa

0000  36 34 24 30 24 36 32 45 34 31 34 36 42 39 44 31    64$0$62E4146B9D1
0010  32 32 45 33 43 41 45 39 30 33 39 38 30 31 43 43    22E3CAE9039801CC
0020  33 38 35 35 30 5E 52 78 4F 65 6A 57 53 48 58 30    38550^RxOejWSHX0
0030  59 55 78 45 65 78 2F 79 61 43 69 71 42 32 45 6E    YUxEex/yaCiqB2En
0040  77 34 6C 57 59 76 4D 4B 30 62 45 48 47 58 34 70    w4lWYvMK0bEHGX4p
0050  31 71 51 59 39 47 67 63 34 75 34 61 63 45 56 43    1qQY9Ggc4u4acEVC
0060  30 6F 4C 4B 40 5A                                  0oLK@Z

다른 부분은 일정한 규칙이 있어 대충 감이 잡히는데 위의 패킷은 계속 바뀌는데 전혀 감이 안오네요
계속 바뀌는데 샘플로 2개만 올렸습니다.
일단 보시다시피 길이는 같고 값만 틀려지는데 일부러 못알아보게 간단한 암호화를 한것 같습니다.
제머리로는 도저히 해결불가이구 고수님들 좀 풀어주세요. :D

프로토콜이 암호화되어 있을 경우 일반적으로 프로토콜을 쓰는 프로토콜 자체를 분석하지 않는 한 분석하는 것이 매우 힘듭니다.

보이는 것만 보고 대충 예측을 하자면, 처음 5바이트 "64$0$"은 변하지 않는 것 같고, 그 다음 32바이트는 128비트 해쉬(예를 들자면 md5 등), 그 다음 1바이트 "^"는 구분자, 그 다음 64바이트는 base64 인코딩(풀면 48바이트)이 아닌가 싶습니다. 물론 틀릴 가능성이 높겠지만요 -,.- ($0$은 어쩌면 crypt일 수도 있겠군요.)

- 토끼군

redpig의 이미지

답변 감사합니당 :lol:
tokigun님 말씀처럼 첫 64$0$는 항상 같구요.
그다음 32바이트 후 ^도 항상 같습니다.
그외 값들은 계속 바뀌구요.

제가 몇가지 추측해보는게 암호화된건지 아닌지 모르겠지만 암호화된거라 가정해보면 일단 복호화가 가능해야하겠고, 암호화 했을때 항상 같은 길이값이 나오고 암호화된 문자가 프린트 가능한값(아스키값)이 나온다는 겁니다.
그리고 복호화시 부하가 걸리지 않게 아주 간단한 암호화를 적용한것 같구요.

간단한 xor 암호화를 했을때랑 비슷한 패턴인거 같아서 그쪽으로 삽질하고 있었는데 tokigun님 말씀 들어보니 그렇게 간단한게 아닌가보네요 :?

나는오리의 이미지

ㅎㅎ 이걸로 2시간만 삽질하면 축구하는군요. ㅡ.,ㅡ;;;

지나가는새의 이미지

왜!! 퍼거슨 할배는 내가 밤새면 박지성을 딱 10분만 내보내고,

내가 포기하고 안보면 선발 내지는 후반 풀 출장을 시키는 것일까요..

미치겠네 정말 -_-;;

Fever Pitch!

redpig의 이미지

지나가는새 wrote:
왜!! 퍼거슨 할배는 내가 밤새면 박지성을 딱 10분만 내보내고,

내가 포기하고 안보면 선발 내지는 후반 풀 출장을 시키는 것일까요..

미치겠네 정말 -_-;;


헛..갑자기 축구얘기로..ㅡ.ㅡ;