山东通信局报备网站,在线小程序,怎么取消网站备案,中国建设银行官网招聘公告前言
靶机#xff1a;kioptrix-4#xff0c;IP地址为192.168.1.75#xff0c;后期IP地址为192.168.10.8
攻击#xff1a;kali#xff0c;IP地址为192.168.1.16#xff0c;后期IP地址为192.168.10.6
都采用VMware虚拟机#xff0c;网卡为桥接模式
这里的靶机#xf…前言
靶机kioptrix-4IP地址为192.168.1.75后期IP地址为192.168.10.8
攻击kaliIP地址为192.168.1.16后期IP地址为192.168.10.6
都采用VMware虚拟机网卡为桥接模式
这里的靶机官方只给了硬盘文件没有给出虚拟机可直接加载文件.vmx所以这里需要自行安装一个然后导入硬盘 文章中涉及的靶机来源于vulnhub官网想要下载可自行访问官网下载或者通过下方链接下载https://pan.quark.cn/s/1f8bfb170c6d 安装靶机
首先使用VMware新建一个虚拟机 然后选择稍后安装操作系统 然后选择其他默认版本即可 然后一直点击下一步直到完成即可
打开新建虚拟机的设置添加一个硬盘该路径就是靶机的硬盘位置 然后这时候把原本新建虚拟机的硬盘移除
这里千万别忘了把网络适配器改为桥接模式 这时候直接启动即可成功 主机发现
使用arp-scan -l或netdiscover -r 192.168.1.1/24因为这两款工具对于同一局域网同一网段扫描极快当然也可以使用nmap扫描我这里因为设备过多影响截图所以采用上面两个 信息收集
使用nmap扫描端口 网站信息探测
访问80端口默认界面发现是一个登录界面 查看页面源代码发现是form表单并且是提交给checklogin.php处理的 尝试进行网站目录爆破借助gobuster、dirsearch、dirb等工具皆可
gobuster dir -u http://192.168.1.75 -w /usr/share/wordlists/dirb/big.txt -x php,zip,gz,tar,txt,md -b 403-404访问john和robert都是跳转到index.php
dirsearch -u http://192.168.1.75 -x 404访问database.sql发现是类似于日志一样访问发现添加了一个用户和密码但是登录网站并不能成功 samba探测
之前扫描出的139和445端口服务为samba那么尝试确定其版本
使用nmap脚本测试发现版本为3.0.28a并且使用之前的脚本探测也是这个版本
nmap -sV 192.168.1.75 --scriptsmb-os-discovery使用searchsploit搜索对应的版本漏洞发现并无好用的毕竟目的是获取shell等
searchsploit samba 3.0.28a尝试使用enum4linux测试发现几个用户
enum4linux 192.168.1.75 -a不过当测试ssh爆破时发现长时间就出现超时所以暂时搁置
漏洞寻找
根据前面收集的信息暂无直接漏洞可用那么开启burp或者yakit
尝试对网站进行抓取数据包进行测试每一步都抓取数据包测试
但是这里不知道什么原因这里原本的主机在开启burp后突然无法访问成功了唉估计是ip测试技术之类的吧换一个机器测试毕竟之前也没有抓取数据包无法得知数据包情况
抓取登录时的数据包 那么尝试在post请求体数据中修改在username处发现闭合并未有任何效果
在password处发现闭合出现返回不一样的这里是数据库的报错 说明存在sql注入那么尝试万能密码
myusernamejohnmypassword1234or11--SubmitLogin发现跳转并且这个重定向有点东西根据英语意思是否可以理解为登录成功并在后面指定用户
跟随跳转发现又跳转到用户界面 再次跟随跳转发现直接登录成功 查看浏览器的界面并以密码登录确实成功 这里可以看到登录后在url的构造是以username为参数指定用户名的测试直接在url中修改usernamerobert但是发现还是john的界面
继续通过抓包修改也就是以robert登录时的数据包
然后与上面的形式一样进行万能密码测试发现确实可行
这里注意抓取的数据包是重新抓取的新的当然也是可以在其中一个跳转的数据包中修改也就是在login_success.php?usernamejohn这里修改用户名也就是前面enum4linux中枚举出的用户名 继续以上面的形式测试loneferret通过抓包修改的方式以及修改url参数的方式获取到一个提示
这里因为换了网络所以这里靶机的ip地址和kali的地址都改变了
靶机地址192.168.10.8kali地址192.168.10.6 当前获取到的两个用户和密码
用户名密码johnMyNameIsJohnrobertADGAdsafdfwt4gadfga
一般到这里就可以进行下一步的测试了,不过实际情况中不知道是否还有遗漏
建议进行一次完整的sql注入这里就不演示了很简单的不过大概率是盲注
所以尝试使用sqlmap进行测试说不定有些东西
吧抓取的数据包复制并放置在一个文件中即可命名为data 使用sqlmapsqlmap -r data --batch --dump bash逃逸
以john和robert对应的密码都可以以ssh登录成功只是这里应该是rbash太多东西无法使用 这里经过多次测试发现大多都是无法使用的rbash逃逸并且可用的命令很少
尝试使用echo写脚本等也是不行。最终无奈百度一下wp发现竟然是配合使用就是这个命令echo os.system(/bin/bash)这个让我不理解。继续搜索发现这个是lshell的一个漏洞是针对python2的一个下面是链接https://dev59.com/unix/LUHGoIgBc1ULPQZFOr8H 靶机内网收集
使用find寻找具有SUID权限的文件
find / -perm -us -type f 2/dev/null
find / -perm -4000 -print 2/dev/null有sudo但是没有权限进一步收集之前在网站存在sql注入可能与数据库有交互的那么去网站目录寻找一下是否连接数据库确实连接数据库并且还是以root这个权限极高的用户且无密码 查看网络连接
ss -antlp
netstat -antlp查看进程并发现mysql服务确实以root在运行的
ps aux | grep root
ps -ef | grep root内核版本信息以及系统信息
uname -a/-r
cat /etc/issue
cat /etc/*release
lsb_release尝试上传脚本pspy64以及les.sh发现该靶机首先不能执行二进制文件然后les.sh需要更高的bash版本才行所以可能隐藏的一些内容可能无法收集
提权
既然mysql以root执行并且也是指定root连接密码也为空就可能直接联想到udf提权不过需要进一步验证
首先确定数据库版本信息然后再次连接数据库并查看安全配置
mysql -uroot -p可以连接成功数据库 这里我在前面的raven靶机提到过这个提权方式的对于这个提权如果secure_file_priv后没有具体值是代表可能存在提权的。
并且这里的mysql版本信息是因为当mysql5.1时是必须把udf的动态链接库文件放置于mysql安装目录下的插件文件夹下才能创建自定义函数以提权。这里mysql版本是小于的所以可直接使用
这里的提权方式可以使用默认的文件lib_mysqludf_sys.so这个是可以执行系统命令的一个函数根据情况若是没有加载需要使用create加载这个文件
或者也可以使用searchsploit搜索出的c文件中的函数进行提权这里的文件可以自己编写当然知道原理即可 查看/bin/bash是否修改为SUID权限 发现确实并且可以直接输入/bin/bash -p提权至root
查看最终文件 对于使用searchsploit搜索出的直接进行复原即可因为文件中有每一步的用法这里就省略 或者可以看之前的靶机raven系列那个是mysql版本5.0的。链接https://mp.weixin.qq.com/s/M1MQcKTW738sx463Vo7pgg 总结
该靶机主要考察
对于sql注入要结合不要只看固定的地方这里是根据http协议存在于post方式中那么依次类推是否可以存在请求头中呢要去思考对于rbash逃逸也要考虑可能是版本问题这里就是lshell的版本漏洞导致执行python中的函数对于mysql的udf提权要知道条件不然就是盲目的去硬碰这里知道UDF提权条件后就可以根据版本来进行测试当然可以自己写提权文件