热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Faxhell:一个利用Fax服务和DLL劫持技术实现的BindShell

FaxhellFaxhell,又名“FaxShell”,它是一个利用利用Fax服务和DLL劫持技术实现的BindShell,Faxhell本身就是一个针对BindShell的概念验



Faxhell


Faxhell,又名“Fax Shell”,它是一个利用利用Fax服务和DLL劫持技术实现的Bind Shell,Faxhell本身就是一个针对Bind Shell的概念验证PoC,其中的DLL劫持基于Ualapi.dll实现。


如何使用


首先,我们需要构建Ualapi.dll文件,并将其存放至“c:\windows\system32”路径下。接下来,开启系统的Fax服务,该服务启动后将会加载我们的DLL文件,并调用“UalStart”导出函数。


此时,“UalStart”会将线程池内的工作项加入一个队列之中,并开启一个针对“RpcSs”的控制器,然后寻找一个SYSTEM令牌。找到之后,代码便会复制其内容并伪装成该令牌。


接下来,它将会使用本地终端地址创建一个socket会话,并将其绑定至端口9299,然后使用线程池的IO Completion端口异步等待传入的链接。


配置好上述内容之后,我们需要使用熟悉的客户端(例如nc(at).exe 9299)来连接绑定端口9299的socket会话。然后输入“let me in”并按下回车键。如果你编写了自定义代码,可以尝试发送字符串“let me in\n”。


I/O Completion包将会唤醒线程池回调,而回调请求将会开启Cmd.exe进程,并使用SYSTEM权限运行DcomLaunch服务。此时,就会将其输入和输出处理器绑定到新创建的socket会话上了。


终端防护响应/反病毒绕过



  • 使用一个不常见或很少人知道的服务,或者使用EDR厂商不会监控或标记为“可疑”的服务。

  • 使用Windows线程池API来配置,增加栈内存的读取难度,通过多个线程来均衡工作负载,避免出现可疑情况的提示。

  • 伪造令牌的有效期非常短,必须让工作线程以SYSTEM权限运行,只有在每次API调用完成之后,才恢复网络服务,这样可以降低被扫描器捕捉到的机率。

  • 使用不常见的socket API,让导入的表没有那么可疑,并躲避EDR检测、LOCTL钩子和LSP。

  • 在DcomLaunch服务下创建Bind Shell,这个服务已经是一个拥有SYSTEM权限的服务了,因此我们的行为看起来会更加自然,避免出现可疑的进程树。

  • 利用Windows漏洞,让socket看起来属于Fax服务,而并非EcomLaunch或exe。如果我们终止Fax服务,那么socket将会属于System。



注意事项


根据前文的介绍,想必大家应该已经了解了Faxhell的工作机制和使用方法了。但是,这并不意味着Faxhell是一个可以直接丢进目标系统执行,并且无法被检测和察觉的恶意攻击武器。


首先,Faxhell只是一个Bind Shell,大多数防火墙都可以阻止其活动。打开防火墙规则,或使用一个反向Bind Shell,或者使用类似80和443这样的常见端口来实现数据通信会更加有效。


其次,比如说Spooler这样的常见服务同样也能够加载我们的Ualapi.dll。


第三,我们提供的这个Faxhell PoC可能会造成内存泄漏。


参考文档


1、 https://windows-internals.com/faxing-your-way-to-system/


项目地址


Faxhell:【 GitHub传送门




推荐阅读
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 如何彻底清除顽固软件如360
    本文详细介绍了如何彻底卸载难以删除的软件,如360安全卫士。这类软件不仅难以卸载,还会在开机时启动多个应用,影响系统性能。我们将提供两种有效的方法来帮助您彻底清理这些顽固软件。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • Windows 7 64位系统下Redis的安装与PHP Redis扩展配置
    本文详细介绍了在Windows 7 64位操作系统中安装Redis以及配置PHP Redis扩展的方法,包括下载、安装和基本使用步骤。适合对Redis和PHP集成感兴趣的开发人员参考。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • 本主题面向IT专业人士,介绍了Windows Server 2012 R2和Windows Server 2012中的组托管服务账户(gMSA),涵盖了其应用场景、功能改进、硬件和软件要求以及相关资源。 ... [详细]
  • Git管理工具SourceTree安装与使用指南
    本文详细介绍了Git管理工具SourceTree的安装、配置及团队协作方案,旨在帮助开发者更高效地进行版本控制和项目管理。 ... [详细]
  • 本文介绍了一种适用于小型创业公司的小规模每日数据备份及健康检查的自动化解决方案。通过简单的Shell脚本实现本地数据库的每日全量备份,并将备份文件上传至中心备份服务器。同时,编写了自动检测脚本来确保备份的完整性和及时性,一旦发现异常,会通过邮件和短信通知相关人员。 ... [详细]
  • Win11 22563右键单击Windows图标还原方法
    有小伙伴安装了Win1122563,发现出现了右键单击任务栏中的Windows图标或Windows键+X将导致explorerexe崩溃,而且一直出现循环启动,这要怎么解 ... [详细]
author-avatar
fuzhipai
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有