简介

Egress-Assess是一款用于测试出口数据检测功能的工具,该工具可辅助完成数据安全模型测试。

在各种情况下,我们的团队都会尝试从我们正在运行的网络中提取数据,并将其移至另一个位置以进行脱机分析。 理想情况下,被评估的客户将检测到从其网络中提取的数据,并采取预防措施以阻止进一步的数据丢失。

当试图从我们的目标网络中复制数据时,攻击者可以通过多种渠道进行复制:

  • 通过Cobalt Strike的信标下载数据(通过http或dns)

  • 通过Meterpreter会话下载数据

  • 通过FTP,SFTP等手动移动数据

在我们例行检查和分析来自客户环境的数据以帮助横向移动时,如果他们的出口检测能力能够识别潜在的敏感数据离开他们的网络,那么客户的数据将得到有效的保护和跟踪。

一个易于使用的解决方案, 即模拟该互联网文件拷贝场景提取敏感文件从一台计算机到另一台计算机 。攻击者常用的网络文件拷贝协议有 : FTP,HTTP和HTTPS。 为了确保我们生成的 “敏感”数据在防御性行动中能够被及时发现的 ,我们需要确定多个组织将高度重视的内容,如数据库文件, 我们可以通过概念证明的方式针对这些数据形式测试。

安装

要进行安装,请运行随附的安装脚本,或执行以下操作:

Git clone https://github.com/ChrisTruncer/Egress-Assess
  1. 安装pyftpdlib

    pip install pyftpdli
  2. 生成服务器证书,并将其存储为与“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-出口数据安全功能测试的更多相关文章

  1. nginx-consul-template

    概述Consul-template 是 HashiCorp 基于 Consul 所提供的可扩展的工具,通过监听 Consul中的数据变化,动态地修改一些配置文件中地模板.常用于在 Nginx.HAPr ...

  2. 【译文连载】 理解Istio服务网格(第一章 概述)

    书籍英文版下载链接为 https://developers.redhat.com/books/introducing-istio-service-mesh-microservices/,作者 Burr ...

  3. 8-kubernetes-安全

    kubernetes安全框架 访问K8S集群的资源需要过三关:认证.鉴权.准入控制,任意一个不通过都会失败 普通用户若要安全访问集群API server,往往需要证书.token或者用户名+密码,po ...

  4. 通过Dapr实现一个简单的基于.net的微服务电商系统(十二)——istio+dapr构建多运行时服务网格

    多运行时是一个非常新的概念.在 2020 年,Bilgin Ibryam 提出了 Multi-Runtime(多运行时)的理念,对基于 Sidecar 模式的各种产品形态进行了实践总结和理论升华.那到 ...

  5. 保护 iOS 用户数据安全: Keychain 和 Touch ID

    原文:How To Secure iOS User Data: The Keychain and Touch ID 作者:Tim Mitra 译者:kmyhy 更新说明:本教程由 Tim Mitra ...

  6. Django学习系列20:改进功能测试

    隐示等待和显示等待 我们看看在功能测试中function_tests.py中的 time.sleep inputbox.send_keys(Keys.ENTER) time.sleep(1) self ...

  7. iOS系列 基础篇 07 Action动作和输出口

    iOS系列 基础篇 07 Action动作和输出口 目录:  1. 前言及案例说明 2. 什么是动作? 3. 什么是输出口? 4. 实战 5. 结尾 1. 前言及案例说明 上篇内容我们学习了标签和按钮 ...

  8. 关于web端功能测试的测试方向

    一.功能测试 1.1链接测试 链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转,指导用户去一些不知道地址的页面的主要手段,链接测试一般关注三点: 1)链接是否按照既定指示那样,确实链 ...

  9. 几何服务,cut功能测试

    关于几何服务 几何服务用于辅助应用程序执行各种几何计算,如缓冲区.简化.面积和长度计算以及投影.在 ArcGIS Server 管理器中启动几何服务之后,您才能够在应用程序开发过程中使用该服务. 问题 ...

随机推荐

  1. Object.stringify 循环引用 bug & TypeError: Converting circular structure to JSON

    Object.stringify 循环引用 bug & TypeError: Converting circular structure to JSON var obj = { a: &quo ...

  2. Flutter 使用高德地图定位

    amap_location 包 获取debug SHA1 // 使用debug.keystore获取debug SHA1 C:\Users\ajanuw\.android>keytool -li ...

  3. 怎么创建CSV文件和怎么打开CSV文件

    CSV(Comma Separated Values逗号分隔值). .csv是一种文件格式(如.txt..doc等),也可理解.csv文件就是一种特殊格式的纯文本文件.即是一组字符序列,字符之间已英文 ...

  4. 25_MySQL 数据操作语言:UPDATE语句

    -- UPDATE 把每个员工的编号和上司的编号都加1,用 ORDER BY 完成 UPDATE t_emp SET empno=empno+1,mgr=mgr+1 ORDER BY empno DE ...

  5. ElementUI使用总结

    首先声明,我这总结的官网都有,只是将自己使用时遇到的问题,重新记录一下,官网地址:https://element.eleme.cn/ 1.表格内指定行数给定不同样式(类似于隔行变色,也能叫指定行数不同 ...

  6. Redis与Spring Data Redis

    1.Redis概述 1.1介绍 官网:https://redis.io/ Redis是一个开源的使用ANSIC语言编写.支持网络.可基于内存 亦可持久化的日志型.Key-Value型的高性能数据库. ...

  7. SpringCloud Stream

    1.介绍 官网:https://www.springcloud.cc/spring-cloud-dalston.html#_spring_cloud_stream 1.1定义 是一个构建消息驱动微服务 ...

  8. JavaScript疑难点

    什么是闭包 我个人理解闭包就是函数中嵌套函数,但是嵌套的那个函数必须是返回值,才构成闭包: //标准的闭包 function fn(){ var i=1; return function fnn(){ ...

  9. 使用dlopen加载动态库

    目录 概述 接口 C CMakeLists.txt src/main.c src/add.c ./dlopen_test C++ CMakeLists.txt src/main.cpp src/add ...

  10. 2.1 Python3基础-内置函数(print&input)

    >>返回主目录 源代码 # 内置函数:输入/输出 name = 'Portos' age = 18 sex = 'man' score = 99.5 print('Hello World! ...