OSINT + Python = 自定义黑客
http://mp.weixin.qq.com/s/KTiT_joPWNB45JA1f59qcw译文:开源中国英文:Simon Roses 如有好文章投稿,请点击→ 这里了解详情去年5月10号和11号,计算机取证专家(Computer Forensic Expert)课程在Reus(西班牙)由专业司法软件鉴定协会(ANTPJI)
http://mp.weixin.qq.com/s/KTiT_joPWNB45JA1f59qcw
译文:开源中国
英文:Simon Roses
去年5月10号和11号,计算机取证专家(Computer Forensic Expert)课程在Reus(西班牙)由专业司法软件鉴定协会(ANTPJI)主持举行,我是其中一个成员,也是一个讲师,在那次课程中我有幸做了我的两个爱好的演讲,分别是Python 以及 OSINT (开源情报)。
Python是一个很棒的语言,可以通过许多的库,迅速的开发出各种各样强大的应用程序,去扮演漏洞探测,逆向工程,web分析工具等等角色。毫无疑问对于任何安全专家它都是一个有用的知识。
Internet是巨大的,它收容了所有不可思议的信息,这也是为什么OSINT技术对搜集,分析和呈现这些信息是至关重要的。
在这个课程中,我觉得与会者对学习怎样开发出简单的工具(脚本)是很感兴趣的,这使得他们可以通过使用Python,通过每个有特定目标的一系列实践锻炼,去执行OSINT工作。
代码与描述可以在VULNEX网站(http://www.vulnex.com/en/conferences.html)获得。
注意:我删除了脚本中的Google Hacking 查询 ,读者可以插入自己的查询。
工具 #1
目标: 在LinkedIn上使用Google Custom Search API搜索 ANTPJI成员。
这些脚本非常简单,以不同的方式做了同样的事情。第一个使用了 Google API 客户端,第二个使用了神奇的 Requests 库。
在这些脚本中,我们使用了一些Google Hacking,以便在LinkedIn上找到协会的成员。
执行任意一个脚本,就可以得到如下结果:
现在还不是很有趣 :)
工具 #2
目标: 使用Google Custom Search API 获得 ANTPJI 成员 LinkedIn档案中的照片。
下面的脚本获取协会成员在LinkedIn的照片,并提取出图片元数据信息 ;) 这个脚本生成了一个包含所有照片的HTML页面。
使用的库: Google API 客户端, PIL, Requests 和 Markup。
结果是:
通过很少的数行代码,我们获得了一个有趣的工具。
工具 #3
目标: LinkedIn上 ANTPJI 成员的关系是怎样的 ?
通过这个脚本,我们搜寻LinkedIn上协会成员之间的关系,并创建了一个与此相关的图。
使用的库: Google API 客户端, NetworkX 和 Matplotlib。
这就是生成的图片:
工具 #4
目标: 协会的Twitter帐号有什么热点 ?
这个脚本下载了协会帐号的最新tweets,并生成了一个tag云。对快速的查看他们在讨论什么很有用。
使用的库: Requests, pytagcloud。
这就是 tag 云:
工具 #5
目标: Twitter上的 ANTPJI用户名在社交网络网站上存在吗 ?
下面的脚本提取出协会的Twitter上发布或提到的用户名,并在160个社交网络网站上进行查询。
使用的库: Requests。
# File: ex5.py
# Date: 05/14/13
# Author: Simon Roses Femerling
# Desc: Check usernames on 160 social network sites
#
# VULNEX (C) 2013
# www.vulnex.com
import requests
import json
import urllib
import const
import pprint
site="http://search.twitter.com/search.json?q="
# Your query here
query=""
url=site+urllib.quote(query)
print "Recolectando alias en Twitter: %s\n" % query
response = requests.get(url)
users = []
for res in response.json["results"]:
if res.has_key('to_user'):
if not res['to_user'] in users: users.append(str(res["to_user"]))
if res.has_key('from_user'):
if not res['from_user'] in users: users.append(str(res["from_user"]))
print "ALIAS-> %s" % users
print "\nComprobrando alias en 160 websites\n"
for username in users:
for service in const.services:
try:
res1 = requests.get('http://checkusernames.com/usercheckv2.php?target=' + service + '&username=' + username, headers={'X-Requested-With': 'XMLHttpRequest'}).text
if 'notavailable' in res1:
print ""
print username + " -> " + service
print ""
except Exception as e:
print e
# VULNEX EOF
结果像下面这样:
工具 #6
目标: 我们能从ANTPJI 照片中提取出元数据吗?
这个脚本从Google下载有关ANTPJI的照片,并提取出元数据。
使用的库: Requests, PIL 和 Markup。
一图胜千言!
正如从这篇文章看到的,通过使用一点Python语句,就能收集到关于个人或者集体的大量的信息,因此我们可以很容易的写出复杂的OSINT工具。
如果你想让我深入任何Python 和 OSINT的话题,请告诉我 :)
你使用什么样的 OSINT工具?
– Simon Roses Femerling
参考
-
感谢RaiderSec 的人们,在哪儿我建立了我的脚本代码。 使用APIs的自动化开源情报(OSINT)
-
NSA – 揭秘网络:互联网调查入门 (译注:NSA美国国家安全局 National Security Agency)
-
NATO OSINT 手册 (译注:NATO北大西洋公约组织 North Atlantic Treaty Organization)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)