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

news2024/12/27 14:27:44

关于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模块不是非常稳定,而且随着网站的变化,某些模块的运行可能会偶尔中断。

工具下载

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

git clone https://github.com/mrd0x/EvilSelenium.git

工具安装

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

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

EvilSelenium.exe /install

工具帮助信息

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. "Microsoft\Edge")

 

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%”目录中添加下列内容(一些常见浏览器):

# Brave

/browserdir BraveSoftware\Brave-Browser


# Microsoft Edge

/browserdir Microsoft\Edge


# Vivaldi

/browserdir Vivaldi

网络侦查模块

/enumsavedsites - 获取“chrome://settings/passwords”的屏幕截图。

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

凭证模块

/autorun - 针对常用网站的预构建模版。

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

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

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

Cookie模块

/cookies - 从指定网站导出Cookie数据。

杂项模块

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

/download - 下载文件&指定等待下载的时间。

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

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

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

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

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

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

工具使用演示

网络安全工程师企业级学习路线

这时候你当然需要一份系统性的学习路线

如图片过大被平台压缩导致看不清的话,可以在文末下载(无偿的),大家也可以一起学习交流一下。

一些我收集的网络安全自学入门书籍

一些我白嫖到的不错的视频教程:

上述资料【扫下方二维码】就可以领取了,无偿分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/193380.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年黑马Java入门到精通教程--Java基础语法

java基础语法 变量详解 二进制 只有0、1,按照逢2进1的方式表示数据: 十进制转二进制的算法 除二取余法。 计算机中的数据的最小单位 其他数据形式是如何存储的 字符在计算机中是如何存储的呢? ASCII编码表:即美国信息交换标准…

代码随想录算法训练营第五十八天_第九章_动态规划 | 392.判断子序列、115.不同的子序列

LeetCode 392.判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 视频讲解https://www.bilibili.com/video/BV1tv4y1B7ym/?spm_id_from333.788&vd_sourcef98f2942b3c4cafea8907a325fc56a48文章讲解https://programmercarl.com/0392.%E5%88%A4%E6%96%A…

【Java线程】线程退出和终止

1. 线程终止 —— 通知方式 通过在 T1 线程中修改 T2 线程中的控制变量,来实现 T1 线程通知 T2 线程终止。 示例如下: /*** description: 线程的终止和退出测试* author: Liuwanqing* date: 2022-10-14 17:00*/ public class ThreadExit_ {public sta…

边缘检测与角点检测(模式识别与图像处理课程作业)

边缘检测与角点检测(模式识别与图像处理课程作业)一、边缘检测1.1、读取图像1.2、图像转换成灰度图像1.3、Sobel算子1.4、Canny算子1.5、显示正常中文的标签1.6、边缘检测结果二、角点检测2.1、读取图像2.2、图像转换成灰度图像2.3、Harris算子2.4、设置…

HTTPTunnel测试

介绍 HTTPTunnel是一个隧道软件。通过http的GET和POST请求隐藏隧道内的流量。适用于有网络封锁的环境,比如防火墙仅允许80端口数据包通过,内部终端访问外部其他应用时,或者渗透测试时访问内部目标服务器的其他业务端口时,都可以通…

MySQL多表操作案例练习

目录 准备 需求 代码 准备 -- 创建test1数据库 create database test1; -- 选择使用test1数据库 use test1; -- 创建部门表 create table dept(deptno int primary key,-- 部门编号dname varchar(14) ,-- 部门名称loc varchar(13) -- 部门地址 ) ;insert into dept values(…

【Rust】19. 模式与模式匹配

19.1 所有可能会用到模式的位置 19.1.1 match 分支 19.1.2 if let 条件表达式 可以组合并匹配 if let、else if 和 else if let 表达式,优势在于可以将多个值与模式比较(match 表达式一次只能将一个值与模式比较),且各个分支并不…

[NOI Online 2022 入门组] 王国比赛

题目背景: 经过管理员的考虑,我们打算将民间数据单独存放在最后一个 Subtask 中。这些测试点分数均为 0 分,但是没有通过其中的任何测试点将会视为此题不通过。 民间数据提供者:一扶苏一。 题目描述: 智慧之王 Kri …

C++八数码程序图形化界面[2023-02-02]

C八数码程序图形化界面[2023-02-02] 问题简介 八数码:是指在3x3的矩阵中,其中有8个格子放置成1-8,剩下一个格子是空格。能够移动和空格相邻的格子到空格,直到这个矩阵满足每一行依次从左到右读取是有序,得到最后得到1…

爱普生LQ-610K针式打印机不通电维修

基本参数: 爱普生LQ-610K是一台针式打印机,不支持网络打印,A4幅面,不支持自动双面打印。 品牌:爱普生Epson 型号:LQ-610K 颜色:灰色 类型:针式打印机 幅面:A4幅面 针数:24针 打印速度:中文(6.7cpi)150汉字/秒 100汉字/秒 (7.5cpi)168汉字/秒 112汉字/秒5…

【整理分享】一些常见Vue面试题(附答案解析)

本次给大家分享一些关于Vue的常见面试题,带你梳理基础知识,增强Vue知识储备,值得收藏,快来看看吧! Vue 常见面试题总结 MVVM模型? MVVM,是Model-View-ViewModel的简写,其本质是MVC…

【Git笔记】GitHub创建远程库,推送到远程库,拉取到本地库与克隆到本地库

目录 创建 GitHub 远程库 创建远程库别名 推送本地库到远程库 拉取远程库到本地库 克隆远程库到本地库 创建 GitHub 远程库 点击 New repository Repository name 名字与工作区名称最好一致 Public 就是开源,Private 就是私有,不公开 其它的保持…

阿里二面:千万级、亿级数据,如何性能优化? 教科书级 答案来了

说在前面 在尼恩指导了几百个小伙伴的面试,在这些过程中, 非常、非常高频的一个面试题: 千万级数据,如何做性能优化? 亿级数据,如何做性能优化? 最近,有个小伙伴阿里二面&#xff0…

袁树雄有《早安隆回》,杨语莲有《汉川》,后者嫁给前者真是绝配

随着《早安隆回》的火爆,创作者袁树雄也收获颇丰,不但各种商演邀约不断,还坐到了春晚的观众席上。 、虽然对于袁树雄来说,他能够坐到观众席上面,就已经是一生的荣幸了,但是央视春晚纂改歌词,总是…

python time模块和datetime模块详解

一、time模块 time模块中时间表现的格式主要有三种: a、timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b、struct_time时间元组,共有九个元素组。 c、format time 格式化时间,已格式化的结构使时间更…

【生产者消费者模型】

Linux生产者消费者模型生产者消费者模型生产者消费者模型的概念生产者消费者模型的特点生产者消费者模型优点基于BlockingQueue的生产者消费者模型基于阻塞队列的生产者消费者模型模拟实现基于阻塞队列的生产消费模型生产者消费者模型 生产者消费者模型的概念 生产者消费者模式…

剑指 Offer 第19天 二叉树的公共祖先

目录 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 剑指 Offer 68 - II. 二叉树的最近公共祖先 a 小部件 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表…

基于 JMeter 完成 Dubbo 接口的测试

JMeter 默认是不支持 Dubbo 接口测试的,但是我们可以通过拓展的插件或 jar 包实现此功能。 JMeter 插件拓展 1.1 插件下载 测试 Dubbo,我们需要下载 Dubbo 的插件,在 Apache 的 Dubbo 插件 GitHub 中可以找到: https://github…

DDR调试不通?先别扔,这个操作可能帮你逆袭!

作者:一博科技高速先生成员 黄刚相信大家过完一个美美的春节后,学习的热情一定会暴涨,反正高速先生给大家分享技术文章的热情是非常高涨的哈!打从推出这个系列的仿真和理论相结合的话题后,文章受到了很多忠实粉丝的喜爱…

ThinkPHP6 获取上传文件属性及自定义文件验证及上传处理

TP^6.1文件上传有封装方法,如果不想用封装的,自定义上传怎么获取文件属性呢 目录 TP文件信息 打印上传文件信息 获取文件属性方法 1.获取文件大小(单位bytes) 2.获取文件后缀 3.获取文件上传路径 4.获取文件名称 5.上传文…