0x00 Preface [前言/简介]
接着上一篇文章,更新BEE-BOX A5题目,有不理解这些靶机是哪儿的小伙伴或者查看以前的篇幅,传送门:
0x01 BEE-BOX习题:A5-Security Misconfiguration
今天所更新的是A5,安全配置错误,我们在学习的时候,首先要先理解他们的原理,这些漏洞是怎么来的,怎么进行触发,危害有多大。原理请移步:https://blog.csdn.net/weixin_43355264/article/details/104028786
CORS跨域详解:http://www.ruanyifeng.com/blog/2016/04/cors.html
注:本文尽量寻找通俗易懂原理,如果有不清楚等地方,可以看着靶机进行走一遍,我所做的靶机题目都是属于LOW,请大神勿喷。
0x02 A5-Security Misconfiguration习题
1、Arbitrary File Access (Samba)
源代码里没有任何提示,而且这篇既然是安全配置错误,那我们就找配置下手。
1)查看是否开放smb服务
2)查看本机smb配置
如果找不到,用find去查找文件,记得用最高权限,使用sudo。发现tmp文件可以用guest用户。
3)使用另外一台虚拟机连接本台smb服务器,直接匿名登录。
参数-N是不用密码登录
2、Cross-Domain Policy File (Flash)
这道题讲的是flash跨域,Domain为*,表示允许任何第三方域跨域请求。
效果如下:
先修改/var/www/evil/xdx.as文件
编译xdx.as为xdx.swf,然后将xdx.php跟xdx.swf放到/var/www
对xdx.php这个进行访问,以POST请求进行访问,然后会自动创建一个xdx.log。
我们用cat查看会发现,只要输入一次post请求,log那边就会写入一次。
本题我网上找到,其实大概是要去服务器访问日志那边看的,但是我没找到,我就做了一个这个。如果有表哥们找到日志的话,麻烦说一下。
另:xdx.as生成swf很坑...
1、需要32位的jre,跟flex-sdk
2、需要在flex-sdk文件里的bin找到jvm_config将java_home修改为自己的目录,不然的话会一直报无法找到jvm,记住:要用/,不要用。
3、在生成swf的时候,也会报错,需要在flex_sdkframeworks里找到flex-config.xml,将<static-link-runtime-shared-libraries>Flase</static-link-runtime-shared-libraries>里的flase改为true即可。
后台回复“xdx”获取工具
3、Cross-Origin Resource Sharing (AJAX)
也是跨域的,提示说尝试从恶意网站中使用使用AJAX请求窃取Neo的秘密。那我们直接用
先查看一下crossdomain.xml,允许任何第三方跨域请求。
关于AJAX跟CORS关系,:https://segmentfault.com/a/1190000011549088
借用网上大佬们的HTML源码进行测试:
源码如下:
<html>
<head>
<title>AJAX跨域请求测试</title>
</head>
<body>
<input type='button' value='开始测试' onclick='cross_domain_request()' />
<div id="content"></div>
<script type="text/javascript">
var xhr = new XMLHttpRequest();
var url = 'http://192.168.213.132/bWAPP/secret-cors-1.php';
function cross_domain_request() {
document.getElementById("content").innerHTML = "开始……";
if (xhr) {
xhr.open('GET', url, true);
xhr.onreadystatechange = handler;
xhr.send();
} else {
document.getElementById("content").innerHTML = "不能创建 XMLHttpRequest";
}
}
function handler(evtXHR) {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
var response = xhr.responseText;
document.getElementById("content").innerHTML = "结果:" + response;
} else {
document.getElementById("content").innerHTML = "不允许跨域请求。";
}
}
else {
document.getElementById("content").innerHTML += "<br/>执行状态 readyState:" + xhr.readyState;
}
}
</script>
</body>
</html>
4、Cross-Site Tracing (XST)
这个从网上参考一下,发现是将TRACE换成GET就ok。因为目前浏览器不支持TRACE方法,所以需要更换GET。
将http://IP/evil/xst.js里的js改成html进行测试一下。
这个代码意思是说打开这个网页,然后会向靶机出TRACE请求,然后将响应结果传递到远程服务器。
打开之后发现报错
我们将TRACE换成GET试试。注意(建议使用IE浏览器进行测试,火狐那些会拦截跨域),发现IE浏览器进行弹框了,且远程服务器有数据了。
进行弹框了,且远程服务器有数据了。
5、Denial-of-Service (Large Chunk Size)
Dos,脚本都有,直接下载玩吧,不演示了。
6、Denial-of-Service (Slow HTTP DoS)
HTTP缓慢攻击,直接网上找一个吧,很多的。WVS扫描的时候也会有,github也有脚本(以前工具箱也有脚本,不知道被我扔到哪儿去了)。
7、Denial-of-Service (SSL-Exhaustion)
Kali有自带thc-ssl-dos,如果没有的话,可以到这里去下载安装:
https://gitlab.com/kalilinux/packages/thc-ssl-dos,这儿有个坑就是需要下载libssl-dev库。
但是我的一直timeout 郁闷,表哥们试试吧。8443端口也有开,就是一直timeout
8、Denial-of-Service (XML Bomb)
直接抓包进行dos
9、Insecure FTP Configuration
使用ps -ef | grep 服务查看对于的服务
使用find全局查找proftpd.conf目录
发现有一个开启用户名为ftp,密码为空的访问
10、Insecure SNMP Configuration
查看端口服务,找到目录
进入/etc/snmp/snmpd.conf,存在默认密码为public
或者使用msf扫描snmp弱口令,亦或者使用nmap扫描器,如下:
使用kali自带的snmpwalk查看信息
11、Insecure WebDAV Configuration
使用跟IIS6一样,直接用PUT上传,后缀名随意写,例如:
11、Local Privilege Escalation (sendpage)
直接下载exploit,然后放到bee那边去提权,直接变root用户。
12、Local Privilege Escalation (udev)
这个不会玩,讲的是安卓提权的,不会了...咳咳咳,已经涉及我知识盲区了
13、Man-in-the-Middle Attack (HTTP)
中间人攻击,抓包就是了,看看请求头请求体。
14、Man-in-the-Middle Attack (SMTP)
这个bp无法抓包到内容,导致看不到内容,大概需要在smtp端口,25端口,也就是从发送方跟收件方抓取,脑壳痛,涉及到知识盲区了,如果有知道的表哥们麻烦复现看一下。
15、Old, Backup & Unreferenced Files
这个不用动手做的了吧,只是问问怎么找出这些。
以我个人经验就是:网上搜索引擎、目录扫描、扫描器吧....
16、Robots File
跟上题一样,没理解错的话,也是差不多吧....毕竟也无从下手啊。
那怎么找这个robots呢?
懒点就扫描器,积极点就手打robots.txt访问一波。例如:
0x03 summary 总结
这一章终于写完了,太难了,这章的题目太多雷了,本以为一两天可以写完,没想到做了快一个星期。这章也确实给了太多有趣的思路,很多配置没有配置好往往会引发安全问题,不止是WEB,对于配置这一块我们也要重视。
0x04 结束语
感谢大哥们的对NOVASEC的支持点赞和关注,加入我们与萌新一起成长吧。
如有任何问题、建议、投稿请加NOVASEC-MOYU,以方便及时回复。
如果需要靶机,后台回复”小蜜蜂”即可获得资源。
本文始发于微信公众号(NOVASEC):新手入门靶机BEE-BOX教程—第二章A5(六)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论