Fluxion 로그 파일 분석을 통한 문제 해결

Beginner
지금 연습하기

소개

Fluxion 은 Wi-Fi 보안 감사에 사용되는 인기 있는 도구입니다. 복잡한 소프트웨어와 마찬가지로 때때로 문제가 발생하거나 작업 중에 실패할 수 있습니다. 이 경우 생성되는 로그 파일은 무엇이 잘못되었는지 이해하는 데 매우 귀중한 자료가 됩니다.

이 실험실에서는 문제 해결을 위해 Fluxion 의 로그 파일을 분석하는 기본적인 과정을 배우게 됩니다. 파일 시스템을 탐색하고, 로그 파일을 검사하고, 특정 오류 메시지를 검색하기 위해 기본적이면서도 강력한 Linux 명령줄 도구를 사용하게 됩니다. 이 기술은 모든 보안 실무자 또는 시스템 관리자에게 필수적입니다.

Fluxion 폴더 내 'logs' 하위 디렉토리로 이동

이 단계에서는 Fluxion 이 로그 파일을 저장하는 디렉토리로 이동하는 것부터 시작합니다. 이 실험실에서는 ~/project 폴더 안에 fluxion 디렉토리를 시뮬레이션했습니다. 로그는 logs라는 하위 디렉토리에 있습니다.

cd (change directory) 명령을 사용하여 올바른 폴더로 이동합니다. 이는 검사해야 하는 파일에 액세스하는 첫 번째 단계입니다.

터미널에서 다음 명령을 실행합니다.

cd fluxion/logs

명령을 실행한 후 터미널 프롬프트가 새 위치를 반영하도록 변경되며, 현재 위치는 ~/project/fluxion/logs여야 합니다. pwd (print working directory) 명령을 사용하여 현재 위치를 확인할 수도 있습니다.

pwd

다음과 같은 출력이 표시되어야 합니다.

/home/labex/project/fluxion/logs

가장 최신 로그 파일을 찾기 위해 로그 파일 나열하기

이 단계에서는 logs 디렉토리의 파일을 나열합니다. 문제 해결 시에는 최신 시도에 해당하는 가장 최신 로그 파일에 관심이 있는 경우가 많습니다.

ls 명령은 파일 및 디렉토리를 나열하는 데 사용됩니다. 최신 파일을 더 쉽게 찾으려면 -lt 플래그를 사용할 수 있습니다.

  • l은 권한, 소유자, 크기 및 수정 날짜와 같은 세부 정보가 포함된 긴 목록 형식을 제공합니다.
  • t는 수정 시간을 기준으로 파일을 정렬하며, 가장 최신 파일이 먼저 표시됩니다.

이제 ls -lt 명령을 실행하여 로그 파일을 확인합니다.

ls -lt

가장 최신 로그 파일이 맨 위에 있는 다음과 유사한 출력이 표시됩니다.

total 8
-rw-r--r-- 1 labex labex 298 Oct 27 14:00 fluxion_20231027_140000.log
-rw-r--r-- 1 labex labex 234 Oct 26 10:30 fluxion_20231026_103000.log

이 출력에서 fluxion_20231027_140000.log를 가장 최신 로그로 쉽게 식별할 수 있습니다.

'cat' 또는 'less'를 사용하여 로그 파일 내용 보기

이 단계에서는 방금 식별한 가장 최신 로그 파일의 내용을 볼 것입니다. 파일 내용을 표시하는 몇 가지 명령이 있지만, catless가 가장 일반적인 두 가지입니다.

  • cat (concatenate) 은 파일을 읽어 전체 내용을 터미널에 출력합니다. 작은 파일에 가장 적합합니다.
  • less는 파일을 스크롤할 수 있는 페이저입니다. 큰 파일에 이상적입니다.

로그 파일이 작으므로 cat이 좋은 선택입니다. 가장 최신 로그 파일인 fluxion_20231027_140000.log의 내용을 살펴보겠습니다.

다음 명령을 실행합니다.

cat fluxion_20231027_140000.log

터미널에 로그 파일의 전체 내용이 표시됩니다.

[2023-10-27 14:00:01] INFO: Starting Fluxion v3.1
[2023-10-27 14:00:05] INFO: Scanning for wireless networks...
[2023-10-27 14:01:15] INFO: Target selected: OfficeNet
[2023-10-27 14:02:00] WARNING: Deauthentication attack failed. Target may be out of range.
[2023-10-27 14:02:05] INFO: Retrying attack...
[2023-10-27 14:03:45] ERROR: Handshake capture timed out.
[2023-10-27 14:03:50] INFO: Shutting down.

이제 Fluxion 이 작동 중에 기록한 모든 이벤트를 볼 수 있습니다.

오류 메시지 또는 경고 검색하기

이 단계에서는 "ERROR" 또는 "WARNING"과 같은 특정 키워드를 검색하여 문제를 신속하게 찾는 방법을 배웁니다. 긴 로그 파일을 수동으로 읽는 것은 비효율적입니다. grep 명령은 텍스트를 필터링하고 특정 패턴과 일치하는 줄을 찾는 강력한 도구입니다.

기본 구문은 grep "pattern" filename입니다. grep을 사용하여 로그 파일에서 "ERROR"라는 단어를 포함하는 모든 줄을 검색해 보겠습니다.

다음 명령을 실행합니다.

grep "ERROR" fluxion_20231027_140000.log

출력에는 패턴과 일치하는 줄만 표시됩니다.

[2023-10-27 14:03:45] ERROR: Handshake capture timed out.

이를 통해 즉시 중요한 실패 지점을 파악할 수 있습니다. "WARNING"에 대해서도 동일하게 수행하여 잠재적인 비치명적 문제를 찾을 수 있습니다. grep-i 플래그를 사용하여 대소문자를 구분하지 않는 검색도 지원합니다 (예: grep -i "error"). 이는 대소문자 구분에 확신이 없을 때 유용합니다.

타임스탬프와 공격 실패 상관관계 분석

이 단계에서는 발견한 내용을 적용하여 실패의 맥락을 이해하는 방법을 배웁니다. 오류 메시지를 찾는 것은 과정의 일부일 뿐입니다. 오류가 발생한 이유를 완전히 이해하려면 해당 오류 직전에 발생한 이벤트를 살펴보아야 합니다.

이전 단계에서 찾은 오류 줄을 다시 살펴보겠습니다.
[2023-10-27 14:03:45] ERROR: Handshake capture timed out.

타임스탬프 14:03:45가 핵심입니다. 이제 전체 로그 내용을 다시 검토하고 (다시 cat fluxion_20231027_140000.log를 사용할 수 있습니다) 이 타임스탬프 바로 앞의 항목들을 살펴보겠습니다.

...
[2023-10-27 14:02:00] WARNING: Deauthentication attack failed. Target may be out of range.
[2023-10-27 14:02:05] INFO: Retrying attack...
[2023-10-27 14:03:45] ERROR: Handshake capture timed out.
...

타임스탬프를 상관 분석함으로써 이벤트 타임라인을 구축할 수 있습니다.

  1. 14:02:00에 인증 해제 공격 (deauthentication attack) 이 실패했습니다.
  2. 14:02:05에 Fluxion 이 공격을 재시도했습니다.
  3. 약 1 분 30 초 후인 14:03:45에 핸드셰이크 캡처 (handshake capture) 시간이 초과되어 최종 오류가 발생했습니다.

이 분석은 문제가 Fluxion 자체의 소프트웨어 버그가 아니라 인증 해제 공격 또는 대상의 응답성과 관련이 있음을 시사합니다. 이것이 효과적인 로그 기반 문제 해결의 핵심입니다. 타임스탬프를 사용하여 이벤트를 연결하고 근본 원인을 진단하는 것입니다.

요약

이 실습을 완료하신 것을 축하드립니다! 이 실습을 통해 Linux 환경에서 로그 파일을 분석하는 필수 기술을 익혔으며, 이는 Fluxion 과 같은 애플리케이션의 문제 해결에 매우 중요한 작업입니다.

이 실습에서는 다음을 연습했습니다.

  • cd를 사용하여 파일 시스템 탐색하기
  • ls -lt를 사용하여 파일을 나열하고 정렬하여 가장 최근 파일 찾기
  • cat을 사용하여 파일 내용 보기
  • grep을 사용하여 "ERROR"와 같은 특정 키워드 검색하기
  • 타임스탬프를 상관 분석하여 실패로 이어진 이벤트 시퀀스 이해하기

이러한 기본적인 명령줄 기술은 다른 분야에도 적용 가능하며 시스템 관리, 개발 및 보안 분석의 여러 영역에서 유용하게 활용될 것입니다.