HostRecon:一款强大的态势感知工具,替代传统系统命令进行渗透测试侦察

HostRecon是一款基于PowerShell编写的态势感知工具,用于在渗透测试中快速枚举系统信息,避免触发安全产品告警,支持后向兼容Windows 7系统,并能检测常见安全产品及进行出口过滤检查。

HostRecon:态势感知工具

Beau Bullock //

概述

HostRecon是我用PowerShell编写的一款工具,用于在获得系统访问权限后快速枚举多个通常需要检查的项目。它可以在渗透测试的侦察阶段为测试人员提供态势感知支持。该工具收集本地系统、用户和域信息。最重要的是,它不使用任何“net”、“ipconfig”、“whoami”、“netstat”或其他系统命令,因为这些常见命令/工具的使用曾触发某些安全产品的告警。相反,这些命令已被PowerShell和WMI查询替代。

在许多渗透测试中,我们仍会遇到仅安装PowerShell 2.0的Windows 7系统。为确保后向兼容性,我避免了使用PowerShell 3.0及以上版本中许多可提供所需功能的cmdlet。

常见安全产品检测

我希望这款工具能够帮助快速识别系统上使用的安全产品。HostRecon尝试枚举系统上的常见安全产品,包括防病毒软件、入侵检测系统、应用程序白名单、行为分析等。这将是一个不断变化/增长的列表,我会尽力保持更新。我已请BHIS的同事帮助我扩展这个安全产品列表,将他们在此次测试中看到的任何新进程和产品名称发送给我。

态势感知

HostRecon从目标系统提供信息,帮助渗透测试人员制定进一步的攻击策略。在盲目运行有效载荷之前,了解系统上部署的安全防护措施非常重要。系统是否运行应用程序白名单?是否使用Web代理处理互联网流量?本地管理员密码是否可能随机化?HostRecon将尝试回答其中一些问题。在继续之前拥有良好的态势感知应能提高成功的机会。

以下是它当前检查的完整列表:

  • 当前主机名 – 收集本地系统的主机名
  • IP信息 – 收集IP信息;替代“ipconfig”
  • 当前用户名 – 收集当前用户名;替代“whoami”
  • 当前域名 – 收集当前域名
  • 所有本地用户 – 从系统收集本地用户;替代“net users”
  • 本地管理员组 – 收集本地管理员组成员;替代“net localgroup administrators”
  • Netstat信息 – 收集监听和已建立的连接信息;替代“netstat”
  • DNS缓存信息 – 收集DNS缓存信息;替代“ipconfig /displaydns”
  • 共享 – 收集共享信息;替代“net use”
  • 计划任务 – 从系统收集任何计划任务;替代“schtasks”
  • Web代理信息 – 确定是否使用Web代理
  • 进程列表 – 列出系统上所有当前运行的进程
  • 防病毒信息 – 检查防病毒软件是否启用以及运行的产品
  • 防火墙状态 – 确定本地防火墙是否启用
  • 本地管理员密码解决方案(LAPS) – 尝试定位安装LAPS时使用的DLL
  • 域密码策略 – 收集域账户密码策略
  • 域管理员组成员 – 列出域管理员组的成员
  • 域控制器 – 列出任何域控制器
  • 检查常见安全产品 – 分析进程列表以查找常见安全产品进程和名称

出口过滤检查

Invoke-HostRecon还包括评估系统出口过滤的功能。可以传递“-Portscan”标志以启动对allports.exposed的出站端口扫描,帮助确定允许通过出口防火墙的开放端口。(端口扫描模块的功劳归于Joff Thyer)。通过运行“Invoke-HostRecon -Portscan”,它还将对allports.exposed执行出口检查。

使用方式

HostRecon可以在此处下载:https://github.com/dafthack/HostRecon

  1. 在系统上启动PowerShell会话

    1
    
    C:>powershell.exe -exec bypass
    
  2. 导入脚本

    1
    
    PS C:>Import-Module HostRecon.ps1
    
  3. 运行HostRecon

    1
    
    PS C:>Invoke-HostRecon
    

要对前100个端口执行出口过滤检查,请运行以下命令:

1
PS C:> Invoke-HostRecon -Portscan -TopPorts 100

如果您有任何其他想法希望添加到HostRecon中,请发送电子邮件、在Twitter上联系我(@dafthack)或在Github上提交问题。请注意,我避免使用任何系统工具(“ipconfig”、“net”、“netstat”、“arp”等),并且也避免使用任何PowerShell 3.0及更高版本的cmdlet。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计