0x00 环境搭建
靶机地址:http://www.vulnhub.com/entry/dc-9,412/ 下载之后用vmware打开即可,使用桥接模式。 开机后搭建完成:
0x01 主机端口探测
用arp-scan -l 探测内网存活主机,再用nmap -sV -p- ip 来探测端口: 发现开启了80端口(HTTP服务),22端口存在过滤机制(SSH服务)
0x02 web渗透
访问80端口,没判断出是什么CMS: 目录扫描,发现登录入口: xray扫描出一个sql注入: 尝试注入: 丢到sqlmap跑出用户数据: 尝试登录一下,好像不行,换个数据库看看: 拿到管理员密码,尝试解密: 登录后台,发现多了两个模块,但是都无法利用:
0x03 文件包含
看到提示文件不存在,参考DC-5,猜测在文件包含漏洞: 尝试包含敏感文件: 由于没判断出是什么CMS,不知道日志文件存储路径,无法包含日志,查询资料后得知/etc/konckd.conf 文件可以查看端口nc策略: 接下来以此nc连接这几个端口,就会发现22端口开放了:
0x04 暴破SSH
用刚才跑出的第一张表的用户名密码暴破SSH: 登录这三个账户,最后再janitor账户中发现一个隐藏文件夹: 在这个文件夹中发现一个密码本: 拿新密码本重新暴破SSH,得到一个新用户: 成功登录:
0x05 提权
发现该用户能以root身份执行test文件: 查看该文件显示乱码,执行文件提示让执行test.py : 找到test.py 并查看:find / -name "test.py" 2>/dev/null (2>/dev/null 表示丢弃错误输出) 该脚本文件是将一个文件中的内容写入到另一个文件中,生成一个账户: 计算密码为hacker的密文:openssl passwd -1 hacker ,并将用户信息写到一个临时文件: echo 'hack:$1$/rRwT.Aw$BGpt4eKjJa4jLWCIGyF7y1:0:0::/root:/bin/bash' > /tmp/pass.txt 执行 test 文件,成功创建了一个 root 权限的用户 hack: 切换用户,找到flag: 这里本来想像DC-4一样添加一个无密码用户,但多次尝试无果,应该是做了限制。
补充一下/etc/passwd 的密码格式,如:admin:x:0:0::/home/admin:/bin/bash (以: 分割)
- 第一个参数:用户名;
- 第二个参数:密码,x代表有密码,密码存储在
/etc/shadow 文件中。若此参数为空,则代表无密码就可以登录; - 第三个参数:用户ID(
UID ),0:超级用户 UID、1~499:系统用户UID、500 ~ 65535:普通用户 UID; - 第四个参数:用户组ID(
GID ); - 第五个参数:用户简单说明,可为空;
- 第六个参数:用户家目录,用户登陆后具有操作权限的访问目录;
- 第七个参数:用户登录shell,
/bin/bash 为可登录系统的shell,/sbin/nologin 为禁止登录的shell(很多系统用户为禁止登录shell)
总结
整体流程如下: 主机发现 => 端口扫描 => 访问web服务 => sql注入拿到用户信息 => 登录后台 => 文件包含/etc/konckd.conf => 暴破SSH登录 => 信息收集找到密码本 => 再次暴破SSH => 修改/etc/passwd 添加新用户提权 => 找到flag
DC系列最后一个靶机,过程还是比较丰富的,包含的知识点比较多。整个DC系列的靶机难度都不算太大,适合小白学习渗透思路和各种提权方法。
参考链接: https://www.cnblogs.com/bingtang123/p/12838424.html(DC-9靶机)
|