Bash 스크립트로 Fluxion 시작 자동화하기

Beginner
지금 연습하기

소개

Fluxion 은 보안 감사 및 소셜 엔지니어링 연구 도구입니다. 이를 효과적으로 사용하려면 일반적으로 충돌하는 프로세스를 종료하고 무선 어댑터에서 모니터 모드를 활성화하는 등 일련의 설정 명령을 먼저 수행한 다음 최종적으로 메인 애플리케이션을 실행해야 합니다. 매번 이러한 명령을 반복하는 것은 번거로울 수 있습니다.

이 실습에서는 간단한 Bash 스크립트를 만들어 이 전체 시작 시퀀스를 자동화하는 방법을 배우게 됩니다. 이 스크립트는 필요한 모든 명령을 순서대로 실행하여 단일 명령으로 Fluxion 을 시작할 수 있도록 합니다. 이는 Linux 에서 반복적인 작업을 자동화하고 워크플로우를 개선하는 기본적인 기술입니다.

이 실습에서는 시뮬레이션된 fluxion.sh 스크립트를 사용하고 wlan0이라는 무선 인터페이스가 있다고 가정합니다.

'start_fluxion.sh'라는 새 파일 생성

이 단계에서는 자동화 명령을 포함할 Bash 스크립트 파일을 생성합니다. 이 파일의 이름은 start_fluxion.sh로 지정합니다. 모든 작업은 기본 ~/project 디렉토리에서 수행됩니다.

touch 명령을 사용하여 빈 파일을 생성할 수 있습니다. 이 명령은 파일의 액세스 및 수정 시간을 업데이트하거나 파일이 존재하지 않으면 생성합니다.

스크립트 파일을 생성하려면 터미널에서 다음 명령을 실행하십시오.

touch start_fluxion.sh

명령을 실행한 후 ls를 사용하여 디렉토리 내용을 나열하여 파일이 생성되었는지 확인할 수 있습니다.

ls

출력에서 start_fluxion.sh를 볼 수 있어야 합니다.

fluxion  start_fluxion.sh

모니터 모드 활성화 명령 추가

이 단계에서는 스크립트에 초기 명령을 추가합니다. Bash 스크립트는 항상 시스템에 스크립트를 실행할 인터프리터를 알려주는 "shebang" (#!) 줄로 시작해야 합니다. Bash 스크립트의 경우 이는 #!/bin/bash입니다.

shebang 다음에 무선 인터페이스를 준비하는 명령을 추가합니다. Fluxion 과 같은 도구의 경우 주변의 모든 Wi-Fi 트래픽을 캡처하려면 무선 카드가 "모니터 모드"여야 합니다. airmon-ng 유틸리티가 일반적으로 이 용도로 사용됩니다. 두 가지 명령을 추가합니다.

  1. sudo airmon-ng check kill: 이 명령은 프로세스를 방해할 수 있는 네트워크 서비스를 중지합니다.
  2. sudo airmon-ng start wlan0: 이 명령은 무선 인터페이스 (가상의 wlan0을 사용합니다) 를 모니터 모드로 전환합니다.

이러한 명령은 루트 권한이 필요하므로 sudo를 사용합니다.

nano 텍스트 편집기로 start_fluxion.sh 파일을 엽니다.

nano start_fluxion.sh

이제 파일에 다음 내용을 추가합니다.

#!/bin/bash

## Prepare the wireless interface
echo "Stopping conflicting processes..."
sudo airmon-ng check kill

echo "Starting monitor mode on wlan0..."
sudo airmon-ng start wlan0

Ctrl+X를 눌러 nano를 종료하고, Y를 눌러 변경 사항을 저장할 것인지 확인한 다음, 마지막으로 Enter를 눌러 동일한 이름으로 파일을 저장합니다.

'fluxion.sh' 실행 명령 추가

이 단계에서는 스크립트에 최종 명령, 즉 Fluxion 애플리케이션을 실제로 실행하는 명령을 추가합니다.

시뮬레이션된 fluxion.sh 스크립트는 fluxion 디렉토리 안에 있습니다. start_fluxion.sh 스크립트 (이는 ~/project에 있음) 에서 Fluxion 스크립트까지의 상대 경로는 fluxion/fluxion.sh입니다. 실행 가능한 스크립트이므로 현재 디렉토리 컨텍스트를 지정하기 위해 ./를 사용하여 호출해야 합니다.

다시 nano로 스크립트를 열어봅시다.

nano start_fluxion.sh

파일 끝에 Fluxion 스크립트를 실행하는 명령을 추가합니다. 이제 전체 스크립트는 다음과 같이 보여야 합니다.

#!/bin/bash

## Prepare the wireless interface
echo "Stopping conflicting processes..."
sudo airmon-ng check kill

echo "Starting monitor mode on wlan0..."
sudo airmon-ng start wlan0

## Launch Fluxion
echo "Launching Fluxion..."
./fluxion/fluxion.sh

Ctrl+X를 누르고 Y를 누른 다음 Enter를 눌러 파일을 저장하고 nano를 종료합니다. 이제 자동화 스크립트가 완성되었습니다.

'chmod +x'로 스크립트 실행 가능하게 만들기

이 단계에서는 스크립트를 실행 가능하게 만듭니다. Linux 에서는 파일을 프로그램으로 실행하기 전에 "실행" 권한이 있어야 합니다. chmod (change mode) 명령을 사용하여 이 권한을 추가할 수 있습니다.

+x 플래그는 사용자, 그룹 및 기타에 대한 실행 권한을 추가하도록 chmod에 지시합니다.

start_fluxion.sh 스크립트를 실행 가능하게 만들려면 다음 명령을 실행합니다.

chmod +x start_fluxion.sh

ls -l 명령을 사용하여 권한 변경 사항을 확인할 수 있습니다. 이 명령은 자세한 목록을 제공합니다.

ls -l start_fluxion.sh

출력의 권한 블록에 있는 x 문자를 확인합니다. 이는 파일이 이제 실행 가능함을 나타냅니다.

-rwxr-xr-x 1 labex labex 218 Dec 10 12:00 start_fluxion.sh

전체 프로세스 시작을 위한 스크립트 실행

이 마지막 단계에서는 새로 만든 자동화 스크립트를 실행합니다. 스크립트가 이제 실행 가능하므로, 쉘에게 현재 디렉토리에서 파일을 찾도록 지시하는 ./를 파일 이름 앞에 붙여 터미널에서 실행할 수 있습니다.

스크립트 내의 일부 명령 (airmon-ng) 은 관리자 권한이 필요하므로, sudo를 사용하여 전체 스크립트를 실행해야 합니다.

다음 명령으로 스크립트를 실행합니다.

sudo ./start_fluxion.sh

스크립트는 이제 추가한 모든 명령을 하나씩 실행합니다. 시뮬레이션된 Fluxion 시작 메시지를 포함하여 각 명령의 출력을 볼 수 있습니다.

예상 출력:

Stopping conflicting processes...
Found 2 processes that could cause trouble.
Kill them using 'airmon-ng check kill'? (y/n)
Killing all those processes...

Starting monitor mode on wlan0...
(mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
(mac80211 station mode vif disabled for [phy0]wlan0)

Launching Fluxion...
Fluxion is starting...
Welcome to Fluxion!
The tool has launched successfully.

참고: airmon-ng의 출력은 약간 다를 수 있지만, 시뮬레이션된 Fluxion 스크립트의 최종 메시지는 나타나야 합니다.

축하합니다! Fluxion 의 시작 프로세스를 성공적으로 자동화했습니다.

요약

이 실습에서는 Fluxion 의 시작 프로세스를 자동화하는 Bash 스크립트를 성공적으로 만들었습니다. 여러 명령을 단일 실행 파일로 결합하는 방법을 배웠으며, 이는 모든 Linux 사용자에게 핵심적인 기술입니다.

다음과 같은 몇 가지 기본적인 명령과 개념을 연습했습니다.

  • touch: 새롭고 비어 있는 파일을 생성합니다.
  • nano: 스크립트의 내용을 편집합니다.
  • #!/bin/bash: Bash 인터프리터를 지정하는 데 사용되는 shebang 입니다.
  • chmod +x: 스크립트를 실행 가능하게 만듭니다.
  • sudo: 관리자 권한으로 명령을 실행합니다.
  • ./script_name.sh: 현재 디렉토리에 있는 스크립트를 실행하는 표준 방법입니다.

이 간단한 자동화를 구축함으로써 명령줄 작업을 더 효율적이고 강력하게 만드는 훌륭한 첫걸음을 내디뎠습니다.