前言:任何一个位置都可能是注入点,比如url中,以及http报文中;

实验环境

攻击机:10.0.2.4
靶场机器:10.0.2.15
这个靶场的IP地址啊,我又搞了一天。玩这个真是让人没脾气!
由于这个
m0re
导入到VM里面会出错m0re

所以我安装到了virtual box当中。靶场安装就这个没意外。但是IP地址就有问题了。探测不到,kali是在VM中,之前也遇到过这个问题,已经解决,但是这一次,用以前的方法解决不了了。以前的方法请参考我的博客——🔑https://blog.csdn.net/qq_45836474/article/details/106460846
这一次用上次的方法不管用了。于是我想起来之前想过弄两台kali,正好这次可以用到,就新安装了一个kali在virtual box上。这个过程也是很艰辛。直接导入虚拟机的,在kali的官网下载镜像包。https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download/
然后就是一个问题了,下载贼慢。m0re
相信大家都有办法。🐶🐶
然后问题来了,
使用netdiscover扫描不到virtualbox搭建的靶机!这个我找了找,发现有个师傅在社区提这个这个问题,但是没有得到解决。使用netdiscover扫描不到virtualbox搭建的靶机!求助我们遇到的问题一模一样。
下面我分享一下我的办法。
打开主页面顶部的管理——全局设定
然后选到网络,就会有这样的界面,点击箭头位置增加一个network
m0re
点击OK。
然后设置kali和靶场机器的网络连接方式
m0re
选择net网络。下面也选择好刚增加的那一个,同样的靶场机器进行同样的设置。然后再次进行探测。
m0re
终于看到我想看到的样子了
m0re

进行实验

信息探测

扫描主机开放的全部端口

nmap -T4 -p- 10.0.2.15

m0re
可以看出靶场开放的端口有三个,80、443、8080
快速扫描主机的全部信息

nmap -T4 -A -v 10.0.2.15

m0re
可以看到80端口开启的http服务的版本信息等等
然后对80端口的http服务进行敏感信息挖掘
使用nikto或者dirb进行探测

nikto -host http://10.0.2.15
dirb http://10.0.2.15

m0re
探测到一些敏感信息,login.php登录界面和phpmyadmin
访问查看信息,
m0re
一般还可能会在网页源代码中隐藏一些信息。
login.php界面是个登录框,
m0re
看到框,就猜想是否可能存在SQL注入和xss
先将信息全部扫描一遍在做深入探测。
phpmyadmin则是普通的mysql的管理登录页面,而且弱口令尝试一遍是不可以登录成功的。
m0re
同时,dirb也扫描出很多敏感信息,一一访问查看敏感信息。
m0re
8080端口开放的也是http服务,所以也同样使用nikto和dirb进行扫描
查看敏感信息
m0re

发现了wordpress目录,访问后发现是一个普通的wordpress界面,大致浏览一遍应该是一个个人的网站。
m0re
没有发现什么其他的敏感信息。

漏洞扫描

使用Owasp-zap漏洞扫描器进行漏洞扫描
m0re
先对80端口进行探测
m0re
没有发现高危漏洞,在扫描一下8080端口
m0re
依旧是没有发现什么高危的漏洞。

漏洞利用

信息探测基本完成,现在对探测到的信息进行利用,查看可利用的信息进行深入研究。
mysql的管理界面目前没有头绪,看登录框吧,尝试进行SQL注入。
可以使用sqlmap进行注入
首先抓取对应数据包,使用burpsuite截获数据包
开启代理,抓包。
m0re
然后将返回的数据包复制出来,在桌面创建一个request.raw
将内容粘贴进去保存。
m0re
使用sqlmap进行注入

sqlmap -r request.raw --level 5 --risk 3 --dbs --dbms mysql --batch

m0re
数据库全部爆破出来了。
然后就慢慢来吧。
发现那个wordpress8080数据库是wordpress的,所以可以爆出它的值

sqlmap -r request.raw --level 5 --risk 3 -D "wordpress8080" --tables --dbms mysql --batch
sqlmap -r request.raw --level 5 --risk 3 -D "wordpress8080" -T "users" --columns --dbms mysql --batch
sqlmap -r request.raw --level 5 --risk 3 -D "wordpress8080" -T "users" -C username,password --dump --dbms mysql --batch

最后得到了wordpress的登录用户名和密码
m0re
登录wordpress,一般wordpress的登录点是wp-login.php
m0re
成功登录,然后找到404的界面代码。如下:
m0re

上传webshell获取控制权

获取shell的位置在/usr/share/webshells/php
m0re
使用这个shell反弹权限
copy到桌面
m0re
只需要将这里改为kali攻击机的IP地址就可以了。
m0re
然后复制出来,粘贴到404界面去。
m0re
点击上传就行了。
m0re
提示上传成功。
启动监听,使用nc进行监听。
m0re
访问404的界面
http://10.0.2.15:8080/wordpress/wp-content/themes/twentythirteen/404.php
看到浏览器一直在请求,就可以回到终端查看监听状态了。
m0re
浏览器一直在不断的请求服务,这个时候webshell已经被执行了。
查看监听状况
m0re
进行终端优化python -c "import pty; pty.spawn('/bin/bash')"

提升权限

查看敏感文件信息

cat /etc/shadow
cat /etc/passwd

m0re
看最后发现一句话
“你偷走了我的文件!没有人进来,也没有人出去!”
不管它。flag一般都是在root根目录下。
所以需要进行提权
不过提权需要密码,先尝试空密码
m0re
没成功,但是还有一个密码,就是sqlmap爆出的密码SuperSecretPassword
m0re
提权成功。
已经root权限了,找什么不就是轻而易举的了。