vulnhub靶场 之 DC -1
2020-03-04 13:36:56 Author: forum.90sec.com(查看原文) 阅读量:274 收藏

靶机介绍:

DC系列的靶机是一个专门构建的易受攻击的实验室,总共有九个!目的是获得渗透测试领域的经验。它的设计初学者是一个挑战,但是它的难易程度取决于您的技能和知识以及学习能力。要成功完成此挑战,您需要具备Linux技能,熟悉Linux命令行以及具有基本渗透测试工具的经验,例如可以在Kali Linux或Parrot Security OS上找到的工具。有多种获得根的方法,但是,我包括了一些标志,这些标志包含了初学者的线索。总共有五个Flag,但是最终目标是在root的主目录中找到并读取该标志。您甚至不需要成为root用户即可执行此操作,但是,您将需要root特权。根据您的技能水平,您可能可以跳过查找大多数这些标志并直接获得root资格。

渗透过程:

工具kali

打开DC -1 靶机后需要登陆,这里我们是不知道账号密码的,要通过其他方法找flag。

1

用netdicover 去探测局域网里的存活的ip

2

我的dc时用vmware开的,这里就是他了。

或者这里用namp探测

3

接下来对这个ip扫一通 nmap -A 192.168.5.44

4

整理一下:

端口:

1)22/ssh :可以尝试暴力破解

2)80/http: 有web端

              中间件:apache 2.2.22

              cms:drupal(php的cms)

3)111

目前的思路:

1)尝试ssh

2)尝试查找该cms的漏洞并利用

这里先尝试思路2,一般我都把爆破放在最后,感觉这是没有办法的选择

用msf搜一下

msfconsole

searche Drupal

5

尝试最新的那个进行攻击

6
7

成功!!拿到会话!

8

输入shell计入session

接着要用python模拟一个终端

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

9

接下来开始提权之路:

ls看一看目录

10

找到flag1.txt

11

翻译了一下,”每个好的cms都需要配置文件“,所以我们去找一找他的配置文件,这里去百度一下

在 /sites/default/ 里面的settings.php 拿到第二个flag
12

翻译过来大概就是,

暴力破解不是唯一的方式,你能用这个配置文件做什么?

这个文件里得到mysql的账号和密码,拿去登陆一下

13

接下来对查询表里的数据,这里想到去查查账号密码然后去网站后台登陆看一看

14

看到admin和加密过后的密码,这里得密码采用了drupal独特的加密方式,我想验证的时候也是吧,这里直接尝试改密

可参考这篇文章 :https://www.isfirst.net/drupal/drupal-reset-password

那么 只要我们用已知的加密后的字符串去替换然后去登陆就行了,这里就采用文章里的123456

update drupaldb.users set pass='$S$DRIG34Wb.GK3EKVBYBYN6rO.uyMkf1re4u8f/FjDRmGBRY30x3S4' where name='admin';

15

然后去登陆web端,找到flag3

16
17

提示用exec,但不知道有什么用,我们回到kali,去看看passwd目录

18

找到flag4,在home目录下,去康康

19

提示说,在根目录下也有flag,要我们用同样的方式去查看,所以接下来要提权去看/ root 下的flag

这里说一个知识点,当
20

是 $ 时候,表名普通用户,是#表明是root用户,根用户

这里用到find 提权 ----https://man.linuxde.net/find

------- find命令是在指定目录下查找文件,并返回查找到的子目录和全部文件。

           有意思的是fand命令有一下这两个选项

         -exec<执行指令>:假设find指令的回传值为True,就执行该指令;// 如果执行指令是由root执行,那我们补就相当于拥有了root权限

         -ok<执行指令>:此参数的效果和指定“-exec”类似,但在执行指令之前会先询问用户,若回答“y”或“Y”,则放弃执行命令;

         -true:将find指令的回传值皆设为True;

所以我们只要在目录下创建一个文件,然后再find,这样他返回就回ture再执行命令,或者直接再后面添加 -ture选项

注意这里我们去tmp目录下创建文件,因为tmp是存放临时文件,所有用户组都有权限,

21

接下来用find命令查看权限 find test -exec "whoami" ;

22

这个是root权限执行,所以用root创建一个终端

23

注意看,$变成了#,成功获得了root权限,接下来去拿flag

24

小结:

1)还是挺难的,虽然这是对新手,但是对我来说,提权真的是很新很新的知识,以前一直都是接触web端的漏洞,学到了很多。

2)还有,当有时候,还是尽量谷歌,不要百度,比如今天我寻找find命令选项和参数时,百度了很久没有找到满意的答案,结果谷歌第一项就看到了我想要的东西。


文章来源: https://forum.90sec.com/t/topic/839/4
如有侵权请联系:admin#unsafe.sh