消失的信用卡——反向工程人

来源:互联网 发布:商家去哪里找淘宝客 编辑:程序博客网 时间:2024/04/28 14:17

 消失的信用卡——反向工程人

它是每个新手黑客的颂歌:人们是在最少受阻的路上进入目标网络的。

社会工程的名声要归功于Kevin Mitnick,他跟踪过许多人进入显露的访问代码、密码以及甚至有知识产权的源代码。但是社会工程并不限于假装成一个帮助桌面来让目标雇员重设他们的密码。当起作用时,这种社会工程是一种充满了各种风险的高度专业的通道。记住,甚至Kevin Mitnick也被捕了。

不过,社会工程确实有它的位置。社会工程的吸引力是在光天化日之下仅使用黑客的机灵和创造性就可明目张胆地窃取公司的秘密。但是有时候,更敏感的和被动的攻击也同样有效。

我最喜欢的一种娱乐是让不被怀疑的人去为我做肮脏的事。这里的关键是知道你只是通过分析人的所谓社会反向工程获得。你能用社会反向工程做什么呢?通过观察人如何处理计算机技术,你将很快认识到人的行为实际上是前后一致的。你会看到能用来作为人类行为地图的模式。

人类是难以置信地可预言的。十几岁时,我常常观察一个以著名的精神第一论为特征的晚间电视节目。我看到他总能猜测出观众成员的社会安全号时,起初并没有给我留下太深的印象——对他来说让他自己的人假装成观众来比赛有多么困难吗?他接着做的事情激起了我的兴趣:他让电视观众参与进来。让在家的每个人想起一种蔬菜。我自己想起的是胡萝卜。另我惊讶的是单词CARROT突然出现在我的电视屏幕上。这还算是幸运的猜测。

接着,精神第一论者解释说,他甚至还能将自己的想法投射到电视观众。他解释他在考虑两个简单的几何窗体,一个在另一个的内部。进入我的头脑的最初的两个形状是一个三角形在一个圆形的内部。“我在想一个三角形在圆形的内部,”他宣布。现在我被打动了。

那个电视节目对我有巨大的影响。它如此清晰地表明人们是如何可预言的。我们常常认为自己是原创的,但是通常,结果我们正像每个别的人一样。

试着让某人完全随机地提出一个1到20之间的数。大多数人会避免两端的范围,例如1或者20,因为这些数看起来并不随机。他们也回避清晰的间隔,例如以0或5结尾的数。因为顺序的两个数字,如11,看上去并不是很随机,也要避免。大多数人会更可能挑选两位数而不是一位数。人们常常倾向于挑选范围中较高的数字。所以,把这些记在心里,你就知道许多人将挑选16,17或18。假定有一个20个可能的数字的范围,大部分人会选择这相同的三个数。每个人都以恰恰相同的方式努力要原创。

所有这些如何帮助我成为一个较好的黑客呢?因为我并不认为自己是黑暗中的一个随机的射手。相反,我是受害者会如何表现的计算的预言者。有常见密码这样事情的原因是因为人们想努力与众不同,而一般会反复选择相同的密码。我不仅知道他们会常用什么密码,而且知道他们会如何命名,他们会把重要的东西藏在哪里,以及在特定情况下他们会如何反应。

有了成功的人类行为反向工程,就该对人再工程化,让他们按照我们的计划来行事。这还是社会工程,但是不是开始与目标联系,我们让他们采取行动,而我们被动地观察。我们称之为被动的社会工程。

例如,有一次,我参加一个有各种PC软件供应商参加的大型软件展览。在参加之前,我准备了一堆可刻录的CD,每张CD上有一个小的不同文件的集合。在每张CD上,我用手写下了一些其他人尤其是软件供应商会感兴趣的东西。我在每张CD上贴上如销售数据、源程序和客户列表的标签,我也刻了一个小的特洛伊木马应用程序,一旦CD被插入驱动器中,他们就会自动不声不响地安装自己。我在会议上四处走动,随便地把这些CD放在供应商摊位上不显眼的位置。当我走开并偷听到一个供应商说,“销售数据?这是什么?”我很快就能发现这种技术多有效了。当我听到他的笔记本的光驱打开时我几乎忍不住笑了。

特洛伊木马包含两部分:一个安装器和将整个硬盘驱动器映射到一个非标准的TCP端口的Web服务器。安装器监控系统的IP配置,用公共可访问的IP地址等待Internet连接。它发现一个,就会给我一个常常访问的公共Web论坛发送一条简单的编码消息。我只是坐在一边,监视着论坛上这些发来的消息。主题是“有人知道如何修复NT的蓝屏Down机吗?”对别的每个人,邮件看上去好像是一个无知新手的问题,大部分人都忽视它,但是消息体包含了我特洛伊木马Web服务器的IP地址编码。这种技术的魅力在于如果特洛伊木马被发现,也不可能跟踪到我。

在会上,我部署了15张CD,得到了12个回答。不出所料,大多数人被击倒。

另外一个被动攻击的例子是处理一个大型共享注册的Web站点。似乎不太可能,但是我确实获得了对他们的DNS服务器的完全控制。我试着安装一个sniffer,但因为公司正在使用一个交换网络,所以我很难截获任何有趣的网络数据流量。然后我决定用一个微软IE浏览器里经常忽视的功能,这是不必用户手工干预就可自动检测代理服务器配置的功能。为了使事情更方便,IE浏览器让这个特征默认启用。然而,找到这个配置,它并没有出现在IE浏览器的代理设置对话框中。换句话说,即便用户不知道也能浏览代理。即便配置改变了,也很少有人费事来检查这些设置。

为了自动地配置一个代理,IE浏览器在当前域中搜索一个名叫WPAD的主机,因为我拥有DNS服务器,很容易增加。接下来,必须启动包含单个wpad.dat文件的Web服务器,并安装一个小的代理服务器。这使所有的Web数据流量都要通过我拥有的DNS服务器。下一步是启动sniffer,并后退等待。我很快就发现公司使用了一个基于Web的E-mail应用程序,但用户是用SSL登录的。我下一步要提供一个假的登录页面,只是包括浏览真实的页面,保存文件,然后添加我自己的代码。我配置该页面来提示用户登录的信息,将这些信息保存到文本文件,然后传递到真实的应用程序。用户登录了几天,从来没有怀疑到整个时间他们登录的都是我的页面。

几天后,我回来检查,发现一个大的登录列表,它们最终能让我访问定单数据库,几乎有1,000万个信用卡号。又一次,挣钱真的很容易。

另一个可预言的是人们敲键盘的方式。如果你让某人两次敲击“admin”,敲击的声音每次都基本相同。不仅是同一个人敲击同一个单词用相同的方式,许多其他人敲击同样的单词也很相似。

一次我在电话里跟攻击目标的管理员交谈时偶然发现一种密码猜测技术。我浏览了常见的例行程序,告诉她我有日志文件能证明她的IP地址攻击我。显然在我们长时间谈话期间,管理员的密码保护屏幕保存器启动了,她必须再次登录。我通过电话清楚地听到她敲键:

tap-tap–tap-tap-tap
tap-tap–tap-tap-tap—tap—回车

现在通过我们的E-mail通讯,我知道了管理员的用户名事实上就是admin。我能听到管理员的密码吗?通过电话,我清楚地听到她敲入用户名,跟着一系列听起来几乎是一致的声音,除了有一个短暂的延时,然后在末尾还有一个额外的击键。我注意到有7个完全惟一的,在单词admin之间有一个暂停,但是最后一个字母是什么呢?仅从这个管理员输入的速度,我就能猜测出输入大多键盘字符时不会有什么大的停顿。但是为了敲入一个数字,就必须要把手移到上一行,这就一定会有一些延时。这个管理员的密码好像是admin5?

研究密码,我知道人们总是在一个单词后面加一两个数字,而且还以为自己是原创的。我将多年来收集到的一个巨大的密码列表装入数据库中,运行一些统计。证明密码后加的最常见的数字是1,其次是数字2,接着是9,然后是7,等等,最后是最少用的8。我以前在这个公司的网络上发现了一个终端服务器,所以我连接并试着登录,最初的两次企图失败了——不是1或2。试第三次,我输入:

a-d–m-i-n
a-d–m-i-n—9—回车.

我进来了。在被动的密码社会工程攻击中最让人激动的是让某人敲入他的密码,并仔细侦听,看看你能否猜出来。

人们说我是一个优秀的猜测者。我说我是预测人的行为的专家。

原创粉丝点击