hacktricks/crypto-and-stego/hash-length-extension-attack.md

5.6 KiB

해시 길이 확장 공격

htARTE (HackTricks AWS Red Team Expert)로부터 AWS 해킹을 제로부터 전문가까지 배우세요 htARTE (HackTricks AWS Red Team Expert)!

HackTricks를 지원하는 다른 방법:

WhiteIntel

WhiteIntel다크 웹을 통해 동작하는 검색 엔진으로, 회사나 그 고객이 도난당한 악성 소프트웨어에 의해 침해당했는지 무료로 확인할 수 있는 기능을 제공합니다.

WhiteIntel의 주요 목표는 정보를 도난하는 악성 소프트웨어로 인한 계정 탈취 및 랜섬웨어 공격을 막는 것입니다.

그들의 웹사이트를 방문하여 엔진을 무료로 시험해 볼 수 있습니다:

{% embed url="https://whiteintel.io" %}


공격 요약

일부 알려진 평문 데이터에 비밀을 추가하고 해당 데이터를 해싱하는 서버를 상상해보십시오. 다음을 알고 있다면:

  • 비밀의 길이 (주어진 길이 범위에서도 브루트포스 가능)
  • 평문 데이터
  • 알고리즘 (이 공격에 취약한)
  • 패딩이 알려져 있다
  • 일반적으로 기본값이 사용되므로, 다른 3가지 요구 사항이 충족되면 이것도 사용됨
  • 패딩은 비밀+데이터의 길이에 따라 달라지므로, 비밀의 길이가 필요함

그러면 공격자데이터를 추가하고 이전 데이터 + 추가된 데이터에 대한 유효한 서명을 생성할 수 있습니다.

어떻게?

기본적으로 취약한 알고리즘은 먼저 데이터 블록을 해싱하고, 그런 다음 이전에 생성된 해시(상태)에서 다음 데이터 블록을 추가하고 해싱합니다.

그런 다음, 비밀이 "비밀"이고 데이터가 "데이터"인 경우, "비밀데이터"의 MD5는 6036708eba0d11f6ef52ad44e8b74d5b입니다.
공격자가 문자열 "append"를 추가하려면:

  • 64개의 "A"의 MD5를 생성
  • 이전에 초기화된 해시의 상태를 6036708eba0d11f6ef52ad44e8b74d5b로 변경
  • 문자열 "append"를 추가
  • 해시를 완료하면 결과 해시는 **"비밀" + "데이터" + "패딩" + "append"**에 대한 유효한 것이 될 것입니다

도구

{% embed url="https://github.com/iagox86/hash_extender" %}

참고 자료

이 공격에 대한 좋은 설명은 https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks

WhiteIntel

WhiteIntel다크 웹을 통해 동작하는 검색 엔진으로, 회사나 그 고객이 도난당한 악성 소프트웨어에 의해 침해당했는지 무료로 확인할 수 있는 기능을 제공합니다.

WhiteIntel의 주요 목표는 정보를 도난하는 악성 소프트웨어로 인한 계정 탈취 및 랜섬웨어 공격을 막는 것입니다.

그들의 웹사이트를 방문하여 엔진을 무료로 시험해 볼 수 있습니다:

{% embed url="https://whiteintel.io" %}

htARTE (HackTricks AWS Red Team Expert)로부터 AWS 해킹을 제로부터 전문가까지 배우세요 htARTE (HackTricks AWS Red Team Expert)!

HackTricks를 지원하는 다른 방법: