|
|
|
|
公众号矩阵

Pstf:一款功能强大的被动安全工具指纹框架

Pstf是一款基于HTTP服务器实现的安全框架,可以帮助广大研究人员以被动方式对浏览器进行指纹识别。

作者:Alpha_h4ck来源:FreeBuf|2021-09-14 15:01

关于Pstf

Pstf是一款基于HTTP服务器实现的安全框架,可以帮助广大研究人员以被动方式对浏览器进行指纹识别。当攻击者试图通过互联网传播Payload时,他们往往需要对付那些能够扫描传入链接的各种工具。而Pstf可以帮助我们以被动方式检测并绕过多种安全产品,其中包括但不限于电子邮件过滤器、安全扫描引擎和沙箱系统。

运行机制

检查恶意链接是一项涉及Web客户端发送HTTP GET请求的操作,每一个互联网服务提供商都会使用不同的内部实现,而大部分提供商都会试图在某种程度上模拟真实的用户交互。

Pstf是一个简单的基于Python的HTTP服务器,它使用了著名的机器人检测策略来确定传入的请求是否来自自动安全工具。服务器的操作人员可以自定义请求响应,比如说,如果检测到了扫描工具,则自动重定向至Google,否则就直接发送恶意内容。

工具安装

(1) 使用Docker

假设你已经在自己的设备环境中安装好了Docker,那么你就可以直接使用下列命令安装Pstf:

  1. docker-compose up 

(2) 手动部署

如果你不想使用Docker的话,你也可以自行进行手动安装与配置。

首先,我们需要安装好Python环境,然后使用下列命令将该项目源码克隆至本地:

  1. git clone https://github.com/G4LB1T/pstf2.git 

接下来,安装好依赖组件:

  1. pip install requirements.txt 

在真正安装Pstf之前,我们需要先下载并安装p0f。【GitHub传送门

现在,我们需要正确lib/servers/server_config.yml以指向正确路径:

  1. p0f_config: 
  2.  
  3.   # change your username at the very least, remember to change in both paths 
  4.  
  5.   p0f_bin_path: '/Users/$your_user_name/$more_folders/web_fp/p0f-3.09b/p0f' 
  6.  
  7.   p0f_fp_path: '/Users/$your_user_name/$more_folders/web_fp/p0f-3.09b/p0f.fp' 
  8.  
  9.   iface: 'lo0' 
  10.  
  11.   p0f_named_socket: '/tmp/p0f_socket' 

接下来,验证iface端口是否指向的是你Python HTTP服务器的运行接口。上述样例中配置的是一个回环接口。

工具运行

完成工具的安装和配置后,我们就可以直接运行工具脚本了:

  1. python driver.py 

你还可以使用下列参数选项:

  1. --p0f_bin_path P0F_BIN_PATH 
  2.  
  3.   --p0f_fp_path P0F_FP_PATH 
  4.  
  5.   --p0f_iface P0F_IFACE 

运行后,你将会看到如下所示的输出结果:

  1. 2020-04-15 17:37:06,896 - pstf2_logger - INFO - Starting p0f... 
  2.  
  3. 2020-04-15 17:37:06,896 - pstf2_logger - INFO - Running command: 
  4.  
  5. /Users/gbitensk/work/web_fp/p0f-3.09b/p0f -i lo0 -s /tmp/p0f_socket -f /Users/gbitensk/work/web_fp/p0f-3.09b/p0f.fp 
  6.  
  7. 2020-04-15 17:37:06,898 - pstf2_logger - INFO - p0f started! 
  8.  
  9. 2020-04-15 17:37:06,898 - pstf2_logger - INFO - Starting HTTP server... 
  10.  
  11. 2020-04-15 17:37:06,898 - pstf2_logger - INFO - HTTP server started! 
  12.  
  13. 2020-04-15 17:37:06,899 - pstf2_logger - INFO - If you wish to terminate the server press CTRL+C 

我们可以按下Ctrl + C键终止服务器运行,此时将会关闭HTTP和p0f实例:

  1. 2020-04-15 17:37:48,263 - pstf2_logger - INFO - HTTP server stopped! 
  2.  
  3. 2020-04-15 17:37:48,263 - pstf2_logger - INFO - Killing p0f... 
  4.  
  5. 2020-04-15 17:37:48,263 - pstf2_logger - INFO - p0f killed! 
  6.  
  7. 2020-04-15 17:37:48,263 - pstf2_logger - INFO - exiting... 

Payload管理

Pstf提供了默认地Payload,并定义在server_config.yml文件中,我们可以根据自己的需求进行自定义修改或配置。

(1) 合法响应

工具提供了两种模式,可以通过设置rickroll_mode为YES或NO来进行修改。如果启用为YES,安全工具将会被重定向至一个油*管页面,否则将会显示一个定义在同一个YAML文件中的字符串。

(2) 恶意响应

默认配置下,恶意响应会被设置为EICAR标准测试字符串

项目地址

Pstf:【GitHub传送门

【编辑推荐】

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区
  2. 「央视315曝光」清理软件不自清,安全工具不安全
  3. CloudLinux 开源 UChecker,用于检测 Linux 服务器漏洞的安全工具
  4. 盘点那些年我们一起玩过的网络安全工具
  5. 使用 Linux 安全工具进行渗透测试
  6. 快来捡武器:Black Hat USA 将推出的八款安全工具
【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月获赞

订阅专栏+更多

带你轻松入门 RabbitMQ

带你轻松入门 RabbitMQ

轻松入门RabbitMQ
共4章 | loong576

44人订阅学习

数据湖与数据仓库的分析实践攻略

数据湖与数据仓库的分析实践攻略

助力现代化数据管理:数据湖与数据仓库的分析实践攻略
共3章 | 创世达人

14人订阅学习

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

42人订阅学习

视频课程+更多

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微