dc-4靶机ip:192.168.70.163
kali ip:192.168.70.129
靶机下载地址:https://download.vulnhub.com/dc/DC-4.zip.torrent
靶机ip发现
sudo arp-scan -l
nmap进行端口扫描
dirsearch子目录和文件扫描
这里没找到漏洞,借鉴其他师傅的思路,进行爆破,这里选择的字典是github上的使用频率最高的弱密码字典
地址:https://github.com/k8gege/PasswordDic
hydra -l admin -P /home/ycx/Desktop/PasswordDic-master/top1000.txt 192.168.70.163 http-post-form "/login.php:username=^USER^&password=^PASS^:S=logout"
hydra的一些常用指令
-l 指定用户名
-L 指定用户名字典(文件)
-p 指定密码破解
-P 指定密码字典(文件)
-e 空密码探测和指定用户密码探测(ns)
-C 用户名可以用:分割(username:password)可以代替-l username -p password
-o 输出文件
-t 指定多线程数量,默认为16个线程
-vV 显示详细过程
假设有以上一个密码登录表单,我们执行命令:
说明:破解的用户名是admin,密码字典是pass.lst,破解结果保存在ok.lst,-t 是同时线程数为1,-f是当破解了一个密码就停止,ip 是本地,就是目标ip,http-post-form表示破解是采用http 的post方式提交的表单密码破解。 后面参数是网页中对应的表单字段的name 属性,后面title中的内容是表示错误猜解的返回信息提示,可以自定义
Burpsuit抓包改变命令,利用远程命令执行(rce),这个图没截上,nc接收反弹shell,使用python打开交互模式
python3 -c "import pty;pty.spawn('/bin/bash')"
查看目录:
切换到jim发现存在backups备份文件,里面存在一些旧密码,可以进行爆破
Hydra对ssh进行爆破,爆破的密码为jibril04
ssh连接
在mbox中发现一封邮件
对mail进行全局搜索
使用find对mail进行查询
查看这两封邮件
这里找到一个密码成功登录charles账户
查看当前权限sudo -l
查看具有suid权限的命令:find / -perm -u=s -type f 2>/dev/null
发现tee是可以利用的
Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。
tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。
命令:sudo -l查看当前权限
• -a或–append 附加到既有文件的后面,而非覆盖它.
• -i或–ignore-interrupts 忽略中断信号。
• --help 在线帮助。
• --version 显示版本信息
查看passwd是可写入的权限
这里选择对passwd进行写入,使用的是teehee的root权限
echo “yxqq::0:0::/root:/bin/bash” | sudo teehee -a /etc/passwd
这个格式可以参照我的另一篇文章https://blog.csdn.net/weixin_52450702/article/details/127461223?spm=1001.2014.3001.5502
这里的/root默认自带,可以不写
切换 用户,不知道为什么失效,还是使用靶机直接登录才可以,su认证失败
直接靶机登录,使用yxq空密码登录成功
关于不能使用suid提权
在执行过程中,调用者会暂时获得该文件的所有者权限,且该权限只在程序执行的过程中有效. 通俗的来讲,假设我们现在有一个可执行文件ls,其属主为root,当我们通过非root用户登录时,如果ls设置了SUID权限,我们可在非root用户下运行该二进制可执行文件,在执行文件时,该进程的权限将为root权限.