DC-1靶机复现

下载安装DC-1,并启动DC-1

下载地址:https://www.five86.com/downloads/DC-1.zip

下载完解压后会有一个以.ova为后缀的文件,直接在VM种用”打开虚拟机”,在设置中修改网络适配器为NET模式。

在这里记一下DC-1的MAC地址,等下用的到。

启动DC-1时开机就好,不用输用户名和密码登录(你也不知道呀)

打开kali,查看kali的IP地址和子网掩码

因为DC-1和kali现在属于同一个网段,查看kali的IP和子网掩码是为了获得DC-1的网络号

DC-1的网络号是:192.168.252.0/24

使用nmap扫描在一个网段内的主机(主机发现)

根据之前记下的MAC地址确定扫描到的主机哪一个是DC-1,因为MAC地址是主机的唯一标识。

可以得到DC-1的IP是:192.168.252.136

使用nmap扫描DC-1,看有什么服务是可利用的(端口扫描)

可以看出靶机的80端口是开启的,也就是我们可以在网页上查看这个IP

在kali的浏览器上查看一下DC-1的IP

打开如下图,需要用户名和密码才可以登录。

看到了网站管理系统,里面可能会有漏洞。

漏洞检测

使用Metasploit这款开源的安全漏洞检测工具检测这个网站的漏洞

Msfconsole是Metasploit框架下的一个接口,它提供了一个“一体化”集中控制台,并允许您高效访问MSF中可用的所有选项。

-q参数是为了启动Msfconsole不出现乱七八糟的字符

用search查找drupal的漏洞,我参考的b站的up主说扫描出来的这些漏洞他都试了,只有API注入这个模块是可以渗透的(小白不配,直接使用了这个结论)。

使用该模块并查看还可以设置的选项

用use命令使用API注入这个模块(类似于在多个数据库时使用某一个数据库)。

使用show options命令查看还有什么可以设置的选项,当Required=yes时表明还需要我们对他进行设置。

Rhost文件里面定义了主机和IP地址的对应关系,并且这个文件还需要我们设置。

用set命令设置DC-1靶机的rhost文件

使用exploit命令执行攻击

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

Meterpreter session 1 opened (192.168.252.135:4444 -> 192.168.252.136:48245)表示你已经用192.168.252.135这台主机成功侵入192.168.252.136这台主机,也就是靶机。

查看靶机中有什么文件

可以看到有一个flag1.txt

查看flag1.txt

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

打开靶机的一个shell,以靶机用户的身份使用靶机

使用python -c "import pty;pty.spawn( '/bin/bash')"开启交互模式。

用ls查看有什么可用的文件

用find命令查找CMS的配置文件会更快一点

看到有一个默认的配置文件。

查看这个默认的配置文件

可以看到有一个数据库文件,还有flag2。

Flag2中提示我们暴力破解不可取并且需要提权。

数据库中有一个drupaldb数据库。

登录数据库,查看drupaldb数据库中的内容

查看并使用drupaldb数据库

  

查看drupaldb数据库中的表

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

  

查看users表

表中有用户名name,加密的用户密码pass。

如果pass是明文,我们就可以直接登录192.168.252.136这个网站了,但现在不是,就要想想办法了。

网上搜CMS加密的方法不少,并且大多数都是用了md5算法,要是解密的话也只能使用穷举法,成本太高,并不适用。

换个思路,用户注册时使用的明文,存储在数据库时是密文,那后台一定使用了某种方法将明文经过一定的运算产生了密文,那我们也用这种方法产生一个我们知道的密码的密码,替换数据库中的密文,这样不就可以登录靶机网站了嘛。

B站up主说密文产生的脚本是/scripts/password-hash.sh,俺找了找,找到了!

使用这个脚本产生tql的密文

用产生的这个密文替换数据库中admin用户的密文,这样admin用户的密码就是tql啦

原步骤登录drupaldb数据库,修改admin用户的密码

使用update命令更新数据库中的某一项

使用用户名是admin,密码是tql的用户名和口令登录靶机网站

可以找到一个flag3的链接

查看flag3

Flag3提示我们要用find提权。

在靶机的shell中查找有什么flag的信息

可以看到有一个flag4.txt和thefinalflag.txt文件,thefinalflag.txt的权限是root,也就要听flag3的提示提高自己的DC-1靶机中的权限。

查看flag4.txt中的内容

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

按权限查找文件,如果错误则重定向到“黑洞”

-perm:按照权限查找

-type:查是块设备b、目录d、字符设备c、管道p、符号链接l、普通文件f

-u=s:拥有者是s权限

S权限:设置使文件在执行阶段具有文件所有者的权限,相当于临时拥有文件所有者的身份. 典型的文件是passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码。

查看/usr/bin/find文件

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

提权

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

查看thefinalflag.txt

Well done!!!

至此,全部完成!

 

参考资料:

https://www.bilibili.com/video/BV1Sz4y197MA?t=1785

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值