内网渗透

日就完事了

Posted by RTL on August 9, 2018

内网渗透

Windows 访问控制

  • 输入密码后,系统将密码保存到缓存中,以防重复输入
  • 为用户创建Access Token, Access Token包含:
    • 用户的SID
    • 用户所在组的SIDs
    • 当前登陆Session的登陆SID
    • 用户及其用户组所拥有的权限列表
    • 所有者的SID
    • 首要组的SID
    • 默认的DACL
    • 当前的Access Token来源
    • 是内核创建的Primary Token还是扮演的Impersonation Token
    • 一份受限SIDs的列表
    • 当前的扮演等级(impersonation levels)
    • 其他数据XMan
  • whoami
  • SID
    • S
    • SID版本号
    • 颁发机构 ID
    • 域或本地 ID
    • 账户和组 ID
  • 打开一个进程 Explorer.exe,每个用户有每个用户的 Token,非管理员用户之间不能相互访问

Windows 认证方式

  • Kerberos
  • NTLM
  • Digest SSP

Keberos

  • 认证流程
    • 客户端向KDC的KAS服务请求开身份证明
    • KAS认证成功后返回给客户端认购权证( TGT )
    • 客户端拿着TGT到KDC的TGS服务买票
    • TGS认证成功后返回给客户端服务票据(ST)
    • 客户端拿着ST去访问服务
    • 返回服务资源XMan

![]https://github.com/Chris-Ju/Picture/blob/master/Keberos%E8%AE%A4%E8%AF%81%E6%B5%81%E7%A8%8B.png?raw=true

  • 攻击方式
    • MS14-068
    • Pass The Ticket
    • Golden Ticket
      • User
      • Domain
      • SID of Fomain
      • Krbtge Nt_Hash
  • 工具 Nbtscan

NTLM

  • NTLM是NT LAN Manager的缩写,这也说明了协议的来源。
  • NTLM 是Windows NT 早期版本的标准安全协议,Windows 2000 支持NTLM 是为了保持向后兼容。
  • 早期SMB协议在网络上传输明文口令。
  • 后来出现LAN Manager Challenge/Response 验证机制,简称LM
  • LM很简单以至于很容易就被破解。
  • 微软提出了Windows NT 挑战/响应验证机制,称之为NTLM。
  • 现在已经有了更新的NTLMv2以及Kerberos验证体系。
  • 如果在Kerberos协议和NTLM协议可用的情况下,默认使用更安全的Kerberos。

  • 攻击方式
    • NetNTLM Downgrade Attacks
      • 所谓的降级就是把原本的LM认证级别降低,使其回应挑战包时将NetLM Hash也返回回去
    • 网络上已经有了Challenge=1122334455667788生成的NetLM彩虹表
    • 我们伪造一个SMB服务器,返回Challenge固定为1122334455667788
    • 当降级过后的服务器的某用户来访问我们的SMB服务,我们就可以拿到他的NetLM Hash,然后再跑一下彩虹表就可以拿到明文
    • SMB Relay Attack
    • Pass The Hash

Windows Hash

这部分破坏性太大加上对 CTF 帮助不大,待我技术学成后再来补充