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

hackmyvm-Hundred靶机

主机发现

 sudo arp-scan -l 

以sudo权限执行arp-scan -l 扫描并列出本地存在的机器,发现靶机ip为192.168.91.153

nmap扫描

端口发现

21/tcp open  ftp
22/tcp open  ssh
80/tcp open  http

web信息收集

我们先尝试一下ftp端口的匿名登录

FTP:是文件传输协议的端口,FTP服务器管理员可以配置服务器以允许匿名用户访问。一般在服务器的配置文件中开启允许匿名登录的选项,所以一般有ftp端口开启基本就可以用匿名登录。

匿名登录的用户名:

anonymous

密码一般是空的,所以直接回车,我们查看一下发现有四个文件,分别看看

第一个id_rsa文件是个兔子,挺有意思,没啥用,

第二个id_rsa.pem和第三个id_rsa.pub,都是私钥,

第四个uers.txt文件是用来存用,注意下面的那个thanks下面那个用户也有用。

都可以get下载到本地来

fei

非对称加密 

我们看一下网页,有没有什么有用的信息,网页元素里面发现了一个key值,curl下来,发现是个文件,那就下载下来

下载下来查看发现是个加密文件,搜索了一下,了解到是非对称加密,非对称加密的特点就是需要

一对密钥(公钥和私钥)进行加解密,比如rsa文件,正好我们id_rsa.pem与id_rsa.pub就是了,接下来进行解密。

openssl pekyutl -decrypt -in h4ckb1tu5.enc -out decrypted_file -inkey id_rsa.pem
  • rsautl:表示使用RSA算法。
  • -decrypt:表示要进行解密操作。
  • -in h4ckb1tu5.enc:指定输入的加密文件。
  • -out decrypted_file:指定输出的解密文件名。
  • -inkey id_rsa.pem:指定解密使用的私钥文件。

这里提示rsautl已经弃用,换pekyutl,但是还是显示无效,不用管,已经出来了。

查看发现是一个目录文件

gobuster目录爆破 

直接gobuster目录爆破看看会出什么东西 

sudo gobuster dir -u http://192.168.91.153/softyhackb4el7dshelldredd/ -w /usr/share/wordlists/dirb/common.txt

dir:指定为目录爆破

-u:指定url

-w:指定爆破字典

ok,有收获,爆破出来了一个id_rsa的私钥,wget下载下来,得先把原来的id_rsa文件删了,那个没用,这应该是个登录用的密钥,先给个权限。尝试破解这个私钥,发现需要密码,再次寻找一些漏掉的信息,发现页面的那个logo图片带有隐写

破解这个图片需要对应的密码,思考一下,收集到的信息中的users.txt文本里面有一长串的用户名

是不是类似一个集合,一个字段,所以我们用他来当字典爆破试试

 图片隐写

出来了

第二个是原始用户名

查看一下第三个文件,发现了密码

用这个密码登录一下就会发现用户是hmv

靶机22端口ssh服务关闭

有时候突然觉得自己很笨,在ssh登录的时候出现一个这样的报错,22端口的ssh服务关闭了,或许唯一的可能就是登录多次导致的,用户名没错,私钥没错,密码没错,权限600给够了,网络也没错,几乎没有任何问题,或许是我刚开始的时候按快了,多次输入导致的,卡住了几天,试过重启,试过换网络配置,试过换主机登录ssh,我刚开始猜测的是我kali机器的ip被禁止登录了,但是我尝试使用主机的ip登录ssh,还是不行,然后再各大群里询问大佬,有个佬建议删掉靶机,重新装,对的,没错,我千方百试,唯独没有试过重装,确实当时钻死脑筋了,可能也会有一些和我一样的小白,为了避免踩坑我写在这里了。

 重装靶机后我的ip变了,其他的都一样。ssh登录 -i 指定密钥,然后输入这个密码

sudo ssh hmv@192.168.91.109 -i id_rsa

提权

 发现shadow文件是可以写入的,但是不能编辑和查看,那我们直接写入一个shadow

 首先先生成一个密码,密码是111111

openssl passwd # enter new password "root"
echo root:FvZiU6TM3SmtE:20012:0:99999:7:::>/etc/shadow
  • root:用户名。
  • FvZiU6TM3SmtE:密码的散列值。在Linux系统中,密码通常以散列值的形式存储,而不是明文。
  • 20012:密码最后一次更改的时间,单位是天。这个数字是从1970年1月1日开始计算的。
  • 0:密码的最小更改时间间隔,单位是天。0表示没有限制。
  • 99999:密码的最大有效期限,单位是天。99999通常表示密码永远不会过期。
  • 7:密码即将过期前的警告天数。
  • :::这两个冒号是字段分隔符,后面可以跟更多的字段。

su -l 切换root用户

输入密码111111

cat查看一下确认就是我们写的shadow

拿下!

相关文章:

hackmyvm-Hundred靶机

主机发现 sudo arp-scan -l 以sudo权限执行arp-scan -l 扫描并列出本地存在的机器,发现靶机ip为192.168.91.153 nmap扫描 端口发现 21/tcp open ftp 22/tcp open ssh 80/tcp open http web信息收集 我们先尝试一下ftp端口的匿名登录 FTP:是文件传输协议的端…...

多场景多任务建模(三): M2M(Multi-Scenario Multi-Task Meta Learning)

多场景建模: STAR(Star Topology Adaptive Recommender) 多场景建模(二): SAR-Net(Scenario-Aware Ranking Network) 前面两篇文章,讲述了关于多场景的建模方案,其中可以看到很多关于多任务学习的影子&…...

Day31 || 122.买卖股票的最佳时机 II、55. 跳跃游戏、 45.跳跃游戏II 、1005.K次取反后最大化的数组和

122.买卖股票的最佳时机 II 题目链接:力扣题目链接 思路:因为是求虽大利润完全可以假设知道第二天涨前一天买入即可,就是求两天只差大于0 的和。 55. 跳跃游戏 题目链接:力扣题目链接 思路:应该从后往前循环判断&…...

【uniapp】打包成H5并发布

目录 1、设置配置mainifest.sjon 1.1 页面标题 1.2 路由模式 1.3 运行的基础路径 2、打包 2.1 打包入口 2.2 打包成功 2.3 依据目录找到web目录 3、 将web目录整体拷贝出来 4、上传 4.1 登录uniapp官网注册免费空间 4.2 上传拷贝的目录 4.3 检查上传是否正确 5、…...

Position Embedding总结和Pytorch实现

文章目录 出现背景PE位置编码公式思路code 出现背景 自注意力机制处理数据,并不是采用类似RNN或者LSTM那种递归的结构,这使得模型虽然能够同时查看输入序列中的所有元素(即并行运算),但是也导致了没办法获取当前word在…...

【AIF-C01认证】亚马逊云科技生成式 AI 认证正式上线啦

文章目录 一、AIF-C01简介二、考试概览三、考试知识点3.1 AI 和 ML 基础知识3.2 生成式人工智能基础3.3 基础模型的应用3.4 负责任 AI 准则3.5 AI 解决方案的安全性、合规性和监管 四、备考课程4.1 「备考训练营」 在线直播课4.2 「SkillBuilder」学习课程 五、常见问题六、参考…...

C++ 素数的筛选法与穷举法

题目:素数大酬宾: 【问题描述】 某商场的仓库中有 n 种商品,每件商品按 1~n 依次编号。现在商场经理突发奇想,决定将编号为素数(质数)的所有商品拿出来搞优惠酬宾活动。请编程帮助仓库管理员将编号为素数的商品选出来…...

Spring Boot异步任务、任务调度与异步请求线程池的使用及原理

Spring Boot异步任务、任务调度与异步请求线程池的使用及原理 在Spring Boot应用程序中,异步任务、任务调度和异步请求线程池是提高系统性能和响应速度的重要工具。本文将详细讲解这些概念的使用及原理。 一、异步任务 异步任务是指可以在后台线程上执行的任务&a…...

Java爬虫之使用Selenium WebDriver 爬取数据

这里写自定义目录标题 Selenium WebDriver简介一、安装部署二、Java项目中使用1.引入依赖2.示例代码 三、WebDriver使用说明1.WebDriver定位器2.常用操作3.使用 cookie4.键盘与鼠标操作 Selenium WebDriver简介 Selenium WebDriver 是一种用于自动化测试 Web 应用程序的工具。…...

MyBatis 中updateByPrimaryKey和updateByPrimaryKeySelective区别

在 MyBatis 中,updateByPrimaryKey和updateByPrimaryKeySelective主要有以下区别: 一、功能 updateByPrimaryKey: 会根据传入的实体对象,将数据库表中对应主键的记录所有字段全部更新为实体对象中的值。即使实体对象中的某些字段…...

JavaScript下载文件(简单模式、跨域问题、文件压缩)

文章目录 简介简单文件下载通过模拟form表单提交通过XMLHttpRequest方式 跨域(oss)下载并压缩文件完整示例文件压缩跨域设置 简介 相信各位开发朋友都遇到过下载的文件的需求,有的非常简单,基本链接的形式就可以。 有的就比较复杂,涉及跨域…...

Django 定义使用模型,并添加数据

教材: Python web企业级项目开发教程(黑马程序员)第三章 模型 实验步骤: 1.创建项目和应用 前置步骤可看前文,进入到指定文件位置后创建 django-admin startproject mysite python manage.py startapp app01 2.注册…...

联名物料常泄漏?一端叠满“安全buff”

前段时间,一则关于爆火影视剧与知名茶饮品牌联名的消息在社交平台上迅速传播,宣传物料的照片也随之曝光——门店尚未上新,“小道消息”便已被疯传。但这种情况并非首次发生,让众多网友不禁猜想:这究竟是一场精心策划的…...

Flutter UI组件库(JUI)

Flutter UI组件库 (JUI) 介绍 您是否正在寻找一种方法来简化Flutter开发过程,并创建美观、一致的用户界面?您的搜索到此为止!我们的Flutter UI组件库(JUI)提供了广泛的预构建、可自定义组件,帮助您快速构建…...

国外电商系统开发-运维系统远程文件

设计初衷是为了让所有人都能方便的打开网页,就能查看Linux系统文件内容,而不再用cat、vim、more等命令去打开文件,这对于我们一个普通的研发或者是财务人员来说,显得太繁琐,因为他们很可能不会这些命令,其次…...

4. Node.js Path模块

2.3Path模块 2.3.1获取js文件的绝对路径 console.log(__dirname) //js文件所在的文件夹的绝对路径 console.log(__filename) //js文件的绝对路径输出: G:\py_project\nodejs_study G:\py_project\nodejs_study\file.js2.3.2拼接规范的绝对路径path.r…...

重构长方法之分解条件表达式

分解条件表达式 是一种重构长方法中常用的技术,它适用于复杂的条件逻辑。在方法中,条件分支(if-else 或 switch)有时会变得条件非常多,非常复杂,难以理解和维护。通过分解条件逻辑,可以让代码更…...

蚁群算法养老服务人员智能调度系统

养老行业近年来越发热门,如何有效调配服务人员成为许多机构的痛点。我们结合智能算法技术,开发出了一款专为养老行业量身打造的“蚁群算法养老服务人员调度系统”,能够精准、高效地为机构分配人员,从此告别人力资源调度难题。 系…...

java使用 IDEA自动补全功能 AI 插件

国内插件: CodeGeeX: 功能特性: 由国内团队开发,是一款智能编程助手插件。它集成了多种人工智能技术,能够在多个编程语言中提供智能代码补全、代码生成、代码优化和注释生成等功能。该插件特别适用于常见的编程任务…...

【ShuQiHere】 AI与自我意识:能否创造真正的自觉机器人?

🤖【ShuQiHere】 📜 目录 引言人类意识的探索机器意识的五大理论 功能主义(Functionalism)信息整合(Information Integration)体现主义(Embodiment)行动主义(Enaction&…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

基于服务器使用 apt 安装、配置 Nginx

🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

如何为服务器生成TLS证书

TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...