初始方案
我经常使用WhatsMyName,因此我熟悉该应用程序的一般工作方式。网站组装在一个JSON文件中,Python脚本会对其进行迭代并检查网站,并注意HTTP代码(200、300、404等)以及是否存在帐户的响应中显示的字符串。然后,脚本将在屏幕上显示是否存在。
我的缺点是我不十分了解在哪里获取字符串以验证是否存在或得出结论不存在。为此,我复制了原始的WhatsMyName Python脚本(web_accounts_list_checker.py)。我通读了代码,直到发现脚本的逻辑检查代码和字符串。发生这种情况的代码部分在第209行附近,显示为:
# Analyze the responses against what they should be
code_match = r.status_code == int(site[‘account_existence_code’])
string_match = r.text.find(site[‘account_existence_string’]) >= 0
查找要验证的字符串
我添加了另一行来打印变量r的输出,以查看返回的结果:
# Analyze the responses against what they should be
code_match = r.status_code == int(site['account_existence_code'])
string_match = r.text.find(site['account_existence_string']) >= 0
print(r.text)
我在站点周围搜索了存在和不存在的帐户(Hello Bob,Alice和C_3PJoe)。一旦确定存在哪些不存在,便重新运行代码。这是有效用户的审查输出:
这是不存在的用户的审查输出:
如我们所见,有效页面显示“ 或正在使用Poshmark从其壁橱出售商品”,而如果没有该名称的用户,则会看到“找不到页面-Poshmark”。现在,验证HTTP代码。
检查HTTP代码
接下来,我们必须检查HTTP代码以将它们输入到WhatsMyName中。我发现https://httpstatus.io/ 是一个简单的网站,可以在两个帐户的一次交易中完成。
我没有将当前浏览器用作用户代理字符串,而是将其更改为Firefox Desktop,因为我注意到headerWhatsMyName代码中的变量设置为该用户代理字符串。在底部,我们看到有效的帐户具有HTTP 200代码,而不存在的帐户具有404。
现在,我们需要编辑web_accounts_list.json文件。
},
{
"name" : "Poshmark",
"check_uri" : "https://poshmark.com/closet/{account}",
"account_existence_code" : "200",
"account_existence_string" : " is using Poshmark to sell items from their closet.",
"account_missing_string" : "Page not found - Poshmark",
"account_missing_code" : "404",
"known_accounts" : ["alice","bob"],
"category" : "shopping",
"valid" : true
}
现在,当我们运行代码时,脚本将检查Poshmark。
我使用买卖双方的朋友账户进行了一些分析。即使一个人只是买家,他们仍然被列为拥有权限。
当我在Poshmark网站上进行探索以解决上一节中的问题时,我遇到了OSINT研究人员感兴趣的其他事项。
Google Dorking
首先,在对用户名进行肯定确认后,如果我们使用的Google Dork site:poshmark.com ,则可以看到其中提到或评论的内容。以下是所有用户名和识别信息被遮盖的屏幕截图。黑框是我搜索的用户名出现在结果中的位置。
尽管这有些琐碎,但可以帮助我们根据某人的消费习惯,时尚品味和其他因素建立档案。
收集其他用户信息
接下来,我们将做一些显而易见的事情。我们将分析用户名(使用诸如WhatsMyName,NameChk和Sherlock之类的工具)。此外,根据用户个人资料的不同,我们可以确定以下内容:
在这一点上,可能性几乎是无限的。这可能是我们寻求的金矿,特别是如果此人对OPSEC或隐私没有什么了解。
传输标签
Poshmark提供的最终情报来源是其运输标签。虽然我知道需要一些信息以确保交付。我主要考虑的是用户名。标签上没有任何理由。看到此消息在线发布或处理邮件或包裹的对手可以仅使用标签使用上面讨论的相同技术来跟踪,骚扰或伤害买方。
我经常和朋友们说尽量避免在各处使用相同的用户名,就像使用密码一样。但是,与密码一样,它通常会嗤之以鼻。在多个网站中填充用户名没有错;我不鼓励实际在所有网站上使用该名称作为真实帐户。从OPSEC的角度来看,可以随意注册用户名,然后在其中填充垃圾数据。将来会寻找有关此的博客。
总之,这是一次很棒的学习经历。此外,它证明了我们可以从几乎所有资源中提取情报。我肯定希望Poshmark改变某些事情,但是现在,我将享受OSINT带来的乐趣。
关注:Hunter网络安全 获取更多资讯
网站:bbs.kylzrv.com
CTF团队:Hunter网络安全
文章:Joe Gray
排版:Hunter-匿名者