admin管理员组

文章数量:1794759

靶机实战(4):Funbox: Rookie

一、主机发现

本次攻击指定IP,不涉及主机发现过程。

二、端口发现(服务、组件、版本)

使用命令sudo -u root nmap 172.16.33.30 -n -Pn -p- --reason -sV -sC -O获得主机开放的端口、提供的服务、使用的组件、组件的版本。

开放的端口

提供的服务

使用的组件

组件的版本

21/tcp

ftp

ProFTPD

1.3.5e

22/tcp

ssh

OpenSSH

7.6p1

80/tcp

http

Apache httpd

2.4.29

-

os

Ubuntu Linux

三、漏洞发现(获取权限)

21端口/FTP服务

组件漏洞

使用命令 searchsploit ProFTPD 1.3.5e searchsploit ProFTPD 1.3.5,发现1.3.5版本存在多个RCE漏洞的EXP。

查看发现都是CVE-2015-3306漏洞,在1.3.5a版本中已修复,因此这里的1.3.5e版本不受影响。

但是EXP找都找到了,不影响也试试呗,试完发现确实不受影响。

口令漏洞

使用命令ftp 172.16.33.30连接FTP服务,使用匿名账号anonymous空口令登录,使用命令dir查看文件情况,发现有很多文件。

先使用命令prompt off关闭交互模式,避免批量下载文件时每个文件都询问是否下载;再使用命令mget *批量下载所有文件,最后使用命令bye退出FTP服务。

备注:后来发现使用命令dir -lals -la可以查看隐藏文件的情况,虽然此处帮助不大。

使用命令for f in (ls *.zip); do unzip f; done;解压缩所有压缩包,发现所有压缩包都需要密码才能解压缩。

使用命令for f in (ls *.zip); do zipinfo f; done; 查看所有压缩包里的文件,发现都是SSH私钥文件id_rsa。由此可知,压缩包的文件名是SSH用户名,压缩包里是对应的SSH私钥。

使用命令zip2john marge.zip > marge.hashjohn marge.john爆破压缩包的解压密码,无收获。

备注:前面都是对单个压缩包爆破解压密码,无收获就去查看22端口和80端口了。后面倒回来才对所有压缩包爆破解压密码,也就是下文。

使用命令for f in (ls *.zip); do zip2john f > f.john; done;和for f in (ls *.zip.john); do john

最终获得cathrinetom的用户名和SSH密钥。

22端口/SSH服务

组件漏洞

使用命令searchsploit OpenSSH 7.6,发现3个EXP,均是CVE-2018-15473用户名枚举漏洞。

本来想验证一下前面拿到的SSH用户名是否真实存在,结果EXP的执行结果不准,只能放弃。

口令漏洞

基于前面拿到的SSH用户名,外加root用户名,使用命令hydra -L user.txt -P /usr/share/seclists/Passwords/500-worst-passwords.txt 172.16.33.30 ssh,未爆破出弱口令。

口令泄露

使用命令ssh tom@172.16.33.30 -i tom_id_rsa,发现前面获得的cathrinetom的SSH密钥,只有tom能成功登录,可能是cathrine用户更新了SSH密钥。

80端口/HTTP服务

组件漏洞

使用命令searchsploit Apache 2.4.29searchsploit httpd 2.4.29,除了本地提权外,未发现其它可利用漏洞。

使用Wappalyzer、FindSomething自动识别网站组件,无收获。

URL漏洞(目录、文件)

01、手动浏览

访问首页http://172.16.33.30/,发现啥也没有,是中间件默认页面。

02、目录扫描

使用命令dirb http://172.16.33.30/ /usr/share/seclists/Discovery/Web-Content/common.txt -R对网站目录和文件进行遍历,发现/index.html文件和/robots.txt文件,约等于没有任何发现。

/robots.txt文件中的/logs/目录下也是空的。

03、模糊测试

基于目前已知信息,没有对网站的目录和文件进行FUZZ的必要。

04、信息收集

前面在Firefox翻找网站的流量全都走Burp Suite代理,在Burp Suite中未发现敏感信息泄露。

四、越权提权

sudo

使用命令sudo -l查看tom用户的特权命令,发现需要tom用户的SSH密码才能执行。

suid

使用命令find / -perm -u=s -ls 2>/dev/null查看特权程序,发现比较多的系统命令,但在GTFOBins[2]并未搜索到可用于suid提权的。

信息收集

使用命令ls -la查看文件情况,发现.mysql_history文件。使用命令cat .mysql_history查看文件内容,发现不知道是什么服务的账号tom和密码xx11yy22!

尝试看看这个账号密码能否登录SSH服务,竟然登录成功,获得用户tom的SSH密码xx11yy22!

那么为什么能在MySQL数据库中找到SSH服务的账号密码?我想应该是受害人在多个平台都使用了相同的账号密码吧,所以我们能在拿到A系统的账号密码后(MySQL数据库中),用于登录B系统(SSH服务)。

sudo

使用命令sudo -l查看tom用户的特权命令,输入SSH密码后,发现(ALL : ALL) ALL,用户tom可以执行所有命令。那就执行一下切换到root用户的命令sudo su,获得root账号的权限。

参考资料

[1]

Funbox: Rookie: ,520/

[2]

GTFOBins: /

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2024-01-01,如有侵权请联系 cloudcommunity@tencent 删除网站登录服务漏洞主机

本文标签: 靶机实战(4)Funbox Rookie