记一次vulnhub|渗透测试Literally-Vulnerable

vulnhub Literally-Vulnerable


  • 0X01 Main Point

    1.针对wordpress框架开发的wpscan的基本使用
    2.PWD环境变量提权
    3.搭建SSH,密钥登陆
    4.得到低权限shell的各种姿势
    5.kali自带的dirb扫描网站目录 (字典真香)

  • 0X02 前期嗅探和端口探测
    kali终端arp-scan -l得到靶机的IP:172.20.10.3
    在这里插入图片描述
    nmap扫描靶机开放的端口有65535、80、21、23,分别是HTTP、HTTP、FTP、SSH服务,而且FTP服务有匿名登录且可读的文件。
    在这里插入图片描述
    直接匿名登录FTP后get文件到攻击机,查看:
    在这里插入图片描述
    在这里插入图片描述
    doe用户的密码,一一试探doe用户的SSH、FTP均无果。现在转向看目标网站,发现是一个Wordpress框架的个人博客,但是页面显示十分奇怪,发现链接全部使用了域名:http://literally.vulnerable/,我们回到kali上在hosts增加这个域名的本地解析:
    在这里插入图片描述
    现在重新浏览得到正常页面,
    日常dirsearch扫目录,这里用kali自带的dirb也可以,都是国外的常用目录,扫出来之后有wp登录界面,但是用之前得到的密码一顿fuzz无果!超乎意料了,本来以外是能够直接登录了,用了几个用户名进行爆破都没有得到结果。

那不妨在看看66536的端口
在这里插入图片描述
同样用dirb扫目录,这个时候字典格外关键,我用dirsearch.py在物理机是没有扫出来想要的目录的,建议使用dirb自带的大字典,或者是使用https://github.com/danielmiessler/SecLists中的/Discovery/Web-Content/raft-large-directories.txt这个字典足够大了。这里我们使用前者,dirb自带的字典进行扫描。
在这里插入图片描述
可以看到用常规字典是并没有扫除目标目录的,我们进入dirb自带的字典目录(/usr/share/dirb/wordlists)选一个更大的字典big.txt,进行扫描即可。
在这里插入图片描述
在这里插入图片描述/phpcms这个目录发现又是另外一个wordpress框架的网站
在这里插入图片描述
在这里插入图片描述
高高兴兴用之前得到的密码发现又没有用,login界面也不知道User,既然是wordpress,那用wpscan扫描有什么新发现,各种扫描后发现可以枚举得到用户名,再根据我们之前得到的密码,逐一枚举可以成功登录!----wpscan具体用法参考:https://www.freebuf.com/sectool/174663.html
得到用户:notadmin、maybeadmin
在这里插入图片描述
利用之前的backpassword枚举爆破得到成功登录的user/password

wpscan --url http://172.20.10.3:65535/phpcms/ --user notadmin -P '/root/bp'
在这里插入图片描述
登录发现果然不是admin用户,但是在留言那儿看到了另外一个密码,我们再退出用这个密码登录noadmin用户发现是admin权限。
在这里插入图片描述
登陆之后找到上传模板并修改。

  • 姿势一:利用PHP一句话,蚁剑连接,在进行反弹shell,得到www用户的shell
  • 姿势二:直接构造PHP版的一句话反弹shell,监听后得到www用户的shell
  • 姿势三:利用msfconsole的exploit/unix/webapp/wp_admin_shell_upload直接得到shell
    这里利用第三种姿势得到shell,show options查看各种需要set的配置,利用已知的notadmin用户和密码,成功得到shell。再利用python3(前期发现是python3版本)得到交互式shell
    在这里插入图片描述
    /home下发现doe、john两个用户,各种胡乱fuzz,发现有执行和读取的文件少之又少,可见必须先提权才行。发现一个可执行已经编译的itseasy文件,而且是任意用户可以执行的,这里执行了一下这个可执行文件,得到的结果是:Your Path is: /home/doe。由于当前所在路径就是/home/doe,所以猜测这个可执行文件是调用了pwd命令,可以通过PATH环境变量进行提权。
    https://www.freebuf.com/articles/system/173903.html
    在这里插入图片描述
    但此处利用PATH好像没有用,这里可能调用的是PWD环境变量,修改环境变量发现成功得到john用户的shell。
    但这个时候可以执行命令但是并无回显任何东西,既然我们有一个较高权限的shell,这里干脆使用SSH进行连接。

SSH连接:

  • kali终端ssh-keygen目的是将公钥给到john用户
  • /home/john目录下创建.ssh文件夹,将kali的公钥导入到/.ssh/authorized_keys文件中
  • kali进行SSH连接,成功连接到John用户
    在这里插入图片描述
    注意我使用的是空密码。
    在这里插入图片描述
    在这里插入图片描述
    SSH成功后可以得到/home/john目录下是一个flag,查看权限但是要john用户的密码,这里我们看一下有无隐藏文件,发现隐藏的.local文件夹下有john用户的密码(提示需要base64解密)john:YZW$s8Y49IB#ZZJ
    在这里插入图片描述

sudo -l发现可以有可以利用的/var/www/html/test.html,但是john没有权限在/var/www/html写入文件,只有www用户可以写入文件,切回www用户

echo '/bin/bash' > /var/www/html/test.html 在赋予可执行权限,这样john用户也能执行
参考chmod命令
chmod 777 test.html
重新回到john用户后,sudo test.html发现成功变为root用户,得到最终flag!
在这里插入图片描述
最后创建一个自己的用户作为战利品:
在这里插入图片描述

发布了17 篇原创文章 · 获赞 3 · 访问量 1075

猜你喜欢

转载自blog.csdn.net/crisprx/article/details/104067949