79 - Pentesting Finger

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

기본 정보

Finger 프로그램/서비스는 컴퓨터 사용자에 대한 세부 정보를 검색하는 데 사용됩니다. 일반적으로 제공되는 정보에는 사용자의 로그인 이름, 전체 이름 및 경우에 따라 추가 정보가 포함됩니다. 이 추가 정보에는 사무실 위치와 전화번호(사용 가능한 경우), 사용자가 로그인한 시간, 비활동 기간(유휴 시간), 사용자가 마지막으로 메일을 읽은 시간 및 사용자의 계획 및 프로젝트 파일의 내용이 포함될 수 있습니다.

기본 포트: 79

PORT   STATE SERVICE
79/tcp open  finger

열거

배너 그래빙/기본 연결

배너 그래빙은 네트워크 서비스의 버전 및 운영 체제 정보를 얻기 위해 사용되는 기술입니다. 이를 통해 공격자는 취약점을 찾거나 서비스의 약점을 파악할 수 있습니다. 배너 그래빙은 주로 Finger 서비스를 대상으로 사용됩니다.

Finger 서비스는 사용자 정보를 조회하는 데 사용되는 프로토콜입니다. 공격자는 Finger 서비스를 통해 사용자 이름, 전자 메일 주소, 로그인 시간 등의 정보를 얻을 수 있습니다. 이 정보는 공격자가 사회 공학 공격을 수행하거나 다른 공격 기법을 사용할 때 유용하게 활용될 수 있습니다.

배너 그래빙을 수행하기 위해 다음 명령을 사용할 수 있습니다.

finger @<target>

위 명령은 Finger 서비스를 대상으로 배너 그래빙을 수행합니다. <target>은 대상 서버의 IP 주소나 도메인 이름입니다. 이 명령을 실행하면 서버의 배너 정보가 표시됩니다.

nc -vn <IP> 79
echo "root" | nc -vn <IP> 79

사용자 열거(User enumeration)

User enumeration은 시스템에서 사용자 계정을 식별하는 과정입니다. 이 기술은 공격자가 시스템에 대한 정보를 수집하고 악용하는 데 사용될 수 있습니다. 사용자 열거는 다양한 방법으로 수행될 수 있으며, 이를 통해 공격자는 시스템에 등록된 사용자 계정을 확인할 수 있습니다.

1. Finger service

Finger 서비스는 네트워크 상의 사용자 정보를 제공하는 프로토콜입니다. 공격자는 Finger 서비스를 이용하여 시스템에 등록된 사용자 계정을 확인할 수 있습니다. Finger 서비스는 기본적으로 TCP 포트 79를 사용하며, 일부 시스템에서는 기본적으로 비활성화되어 있을 수 있습니다.

공격자는 다음과 같은 명령을 사용하여 Finger 서비스를 이용할 수 있습니다.

$ finger @<target>

위 명령은 대상 시스템의 Finger 서비스를 쿼리하여 등록된 사용자 계정을 확인합니다. Finger 서비스가 활성화되어 있고 공격자가 알맞은 사용자 계정을 식별할 경우, 해당 사용자의 정보를 얻을 수 있습니다.

2. User enumeration through error messages

시스템은 사용자 인증 과정에서 발생하는 오류 메시지를 통해 사용자 계정의 존재 여부를 알려줄 수 있습니다. 공격자는 이러한 오류 메시지를 분석하여 사용자 계정을 열거할 수 있습니다. 예를 들어, 로그인 시도 중에 "잘못된 비밀번호"라는 오류 메시지가 나타난다면, 해당 사용자 계정이 존재한다는 것을 알 수 있습니다.

공격자는 다양한 인증 시나리오를 시도하면서 오류 메시지를 분석하여 사용자 계정을 확인할 수 있습니다. 이를 통해 공격자는 시스템에 등록된 사용자 계정을 식별할 수 있습니다.

3. User enumeration through timing attacks

타이밍 공격(Timing attack)은 시스템의 응답 시간을 분석하여 사용자 계정의 존재 여부를 확인하는 기술입니다. 공격자는 인증 시나리오에서 사용자 계정이 존재하는 경우와 그렇지 않은 경우의 응답 시간을 비교하여 사용자 계정을 열거할 수 있습니다.

타이밍 공격은 인증 시나리오에서 발생하는 미세한 시간 차이를 이용하여 사용자 계정을 식별합니다. 이를 통해 공격자는 시스템에 등록된 사용자 계정을 확인할 수 있습니다.

finger @<Victim>       #List users
finger admin@<Victim>  #Get info of user
finger user@<Victim>   #Get info of user

대신에 pentestmonkey에서 finger-user-enum을 사용할 수도 있습니다. 몇 가지 예시는 다음과 같습니다:

finger-user-enum.pl -U users.txt -t 10.0.0.1
finger-user-enum.pl -u root -t 10.0.0.1
finger-user-enum.pl -U users.txt -T ips.txt

Nmap은 기본 스크립트를 사용하여 실행합니다

Metasploit은 Nmap보다 더 많은 트릭을 사용합니다

use auxiliary/scanner/finger/finger_users

Shodan

  • port:79 USER

명령 실행

finger "|/bin/id@example.com"
finger "|/bin/ls -a /@example.com"

Finger Bounce

시스템을 손가락 중계로 사용하기

finger user@host@victim
finger @internal@external
htARTE (HackTricks AWS Red Team Expert)을 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

Last updated