🇰🇷 한글 설명
S/Key는 일회용 비밀번호(OTP) 인증 시스템인데, keyinit 명령이 인증을 요구하지 않아 사용자 계정에 접근한 공격자가 새로운 일회용 비밀번호 시퀀스를 초기화할 수 있다. 이를 통해 공격자는 S/Key를 사용하는 sudo 등의 인증 메커니즘을 우회하여 권한을 상승시킬 수 있다.
💡 쉬운 설명
S/Key는 일회용 암호를 생성하는 보안 시스템인데, 초기화 명령이 비밀번호를 요구하지 않아서 해커가 계정을 장악했을 때 새로운 암호 목록을 만들 수 있다. 그러면 해커가 sudo 같은 권한 상승 명령을 자유롭게 사용할 수 있게 된다.
🇺🇸 원문 (English)
keyinit in S/Key does not require authentication to initialize a one-time password sequence, which allows an attacker who has gained privileges to a user account to create new one-time passwords for use in other activities that may use S/Key authentication, such as sudo.
📍 영향받는 시스템
S/Key를 사용하는 BSD, Linux 등 Unix 계열 시스템 (OpenBSD, Linux with S/Key installed)
⚔️ 공격 벡터
공격자가 먼저 사용자 계정에 접근한 후 인증 없이 keyinit 명령을 실행하여 일회용 비밀번호 시퀀스를 재초기화
🛡️ 대응 방법
keyinit 명령에 사용자 인증 검증 기능을 추가하거나, 불필요한 S/Key 사용을 비활성화하고 최신 패치 적용
🔧 검증 코드
S/Key 패키지가 설치되어 있으면 패키지명과 버전이 표시되고, 설치되지 않으면 아무것도 출력되지 않는다.
dpkg -l 2>/dev/null | grep -i skey | awk '{print $2, $3}' || which keyinit 2>/dev/null && echo 'S/Key installed'