Help
RSS
API
Feed
Maltego
Contact
Domain > p27.pattigold.vip
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-02-05
3.170.152.5
(
ClassC
)
2025-02-12
18.161.6.65
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Wed, 12 Feb 2025 01:41:11 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://p27.pattigold.vip/X-Cache: Redirect from cloudfrontVia: 1.1 4e4278a2778e72cc34feef6db603088c.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P1X-Amz-Cf-Id: qTB7mtWHUu5V48lpGknGXEIatEec3Jr_4hNSRVWQAQE8S9UP0AC6eA html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>CloudFront/center>/body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 20942Connection: keep-aliveDate: Wed, 12 Feb 2025 01:41:12 GMTLast-Modified: Wed, 20 Mar 2024 02:49:38 GMTETag: 069195b267c6aad3e371303d4362a746x-amz-server-side-encryption: AES256Accept-Ranges: bytesServer: AmazonS3X-Cache: Miss from cloudfrontVia: 1.1 f3802d173009698413044360f84de06c.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P1X-Amz-Cf-Id: UY4nNtWLX2JUDY8Tst8fjmmBCOmyc6hGKASSneOmq-H6Su8-qV9gyg !DOCTYPE html>html langen>head> meta namescreen-orientation contentportrait/> meta namex5-orientation contentportrait/> meta nameviewport contentwidthdevice-width, initial-scale1.0, maximum-scale1.0, minimum-scale1.0, user-scalableno, viewport-fitcover/> title>Teen Patti Master/title> meta http-equivX-UA-Compatible contentieedge> meta http-equivContent-Type contenttext/html; charsetUTF-8/> meta charsetUTF-8/> meta propertyog:type contentwebsite/> link relshortcut icon href./favicon.ico typeimage/x-icon/> script typetext/javascript src./js/cryptojs-4.2.0.min.js>/script> meta nameapple-mobile-web-app-title contentTeen Patti Master> link relmanifest href./manifest.json> link relapple-touch-icon href./img/pwa-apple-icon.png> link relmask-icon href./img/icon-48.png colorblack> !-- Google tag (gtag.js) --> script async srchttps://www.googletagmanager.com/gtag/js?idG-7MHHXT4PSX>/script> script> window.dataLayer window.dataLayer || ; function gtag(){dataLayer.push(arguments);} gtag(js, new Date()); gtag(config, G-7MHHXT4PSX); /script> style> * { margin: 0; padding: 0; box-sizing: border-box; } img { width: auto; height: auto; max-width: 100%; } body { overflow-x: hidden; display: flex; align-items: center; justify-content: center; width: 100vw; height: 100vh; flex-direction: column; } .btn { font-size: 20px; line-height: 20px; margin: 20px 0; padding: 4px 20px; border: 2px solid #000; border-radius: 24px; color: #000; font-weight: bold; } /style> script srcjs/adjust-5.6.0.min.js>/script>/head>body classbody>div idinit>/div>script> // let appToken l8czd4os6ww0; // let environment sandbox; let appToken v0czc8ufvxfk; let environment production; let paramNames pkg, channel, gaid, aid, enc; let params { pn: AW, pkg: com.company.romxsudoku, channel: slm_3000027, gaid: , aid: , webuuid: , adid: , enc: }; var query ; if (!!location.search) { query location.search.substring(1); } let keyValues query.split(&); for (let i 0; i keyValues.length; i++) { let keyValue keyValuesi.split(); if(paramNames.indexOf(keyValue0) > 0) { paramskeyValue0 keyValue1; } } console.log(start init adjust...); Adjust.initSdk({ appToken: appToken, // required environment: environment, // production or sandbox // optional attributionCallback: function (e, attribution) { // define your attribution callback function console.log(e); console.log(attribution: , attribution); }, logLevel: verbose, // error, none, error, warning, info, verbose logOutput: #output }); let adjustEventMap { app_open: a0wph5, app_update: xxxxx, app_update_success: xxxxx, login:tvp5vt, rechar_page: xxxxx, rechar_success: xxxxx, register: o5dq77, start_game: xxxxx, widraw_page: xxxxx, widraw_success: xxxxx, register_login: fk0mb5, register_login_page: 3thx4f } let startTime Date.now(); let timerId; //检查Adjust webuuid adid数据及时间消耗 timerId setTimeout(checkWebuuidAndAdid, 100); // 0.1s检查一次,直到所需数据均加载或超过10s。 const gameUrl `https://www.pattigod.com/Web/game.html`; const gameIframeId game-iframe; const AES_KEY 6950a1c45a6a189ba54f91b7af6b6e49; const AES_IV 00000000000000000000000000000000; const key CryptoJS.enc.Utf8.parse(AES_KEY); const iv CryptoJS.enc.Hex.parse(AES_IV); function aesEncrypt(message, key, iv) { var cipherText CryptoJS.AES.encrypt(message, key, {iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7}); return cipherText.toString().replaceAll(+, -).replaceAll(/, _); } function aesDecrypt(message, key, iv) { var content message.replaceAll(-, +).replaceAll(_, /); var cipherText CryptoJS.AES.decrypt(content, key, {iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7}); return cipherText.toString(CryptoJS.enc.Utf8); } function createEventId() { return xxxxxxxyx-xxxx-4xxx-yxxx-xxxxxxxxxxxx.replace(/xy/g, function (c) { var r Math.random() * 16 | 0, v c x ? r : (r & 0x3 | 0x8); return v.toString(16); }); } function reportDownload(web_uuid, adid, channel) { let eventId createEventId(); let uri window.location.href; uri uri.replace(/^https?:\/\//, ); // get all Cookie const cookies document.cookie; // put Cookie into URL query let cookieA `&cookie${encodeURIComponent(cookies)}`; let logrpUrl https://tracker2.bx1.pw/webAdsTracker/report?uri + uri + &eventId + eventId + cookieA + &webUuid + web_uuid + &adid + adid + &channel + channel; // fetch(logrpUrl,{mode:no-cors}) .then(response > { if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } return response.json(); }) .then(data > { console.log(reportLog, logrpUrl) }) .catch(error > { console.log(reportLog:, logrpUrl) }); } let loadingFlag false; let storageAid localStorage.getItem(aid) function initAdjustAndIframe() { if (loadingFlag) { return; } loadingFlag true; let cachedWebUUID localStorage.getItem(master-adjust-webuuid); let cachedAdid localStorage.getItem(master-adjust-adid); if (cachedWebUUID && cachedAdid) { console.log(cachedWebUUID and cachedAdid) params.webuuid cachedWebUUID; params.adid cachedAdid; if (!params.aid) { if(storageAid) { console.log(cachedWebUUID && cachedAdid storageAid:, storageAid) params.aid storageAid } else { params.aid params.adid; } } if (!params.gaid) { params.gaid params.webuuid; } let existsGameIframe document.getElementById(gameIframeId); if (existsGameIframe) { existsGameIframe.style.display block; return; } let gameIframe document.createElement(iframe); gameIframe.id gameIframeId; gameIframe.width 100%; gameIframe.height 100%; gameIframe.style.width 100%; gameIframe.style.height 100%; gameIframe.style.position absolute; gameIframe.style.zIndex 1; gameIframe.style.backgroundColor #fff; gameIframe.style.top 0; gameIframe.style.left 0; gameIframe.style.border 0; gameIframe.setAttribute(allowfullscreen, true); gameIframe.setAttribute(webkitallowfullscreen, true); gameIframe.setAttribute(mozallowfullscreen, true); gameIframe.setAttribute(oallowfullscreen, true); gameIframe.setAttribute(msallowfullscreen, true); document.body.appendChild(gameIframe); // gameIframe.src `${gameUrl}?pnAW&pkg${params.pkg}&channel${params.channel}&gaid${params.gaid}&aid${params.aid}`; const token aesEncrypt(JSON.stringify(params), key, iv); console.log(params::, JSON.stringify(params)); console.log(token::, token); gameIframe.src `${gameUrl}?token${token}`; } else { const webUUID Adjust.getWebUUID(); let attribution Adjust.getAttribution(); if (attribution && attribution.adid) { console.log(first load attribution successful) let adid attribution.adid; localStorage.setItem(master-adjust-webuuid, webUUID); localStorage.setItem(master-adjust-adid, adid); params.webuuid webUUID; params.adid adid; if (!params.aid) { if(storageAid) { console.log(else attribution && attribution.adid storageAid:, storageAid) params.aid storageAid } else { params.aid params.adid } } if (!params.gaid) { params.gaid params.webuuid; } } else { if(storageAid) { console.log(first load adjust attribution failed storageAid, storageAid) params.aid storageAid } else { if(!params.aid) { params.aid createUuidId() } } console.log(first load adjust attribution failed, createUUID to params.aid: params:gaid:, params.aid, params.gaid) } let existsGameIframe document.getElementById(gameIframeId); if (existsGameIframe) { existsGameIframe.style.display block; return; } let gameIframe document.createElement(iframe); gameIframe.id gameIframeId; gameIframe.width 100%; gameIframe.height 100%; gameIframe.style.width 100%; gameIframe.style.height 100%; gameIframe.style.position absolute; gameIframe.style.zIndex 1; gameIframe.style.backgroundColor #fff; gameIframe.style.top 0; gameIframe.style.left 0; gameIframe.style.border 0; gameIframe.setAttribute(allowfullscreen, true); gameIframe.setAttribute(webkitallowfullscreen, true); gameIframe.setAttribute(mozallowfullscreen, true); gameIframe.setAttribute(oallowfullscreen, true); gameIframe.setAttribute(msallowfullscreen, true); document.body.appendChild(gameIframe); // gameIframe.src `${gameUrl}?pnAW&pkg${params.pkg}&channel${params.channel}&gaid${params.gaid}&aid${params.aid}`; const token aesEncrypt(JSON.stringify(params), key, iv); console.log(params::, JSON.stringify(params)); console.log(token::, token); gameIframe.src `${gameUrl}?token${token}`; } } initAdjustAndIframe(); localStorage.setItem(aid, params.aid) //report log info reportGwLog(params) window.onload () > { let initElem document.getElementById(init); if (initElem) { initElem.addEventListener(click, initAdjustAndIframe, false); } } // pwa install status. 0-no support or installed, 1-can install localStorage.setItem(pwaInstallStatus, 0); let deferredPrompt; window.addEventListener(beforeinstallprompt, (e) > { console.log(current browser beforeinstallprompt event fired); deferredPrompt e; localStorage.setItem(pwaInstallStatus, 1); e.userChoice.then(function (choiceResult) { //listener after user choice for installing if (choiceResult.outcome accepted) { window.deferredPrompt null; localStorage.setItem(pwaInstallStatus, 0); } else if (choiceResult.outcome dismissed) { console.log(user canceled.); let gameIframe document.getElementById(gameIframeId); gameIframe.contentWindow.postMessage(JSON.stringify({type: pwaInstallFail}), *); } }); }); /* whether installed already */ window.addEventListener(appinstalled, (evt) > { // callback after installed console.log(callback after installed); let gameIframe document.getElementById(gameIframeId); gameIframe.contentWindow.postMessage(JSON.stringify({type: pwaInstallSuccess}), *); }); // chrome browser if (window.matchMedia((display-mode: standalone)).matches) { // installed mode console.log(display-mode is standalone 1); } // Safari: if (window.navigator.standalone true) { // refresh when page loading console.log(display-mode is standalone 2); } window.addEventListener(message, (event) > { try { let mesasgeData JSON.parse(event.data); console.log(message data: , mesasgeData); if (mesasgeData.type pwaInstall) { console.log(pwa message data: , mesasgeData); console.log(pwa message deferredPrompt: , deferredPrompt); if (deferredPrompt) { deferredPrompt.prompt(); } else { let gameIframe document.getElementById(gameIframeId); gameIframe.contentWindow.postMessage(JSON.stringify({type: pwaInstallFail}), *); } } else if (mesasgeData.type pwaInstallDetect) { console.log(pwa message data: , mesasgeData); console.log(pwa message detected: , localStorage.getItem(pwaInstallStatus)); let gameIframe document.getElementById(gameIframeId); gameIframe.contentWindow.postMessage(JSON.stringify({type: pwaInstallDetectResp, status: localStorage.getItem(pwaInstallStatus)}), *); } else if (mesasgeData.type adjustEventReport) { console.log(adjustEventReport messgae data:, mesasgeData) adjustEvent(mesasgeData) } else if (mesasgeData.type loadAdjustAttribution) { console.log(loadAdjustAttribution message data:, mesasgeData) let gameIframe document.getElementById(gameIframeId) let webuuid Adjust.getWebUUID() let adid Adjust.getAttribution().adid gameIframe.contentWindow.postMessage(JSON.stringify({type: loadAdjustAttribution, webuuid: webuuid, adid: adid}), *); } } catch (error) { console.log(error); } }, false); function adjustEvent(messageData) { let params messageData.par let eventKey messageData.event let eventValue messageData.eventVal try { console.log(adjustEvent Adjust:, Adjust) const webUUID Adjust.getWebUUID(); console.log(adjustEvent webUUID:, webUUID) if(eventValue undefined) { eventValue 0 } adjustTrackLog(params, eventKey, eventValue, ) if(!eventKey) { return; } let token adjustEventMapeventKey if(!token) { return; } if(!eventValue || eventValue 0) { Adjust.trackEvent({ eventToken: token }) } else { Adjust.trackEvent({ eventToken: token, revenue: eventValue, currency: INR }) } } catch (error) { console.log(adjustEvent report error:, error) adjustTrackLog(params, eventKey, eventValue, error) } } //nginx function adjustTrackLog(params, eventKey, eventValue, error) { console.log(trackLog params:, params, eventKey:, eventKey, eventValue:, eventValue) let uri window.location.href; uri uri.replace(/^https?:\/\//, ); let logrpUrl https://tracker.bx1.pw/webAdsTracker/report?uri + uri + ¶ms + encodeURIComponent(JSON.stringify(params)) + &eventKey + eventKey + &eventValue + eventValue + &error + error; fetch(logrpUrl,{mode:no-cors}) .then(response > { if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } return response.json(); }) .then(data > { console.log(reportLog, logrpUrl) }) .catch(error > { console.log(reportLog:, logrpUrl) }); } function checkWebuuidAndAdid() { console.log(checkWebuuidAndAdid timer) if ( Adjust && Adjust.getWebUUID() && Adjust.getAttribution() && Adjust.getAttribution().adid ) { // 满足条件后清除定时器 clearInterval(timerId); // 主动向gameIframe推送adjust attribution pushAdjustAttribution() console.log(checkWebuuidAndAdid timer has webuuid and adid) const webUuid Adjust.getWebUUID(); const adid Adjust.getAttribution().adid; //缓存adjust webuuid 和 adid localStorage.setItem(master-adjust-webuuid, webUuid); localStorage.setItem(master-adjust-adid, adid); const channel params.channel; reportWebuuidAndAdid(webUuid, adid, channel, Date.now() - startTime); } else if (Date.now() - startTime 10000) { // 未满足条件,继续检查 timerId setTimeout(checkWebuuidAndAdid, 100); } else { // 达到10秒,停止定时器 clearInterval(timerId); console.log(checkWebuuidAndAdid timer timeout...) let webUuid if(Adjust && Adjust.getWebUUID()) { webUuid Adjust.getWebUUID(); } let adid if(Adjust && Adjust.getAttribution() && Adjust.getAttribution().adid) { adid Adjust.getAttribution().adid; } const channel params.channel; reportWebuuidAndAdid(webUuid, adid, channel, Date.now() - startTime); } } function reportWebuuidAndAdid(web_uuid, adid, channel, timecost) { let eventId createEventId(); let uri window.location.href; uri uri.replace(/^https?:\/\//, ); // get all Cookie const cookies document.cookie; // put Cookie into URL query let cookieA `&cookie${encodeURIComponent(cookies)}`; let logrpUrl https://tracker2.bx1.pw/webAdsTracker/report?uri + uri + &eventId + eventId + cookieA + &webUuid + web_uuid + &adid + adid + &channel + channel + &timecost + timecost; // fetch(logrpUrl,{mode:no-cors}) .then(response > { if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } return response.json(); }) .then(data > { console.log(reportLog, logrpUrl) }) .catch(error > { console.log(reportLog:, logrpUrl) }); } function pushAdjustAttribution() { console.log(pushAdjustAttribution to gameIframe) let gameIframe document.getElementById(gameIframeId) gameIframe.contentWindow.postMessage(JSON.stringify({type: loadAdjustAttribution, webuuid: Adjust.getWebUUID(), adid: Adjust.getAttribution().adid}), *); } function createUuidId() { var timestamp new Date().getTime().toString(16).slice(-6); // timestamp last 6 char var uuid xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx.replace(/xy/g, function(c) { var r Math.random() * 16 | 0; var v c x ? r : (r & 0x3 | 0x8); return v.toString(16); }); return timestamp + - + uuid; } async function reportGwLog(params) { console.log(reportparams:{}, params) const url https://up.agent61.com/log/ly/pwa; const data { pn: params.pn, channel: params.channel, pkg: params.pkg, gaid: params.gaid, aid: params.aid, enc: params.enc }; try { const response await fetch(url, { method: POST, headers: { }, body: JSON.stringify(data) }); const responseData await response.json(); console.log(reportGwLog Response:, responseData); return responseData; } catch (error) { console.error(reportGwLog Error:, error); throw error; } }/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]