ReelPhish 사용 지침:
이 도구는 FireEye 블로그 게시물과 함께 출시되었습니다. 블로그 게시물은 다음 링크에서 확인할 수 있습니다: https://www.fireeye.com/blog/threat-research/2018/02/reelphish-real-time-two-factor-phishing-tool.html
설치 단계
-
Python 2.7.x의 최신 릴리스가 필요합니다.
-
브라우저 드라이버를 실행하는 데 필요한 종속성인 Selenium을 설치합니다.
- pip install -r requirements.txt
-
사용하려는 모든 웹 브라우저의 브라우저 드라이버를 다운로드합니다. 바이너리는 이 루트 디렉터리에 다음 명명 규칙에 따라 배치해야 합니다.
-
Internet Explorer: www.seleniumhq.org/download/
- 32비트 Windows IE용 Internet Explorer 드라이버 서버를 다운로드합니다. 파일의 압축을 풀고 바이너리 이름을 IEDriver.exe로 변경합니다.
- Internet Explorer 드라이버가 작동하려면 보호 모드가 비활성화되어 있는지 확인하십시오. IE11(64비트 Windows)에서는 레지스트리 키 "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE"를 생성해야 합니다. 이 키에서 DWORD 값 _iexplore.exe_를 만들고 값을 0으로 설정합니다.
- Internet Explorer 요구 사항에 대한 자세한 내용은 www.github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver에서 확인할 수 있습니다.
-
Firefox: www.github.com/mozilla/geckodriver/releases/
- Windows 32비트용 Firefox GeckoDriver 최신 릴리스를 다운로드합니다. 파일의 압축을 풀고 바이너리 이름을 FFDriver.exe로 변경합니다.
- Linux 시스템에서는 Linux용 Firefox GeckoDriver를 다운로드하고 바이너리 이름을 FFDriver.bin으로 변경합니다. Linux 지원은 실험적입니다.
- Gecko 드라이버에는 특별한 요구 사항이 있습니다. FFDriver.exe를 geckodriver.exe로 복사하여 PATH 변수에 넣으십시오. 또한 firefox.exe를 PATH 변수에 추가하십시오.
-
Chrome: https://chromedriver.storage.googleapis.com/index.html?path=2.35/
- Windows 32비트용 Google Chrome 드라이버 최신 릴리스를 다운로드합니다. 파일의 압축을 풀고 바이너리 이름을 ChromeDriver.exe로 변경합니다.
- Linux 시스템에서는 Linux용 Chrome 웹 드라이버를 다운로드하고 바이너리 이름을 ChromeDriver.bin으로 변경합니다. Linux 지원은 실험적입니다.
ReelPhish 실행
ReelPhish는 두 가지 구성 요소로 구성됩니다: 피싱 사이트 처리 코드와 이 스크립트입니다. 피싱 사이트는 원하는 대로 설계할 수 있습니다. 샘플 PHP 코드는 /examplesitecode에 제공됩니다. 샘플 코드는 HTTP POST 요청에서 사용자 이름과 비밀번호를 받아 피싱 스크립트로 전송합니다.
피싱 스크립트는 로컬 포트에서 수신 대기하며 자격 증명 패킷을 기다립니다. 자격 증명이 수신되면 피싱 스크립트는 새 웹 브라우저 인스턴스를 열고 원하는 URL(사용자의 자격 증명을 입력할 실제 사이트)로 이동합니다. 웹 브라우저가 자격 증명을 제출합니다.
피싱 사이트와 이 스크립트 간의 통신을 처리하는 권장 방법은 역방향 SSH 터널을 사용하는 것입니다. 이것이 예제 PHP 피싱 사이트 코드가 localhost:2135로 자격 증명을 제출하는 이유입니다.
ReelPhish 인수
- --browser 매개변수와 함께 사용할 브라우저를 지정해야 합니다. 지원되는 브라우저는 Internet Explorer("--browser IE"), Firefox("--browser FF") 및 Chrome("--browser Chrome")입니다. Windows와 Linux 모두 지원됩니다. Chrome은 설정 단계가 가장 적습니다. 자세한 내용은 위의 설치 지침을 참조하십시오.
- URL을 지정해야 합니다. 스크립트가 이 URL로 이동하여 대신 자격 증명을 제출합니다.
- 다른 선택적 매개변수를 사용할 수 있습니다.
- 로깅 매개변수를 debug로 설정(--logging debug)하여 상세한 이벤트 로깅을 활성화합니다.
- submit 매개변수(--submit)를 설정하여 브라우저가 "클릭"하는 요소를 사용자 지정합니다.
- override 매개변수(--override)를 설정하여 누락된 양식 요소를 무시합니다.
- numpages 매개변수(--numpages)를 설정하여 인증 페이지 수를 늘립니다(아래 섹션 참조).
다중 페이지 인증 지원
ReelPhish는 여러 인증 페이지를 지원합니다. 예를 들어, 일부 경우에는 두 번째 페이지에서 이중 인증 코드가 요청될 수 있습니다. 이 기능을 구현하려면 --numpages가 인증 페이지 수로 설정되어 있는지 확인하십시오. 또한 피싱 사이트에서 세션 ID가 올바르게 추적되는지 확인하십시오. 세션 ID는 사용자가 각 인증 단계를 진행할 때 추적하는 데 사용됩니다.
일부 경우에는 특정 인증 페이지에서 특정 콘텐츠(예: 챌린지 코드)를 스크랩해야 할 수도 있습니다. 스크래핑 작업을 수행하기 위한 예제 주석 처리된 코드가 ReelPhish.py에 제공됩니다.