Vulnhub Joy Walkthrough
Recon
这台靶机对枚举的要求较高,如果枚举不出有用的信息可能无法进一步展开,我们首先进行普通的扫描。
┌──(kali?kali)-[~/Labs/Joy/80]
└─$ sudo nmap -sS -sV -p- 192.168.80.136
Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-10 22:42 EDT
Nmap scan report for 192.168.80.136
Host is up (0.00064s latency).
Not shown: 65523 closed tcp ports (reset)
PORT STATE SERVICE VERSION
21/tcp open ftp ProFTPD
22/tcp open ssh Dropbear sshd 0.34 (protocol 2.0)
25/tcp open smtp Postfix smtpd
80/tcp open http Apache httpd 2.4.25
110/tcp open pop3 Dovecot pop3d
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
143/tcp open imap Dovecot imapd
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
465/tcp open smtp Postfix smtpd
587/tcp open smtp Postfix smtpd
993/tcp open ssl/imap Dovecot imapd
995/tcp open ssl/pop3 Dovecot pop3d
MAC Address: 00:0C:29:31:8C:D0 (VMware)
Service Info: Hosts: The, JOY.localdomain, 127.0.1.1, JOY; OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 13.69 seconds
Process
通过上面的信息,我们发现部分版本号,例如SSH为Dropbear sshd 0.34,还有ProFTPD,但我们不知道FTP服务的版本号,我们首先尝试FTP能否匿名登录。
我们在其中发现了一个叫directory的文件,下载打开后发现,里面有一个比较有价值的文件version_control。
但是我们现在无法得到该文件,我们再将眼光放回SSH服务,尝试搜寻SSH的漏洞进行利用(虽然我们能从searchsploit找到漏洞,但是无法成功利用)。
我们并没有对目标系统的端口进行完全的扫描,那么我们接下来对UDP端口进行扫描。
使用如下命令sudo nmap -sU -Pn -A --top-ports 20 --reason 192.168.80.136
进行扫描。
在扫描结果中,我们找到了比较有意思的信息,snmp端口泄露了如下信息。
我们发现在tftp服务监听在UDP/36969端口上,并且工作在/home/patrick目录。我们尝试连接并获取之前想获得的文件。
获得文件后,我们查看文件。文件中我们获得了服务的版本号,其中ProFTPD的版本存在漏洞,而其他服务都无法进行有效利用。需要注意的是Webroot从/var/www/html移动到了/var/www/tryingharderisjoy。
我们可以使用Metasploit进行利用(也可以通过Github上的利用脚本手动利用)。查找漏洞利用模块,设置各项参数。
运行Exploit,获得非交互式Shell。
通过Python获得交互Shell。
在ossec目录下找到了敏感信息,patrick和root用户的账户名与密码,su切换到patrick用户。
发现我们可以通过sudo执行一个脚本文件。
但是我们无法直接访问到这个脚本文件,我们尝试运行这个脚本文件,改脚本可以根据需求修改权限,但好像并没有对输入做安全检查。
尝试输入一个空值,将script目录的权限放开。
成功,进入脚本目录,覆写脚本内容,提权。