**Finger** 프로그램/서비스는 컴퓨터 사용자에 대한 세부 정보를 검색하는 데 사용됩니다. 일반적으로 제공되는 정보에는 **사용자의 로그인 이름, 전체 이름** 및 경우에 따라 추가 정보가 포함됩니다. 이 추가 정보에는 사무실 위치와 전화번호(사용 가능한 경우), 사용자가 로그인한 시간, 비활동 기간(유휴 시간), 사용자가 마지막으로 메일을 읽은 시간 및 사용자의 계획 및 프로젝트 파일의 내용이 포함될 수 있습니다.
Finger 서비스는 사용자 정보를 조회하는 데 사용되는 프로토콜입니다. 공격자는 Finger 서비스를 통해 사용자 이름, 전자 메일 주소, 로그인 시간 등의 정보를 얻을 수 있습니다. 이 정보는 공격자가 사회 공학 공격을 수행하거나 다른 공격 기법을 사용할 때 유용하게 활용될 수 있습니다.
User enumeration은 시스템에서 사용자 계정을 식별하는 과정입니다. 이 기술은 공격자가 시스템에 대한 정보를 수집하고 악용하는 데 사용될 수 있습니다. 사용자 열거는 다양한 방법으로 수행될 수 있으며, 이를 통해 공격자는 시스템에 등록된 사용자 계정을 확인할 수 있습니다.
#### **1. Finger service**
Finger 서비스는 네트워크 상의 사용자 정보를 제공하는 프로토콜입니다. 공격자는 Finger 서비스를 이용하여 시스템에 등록된 사용자 계정을 확인할 수 있습니다. Finger 서비스는 기본적으로 TCP 포트 79를 사용하며, 일부 시스템에서는 기본적으로 비활성화되어 있을 수 있습니다.
공격자는 다음과 같은 명령을 사용하여 Finger 서비스를 이용할 수 있습니다.
```
$ finger @<target>
```
위 명령은 대상 시스템의 Finger 서비스를 쿼리하여 등록된 사용자 계정을 확인합니다. Finger 서비스가 활성화되어 있고 공격자가 알맞은 사용자 계정을 식별할 경우, 해당 사용자의 정보를 얻을 수 있습니다.
시스템은 사용자 인증 과정에서 발생하는 오류 메시지를 통해 사용자 계정의 존재 여부를 알려줄 수 있습니다. 공격자는 이러한 오류 메시지를 분석하여 사용자 계정을 열거할 수 있습니다. 예를 들어, 로그인 시도 중에 "잘못된 비밀번호"라는 오류 메시지가 나타난다면, 해당 사용자 계정이 존재한다는 것을 알 수 있습니다.
공격자는 다양한 인증 시나리오를 시도하면서 오류 메시지를 분석하여 사용자 계정을 확인할 수 있습니다. 이를 통해 공격자는 시스템에 등록된 사용자 계정을 식별할 수 있습니다.
#### **3. User enumeration through timing attacks**
타이밍 공격(Timing attack)은 시스템의 응답 시간을 분석하여 사용자 계정의 존재 여부를 확인하는 기술입니다. 공격자는 인증 시나리오에서 사용자 계정이 존재하는 경우와 그렇지 않은 경우의 응답 시간을 비교하여 사용자 계정을 열거할 수 있습니다.
타이밍 공격은 인증 시나리오에서 발생하는 미세한 시간 차이를 이용하여 사용자 계정을 식별합니다. 이를 통해 공격자는 시스템에 등록된 사용자 계정을 확인할 수 있습니다.