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&…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
