Silence is gold. I listen to every move on this network. And I think I got something interesting.
패킷 덤프 파일이 주어진다.
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는 라우터나 스위치에서 설정값을 외부 서버에 저장할 때 사용되는 프로토콜이다.
TACACS의 키 값도 이 설정파일 안에 저장되어 있을 것이다.
TFTP는 UDP를 사용한다. 따라서 와이어샤크의 Follow - UDP Stream
으로 내용을 확인할 수 있다.
설정 내용 중 하단을 보면 암호화된 키 값을 확인할 수 있다.
!
tacacs-server host 192.168.1.100 key 7 0325612F2835701E1D5D3F2033
!
이 값은 다음의 사이트에서 크랙할 수 있으며
크랙된 키 값은 AZDNZ1234FED이다.
와이어샤크는 키 값을 입력하면 자동으로 TACACS를 decrypt해주는 기능을 제공한다.
edit - Preferences - Protocols
에서 TACACS에 해당 키를 입력해주면 된다.
그리고 다시 TACACS의 패킷을 확인해보면 복호화된 내용을 확인할 수 있다.
처음에 Login을 요청하고
서버는 패스워드 응답을 기다린다.
그리고 유저가 패스워드를 전송하는데, 이 때 전송되는 값이 플래그 값이다.
shkCTF{T4c4c5_ch4ll3n63_br0}