内网渗透知识基础及流程
现在网上内网渗透、域渗透文章很多,大多数人只知道如何进行操作获取全新,不知使用该技术的原理和该技术操作影响Windows何种功能,Windows何种机制对内网渗透产生的影响。本文按照数个Windows系统的功能进行讲解,完善内网渗透知识结构。
要点
SAM
Hash
Active Directory
Kerberos
SMB
IPC
NetBIOS
LLMNR
WMI
Windows Access Token
Windows网络认证
Windows本地认证流程
内网渗透流程
内网渗透常用工具
SAM
SAM(安全账户管理器),SAM是用来存储Windows操作系统密码的数据库文件,为了避免明文密码泄漏,SAM文件中保存的是明文密码经过一系列算法处理过的Hash值,被保存的Hash分为LM Hash、NTLMHash。在用户在本地或远程登陆系统时,会将Hash值与SAM文件中保存的Hash值进行对比。在后期的Windows系统中,SAM文件中被保存的密码Hash都被密钥SYSKEY加密。
SAM文件在磁盘中的位置在C:\windows\system32\config\sam SAM文件在Windows系统启动后被系统锁定,无法进行移动和复制
Hash
Windows系统为了保证用户明文密码不会被泄漏,将明文密码转换为Hash值进行身份验证,被保存在SAM或ntds.dit中。
Hash背景
1.LM Hash,在早期的Windows操作系统中将明文密码转换为LM Hash保存在SAM文件中,因为LM Hash使用DES加密,密钥为硬编码,算法又存在缺陷,所以被废弃,为了保证系统兼容性可以自行开启。
2.NTLM Hash,在LM Hash算法被弃用时,NTLM Hash被用来进行Windows本地及远程身份验证的凭据,长度为32bit、由数字和字母组成。
Hash示例
冒号前半段为LM Hash,冒号后半段为NTLM Hash aad3b435b51404eeaad3b435b51404ee:e19ccf75ee54e06b06a5907af13cef42 net-NTLM Hash:
admin::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030
Hash产生:
1.LM Hash:
admin1-ADMIN1(将密码转换为大写字母 )ADMIN1-41444d494e31(16进制转换)41444d494e31-41444d494e310000000000000000(密码未到7位,在末尾补0,填充为14个字符,补16个0)41444d494e3100 00000000000000(分为两组,各转换为2进制)1000001010001000100110101001001010011100011000100000000(长度不足56bit,左侧补0)01000001010001000100110101001001010011100011000100000000(再分为7bit一组,后加0)0100000 01010001 00001001 01010100 01001010 00111000 01100010 00000000 00100000010100010000100101010100010010100011100001100010000000000-40A212A89470C400(转换为16进制)0000000000000000
将上面两组数字des加密
KGS!@#$%-4b47532140232425(KGS!@#$%为LM Hash加密时DES加密的硬编码,转换为16进制)6C734076E7B827BFAAD3B435B51404EE(将两组des加密后的密文组合,得到LM Hash)
注:如果密码不超过7字节,后面的一半是固定的,都为0,安全性降低,所以被弃用。
2.NTLM Hash:
1.hex(16进制编码)2.Unicode编码 3.md4加密
admin1-61646d696e31(将明文转换为16进制编码)61646d696e31-610064006d0069006e003100(ASCII转Unicode)610064006d0069006e003100-74561893ea1e32f1fab1691c56f6c7a5(md4加密得到NTLM Hash)
获取Hash方法
1.使用卷影副本将SAM文件导出,配合SYSKEY利用mimikatz等工具获得NTLM Hash
2.使用mimikatz等工具读取lsass.exe进程,获取Hash
3.配合其他漏洞和手法获取net-NTLM Hash 4.net-NTLM Hash可以使用Responder或Inveigh等工具获取
破解Hash
LM Hash1.john –format=lm hash.txt2.hashcat -m 3000 -a 3 hash.txt
NTLM Hash1.john –format=nt hash.txt2.hashcat -m 1000 -a 3 hash.txt
Net-NTLMv11.john –format=netntlm hash.txt2.hashcat -m 5500 -a 3 hash.txt
Net-NTLMv21.john –format=netntlmv2 hash.txt2.hashcat -m 5600 -a 3 hash.txt
Active Directory(活动目录)
简介
Active Directory,活动目录简称AD,是一个基于DNS并以树状的数据结构来组成网络服务存储了有关网络对象的信息,并以此作为基础对目录信息进行合乎逻辑的分层组织,让管理员和用户能够轻松地查找和使用这些信息。常网域都只有一个,在中型或大型的网络中,网域可能会有很多个,或是和其他公司或组织的AD相互链接。
活动目录功能
服务器及客户端计算机管理
用户服务
资源管理
桌面配置
应用系统支撑
存储方式
ntds.dit是AD中的数据库文件,它被保存在域控制器c:\windows\system32\ntds\NTDS.DIT位置。活动目录的数据库文件(ntds.dit)包含有关活动目录域中所有对象的所有信息,其中包含所有域用户和计算机帐户的密码哈希值。该文件在所有域控制器之间自动同步,它只能被域管理员访问和修改。
攻击活动目录
利用常规Web渗透进行横向渗透
常规Dump Hash后进行PTH,循环操作,直到获取Domain Admins
利用SYSVOL和组策略首选项(GPP)
MS14-068
利用VSS卷影副本拷贝ntds.dit
利用Responder等工具进行ARP
Netbios和LLMNR命名投毒
kerberoast(破解Ticket)
MS17-010
Kerberos
Kerberos是一种网络认证协议,对个人通信以安全的手段进行身份认证。其设计目标是通过密钥系统为客户机/服务器应用程序提供强大的认证服务。 它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份。该认证过程的实现不依赖于主机操作系统
现在网上内网渗透、域渗透文章很多,大多数人只知道如何进行操作获取全新,不知使用该技术的原理和该技术操作影响Windows何种功能,Windows何种机制对内网渗透产生的影响。本文按照数个Windows系统的功能进行讲解,完善内网渗透知识结构。
要点
SAM
Hash
Active Directory
Kerberos
SMB
IPC
NetBIOS
LLMNR
WMI
Windows Access Token
Windows网络认证
Windows本地认证流程
内网渗透流程
内网渗透常用工具
SAM
SAM(安全账户管理器),SAM是用来存储Windows操作系统密码的数据库文件,为了避免明文密码泄漏,SAM文件中保存的是明文密码经过一系列算法处理过的Hash值,被保存的Hash分为LM Hash、NTLMHash。在用户在本地或远程登陆系统时,会将Hash值与SAM文件中保存的Hash值进行对比。在后期的Windows系统中,SAM文件中被保存的密码Hash都被密钥SYSKEY加密。
SAM文件在磁盘中的位置在C:\windows\system32\config\sam SAM文件在Windows系统启动后被系统锁定,无法进行移动和复制
Hash
Windows系统为了保证用户明文密码不会被泄漏,将明文密码转换为Hash值进行身份验证,被保存在SAM或ntds.dit中。
Hash背景
1.LM Hash,在早期的Windows操作系统中将明文密码转换为LM Hash保存在SAM文件中,因为LM Hash使用DES加密,密钥为硬编码,算法又存在缺陷,所以被废弃,为了保证系统兼容性可以自行开启。
2.NTLM Hash,在LM Hash算法被弃用时,NTLM Hash被用来进行Windows本地及远程身份验证的凭据,长度为32bit、由数字和字母组成。
Hash示例
冒号前半段为LM Hash,冒号后半段为NTLM Hash aad3b435b51404eeaad3b435b51404ee:e19ccf75ee54e06b06a5907af13cef42 net-NTLM Hash:
admin::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030
Hash产生:
1.LM Hash:
admin1-ADMIN1(将密码转换为大写字母 )ADMIN1-41444d494e31(16进制转换)41444d494e31-41444d494e310000000000000000(密码未到7位,在末尾补0,填充为14个字符,补16个0)41444d494e3100 00000000000000(分为两组,各转换为2进制)1000001010001000100110101001001010011100011000100000000(长度不足56bit,左侧补0)01000001010001000100110101001001010011100011000100000000(再分为7bit一组,后加0)0100000 01010001 00001001 01010100 01001010 00111000 01100010 00000000 00100000010100010000100101010100010010100011100001100010000000000-40A212A89470C400(转换为16进制)0000000000000000
本文来自无奈人生安全网
将上面两组数字des加密
KGS!@#$%-4b47532140232425(KGS!@#$%为LM Hash加密时DES加密的硬编码,转换为16进制)6C734076E7B827BFAAD3B435B51404EE(将两组des加密后的密文组合,得到LM Hash)
注:如果密码不超过7字节,后面的一半是固定的,都为0,安全性降低,所以被弃用。
2.NTLM Hash:
1.hex(16进制编码)2.Unicode编码 3.md4加密
admin1-61646d696e31(将明文转换为16进制编码)61646d696e31-610064006d0069006e003100(ASCII转Unicode)610064006d0069006e003100-74561893ea1e32f1fab1691c56f6c7a5(md4加密得到NTLM Hash)
获取Hash方法
1.使用卷影副本将SAM文件导出,配合SYSKEY利用mimikatz等工具获得NTLM Hash
2.使用mimikatz等工具读取lsass.exe进程,获取Hash
3.配合其他漏洞和手法获取net-NTLM Hash 4.net-NTLM Hash可以使用Responder或Inveigh等工具获取
本文来自无奈人生安全网
破解Hash
LM Hash1.john –format=lm hash.txt2.hashcat -m 3000 -a 3 hash.txt
NTLM Hash1.john –format=nt hash.txt2.hashcat -m 1000 -a 3 hash.txt
Net-NTLMv11.john –format=netntlm hash.txt2.hashcat -m 5500 -a 3 hash.txt
Net-NTLMv21.john –format=netntlmv2 hash.txt2.hashcat -m 5600 -a 3 hash.txt
Active Directory(活动目录)
简介
Active Directory,活动目录简称AD,是一个基于DNS并以树状的数据结构来组成网络服务存储了有关网络对象的信息,并以此作为基础对目录信息进行合乎逻辑的分层组织,让管理员和用户能够轻松地查找和使用这些信息。常网域都只有一个,在中型或大型的网络中,网域可能会有很多个,或是和其他公司或组织的AD相互链接。
活动目录功能
服务器及客户端计算机管理
用户服务
资源管理
桌面配置
应用系统支撑
存储方式
ntds.dit是AD中的数据库文件,它被保存在域控制器c:\windows\system32\ntds\NTDS.DIT位置。活动目录的数据库文件(ntds.dit)包含有关活动目录域中所有对象的所有信息,其中包含所有域用户和计算机帐户的密码哈希值。该文件在所有域控制器之间自动同步,它只能被域管理员访问和修改。
无奈人生安全网
攻击活动目录
利用常规Web渗透进行横向渗透
常规Dump Hash后进行PTH,循环操作,直到获取Domain Admins
利用SYSVOL和组策略首选项(GPP)
MS14-068
利用VSS卷影副本拷贝ntds.dit
利用Responder等工具进行ARP
Netbios和LLMNR命名投毒
kerberoast(破解Ticket)
MS17-010
Kerberos
Kerberos是一种网络认证协议,对个人通信以安全的手段进行身份认证。其设计目标是通过密钥系统为客户机/服务器应用程序提供强大的认证服务。 它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份。该认证过程的实现不依赖于主机操作系统 内容来自无奈安全网