해시 원본 값 구하기

Posted by : on

Category : etc   learning


배경

DevSecOps 2025 Password Cracking 문제를 푸는 중 해시 값의 원본 값을 구하는 문제가 있어 요약하였습니다.

요약

  • Hashcat을 이용해 여러 해시 방법, 암호화 방법에 대한 브루트포싱을 간단하게 할 수 있으며, Gpu 및 Charset, Masking 등의 여러 도구가 들어 있어 브루트포싱할때 유용함
  • Salt가 없는 md5등의 해시 기법은 인터넷의 데이터베이스 기반 탐색레인보우 테이블을 살펴보자.

문제 상황

주어진 해시에 대한 평문 값을 구하시오.

분석 과정 (뻘짓 과정)

  1. 간단하게 md5 attck을 키워드로 검색하여 충돌 공격충돌 공격 기법들에 대해 알아보았습니다.
    • 해시 충돌에 대해 알게 되었지만, 문제에 도움되지 않고 정말 많은 시간이 흘렀습니다.
  2. 충돌 공격은 원문을 찾는 데 도움이 되지 않는다는 것을 확인하고 데이터베이스 기반 탐색사이트를 찾아다니며 해당 해시를 넣어보았습니다.
  3. Hashcat을 이용해 브루트포싱을 시도하였습니다.
    • hashcat -m 0 -a 3 hash.txt -1 ?u?d_ "punk_{?1?1?1?1?1?1?1}" -O 을 인자로, 기본 플래그 틀을 이용해 마스킹한 후 진행하였으나, 잘못된 선택이었습니다.
  4. 동시에 레인보우 테이블을 통해 해당 해시를 검색하였습니다.

알아낸 내용

  • 암호문이나 해시 값이 주어질 경우 레인보우 테이블을 먼저 찾아보면 좋다.
  • Hashcat을 이용해 간단하게 브루트포싱이 가능하다.
  • https://github.com/corkami/collisions - 해시 충돌 관련 문서
    • 위 내용을 이용해 같은 해시를 가진 서로 다른 파일을 만들 수 있다.
    • exe파일의 경우, 같은 해시를 가졌지만 전혀 다른 작동을 하는 프로그램을 만들 수 있다.

About 영원염원영웅
영원염원영웅

공부하는것을 좋아합니다.

Email : xhve00000@gmail.com

Website : http://eveheeero.com

Useful Links