2 月 7 号: docker 容器相关配置/日志存储位置 /var/lib/docker/containers ELK 指的是 Elasticsearch、Logstash、Kibana三大开源框架,ES 数据库非关系型很容易理解,我们也经常用。Kibana 就是一个数据可视化工具。而其中的 LogStash 出现的目的是将日志传递到 Es 数据…
前言 有一台 VPS 和一个域名,就想给自己搭个邮箱。这里使用 Docker Mailserver 收发邮件,先配置客户端使用。网页端可选,后面再用 Docker 部署 Roundcube 和 Nginx。账号只由管理员创建,不开放注册。 这次使用的环境: Ubuntu 20.04.6 LTS,内存约 2.4 GiB,Swap 约 1.2 GiB …
用户、计算机、组、OU、GPO 和证书模板等 AD 对象,都通过安全描述符记录访问权限。权限配置不当时,普通账户可能获得修改组成员、重置其他账户密码、写入认证凭据,甚至复制域凭据的能力。 分析这类路径,需要把两件事连起来:当前主体对对象拥有什么有效权限,以及服务端如何处理获准的操作。 例如,写组的 member 可以改变成员关系;写 service…
SharpHound 从 AD 和 Windows 主机收集对象、权限、组成员及会话数据,输出 JSON 供 BloodHound 导入。理解图中的关系,需要先知道每项数据来自哪里、采集时使用什么权限,以及服务端真正返回了什么。 源码分析涉及客户端和公共库两个项目: SharpHound 132eb0d:客户端编排与输出,项目版本为 2.13.0,…
NetExec 把凭据认证、主机枚举和模块调用放在统一的命令行中。和单独运行协议示例相比,分析它时还需要关注目标展开、认证循环、权限标记和模块回调,否则很容易把“这个模块属于 SMB”理解成“它只使用 SMB 协议”。 源码分析对应 NetExec 36acb70。该快照提供 10 个协议处理器;模块目录有 131 个 Python 模板/模块类,…
Impacket 中不少工具只需要一行命令,背后访问的接口、使用的身份和权限却差别很大。这里结合源码整理常用工具的调用过程,再看这些工具之间如何衔接。 源码分析对应 Impacket 9a5621d,setup.py 中版本为 0.14.0.dev。源码路径均相对此仓库。 项目结构概览 项目目录 impacket/ ├── impacket/ # …
LDAP 与域内信息收集 域内信息收集经常需要向域控发起 LDAP 查询。例如通过 LDAP 枚举 SPN 账户、查找委派配置、读取 nTSecurityDescriptor 分析权限。理解查询结构,也有助于看懂工具实际收集了哪些数据。 域控提供的 LDAP 目录服务 Active Directory 域服务在底层使用 ESE(Extensible…
工作组(Workgroup) 工作组(Workgroup)采用分散管理方式,每台计算机分别维护本地身份与配置。 在工作组环境中,每台计算机都是独立的个体,拥有自己的: 本地用户(Local User) 本地用户组(Local Group) 本地安全策略 本地权限配置 例如,有三台计算机: PC01 ├── Administrator ├── Ali…
委派的用途与类型 在实际的企业环境中,服务之间经常需要代表用户去访问另一个服务。 最典型的场景是前端 Web 服务访问后端数据库: 用户 └─► Web 服务器(以用户身份)─► 数据库服务器 用户先通过 Kerberos 认证访问 Web 服务,Web 服务再用该用户的身份向数据库认证。这样数据库可以继续按用户分配访问权限,记录对应用户的操作。 …
NTLM 的认证消息(Type 1 / Type 2 / Type 3)可以封装在不同的应用协议中传输。服务端缺少有效的签名、服务绑定或通道绑定保护时,攻击者就可能转发这些消息,以受害者身份完成认证。这就是 NTLM 中继(NTLM Relay)。 简单来说:攻击者截获客户端的 NTLM 认证请求,然后把这个请求"转发"给另一台服务器。目标服务器以…
在 NTLM 中继中,攻击者把目标的 Challenge 交给客户端,再把客户端的 Response 送回目标。那么换成基于票据、支持双向认证的 Kerberos,中继是否仍然成立? Kerberos 同样可以被中继。 客户端生成的 AP-REQ 可以经由攻击者转交给真正的目标,服务端仍能验证票据和 Authenticator。攻击者无需破解它们,…