此工具已不再积极维护,部分功能可能仍可工作,我接受拉取请求以使其保持最新
警告:Facebook 现已能在几百次搜索后检测到此工具,请仅使用一次性 Facebook 账户
一款通过面部识别关联社交媒体个人资料的映射工具,由 Jacob Wilkin (Greenwolf) 开发。
Social Mapper 是一款开源情报工具,利用面部识别大规模关联不同平台上的社交媒体个人资料。它采用自动化方法,在流行的社交媒体网站上搜索目标姓名和图片,准确检测并分组一个人的存在,将结果输出为报告,供人工操作员快速审阅。
Social Mapper 在安全行业有多种用途,例如自动收集大量社交媒体个人资料用于定向钓鱼活动。面部识别通过消除搜索结果中的误报来辅助这一过程,从而使人工操作员能更快地审阅数据。
Social Mapper 支持以下社交媒体平台:
Social Mapper 接受多种输入类型,例如:
Social Mapper 主要面向渗透测试人员和红队成员,他们将使用它来扩展目标列表并查找其社交媒体个人资料。从这里开始,你能做什么只受限于你的想象力,但这里有一些入门思路:
(注意:Social Mapper 不执行这些攻击,它只是为你大规模收集所需的数据。)
以下说明将展示 Social Mapper 的要求以及如何使用。
注意:在 Kali 上,你现在可以从 setup 目录运行 ./kali-installer.sh。
由于这是一个基于 Python3 的工具,理论上它可以在 Linux、ChromeOS(开发者模式)和 macOS 上运行。主要需求是 Firefox、Selenium 和 Geckodriver。要安装并设置该工具,请遵循以下 4 个步骤:
https://www.mozilla.org/en-GB/firefox/new/
对于 Debian/Kali(但 Ubuntu 不需要),使用以下命令获取非 ESR 版本的 Firefox:
sudo add-apt-repository ppa:mozillateam/firefox-next && sudo apt update && sudo apt upgrade
确保新版本的 Firefox 在路径中。如果没有,请手动添加。
/usr/local/bin;在 ChromeOS 上,可以放在 /usr/local/bin;在 Linux 上,可以放在 /usr/bin。在此处下载最新版本的 Geckodriver:
https://github.com/mozilla/geckodriver/releases
在 Linux 上安装以下前置条件:
sudo apt-get install build-essential cmake
sudo apt-get install libgtk-3-dev
sudo apt-get install libboost-all-dev
在 Linux 和 macOS 上完成安装:
git clone https://github.com/Greenwolf/social_mapper
cd social_mapper/setup
python3 -m pip install --no-cache-dir -r requirements.txt
在 Mac 上,请查看 setup/setup-mac.txt 文件,了解一些额外的 xcode、brew 和 xquartz 安装说明。
打开 social_mapper.py,并在文件顶部的全局变量中输入社交媒体凭据
对于 Facebook 和 Instagram,请确保你提供凭据的账户语言在运行期间设置为“English (US)”。此外,请确保所有账户正常工作,并且无需两步验证即可登录。
使用 Firefox 浏览器登录每个社交媒体资料一次,并保存/处理“未知浏览器”或“信任此浏览器”页面。
Social Mapper 通过命令行运行,使用必需和可选参数的组合。你可以指定输入类型和要检查的网站,以及其他一些影响速度和精度的参数。
启动工具时需提供 4 个参数:输入格式、输入文件或文件夹以及基本运行模式:
-f, --format : 指定 -i, --input 是 'name'、'csv'、'imagefolder' 还是 'socialmapper' 恢复文件
-i, --input : 公司名称、CSV 文件、图片文件夹或 Social Mapper HTML 文件,作为 Social Mapper 的输入
-m, --mode : 'fast' 或 'accurate',允许你选择在找到第一个可能匹配后是否跳过潜在目标,在某些情况下可让程序速度提升 20 倍
此外,必须至少选择一个要检查的社交媒体网站,通过包含以下一个或多个选项:
-a, --all : 选择下方所有选项,检查 Social Mapper 有凭据的每个网站
-fb, --facebook : 检查 Facebook
-tw, --twitter : 检查 Twitter
-ig, --instagram : 检查 Instagram
-li, --linkedin : 检查 LinkedIn
-gp, --googleplus : 检查 Google Plus
-vk, --vkontakte : 检查 VKontakte
-wb, --weibo : 检查 Weibo
-db, --douban : 检查 Douban
还可以设置额外的可选参数,以增加对 Social Mapper 运行方式的定制化:
-t, --threshold : 自定义面部识别的匹配阈值,可视为匹配精度。默认为 'standard',可设置为 'loose'、'standard'、'strict' 或 'superstrict'。例如 'loose' 会找到更多匹配,但可能有些不正确;而 'strict' 可能找到较少的匹配,但最终报告中的误报也较少。
-cid, --companyid : 额外参数,用于添加 LinkedIn 公司 ID,以防名称搜索未选中正确公司。
-s, --showbrowser : 使 Firefox 浏览器可见,以便你能看到执行的搜索。用于调试。
-w, --waitafterlogin : 登录后等待用户按 Enter 键,以便输入两步验证码。必须与 -s 一起使用。
-v, --version : 显示当前版本。
-vv, --verbose : 详细模式(用于调试)
-e, --email : 提供模糊电子邮件格式,如 "<f><last>@domain.com",以为每个网站生成包含名字、姓氏、全名、电子邮件、资料 URL、照片 URL 的额外 CSV 文件。这些文件可输入到 Gophish 或 Lucy 等钓鱼框架中。
以下是一些针对不同用例的示例运行:
针对图片文件夹中的目标快速检查 Facebook 和 Twitter,你计划手动审查且不介意一些误报:
python3 social_mapper.py -f imagefolder -i ./Input-Examples/imagefolder/ -m fast -fb -tw
与上述相同,但显示浏览器并启用等待,允许用户输入两步验证码并手动修正已更改的登录流程:
python3 social_mapper.py -f imagefolder -i ./Input-Examples/imagefolder/ -m fast -fb -tw -s -w
针对大型公司的详尽运行,必须将误报降至最低:
python3 social_mapper.py -f company -i "Evil Corp LLC" -m accurate -a -t strict
需要分多个会话运行的大型任务,第一次运行 LinkedIn 和 Facebook,第二次继续并补充 Twitter、Google Plus 和 Instagram:
python3 social_mapper.py -f company -i "Evil Corp LLC" -m accurate -li -fb
python3 social_mapper.py -f socialmapper -i ./Evil-Corp-LLC-social-mapper-linkedin-facebook.html -m accurate -tw -gp -ig
无需面部识别的快速运行(约5分钟),从 LinkedIn 公司中提取最多 1000 人,生成包含姓名、电子邮件地址、资料和照片链接的 CSV,已知电子邮件格式为“firstname.lastname”:
python3 social_mapper.py -f company -i "Evil Corp LLC" -m accurate -li -e "<first>.<last>@evilcorpllc.com"
社交媒体网站经常更改页面格式和类名。如果 Social Mapper 在某个特定网站上无法正常工作,请查看 docs 部分中的故障排除建议。欢迎提交包含修复的拉取请求。
有关将 Social Mapper 结果加载到 Maltego 的指南,请查看 docs 部分。
如果此工具对你有所帮助,欢迎请我喝杯咖啡 :)
[你的名字可以在这里,快来帮忙吧!] 对本项目的贡献。