TIER 1: Responder

Active Directory

Active Directory(AD)是由微软开发的目录服务,用于在网络环境中管理和组织用户、计算机、应用程序和其他资源。它是 Windows 操作系统的一部分,并提供了一种集中化的方式来管理和控制网络中的各种对象和权限。

  • NTLM 是旧的 Windows 身份验证协议,最初由微软开发用于 Windows 操作系统。它被用于验证用户的身份以及在本地网络上访问资源。NTLM 使用用户的凭据(用户名和密码的哈希值)来验证身份,并生成一个称为 NTLM 哈希的票据。尽管 NTLM 在早期版本的 Windows 中广泛使用,但它已被更安全的 Kerberos 协议所取代。
  • Kerberos 是一种网络身份验证协议,用于在计算机网络上验证用户的身份。它是一种安全且强大的身份验证系统,广泛应用于许多领域,包括 Active Directory。Kerberos 基于票据(ticket)的概念,通过使用加密的票据来验证用户的身份,并允许用户在网络上访问资源。Kerberos 使用加密技术和密钥分发来确保安全性,提供了更强的身份验证和授权机制。

NTLM 是一种挑战-响应身份验证协议,通过在登录过程中仅要求用户提供一次身份验证凭据来实现单点登录(SSO),需要注意的是与 NTLM 相关的术语有一定的混淆:

  • 哈希函数:一种将数据转换为固定大小值的单向函数。哈希函数用于通过将用户输入的哈希与存储的哈希进行比较来安全存储密码。
  • NTHash:用于在 Windows 系统的 SAM(安全账户管理器)数据库中存储密码的算法的输出。它通常被称为 NTLM 哈希。
  • NetNTLMv2:NTLM 协议用于网络身份验证的挑战-响应字符串。尽管实际上不是哈希,但通常被称为 NetNTLMv2 哈希。

尽管存在已知漏洞,但 NTLM 仍然⼴泛部署甚⾄在新系统上以保持与旧客⼾端的兼容性。在 Nmap 扫描的结果,该机器正在使⽤ Windows 作为其操作系统。两个端⼝被检测为打开,Apache 服务已经 WinRM 服务。

  • WinRM(Windows Remote Management)是一种远程管理协议,用于在 Windows 系统之间进行远程管理和执行命令。它是 Microsoft 开发的,用于替代旧的远程管理协议,如 Telnet 或 SSH 协议。

PHP 文件包含漏洞

在 80 服务上访问,会发现重定向到 http://unika.htb/ 地址,我们需要在本地对 unika.htb 做域名解析,通过 host 文件或者 DNS 服务都可以。此处,我们选择在 /etc/hosts ⽂件中为此域添加⼀个 10.129.136.91 unika.htb 条⽬。

  • http://unika.htb/index.php?page= 页面中,page 参数存在 PHP 文件包含漏洞,我们可以通过该漏洞读取服务器上的任意文件。
  • 通过 http://unika.htb/index.php?page=../../../../../../../../windows/system32/drivers/etc/hosts 读取服务器上的 hosts ⽂件。

在 PHP 中,文件包含漏洞是一种允许攻击者在服务器上执行任意代码的漏洞。它允许攻击者包含远程文件,这些文件可以是恶意的,从而允许攻击者在服务器上执行任意代码。这种漏洞通常由于未正确过滤用户输入而导致,这使得攻击者能够包含远程文件。

测试字典:https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/file_inclusion_windows.txt

这是一个有关 PHP 配置文件 php.ini 中的漏洞。默认情况下,php.ini 文件中的 allow_url_include 选项设置为 Off,表示 PHP 不会加载远程的 HTTP 或 FTP URL,以防止远程文件包含攻击。然而,即使 allow_url_includeallow_url_fopen 都设置为 Off,PHP 仍然允许加载 SMB(Server Message Block)协议的 URL 地址。

这个漏洞的原理是利用了 PHP 对 SMB URL 的处理机制,攻击者可以构造一个恶意的 SMB URL,指向包含 NTLM hash 的文件,然后利用文件包含漏洞将该文件包含到目标服务器上的 PHP 脚本中。当目标服务器尝试读取远程的 SMB URL 时,它会尝试进行 SMB 身份验证,并将 NTLM hash 发送给攻击者控制的 SMB 服务器,从而导致 NTLM hash 的泄露。

利用讲解 https://book.hacktricks.xyz/windows-hardening/ntlm/places-to-steal-ntlm-creds#lfi

Responder

Responder 是一款用于抓取 Windows 环境中的 NTLM 哈希的安全工具。它被广泛用于进行网络渗透测试和红队操作。Responder 通过伪造服务响应,欺骗目标系统上的客户端发起身份验证请求,并截获 NTLM 哈希用于后续攻击。

python Responder.py -I <网卡名称>
  • 欺骗服务:Responder 将开始监听指定的网络接口,并伪造各种网络服务的响应。例如,它可以伪造 SMB 服务、HTTP 服务等。当目标系统上的客户端尝试与伪造的服务建立连接时,Responder 将捕获其 NTLM 哈希。
  • 分析捕获的哈希:Responder 将捕获的 NTLM 哈希保存在日志文件中。你可以使用工具(如 John the Ripper 或 Hashcat)对这些哈希进行离线破解或进一步分析。

详情参考 https://github.com/lgandx/Responder

john -w=/usr/share/wordlists/rockyou.txt hash.txt 其中 hash.txt 是 Responder 捕获的哈希。

在破解账号密码后,我们可以通过 Evil-WinRM 进行远程登录。使用 Powersshell 也可以,在 Kali Linux 从版本 2019.1 开始,默认包含了 Microsoft PowerShell 工具,当然现在有开源的 PowerShell Core,可以在 Linux 和 macOS 上运行。

flag 位置 C:\Users\mike\Desktop\flag.txt

TIER 1: Responder的更多相关文章

  1. E-Business Suite 12.2 startCD 50 Install Fails with Fatal Error: TXK Install Service oracle.apps.fnd.txk.config.ProcessStateException: OUI process failed Cannot install Web Tier Utilities

    在rhel7.2上,使用startCD 50安装ebs r12.2的使用,安装到38%的时候就报错,遇到了和以下文章类似的问题: http://www.cnblogs.com/abclife/p/49 ...

  2. Tier和RBD Cache的区别

    相同点 缓存 数据不会持久保存在ssd或者内存:预读回写直写 都需要解决缓存数据和磁盘数据不一致和“内存页”置换的问题. 差异点 缓存的位置不同,tier是rados层在osd端进行数据缓存,也就是说 ...

  3. Openstack Neutron OVS ARP Responder

    ARP – Why do we need it? In any environment, be it the physical data-center, your home, or a virtual ...

  4. java.lang.NoClassDefFoundError: org/apache/avro/ipc/Responder

    文章发自:http://www.cnblogs.com/hark0623/p/4170174.html  转发请注明     java.lang.NoClassDefFoundError: org/a ...

  5. 【IOS笔记】Event Delivery: The Responder Chain

    Event Delivery: The Responder Chain  事件分发--响应链 When you design your app, it’s likely that you want t ...

  6. hitTest:WithEvent 和Responder Chain

    这个方法是找到那个View被touch,当找到后就成为响应链的第一个了,如果他不能处理这个Event,那么就找nextResponder 直至application 如果不能处理,那就会丢弃掉. ht ...

  7. 在magneto系统中输出tier price的最小值

    2012年6月16日星期六 Asia/Shanghai上午11时39分22秒 有的时候,我们想输出产品的tier price 的最小值!如图: 下面是解决的办法: 1. 在catalog/produc ...

  8. OVS ARP Responder – Theory and Practice

    Prefix In the GRE tunnels post I’ve explained how overlay networks are used for connectivity and ten ...

  9. iOS - Responder Chain

     在iOS中,当发生事件响应时,必须知道由谁来响应事件.这就是由响应者链来对事件进行响应,所有事件响应的类都是UIResponder的子类,响应者链是一个由不同对象组成的层次结构,其中的每个对象将依次 ...

  10. Event Delivery: The Responder Chain(事件传递,响应链)

    当我们设计app的时候,我们很可能想动态的响应事件.例如,触摸一个拥有许多不同对象的屏幕,你要决定给哪个对象一个响应事件,怎么样对象接收到事件. 当一个用户产生事件发生时(如 点击),UIKit产生一 ...

随机推荐

  1. WPF ListBox 控件绑定 Binding

    当我们需要用到循环的列表内容,并且模板化程度高的时候,建议使用 ListBox 来做绑定.XAML: <Window.DataContext> <local:VMTempTest/& ...

  2. iOS技术管理思路

    iOS技术管理思路

  3. firewall防火墙基础配置

    Firewalld防火墙 Centos7 中集成了防火墙管理工具, Firewall系统动态防火墙管理器是作为默认的防火墙工具. 它支持规则动态更新,并加入zone区域概念. Firewalld防火墙 ...

  4. 常见距离计算的Python实现

    常见的距离有曼哈顿距离.欧式距离.切比雪夫距离.闵可夫斯基距离.汉明距离.余弦距离等,用Python实现计算的方式有多种,可以直接构造公式计算,也可以利用内置线性代数函数计算,还可以利用scipy库计 ...

  5. vue单个插槽

    当子组件模板只有一个没有属性的插槽时,父组件传入的整个内容片段将插入到插槽所在的 DOM 位置,并替换掉插槽标签本身. # 子组件 <div> <h2>我是子组件的标题< ...

  6. ASP.NET MVC 出现: Uncaught ReferenceError: $ is not defined

    ASP.NET MVC 出现: Uncaught ReferenceError: $ is not defined 错误 将 _Layout.cshtml 中的三行代码,移动到 <head> ...

  7. vue2 混入 (mixin) 带来的小惊喜

    最近在review自己写的代码时发现,在很多的地方都用了以下的代码块 1 async initCode() { 2 const resSource = await this.$API.syscode. ...

  8. 接口签名规则和Java实现签名和验签代码

    接口签名规则和Java实现签名和验签代码 签名规则 签名生成的通用步骤如下: 第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用U ...

  9. 异步任务处理注解方法@Async实现异步多线程

    异步任务处理注解方法@Async实现异步多线程 1.定义配置类,设置参数2.定义任务执行类3.执行Spring 中的ThreadPoolExecutor是借助JDK并发包中的java.util.con ...

  10. Math.ceil,Math.round,Math.floor区别

    Math.ceil,Math.round,Math.floor区别 //向上取整 System.out.println("amt1=" + Math.ceil(71.01)); / ...