非从业人员对于程序员和黑客的外在形象就存在着不一样的认知,因为电视电影和网络上的段子,普通的程序员一般都是有才能却一点不风趣的男性,常年一件格子衬衣,几根稀疏的头发,虽然赚的钱不少,却不会花钱装扮自己;而黑客的形象就完全是另一种,他们很神秘,可能我们身边随便一个人在暗地里都可以是黑客,黑客还喜欢穿黑衣服,带黑色的帽子,不喜欢以真面目示人。
其实黑客和普通程序员只是各有侧重而已,说不上孰高孰低。黑客给人很厉害的感觉主要是他带来的破坏性比较直观,对于普通人来说比较好理解。比如电影里最常见的入侵别人系统搞坏事这类。而『普通程序员』如何通过各种精妙的设计构建出了一个又复杂牛逼的应用,抗住了天大的流量,一般人是没法理解的,比如淘宝这种,还有抗住春晚活动的流量这些。两者都是普通人做不到的。
一般来讲,黑客和普通程序员各有侧重,技能树不一样,比如前端的XSS攻击,黑客知道这个输入框内的内容如果没有被处理,那么可以通过构造特殊的输入内容来达到攻击目的,但是对于这个输入框如何弄得更好看,对用户交互友好这些他一般不关心,可能下一个关注点就在你的表单是不是可以做CSRF攻击上。还有一个例子是,框架/语言爆出了很多漏洞,黑客就会利用这些漏洞发起一些攻击,很大概率黑客对这个框架/语言都不是很熟悉。
相对的,普通程序员也不会关注黑客关注的很多点,比如CAPTCHA这种可能就直接引入个第三方的来防御了,并不会自己去实现一遍。还有加密算法这种,也几乎只有黑客才会去研究。普通程序员可能研究的就是压缩算法。黑客的攻击手段多种多样,有的甚至不会写代码,比如《我是谁–没有绝对安全的系统》里就有一位,根本不写代码,通过翻垃圾桶,开锁偷看资料这类操作搜集很多有用的信息,从而发起攻击。一般称这种为手段『社工攻击』。
攻击手段
黑客攻击手段可分为非破坏性攻击和破坏性攻击两类。非破坏性攻击一般是为了扰乱系统的运行,并不盗窃系统资料,通常采用拒绝服务攻击或信息炸弹;破坏性攻击是以侵入他人电脑系
统、盗窃系统保密信息、破坏目标系统的数据为目的。下面为大家介绍4种黑客常用的攻击手段
1、后门程序
由于程序员设计一些功能复杂的程序时,一般采用模块化的程序设计思想,将整个项目分割为多个功能模块,分别进行设计、调试,这时的后门就是一个模块的秘密入口。在程序开发阶段,后门便于测试、更改和增强模块功能。正常情况下,完成设计之后需要去掉各个模块的后门,不过有时由于疏忽或者其他原因(如将其留在程序中,便于日后访问、测试或维护)后门没有去掉,一些别有用心的人会利用穷举搜索法发现并利用这些后门,然后进入系统并发动攻击。
2、信息炸弹
信息炸弹是指使用一些特殊工具软件,短时间内向目标服务器发送大量超出系统负荷的信息,造成目标服务器超负荷、网络堵塞、系统崩溃的攻击手段。比如向未打补丁的 Windows 95系统发送特定组合的 UDP 数据包,会导致目标系统死机或重启;向某型号的路由器发送特定数据包致使路由器死机;向某人的电子邮件发送大量的垃圾邮件将此邮箱“撑爆”等。目前常见的信息炸弹有邮件炸弹、逻辑炸弹等。
3、拒绝服务
拒绝服务又叫分布式D.O.S攻击,它是使用超出被攻击目标处理能力的大量数据包消耗系统可用系统、带宽资源,最后致使网络服务瘫痪的一种攻击手段。作为攻击者,首先需要通过常规的黑客手段侵入并控制某个网站,然后在服务器上安装并启动一个可由攻击者发出的特殊指令来控制进程,攻击者把攻击对象的IP地址作为指令下达给进程的时候,这些进程就开始对目标主机发起攻击。这种方式可以集中大量的网络服务器带宽,对某个特定目标实施攻击,因而威力巨大,顷刻之间就可以使被攻击目标带宽资源耗尽,导致服务器瘫痪。比如1999年美国明尼苏达大学遭到的黑客攻击就属于这种方式。
4、网络监听
网络监听是一种监视网络状态、数据流以及网络上传输信息的管理工具,它可以将网络接口设置在监听模式,并且可以截获网上传输的信息,也就是说,当黑客登录网络主机并取得超级用户权限后,若要登录其他主机,使用网络监听可以有效地截获网上的数据,这是黑客使用最多的方法,但是,网络监听只能应用于物理上连接于同一网段的主机,通常被用做获取用户口令。
5、DDOS
黑客进入计算条件,一个磁盘操作系统(拒绝服务)或DDoS攻击(分布式拒绝服务)攻击包括努力中断某一网络资源的服务,使其暂时无法使用。
这些攻击通常是为了停止一个互联网连接的主机,然而一些尝试可能的目标一定机以及服务。
2014年的DDoS攻击已经达28 /小时的频率。这些攻击的主要目标企业或网站的大流量。
DDOS没有固定的地方,这些攻击随时都有可能发生;他们的目标行业全世界。分布式拒绝服务攻击大多出现在服务器被大量来自攻击者或僵尸网络通信的要求。
服务器无法控制超文本传输协议要求任何进一步的,最终关闭,使其服务的合法用户的一致好评。这些攻击通常不会引起任何的网站或服务器损坏,但请暂时关闭。
这种方法的应用已经扩大了很多,现在用于更恶意的目的;喜欢掩盖欺诈和威慑安防面板等。
6、密码破解当然也是黑客常用的攻击手段之一。
一)黑客常用手段
1、网络扫描--在Internet上进行广泛搜索,以找出特定计算机或软件中的弱点。
2、网络嗅探程序--偷偷查看通过Internet的数据包,以捕获口令或全部内容。通过安装侦听器程序来监视网络数据流,从而获取连接网络系统时用户键入的用户名和口令。
3、拒绝服务 -通过反复向某个Web站点的设备发送过多的信息请求,黑客可以有效地堵塞该站点上的系统,导致无法完成应有的网络服务项目(例如电子邮件系统或联机功能),称为“拒绝服务”问题。
4、欺骗用户--伪造电子邮件地址或Web页地址,从用户处骗得口令、信用卡号码等。欺骗是用来骗取目标系统,使之认为信息是来自或发向其所相信的人的过程。欺骗可在IP层及之上发生(地址解析欺骗、IP源地址欺骗、电子邮件欺骗等)。当一台主机的IP地址假定为有效,并为Tcp和Udp服务所相信。利用IP地址的源路由,一个攻击者的主机可以被伪装成一个被信任的主机或客户。
5、特洛伊木马--一种用户察觉不到的程序,其中含有可利用一些软件中已知弱点的指令。
6、后门--为防原来的进入点被探测到,留几个隐藏的路径以方便再次进入。
7、恶意小程序--微型程序,修改硬盘上的文件,发送虚假电子邮件或窃取口令。
8、竞争拨号程序--能自动拨成千上万个电话号码以寻找进入调制解调器连接的路径。逻辑炸弹计算机程序中的一条指令,能触发恶意操作。
9、缓冲器溢出-- 向计算机内存缓冲器发送过多的数据,以摧毁计算机控制系统或获得计算机控制权。
10、口令破译--用软件猜出口令。通常的做法是通过监视通信信道上的口令数据包,破解口令的加密形式。
11、社交工程--与公司雇员谈话,套出有价值的信息。
12、垃圾桶潜水--仔细检查公司的垃圾,以发现能帮助进入公司计算机的信息。
(二)黑客攻击的方法:
1、隐藏黑客的位置
典型的黑客会使用如下技术隐藏他们真实的IP地址:
利用被侵入的主机作为跳板;
在安装Windows 的计算机内利用Wingate 软件作为跳板;利用配置不当的Proxy作为跳板。
更老练的黑客会使用电话转接技术隐蔽自己。他们常用的手法有:利用800 号电话的私人转接服务联接ISP, 然后再盗用他人的账号上网;通过电话联接一台主机,再经由主机进入Internet。
使用这种在电话网络上的"三级跳"方式进入Internet 特别难于跟踪。理论上,黑客可能来自世界任何一个角落。如果黑客使用800号拨号上网,他更不用担心上网费用。
2、网络探测和资料收集
黑客利用以下的手段得知位于内部网和外部网的主机名。
使用nslookup 程序的ls命令;
通过访问公司主页找到其他主机;
阅读FTP服务器上的文挡;
联接至mailserver 并发送 expn请求;
Finger 外部主机上的用户名。
在寻找漏洞之前,黑客会试图搜集足够的信息以勾勒出整个网络的布局。利用上述操作得到的信息,黑客很容易列出所有的主机,并猜测它们之间的关系。
3、找出被信任的主机
黑客总是寻找那些被信任的主机。这些主机可能是管理员使用的机器,或是一台被认为是很安全的服务器。
一步,他会检查所有运行nfsd或mountd的主机的NFS输出。往往这些主机的一些关键目录(如/usr/bin、/etc和/home)可以被那台被信任的主机mount。
Finger daemon 也可以被用来寻找被信任的主机和用户,因为用户经常从某台特定的主机上登录。
黑客还会检查其他方式的信任关系。比如,他可以利用CGI 的漏洞,读取/etc/hosts.allow 文件等等。
分析完上述的各种检查结果,就可以大致了解主机间的信任关系。下一步, 就是探测这些被信任的主机哪些存在漏洞,可以被远程侵入。
4、找出有漏洞的网络成员
当黑客得到公司内外部主机的清单后,他就可以用一些Linux 扫描器程序寻找这些主机的漏洞。黑客一般寻找网络速度很快的Linux 主机运行这些扫描程序。
所有这些扫描程序都会进行下列检查:
TCP 端口扫描;
RPC 服务列表;
NFS 输出列表;
共享(如samba、netbiox)列表;
缺省账号检查;
Sendmail、IMAP、POP3、RPC status 和RPC mountd 有缺陷版本检测。
进行完这些扫描,黑客对哪些主机有机可乘已胸有成竹了。
如果路由器兼容SNMP协议,有经验的黑客还会采用攻击性的SNMP 扫描程序进行尝试, 或者使用"蛮力式"程序去猜测这些设备的公共和私有community strings。
5、利用漏洞
现在,黑客找到了所有被信任的外部主机,也已经找到了外部主机所有可能存在的漏洞。下一步就该开始动手入侵主机了。
黑客会选择一台被信任的外部主机进行尝试。一旦成功侵入,黑客将从这里出发,设法进入公司内部的网络。但这种方法是否成功要看公司内部主机和外部主机间的过滤策略了。攻击外部主机时,黑客一般是运行某个程序,利用外部主机上运行的有漏洞的daemon窃取控制权。有漏洞的daemon包括Sendmail、IMAP、POP3各个漏洞的版本,以及RPC服务中诸如statd、mountd、pcnfsd等。有时,那些攻击程序必须在与被攻击主机相同的平台上进行编译。
6、获得控制权
黑客利用daemon的漏洞进入系统后会做两件事:清除记录和留下后门。
他会安装一些后门程序,以便以后可以不被察觉地再次进入系统。大多数后门程序是预先编译好的,只需要想办法修改时间和权限就可以使用,甚至于新文件的大小都和原有文件一样。黑客一般会使用rcp 传递这些文件,以便不留下FTP记录。
一旦确认自己是安全的,黑客就开始侵袭公司的整个内部网
7.窃取网络资源和特权
黑客找到攻击目标后,会继续下一步的攻击,步骤如下:
(1)下载敏感信息
如果黑客的目的是从某机构内部的FTP或WWW服务器上下载敏感信息,他可以利用已经被侵入的某台外部主机轻而易举地得到这些资料。
(2)攻击其他被信任的主机和网络
大多数的黑客仅仅为了探测内部网上的主机并取得控制权,只有那些"雄心勃勃"的黑客,为了控制整个网络才会安装特洛伊木马和后门程序,并清除记录。 那些希望从关键服务器上下载数据的黑客,常常不会满足于以一种方式进入关键服务器。他们会费尽心机找出被关键服务器信任的主机,安排好几条备用通道。
(3)安装sniffers
在内部网上,黑客要想迅速获得大量的账号(包括用户名和密码),最为有效的手段是使用"sniffer" 程序。
黑客会使用上面各节提到的方法,获得系统的控制权并留下再次侵入的后门,以保证sniffer能够执行。
(4)瘫痪网络
如果黑客已经侵入了运行数据库、网络操作系统等关键应用程序的服务器,使网络瘫痪一段时间是轻而易举的事。
如果黑客已经进入了公司的内部网,他可以利用许多路由器的弱点重新启动、甚至关闭路由器。如果他们能够找到最关键的几个路由器的漏洞,则可以使公司的网络彻底瘫痪一段时间
程序进行尝试, 或者使用"蛮力式"程序去猜测这些设备的公共和私有community strings。 5、利用漏洞 现在,黑客找到了所有被信任的外部主机,也已经找到了外部主机所有可能存在的漏洞。下一步就该开始动手入侵主机了。 黑客会选择一台被信任的外部主机进行尝试。一旦成功