获取源码的攻击概述

[介绍]

国华公司(非真实名称)是国际知名的系统软件公司,其Hammer软件是公司安全产品线的核心系统,也是国华公司的“命根子”。小黑是一名“客龄”三年的职业黑客,除了在网上“冲浪”,就是背着旅行袋四处世界周游。前天,一个胖胖的穿黑西服的家伙找到小黑,不问任何问题,要求很特别:能拿到Hammer软件下一个版本的全部源代码,就付大笔的Cash。管他是谁呢,商业竞争的事情,小黑也不是很明白,反正回报异常丰厚,小黑决定接受这个合约。

[勘探]

小黑知道任务的难度,国华公司的安全产品业界闻名,对自己的安全能“随便”吗?当然他明白工作的危险性,安全公司与政府的关系都不错…不留任何痕迹不仅是让用户满意,也是保护自己的不二选择。

小黑先是在Google上的搜寻有关国华公司的新闻:国华公司是以软件开发为主的公司,源代码管理是公司的核心秘密,所有Hammer软件的源代码都存储在公司网络上的源代码仓库内,网络由复杂的安全网关保护,不是一个防火墙而是多种安全措施的组合,别说外人进入,就是内部人员进入也关卡重重。很难啊!

同时小黑也了解到一个情况,由于国华公司是典型的高科技软件公司,员工遍及多个国家,很多编程人员习惯于家庭办公,他们通过VPN连接到国华公司,在经过用户名、密码的验证后可以访问公司的网络资源,不仅收发公司邮件,而且还可以处理如填写人事考评等公司业务,当然工作是第一的,很多程序员每天的工作就是下载需要编辑的源代码文件,上传修改好的代码文件…

知道了这个消息,小黑觉得有目标了…

[准备]

为了掩藏自己,小黑先做了些准备工作。他先驾车“巡游”,先给自己找个合适的“工作场所”,很快他发现一个不错的位置,通过一所小学旁边的网吧可以无线接入访问互联网。小黑接入网络后,通过Nessus漏洞扫描器,搜索互联网上的服务器,发现在北京一所大学里有个被木马感染的Web服务器,但是安装木马的那个“菜鸟”,没有好好保护自己的“果实”,小黑没费什么力气就猜出了密码,抢到了这台服务器的控制权;很快,小黑又在广州的一家商业网站上找到了一台很“弱智”的Linux服务器,上面还有个MYSQL数据库,小黑毫不犹豫地占有了这台服务器。

虽然这些都与国华公司网络没有关系,但小黑手里已经有了两个可以指挥的“冲锋战士”,自己可以不用冲到“第一线”了。

[侦查]

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Network/Security/

为了进一步了解国华公司的信息,小黑不仅详细学习了国华公司的网站,而且“Google”了许多互联网的博客、论坛和新闻组,搜寻来自国华公司雇员的文章,他很快发现有许多文章都来自国华公司的员工,当然这些文章都是非商业的讨论与建议,也有技术性的交流,偶尔有涉及国华公司网络结构的文章,如公司采用VPN模式的远程办公等,但价值都不高,小黑更关心的是他们都留下了真实的邮箱地址,很快小黑就猜出了国华公司邮箱的命名规则(姓名的全拼),还意外地找到了公司部分销售机构的通讯录…

在收集了大约200个公司的邮箱地址后,小黑开始准备下一步的工作了。

[诱骗]

小黑手里有一款很不错的游戏软件(智力攻关型的),是自己无聊时编写的,没有给人看过,平常只是自己玩玩。小黑先把这款游戏安放到广州的服务器上,然后申请注册了一个网络域名,在服务器上开启游戏下载服务,还建立的所谓的公司服务邮箱。接下来指挥北京的服务器给“精选”出来的20名国华公司的员工地址,发了封诱惑性的邮件:免费试玩最新游戏(大致内容是我公司正在测试一款新的游戏,需要高手的测试,你是游戏高手吗?来试试!邮件中有个游戏的下载链接,指向广州的服务器),没有给名单上所有的人发邮件,是避免触发国华公司邮件服务器上的反垃圾过滤功能。

当然小黑不是在做善事,他采用打包软件工具把一个木马程序和游戏软件打包在一起,放在广州的服务器上。为了安全,这个木马程序是小黑单独“设计”生成的(当然是采用工具),保证国华公司的反病毒软件不能发现。

[上钩]

小华是国华公司的一名老员工,是名典型的工作狂,一天除了写代码,就是玩游戏,当然她也是家庭办公一族。一天早晨,小华浏览公司邮件时,发现了免费试玩游戏的邮件,“很酷!”,小华赞叹着,内心的冲动让她决定要试试。

作为老员工,小华不想让公司抓住自己通过公司网络下载游戏,所以,她先关闭了公司的VPN连接,然后点击了邮件中的链接下载游戏。小华当然知道病毒泛滥的危害,所以下载完第一件事,就是用公司统一安装的反病毒软件对游戏进行了检查,确认没有问题了,才执行游戏,游戏是个“绿色”软件,无需安装,小华感觉很不错,玩得很过瘾,还写了一个邮件,给“开发商”提了些建议,当然她没有注意到,游戏开始的同时,木马后门程序已经开始工作,也许只能怪她的反病毒软件不经常更新吧(即使及时更新,也不一定能发现小黑新设计的木马后门)…

[传播]

玩了一会儿游戏,小华还要继续工作,所以又建立了与公司的VPN连接,输入了自己的ID和密码后,连到公司网络。此时小华机器中的木马开始通过VPN链路扫描国华公司的网络,真是太幸运了!木马发现了一个Windows文件共享目录,有很多大家常用的软件,当然包括VPN客户端软件。木马发现其中有个notepad.exe软件,是大家经常使用的文字编辑软件,就把notepad.exe改名为nn.com,然后把自身复制后上传为notepad.exe,木马就从VPN用户传播到了公司内部的网络上。

公司的其他员工工作中经常使用编辑器,调用notepad.exe时,木马先复制自己,再调用nn.com,所以用户也没有感觉到什么异常,很快,小黑的木马在国华公司内部四处传播。

[攻击]

小黑的木马还有一个任务就是收集系统内的密码存储散列(存放密码的文件),木马还可以记录用户建立新连接时键盘记录,分析应用,也过滤登录时的用户ID与密码,最后通过小黑收集的500多个公司的邮箱地址,发邮件到北京的服务器(邮件象是员工“正常”发出的,内容还是加密的)。很快北京的服务器上就收集了500多个密码散列。

小黑没有直接到北京服务器上去破译这些密码,那样很容易被追查到。小黑在上海一台新捕获的服务器中安装了Netcat软件,建立了网络连接的“中继站”;在广州服务器上安装了Covert_TCP服务器软件(可以使用嵌入TCP包头的秘密通道技术),还选择了著名的新浪网站(知名的商业网站不容易被怀疑)作为跳跃点(反弹使用,对网站本身没有影响),建立了“TCP ack”弹跃模式的访问通道,使用远程Shell命令方式访问到北京的服务器。

绕了个大圈子,小黑就是为了隐藏自己的踪迹。建立好通道后,小黑才在北京服务器上安装了John the Ripper破解工具,不到三个小时,破解了500个密码中的地50个。

利用这些刚破解的密码(包括一些高级管理人员的ID与密码),小黑从北京的服务器登录到国华公司的VPN网关,以“合法身份”进入国华公司内部网络,并开始扫描Hammer软件源代码的藏身之处。当然,这种扫描可需要很高的“技术”技巧,因为国华公司内部网络的安全监控系统很强大,高频度的发包扫描很快就会引起安全管理人员的注意,所以,小黑利用分布式、间歇式的扫描方式,缓慢地探测着…同时为了配合内部的扫描工作,小黑还利用自己手里大约1万多数量的僵尸机器,对国华公司的外部网站进行了间歇性的DDoS攻击,主要是吸引公司的安全管理人员的注意力。

在定位了Hammer软件下一版本源代码的位置后,因为有不断提供的“密码支持”,小黑很快取得了代码仓库的下载权限,“宝藏”到手了,小黑高兴得叫了出来。当然,工作需要小心地、一步一步地进行…没有几天,小黑通过间接途径把全部代码逐步下载到自己的系统中。

[尾声]

小黑很惬意,看着那个胖子拿到光盘时的惊喜眼神,小黑很有成就感,在如期“交货”后,点着厚厚的钞票,开始计划自己浪漫的南美旅程…

[反思]

小黑是职业黑客,无可厚非,但从他“出更”的经历来看,你能说出国华公司安全管理的漏洞吗?忧患意识是每个安全管理人员必须牢记的…

本文出自 “Jack zhai” 博客,请务必保留此出处http://zhaisj.blog.51cto.com/219066/278006

时间: 2024-10-03 16:52:37

获取源码的攻击概述的相关文章

visual studio-通过网页链接获取源码

问题描述 通过网页链接获取源码 想要用 vs做个工具 输入网页的链接 获取该网页的源码类似于http://s.tool.chinaz.com/tools/pagecode.aspx.求大神指导 解决方案 selenium 获取网页所有链接JSoup获取网页中的链接c# 获取网页源码 解决方案二: 你可以用Jsoup获取链接里的源码并解析 解决方案三: 使用wininet,winhttp,或者socket均可啊

《深入解析Android 虚拟机》——第1章 获取并编译Android源码 1.1获取Android源码

第1章 获取并编译Android源码 在本章中,将详细讲解获取并编译Android源码的基本知识,介绍各个目录中主要文件的功能,为读者步入本书后面知识的学习打下基础. 1.1 获取Android源码 要想研究Android系统的源码,需要先获取其源码.目前市面上主流的操作系统有Windows.Linux.Mac OS的操作系统,由于Mac OS源自于Linux系统,因此本书将讲解分别在Windows系统和Linux系统中获取Android源码的知识. 1.1.1 在Linux系统获取Androi

Windows下获取Android 源码方法的详解_Android

前言:略!获取源码的原因千千万~~~ 1.安装GIT工具.GIT是林纳斯·托瓦兹大神为了管理器Linux内核开发而创立的分布式版本控制软件.下载地址:http://code.google.com/p/msysgit/一路next将安装进行到底. 2.在磁盘剩余空间较大的磁盘下新建一个文件夹,用于存放源码.我在F盘下:新建了androidsourcecode文件夹. 3.访问Android源码网站,获取你所需要的源码"下载链接".网站地址:http://android.git.kerne

Windows下获取Android 源码方法的详解

前言:略!获取源码的原因千千万~~~   1.安装GIT工具. GIT是林纳斯·托瓦兹大神为了管理器Linux内核开发而创立的分布式版本控制软件. 下载地址:http://code.google.com/p/msysgit/ 一路next将安装进行到底. 2.在磁盘剩余空间较大的磁盘下新建一个文件夹,用于存放源码. 我在F盘下:新建了androidsourcecode文件夹. 3.访问Android源码网站,获取你所需要的源码"下载链接". 网站地址:http://android.gi

ubuntu 11.10(32位系统)下编译android源码 make错误解决办法

本文介绍在ubuntu 11.10系统下编译android 2.3.3源码,编译之前请确定上两篇文章(http://www.cnblogs.com/dwayne/archive/2011/11/16/2250732.html和http://www.cnblogs.com/dwayne/archive/2011/11/11/2245383.html)中所需的准备工作已经成功完成.编译完成生成系统镜像文件,并在模拟器中运行. 准备工作完成后,开始编译工作.下载下来的源码有5G多,如果按照我之前写的获

环境变量-下载了dlink dir615d4 路由器的源码想编译,提问几个有关makefile中代码问题?

问题描述 下载了dlink dir615d4 路由器的源码想编译,提问几个有关makefile中代码问题? 如题,获取源码后,在主目录的makefile中有几行代码不认识,希望懂的朋友帮忙解释一下.这是第一次自己编译路由器源码,请问有什么需要注意的吗?始终编译没有通过,需要在终端中定义一些环境变量吗?之前编译的时候始终显示有几个环境变量没有定义,但是在config文档中发现那些变量已经定义了啊! makefile中一部分代码,如下: generate_def_value: ifneq ($(st

怎么查看vs2005作的网页的源码 在哪个文件中

问题描述 怎么查看vs2005作的网页的源码在哪个文件中 解决方案 解决方案二:工程里.cs文件通过网站的aspx文件获取源码比较难,Bin文件反编译下,或许可以解决方案三:能详细点么?他把文件都给我了.说源码没给我,但我自己也能用iis发布啊,应该是都给了,源码在哪个文件里我找不到.解决方案四:你要了解发布版和源码的区别,你电脑上跑的无数程序,你都有源码么!Reflector反编译下Bin目录下的DLL解决方案五:我晕,他给你的是打包的--解决方案六:我晕,他给你的是打包的--解决方案七:是不

Android编程实现网络图片查看器和网页源码查看器实例_Android

本文实例讲述了Android编程实现网络图片查看器和网页源码查看器.分享给大家供大家参考,具体如下: 网络图片查看器 清单文加入网络访问权限: <!-- 访问internet权限 --> <uses-permission android:name="android.permission.INTERNET"/> 界面如下:   示例: public class MainActivity extends Activity { private EditText ima

nginx开发(一) 源码-编译

1:获取源码 http://nginx.org/download/nginx-1.8.0.tar.gz   2:编译 解压之后,进入根目录,执行 ./configuer.sh make make install   3:nginx执行 编译完之后,可以进入 /usr/local/nginx,进入sbin目录.   执行 ./nginx -v,就会看到   nginx version: nginx/1.8.0  .   补充:如果提示需要安装pcre,可参考如下方法: 从官网下载链接:http:/