
HTML을 수집하여 피싱 캠페인에 적합한 HTML 소스를 생성하는 Python 도구입니다.
(통 속의 물고기 농담입니다. 저는 말장난을 좋아해요!)
HTML을 수집하여 피싱 캠페인에 적합한 HTML 소스를 생성하는 Python 도구입니다.
Cooper는 피싱 캠페인에 사용할 타겟 웹사이트나 이메일을 복제하는 과정을 간소화합니다. 사용하려는 URL을 찾거나 이메일의 원본 내용을 다운로드하여 Cooper에 입력하기만 하면 됩니다. Cooper는 콘텐츠를 복제한 후 캠페인에 사용할 수 있도록 자동으로 준비합니다. 스크립트, 이미지, CSS는 상대 링크 대신 직접 링크를 사용하도록 수정할 수 있으며, 링크는 피싱 서버를 가리키도록 변경되고, 양식은 데이터를 사용자에게 보내도록 업데이트됩니다. 모든 작업이 몇 초 안에 이루어집니다. Cooper는 크로스 플랫폼이며 macOS, Linux 및 Windows에서 작동합니다.
더 이상 wget으로 사이트를 가져온 후 수동으로 링크와 양식을 편집할 필요가 없습니다. 세부 작업에 집중할 수 있습니다.
Cooper는 다양한 목적을 가진 여러 모듈을 제공합니다:
src 속성을 설정하는 데 필요한 전체 텍스트를 출력합니다. 출력은 ``와 같은 (아마도 매우 큰) 텍스트 블록입니다. 따라서 출력을 파일로 파이프하는 것이 복사/붙여넣기를 더 쉽게 만드는 좋은 방법인 경우가 많습니다.Page는 Cooper의 주요 모듈입니다. 유일하게 필수 인자는 타겟 URL을 지정하는 -t입니다. 그런 다음 선택적으로 --selenium을 추가하여 Requests 대신 Selenium을 사용할 수 있습니다. 기본적으로 출력이 잘못 보이거나 불완전한 경우(예: 배경과 일부 스타일만 있는 경우) --selenium을 사용해 보세요.
일부 웹사이트는 JavaScript가 HTML 콘텐츠를 생성해야 합니다. 출력이 잘못 보이거나 불완전한 경우 --selenium을 사용해 보세요.
또한 이미지, 스크립트 및 스타일 시트의 기본 URL로 사용할 URL을 -u로 추가할 수 있습니다. Cooper는 상대 링크(예: /wp-content/images/foo.bar)를 전체 URL로 자동 대체합니다.
-t와 -u에는 항상 올바른 프로토콜(예: *http://www.example.com*)을 포함한 유효한 URL을 제공하세요.
전체 설정 목록은 다음과 같습니다:
email 모듈은 보유한 이메일을 새로운 피싱의 기반으로 사용하려는 경우 유용합니다. 인코딩 및 다중 부분 MIME 메시지를 수동으로 처리하는 것은 번거로울 수 있으므로 Cooper가 대신 처리하게 하세요. 이 모듈은 메시지 내용을 구문 분석하고 첨부 파일과 같은 불필요한 부분을 제거한 후 주요 이메일 본문(관련 있는 일반 텍스트 또는 HTML 부분)의 완전히 디코딩된 버전을 제공합니다.
전체 설정 목록은 다음과 같습니다:
위에서 언급했듯이 이 모듈은 일회용입니다. 유일한 필수 인자는 이미지 파일을 제공하는 -i입니다. 직접 랜딩 페이지를 구축하거나 페이지를 편집하면서 이미지를 추가해야 하는 경우 유용합니다. 이미지를 포함시키기로 결정했다면 이 모듈을 사용해 보세요. 제공된 파일을 Base64로 인코딩하고 이미지 삽입에 필요한 텍스트를 생성합니다.
Cooper는 웹사이트 스크래핑 및 HTML 구문 분석을 위해 여러 라이브러리가 필요합니다. pip 또는 pipenv를 사용하여 모든 것을 설치하세요. pip용 requirements.txt와 pipenv 가상 환경용 Pipfile이 있습니다. pip를 사용하는 경우 Python 3.9에 맞는 올바른 버전(예: pip3 또는 pip3.9)을 사용해야 합니다.
Python 버전과 함께 pip를 호출하여 올바른 버전이 사용되도록 할 수 있습니다:
python3 -m pip install -r requirements.txt
가상 환경을 사용하면 훨씬 더 쉽습니다:
pipenv installpipenv shell헤드리스 브라우저에 Selenium을 사용하려면 Google Chrome이 설치되어 있어야 하며 일치하는 Chrome 웹드라이버 파일을 https://chromedriver.chromium.org/downloads 에서 다운로드해야 합니다.
웹드라이버를 다운로드하여 이 프로젝트의 루트에 압축 해제하세요. 다른 위치에 배치할 수도 있지만, 그 경우 설정을 업데이트해야 합니다(다음 섹션 참조).
그런 다음 설정 파일을 설정해야 합니다. 이 저장소에 포함된 cooper.config 파일은 GoPhish와 함께 사용하도록 미리 설정되어 있습니다(URL이 *{{.URL}}*로 변경되도록 설정됨). 기본 설정은 Chrome 웹드라이버가 디렉토리 루트에 있다고 가정합니다.
설정 파일은 다음과 같습니다:
[Replacement URLs]
landing_page_url_replacement: {{.URL}}
landing_page_form_action: {{.URL}}
email_replacement_url: {{.URL}}
[Browser]
driver_path: ./chromedriver
user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.87 Safari/537.36
필요에 따라 변경하세요. 사용하는 다른 피싱 플랫폼, 추가 공격 서버 또는 대체 사용자 에이전트에 대해 여러 설정 파일을 만들 수 있습니다. 다른 설정 파일은 대체 파일과 함께 -c 또는 --config 인수를 포함하여 사용할 수 있습니다. 그렇지 않으면 cooper.config 파일이 기본적으로 사용됩니다.
[Replacement URLs] 섹션에는 Cooper가 링크 및 양식 동작을 대체할 때 사용하는 모든 URL이 포함되어 있습니다.
landing_page_url_replacement는 랜딩 페이지에 사용되는 URL입니다. 방문자가 랜딩 페이지로 다시 리디렉션되도록 하거나 다른 곳으로 보내려면 피싱 서버의 IP로 설정하는 것이 좋습니다.
landing_page_form_action은 양식이 제출될 때 양식 데이터를 보내려는 URL입니다.
email_replacement_url은 이메일에 사용되는 URL이며 피싱 서버의 도메인 또는 IP 주소로 설정해야 합니다.
이러한 URL 중 하나라도 비어 있으면 Cooper는 해당 URL을 대체하지 않습니다. 이는 landing_page_url_replacement에 가장 실용적이며, 랜딩 페이지가 실제 링크를 계속 가리키도록 할 수 있습니다. 그러나 타겟 웹 페이지가 직접 링크 대신 /home.php와 같은 상대 링크를 사용할 수 있으므로 랜딩 페이지에 끊어진 링크가 많아질 수 있습니다.
[Browser] 섹션은 웹 브라우징 관련 설정을 위한 것입니다. 이 섹션을 사용하여 다른 드라이버 파일이나 위치를 사용하려는 경우 Selenium 및 Cooper가 브라우저 웹드라이버를 가리키도록 하세요. 웹 브라우징에 사용되는 사용자 에이전트도 여기에 정의됩니다. Cooper에는 설정 파일로 재정의할 수 있는 기본 사용자 에이전트가 있습니다.
이미지는 템플릿에 포함되기 전에 Base64로 인코딩될 수 있습니다. 이렇게 하면 템플릿이 웹사이트를 사용할 수 있거나 이미지가 제자리에 있는 것에 의존하지 않게 됩니다. 웹사이트의 추가 크기는 (아마도) 무시할 수 있지만, 이 옵션을 이메일에 사용하면 문제가 될 수 있습니다. 일부 이메일 클라이언트(예: Outlook!)는 Base64 이미지를 지원하지 않습니다. 대상의 이메일 클라이언트를 염두에 두세요.
HTTP 서버 옵션은 127.0.0.1:PORT로 접속하여 Cooper의 출력을 쉽게 검토할 수 있도록 제공됩니다. HTML 파일을 직접 열 수도 있지만 그렇게 깔끔하지 않습니다.
img 태그는 다음과 같습니다: <img src="https://raw.githubusercontent.com/chrismaddalena/cooper/HEAD/static1.squarespace.com/static/52ebedcae4b0ad4aad060b4a/t/533b687ae4b01d79d0ae12a3/1437187699809/?format=1500w"\>이 프로젝트에 도움을 준 Ninjasl0th와 Hagbard에게 특별히 감사드립니다!