SHARKYCTF2020] RattataTACACS

woounnan·2020년 5월 14일
1

wargame

목록 보기
49/59
post-thumbnail

문제

Silence is gold. I listen to every move on this network. And I think I got something interesting.

Chall.pcapng

패킷 덤프 파일이 주어진다.


풀이

TACACS

TACACS는 인증에 사용되는 네트워크 프로토콜이다.

https://en.wikipedia.org/wiki/TACACS

Terminal Access Controller Access-Control System (TACACS, /ˈtækæks/) refers to a family of related protocols handling remote authentication and related services for networked access control through a centralized server.

TACACS는 두 가지의 기능(Authentication, Authorization)과 한 가지의 옵션(Accounting)을 제공한다.

문제의 패킷 덤프를 확인해보면 TACACS 패킷이 송수신되고 있으므로, 유저인증에 TACACS가 사용되었음을 알 수 있다.

키 확인

하지만, TACACS 인증시 전달되는 패킷을 보면 body가 공유키로 암호화되어 있어 내용을 확인할 수 없다.

다행히 TACACS 인증 후 전달되는 패킷을 보면 TFTP 프로토콜이다.

TFTP는 라우터나 스위치에서 설정값을 외부 서버에 저장할 때 사용되는 프로토콜이다.

https://m.blog.naver.com/PostView.nhn?blogId=avgnavgn&logNo=220685245013&proxyReferer=https:%2F%2Fwww.google.com%2F

TACACS의 키 값도 이 설정파일 안에 저장되어 있을 것이다.
TFTP는 UDP를 사용한다. 따라서 와이어샤크의 Follow - UDP Stream으로 내용을 확인할 수 있다.

설정 내용 중 하단을 보면 암호화된 키 값을 확인할 수 있다.

!
tacacs-server host 192.168.1.100 key 7 0325612F2835701E1D5D3F2033
!

이 값은 다음의 사이트에서 크랙할 수 있으며

https://www.ifm.net.nz/cookbooks/passwordcracker.html

크랙된 키 값은 AZDNZ1234FED이다.

복호화

와이어샤크는 키 값을 입력하면 자동으로 TACACS를 decrypt해주는 기능을 제공한다.
edit - Preferences - Protocols에서 TACACS에 해당 키를 입력해주면 된다.

그리고 다시 TACACS의 패킷을 확인해보면 복호화된 내용을 확인할 수 있다.

처음에 Login을 요청하고

서버는 패스워드 응답을 기다린다.

그리고 유저가 패스워드를 전송하는데, 이 때 전송되는 값이 플래그 값이다.

shkCTF{T4c4c5_ch4ll3n63_br0}

0개의 댓글