前言

接下来一段时间可能会落下内网相关的知识点的进一步学习,所以这里将最近内网相关的知识总结一下。

windows认证

这是比较重要的一个部分,windows认证过程无非3种

1. 本地认证
2. 网络认证(NTLM认证)
3. kerberos协议
本地认证:
winlogon.exe->接收用户输入->lsass.exe->认证

认证步骤就是到sam数据库中对密码hash进行匹配,成功则认证成功,当我们注销,重启之后本地登录都会有这一过程,其中lsass中保存的密码的明文,sam中保存的是密码的hash

网络认证:
1. 客服端向服务器发送用户信息请求(用户名)
2. 服务器接收到请求,生成16位的随机数,被称为"Challenge",使用登陆用户名对应的NTLM hash加密Challenge,生成Challenge1,保存在内存中,然后将challenge返回
3. 客服端接收到Challenge后,用输入的密码的ntml hash加密Challenge成response,发送给服务端
4. 服务端进行比较:相同则通过

上面只是简单的过程,具体细节可以详细了解,网络认证也就是NTLM协议认证,一种基于chalenge/response的认证机制,NTLM是一种嵌入式的协议,依赖上层协议,导致了后面很多漏洞的发生都是依赖于ntlmrealy,中继攻击。这里需要区分NTLM hash 和net NTLM hash的区别,前者是类似于sam数据库中保存的hash,后者是在网络认证中response中。
相关问题:

  1. ntlmrealy
  2. pass the hash
Kerberos认证

这个认证过程比较繁琐,简单来说可以分为3部分,client和AS,client和KDC,client和server,具体详细过程网上很多讲解
相关问题;

1. ms14-068
2. Kerberosting
3. 黄金白银票据
4. 委派利用(约束委派,非约束委派,基于资源的约束委派)

还有两个kerberos扩展协议s4u2self,s4u2proxy。

获取域控的常见方法

1.SYSVOL中的密码(gpp)
2.ms14-068
3.pass the hash
4.kerberosting
5.ipc

域内远程命令执行

  1. PsExec
    走的是445端口,原理是通过smb连接到目标上的admin$共享,然后上传psexecsvc.exe,通过服务控制管理器启动,最后建立命名管道进行i/o
  2. WMI
    走的是135端口,通过远程过程调用(RPC)执行命令,其实它并不支持执行命令,但是支持执行文件,可以加相应的参数执行命令
  3. smbexec

抓取hash合集

抓取hash的姿势很多,工具也很多,这里举例一下用过的工具:1.msf 2.cs 3Mimikatz 4. prodump
其中msf中的hash dump,load mimikatz都可以抓取hash,cs的话也可以直接dumphash,后两者可以配合使用具有一定的免杀效果。
获取hash的话无非在一下几个位置:

  1. sam
  2. mscash
  3. NTDS.dit
  4. lsass
    其中NTDS.dit是域控中保存所有域成员hash的文件,导出方法可以使用impacket中的secretsdump或者mimikatz中的dcsync,提一下dcsync是通过DRS协议在域控制器复制用户凭据到本地。也可以用来留后门!详情可以参考三好学生师傅的博客链接

此外,在打了kb2871997补丁之后,2012 r2之后自动集成,无法抓取明文,需要修改注册表,等待用户下一次登录。

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

域信息收集

这里强烈推荐powerview这款工具,直接附上地址和使用方法:
powerview使用方法
可以快速的帮助我们获取域内的相关信息,比如:域内的spn,域机器,域用户,相关用户的ACL,域内共享,域管等等有用信息。当然也可以使用一些命令查询,但是powerview可以帮助快速查询,此外还有一个bloodhound工具也可以使用。

windows提权基础

github中的exp
https://github.com/lyshark/Windows-exploits
https://github.com/SecWiki/windows-kernel-exploits
辅助提权:
https://github.com/AonCyberLabs/Windows-Exploit-Suggester
本地服务提权:
iis,smb,ftp
iis和mssql下的用户大多可以用邪恶土豆提权,原理就是这前说道的ntlm中继,smb的话的就ms08-067,ms17-010。
mysql提权:
udf提权
mof提权
网上还有一些其他的提权方法。这里有一个特殊一点的,烂番茄提权,也就是利用基于资源的约束委派进行提权,需要用户对该主机有些的权限。

代理穿透

  1. ew
  2. regeorg

后门利用

  1. MSDTC后门
  2. GPO后门
  3. SPN后门
  4. DCShadow
  5. 黄金白银票据

相关工具

impacket
https://github.com/SecureAuthCorp/impacket
EarthWorm
https://github.com/rootkiter/EarthWorm
Regeorg
https://github.com/sensepost/reGeorg
Mimikatz
https://github.com/gentilkiwi/mimikatz
Rubeus
https://github.com/GhostPack/Rubeus
PYKEK
https://github.com/mubix/pykek

Last modification:November 30th, 2020 at 11:03 am