赞
踩
DC-9靶机下载地址:https://www.vulnhub.com/entry/dc-9,412/
kali,DC-9靶机
两台虚拟机连接到同一网段
kali中安装需要的工具,如:nmap,sqlmap,dirb,hydra,nc,burpsuite等等
1.靶机页面
2.打开kali,ifconfig确认kali的IP地址。
3.使用nmap扫描同网段主机,确定靶机IP地址为192.168.6.140。
4.扫描靶机开放端口
发现ssh服务端口状态为filtered,思考可能后面会让我们开放该服务。
5.访问靶机web页面
发现search页面有搜索职员记录的输入框,连接着数据库,思考是不是可以进行SQL注入。
1)使用bp抓包,尝试SQL注入
输入Tom' and 1=1 --+的时候有结果
发现输入Tom' and 1=2 --+的时候无结果,所以存在SQL注入漏洞
2)将bp抓到的包保存到桌面文件123.txt,使用sqlmap进行爆破数据库。
发现users库,猜测有用户名和密码,所以爆users库
爆UserDetails表
发现用户名和密码,尝试在web登陆页面使用,尝试几次后并不能登录,猜测该用户名和密码并不是web登录页面的用户名和密码。所以将username和password分别保存到本地为username.txt和password.txt文件,供之后使用。
再爆Staff库
爆Users表
发现用户名和加密的密码,网页上寻找解密工具解密后得到密码transorbital1
3)尝试用该用户名和密码登录web页面,登陆成功
发现下方有文件不存在,猜测有文件包含漏洞,尝试利用该漏洞打开/etc/passwd,成功打开。
4)通过/etc/passwd我们发现拥有很多的用户名,其中包括刚刚保存过的users数据库当中的用户名
所以我们把目光放到ssh服务上去
1)打开ssh服务。我们可以通过端口探测进行开启ssh服务。通俗来说端口探测可以理解为,我按顺序敲击端口就可以将ssh服务打开,反之敲击关闭,端口顺序存放在/etc/knockd.conf文件中。先找到/etc/knockd.conf文件,发现端口顺序为7469,8475,9842
- 存在knockd服务, 该服务通过动态的添加iptables规则来隐藏系统开启的服务,
- 使用自定义的一系列序列号来"敲门",使系统开启需要访问的服务端口,才能对外访问。
- 不使用时,再使用自定义的序列号来"关门",将端口关闭,不对外监听。进一步提升了服务和系统的安全
-
- //配置文件路径
- 默认配置文件是:/etc/knockd.conf
我们使用nc工具进行开启ssh服务
2)开启之后我们通过hydra使用之前保存的username.txt和password.txt文件对ssh服务进行爆破
得到三个用户,分别登录三个用户,分别sudo -l发现并没有可利用文件
再分别查看目录下有没有可用的文件
发现janitor用户中有个独有的.secrets-for-putin文件
打开后新发现一个密码文件,保存到本地为pass.txt
3)再利用username.txt和新的pass.txt文件进行ssh爆破
发现新的fredf用户,登录该用户,sudo -l命令查看到以root权限运行的文件,进行查看
4)进入该目录,发现test是一个python脚本,我们使用find命令进行查找,进行查看
查看test.py发现文件中有读取和写入命令
构造/etc/passwd文件当中的信息,进行追加用户信息即可提权,仿照/etc/passwd文件当中内容进行构造信息
- 思路:
- 我们可以生成一串类似于/etc/passwd的信息,通过test.py脚本强加入/etc/passwd文件中,
- 我们需要知道/etc/passwd文件信息的含义
-
- root:x:0:0:root:/root:/bin/bash
-
- root 用户名(自定义设置)
- :x 用户密码(为安全考虑用x代替)
- :0 UID
- :0 GID
- :root 全称,对用户的描述
- :/root 用户家目录
- :/bin/bash shell环境变量(查看用户是否作为可交互式,允许登录/bin/bash,
- 不允许登录/sbin/nologin)
-
- 之所以写入/etc/passwd文件中,是因为我们要追加一条uid=0的用户
-
- 因为root的UID=0
-
-
- 我们现在需要使用openssl生成密码
-
- openssl passwd -1 -salt 盐值 密码
-
- -1为MD5加密算法
-
- -salt指定盐值
-
- 如:openssl passwd -1 -salt 123.com zhen
-
- 构造出:zhen:$1$123.com$YbnVgPo30FVuFmFc9.8190:0:0:zhen:/root:/bin/bash
- echo 'zhen:$1$123.com$YbnVgPo30FVuFmFc9.8190:0:0:zhen:/root:/bin/bash'>/tmp/zhen
- 之所以写到tmp下,是因为tmp的文件所有用户都可写入
-
- cd /tmp
-
- sudo /opt/devstuff/dist/test/test zhen /etc/passwd
-
- su zhen
我们生成了用户名=zhen,密码=zhen的root权限用户,登录该用户。
进入/root目录下,查看并打开theflag.txt文件,完成DC-9靶机渗透。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。