“黑客”(hacker)这个词,一开始只是单纯地用来指代在电脑系统和信息科技方面的能手,最近几年才因为一些臭名昭著的网络罪犯而蒙上了一层灰色阴影 。实际上,现在有很多公司专门雇佣黑客来测试系统安全强度,这样的“黑客”懂得适可而止,遵守法律,获得公司信任的同时还能拿到不菲的薪酬 。
文章插图
在成为黑客之前,你需要做两点准备:
1、学一门编程语言 。学哪一门不重要,但你要参考一下下面的条例:
- C语言是Unix系统的基础 。它(连同汇编语言)能让你学习对黑客非常重要的知识:内存的工作原理 。
- Python或Ruby是高级而强大的脚本语言,能够实现多项任务的自动化 。
- Perl也是这方面的一个合理选择,同时php也值得一学,因为大部分网络应用都使用了PHP 。
- Bash脚本编程是必须掌握的 。它能帮助你轻松地控制Unix/linux系统 -- 通过编写脚本程序,让它们为你完成大部分工作 。
- 汇编语言也是必须了解的 。它是处理器能理解的基本语言,且现实中存在着多种版本的汇编语言 。所有的程序最终都会被解释成汇编语言 。如果你不懂得汇编语言,你将无法深入钻研每一程序 。
好了,接下来,黑客十部曲:
1、使用*nix命令终端 。Cygwin将为windows用户提供模拟的*nix环境 。Nmap专门使用了WinPCap,它可以运行在Windows系统上,且不需要Cygwin的支持 。然而,由于缺乏原始套接字功能,Nmap并不能很好地在Windows系统上工作 。你也应该考虑使用Linux或BSD,它们更灵活、更可靠、更安全 。大部分Linux发行版都附带了很多预装的有用工具 。
2、首先加强你的机器的安全性 。确保你已经充分理解所有能保护自己系统的常用技术 。从基础开始 -- 你是否曾发现有服务器托管着含有非法或不良信息的网站?尝试通过各种方法入侵它 。不要更改网站,只要取得其控制权即可 。
3、测试目标系统 。你是否能连通远程系统?虽然你能使用ping实用程序(大部分操作系统包含有该程序)了解目标系统是否活跃,但其结果并不总是可靠的 -- 该程序需要以ICMP协议为基础,这能轻易地被谨慎的系统管理员所屏蔽 。
4、确定操作系统(OS) 。进行端口扫描,你可以使用pOf或者nmap进行扫描 。该方法能让你了解目标机器上开放了哪些端口,运行着哪种操作系统,甚至还能获取关于所使用的防火墙或路由器等信息,以便你能准备好一系列的攻击计划 。你可以使用nmap的-O选项进行操作系统的探测 。
5、找出系统中的路径或开放端口 。FTP(21)及HTTP(80)等常用端口通常都得到了较好的保护,找出尚未被发现的漏洞可能比较容易发起攻击 。
- 尝试其他不太常用的TCP和UDP端口,例如Telnet及一些用于局域网游戏的UDP端口 。
- 如果系统开放了22号端口,通常能证明该目标系统上运行着SSH(secure shell)服务,对此有时可以进行暴力破解 。
- 用户通常被建议不要使用过于简单的密码,因此暴力破解可能需要较长时间 。然而,暴力破解技术已经得到了长足的改进 。
- 大部分散列算法都存有漏洞,因此你可以通过发掘这些漏洞来显著加快破解速度(例如你可以缩减MD5算法至1/4的比例,这将大幅提高其运行速度) 。
- 较新的技术使用显示卡作为另一个处理器 - 这能提高速度达数千倍 。
- 你可以尝试使用彩虹表来达到最快的破解速度 。请注意,只有当你掌握了密码的散列值时,密码破解才是一项可行的好技术 。
- 在登录远程系统时,尝试每一个可能的密码并不是一种好的方法,因为这中行为将会轻易地被系统的入侵检测程序所检测到,同时会污染系统日志,并且可能需要数年时间才能破解密码 。
- 比起采用密码破解,采用别的方法也许能更容易入侵一个系统 。
- 很多重要信息都会得到特别保护,因此你需要通过一定程度的认证才能获得这些信息 。要查看系统上的所有文件,你需要取得超级用户权限 -- 即Linux和BSD系统上"root"用户所具备的权限 。
推荐阅读
- 测试你成为富豪 测你以后会是个有钱人吗
- 培养气质的方法 什么是气质,如何培养气质
- 淘宝联盟站内推广如何避免 淘宝客推广怎么取消
- 会议室装修设计要如何布局
- 跨地区缴纳社保如何转移合并?需要怎么办理?
- 汉服如何穿戴 汉服正确穿法
- 鲜花如何保鲜?花店保鲜小方法,轻松延长保鲜期
- 愿茶为国饮成为国民共识讲座周日开讲
- 自己动手,2块钱教你如何让雨刮片再用1年
- 夏季品饮 收藏普洱茶大攻略