Egress-Assess-出口数据安全功能测试
简介
Egress-Assess是一款用于测试出口数据检测功能的工具,该工具可辅助完成数据安全模型测试。
在各种情况下,我们的团队都会尝试从我们正在运行的网络中提取数据,并将其移至另一个位置以进行脱机分析。 理想情况下,被评估的客户将检测到从其网络中提取的数据,并采取预防措施以阻止进一步的数据丢失。
当试图从我们的目标网络中复制数据时,攻击者可以通过多种渠道进行复制:
通过Cobalt Strike的信标下载数据(通过http或dns)
通过Meterpreter会话下载数据
通过FTP,SFTP等手动移动数据
在我们例行检查和分析来自客户环境的数据以帮助横向移动时,如果他们的出口检测能力能够识别潜在的敏感数据离开他们的网络,那么客户的数据将得到有效的保护和跟踪。
一个易于使用的解决方案, 即模拟该互联网文件拷贝场景提取敏感文件从一台计算机到另一台计算机 。攻击者常用的网络文件拷贝协议有 : FTP,HTTP和HTTPS。 为了确保我们生成的 “敏感”数据在防御性行动中能够被及时发现的 ,我们需要确定多个组织将高度重视的内容,如数据库文件, 我们可以通过概念证明的方式针对这些数据形式测试。
安装
要进行安装,请运行随附的安装脚本,或执行以下操作:
Git clone https://github.com/ChrisTruncer/Egress-Assess
安装pyftpdlib
pip install pyftpdli
生成服务器证书,并将其存储为与“Egress-Assess”相同级别的“ server.pem”。 可以使用以下命令完成此操作:
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
用法
Egress-Assess可以充当我们要模拟的协议的客户端和服务器。 它支持通过HTTP,HTTPS和FTP进行测试评估。 设想该工具将在内部客户端和外部服务器上使用,并通过网络边界传递数据。 一旦从存储库中克隆了虚拟数据,就可以从一台计算机传输到另一台计算机。
Egress-Assess的典型用例是拷贝两个工具到本地。 一个将充当服务器,另一个充当客户端。 Egress-Assess可以通过FTP,HTTP和HTTPS发送数据。
要通过FTP提取数据,首先要通过选择“ --server ftp”并提供要使用的用户名和密码来启动Egress-Assess的FTP服务器:
python Egress-Assess.py --server ftp --username testuser --password pass123

现在,要让客户端连接并将数据发送到ftp服务器,您可以运行
python Egress-Assess.py --client ftp --username testuser --password pass123 --ip 192.168.52.131 --datatype ssn

服务端接收到客户端发送的文件

在Egress-Assess目录下,将创建一个data目录,该目录将用于存储所有传输的文件。

你也可以通过http和https执行相同的操作,第一步启动http服务,设置Egress-Assess充当Web服务器。
python Egress-Assess.py --server http

然后要通过客户端程序将数据发送到http服务器,并专门发送15兆的凭证数据,请运行以下命令...
python Egress-Assess.py --client http --data-size 15 --ip 192.168.52.131 --datatype cc

服务端接收到客户端发送的文件

接收到的文件被保存在data目录下:

通过检测data目录下的文件变动情况来判断是否发送文件传输行为,再对该目录下文件内容进行检测,从而进一步判断传输的内容是否为敏感文件,是否包含敏感数据等。
Github:https://github.com/ChrisTruncer/Egress-Assess
参考文章:https://www.christophertruncer.com/egress-assess-testing-egress-data-detection-capabilities/
Egress-Assess-出口数据安全功能测试的更多相关文章
- nginx-consul-template
概述Consul-template 是 HashiCorp 基于 Consul 所提供的可扩展的工具,通过监听 Consul中的数据变化,动态地修改一些配置文件中地模板.常用于在 Nginx.HAPr ...
- 【译文连载】 理解Istio服务网格(第一章 概述)
书籍英文版下载链接为 https://developers.redhat.com/books/introducing-istio-service-mesh-microservices/,作者 Burr ...
- 8-kubernetes-安全
kubernetes安全框架 访问K8S集群的资源需要过三关:认证.鉴权.准入控制,任意一个不通过都会失败 普通用户若要安全访问集群API server,往往需要证书.token或者用户名+密码,po ...
- 通过Dapr实现一个简单的基于.net的微服务电商系统(十二)——istio+dapr构建多运行时服务网格
多运行时是一个非常新的概念.在 2020 年,Bilgin Ibryam 提出了 Multi-Runtime(多运行时)的理念,对基于 Sidecar 模式的各种产品形态进行了实践总结和理论升华.那到 ...
- 保护 iOS 用户数据安全: Keychain 和 Touch ID
原文:How To Secure iOS User Data: The Keychain and Touch ID 作者:Tim Mitra 译者:kmyhy 更新说明:本教程由 Tim Mitra ...
- Django学习系列20:改进功能测试
隐示等待和显示等待 我们看看在功能测试中function_tests.py中的 time.sleep inputbox.send_keys(Keys.ENTER) time.sleep(1) self ...
- iOS系列 基础篇 07 Action动作和输出口
iOS系列 基础篇 07 Action动作和输出口 目录: 1. 前言及案例说明 2. 什么是动作? 3. 什么是输出口? 4. 实战 5. 结尾 1. 前言及案例说明 上篇内容我们学习了标签和按钮 ...
- 关于web端功能测试的测试方向
一.功能测试 1.1链接测试 链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转,指导用户去一些不知道地址的页面的主要手段,链接测试一般关注三点: 1)链接是否按照既定指示那样,确实链 ...
- 几何服务,cut功能测试
关于几何服务 几何服务用于辅助应用程序执行各种几何计算,如缓冲区.简化.面积和长度计算以及投影.在 ArcGIS Server 管理器中启动几何服务之后,您才能够在应用程序开发过程中使用该服务. 问题 ...
随机推荐
- how to overwrite css !important style
how to overwrite css !important style css !important bug how to override css !important style https: ...
- 灰度发布 & A/B 测试
灰度发布 & A/B 测试 http://www.woshipm.com/pmd/573429.html 8 https://testerhome.com/topics/15746 scree ...
- c++ 遍历当前程序的线程
#include <iostream> #include <Windows.h> #include <Psapi.h> #include <TlHelp32. ...
- vue农历日历
<template> <div class="calendar-main"> <div class="choose_year"&g ...
- js 创建XML
// 创建xml数据 let doc = document.implementation.createDocument('', 'root', null); // 创建一个文档 let root =d ...
- html转png
/*海报弹窗2018-3-14*/.diglogimg{position: fixed;top:0;left:0;z-index: 99;width: 100%;height: 100%;backgr ...
- C++算法代码——关于马的问题
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1285 题目描述 小R参加一个派对,这个派队的参加者需要带上四匹颜色不同的马.小R目前 ...
- .Net Core 3.1浏览器后端服务(三) Swagger引入与应用
一.前言 前后端分离的软件开发方式已逐步成为互联网项目开发的业界标准,前后端分离带来了诸多好处的同时,也带来了一些弊端. 接口文档的维护就是其中之一,起初前后端约定文档规范,开发的很愉快,随着时间推移 ...
- Python数据结构与算法_删除排序数组中的重复项(06)
给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成. ...
- 微信小程序中input标签高度设置
如果没有设置高度所以显示的是控件自身的高度. 微信小程序input控件原始设置: 上图发现: 我只覆盖了官方input的height,而没有覆盖min-height; .query input{ bo ...