[Root Me] OSPF - Authentication - 포렌식 / Wireshark / John the Ripper / Ettercap
Root Me에서 제공하는 네트워크 패킷 포렌식 문제
OSPF 패킷과 관련된 문제이다.
OSPF는 Open Shortest Path First 의 약자로
동적 라우팅 프로토콜로 대표적인 링크 상태 라우팅 프로토콜이다.
문제에서는 OSPF authentication key 를 찾는것이 목표이다.
사실 잘 모르는 분야여서 열심히 서치하는데 시간이 걸렸다.
문제에서 주어진 ospf_authentication_hash.pcapng 파일을 열어보면
OSPF 패킷 14개가 캡쳐되어 있다.
여기저기 구글에 검색해보니
OSPF 헤더에 있는
Auth Crypt Date 가 암호화된 키값이라고 한다.
바로 두칸 위에 있는
Auth Crypt Sequence Number 가 16 으로 되어있는데
이건 MD5 로 암호화 되었다는 의미이다.
MD5 라면 쉽게 Decrypt 할 수 있을거 같아서
tshark 를 이용해 해당 필드를 추출해줬다.
tshark는 Wireshark의 커맨드라인 버전이라고 생각하면 된다.
tshark는 칼리 리눅스를 설치하면 안에 내장되어 있다.(https://hackingstudypad.tistory.com/58)
tshark 명령어로 실행 가능하며
-r 옵션으로 불러올 패킷 파일을 지정해준다.
-T 옵션은 텍스트 출력형식을 지정하는데 fields 형식으로 지정해준다.
-e 옵션은 표시하고자 하는 필드를 지정할 수 있다. -T 옵션과 같이 쓰이는데 ospf.auth.crypt.data 필드를 지정했다.
그런다음 비밀번호 크래킹 툴인
John the Ripper 와
사전파일인 rockyou.txt 로 Decrypt를 시도했는데
저런 경고가 막 뜨면서 종료되었다.
해시 포맷이 안맞아서 그런것 같았다.
또 여기저기 검색하다 보니
(https://www.openwall.com/lists/john-users/2013/11/18/1)
한 외국 사이트에서 ettercap 도구를 이용해
net-md5 를 추출하는 방법을 알아냈다.
-Tqr 옵션을 주면 된다.
해당 옵션을 주고 ettercap 을 실행시키면
이렇게 해시 형식이 예쁘게 잘 뽑힌다.
여기서 맨 앞에 필요없는 OSPF-224.0.0.5: 부분을 날려주면 끝이다.
다시한번 John the Ripper 를 실행시켜 주면
이번엔 정상적으로 크랙되어 key 값을 찾을 수 있게 된다.