让我们来偷窥黑客的工具箱

    一、密码破译如入无人之境
    几乎所有黑客的工具箱内都有密码破解工具。黑客在入侵的第一阶段,通常先尝试破解电脑的密码,而大多数的系统(包括Windows NT 及UNIX)都把密码储存在电脑的特定文件里。黑客偷到这个文件后,就会用工具配合一部字典来进行破解。密码破解工具的作用,就是通过解码得到密码。破解工具能把字典中的每一个字编码后,比较密码编码的“值”,如果两者相符就找出了密码,这种破解方式又称为“强力破解”(brute-force crack)。运转破解工具的系统愈快,解码的时间就愈短。它当然也能用来破解上网账号或电子邮箱的密码。
    ★L0phtCrack
    黑客组织“L0pht重工业”(L0pht Heavy Industries)号称是“白帽黑客精英中的摇滚巨星”,它在1997年发表了L0phtCrack这个软件,功效强大且容易使用,按一个键就可以破解密码,连新手也能操作自如。新版本的功能更是先进,利用一台Pentium II 450 电脑,可在一天内破解所有由字母与数字混合的密码。
    ☆防御L0phtCrack的基本方法
    l.应使密码不易被猜中,比如善用各类符号,避免使用字典上的字词。黑客们公认由字母、数字与符号合成的七位数密码(例如a4%H6# )最难破解。
    2.经常改换密码,最好每隔一个月改一次。
    3.凡是附带密码机制的项目,例如开机、硬盘、上网、电子邮件等,都要设定密码,不要怕麻烦。
    4.有些网站要求使用者先设定一个密码才能进入,此时千万不要填入账号或开机密码,因为很多网站会把网友设置的密码储存在一个数据库内,黑客会先试用这些密码。
    5.不要把密码告诉任何人,如果必须这样做,也不要用电话或电子邮件传递。
    6.不要用自己的生日、电话号码、车牌号码、姓名或其它的资料当密码,严防身边的黑客。
    二、对爱猫发动的战争
    ★战争拨号机
    战争拨号机(War Dialers)的原理很简单,首先它用升序或随机的方式拨接一系列的电话号码,一旦发现隐藏的Modem就能拨号进入系统,并能破解容易猜的密码。战争拨号机对于没有设定密码又使用远程控制软件的个人电脑,可说是百发百中。而企业员工的电脑和公司系统的连接往往就是这种形式。有许多黑客之所以喜欢从员工的家用电脑下手,就是这个道理。很多公司为了防黑,花了很多时间和金钱建立防火墙,认为必然万无一失,可是防火墙只护住了网络的前门,内部网络中一些没有登录过的Modem却为黑客准备了一个更方便进出的后门,战争拨号机能利用它们进入你的网络。显然,这是黑客最爱的工具之一。
    ☆防御战争拨号机的方法
    对战争拨号机最有效的防范方法,是尽量避免个人电脑用Modem和主系统连接。如果因为业务需要必须连接,也应该在公司的有关部门登记,并改成“只出不进”的拨号方式。企业在这方面也必须有明确的规定。有人认为PBX使用数字式的线路,没人能私自安装 Modem,实在是大错特错!因为数字Modem线很便宜也很容易买到。此外,企业也可以利用战争拨号机找出没有登记的Modem,对于没有必要的应该一律移除。
    三、黑客的瑞士军刀
    ★网猫
    网猫(Netcat)是用来进行TCP/UDP协议连接的工具,最早是由Hobbit先生在1995年为 UNIX所写的程序。到了1997年,Weld Pond先生在原有基础上发扬光大,使之也可以用在NT上。虽然网猫的年纪很老(注:在IT界,半年就是一个世纪),却老而弥坚。因为功能强大,黑客们特称之为“黑客的瑞士军刀”。
    网猫的主要功能是管理系统和侦查网络的错误,然而水能载舟也能覆舟,这只猫也有入侵网络的利爪。
    在主机模式里,网猫成为服务器,等待连接TCP/UDP端口,而在用户端模式,网猫可以使用户连接任何端口,这样就形成了后门。此外网猫还能扫描TCP/UDP端口。黑客经常利用它取得银行账户的资料,改金额甚至转移金钱到其它账号,当然也可以窃取其它重要信息。
    ☆防御Netcat 的方法
    充分了解系统内所运行程序,避免让不需要的端口通过防火墙。对于外界可以接近的主机则更应该辨别所有运行程序的内容,否则很容易成为黑客入侵的渠道。另外关于主机的运行也应该有精确的日志。
    四、结束语
    以上就是黑客常用的入侵工具和基本的防御方法。当然黑客入侵时不会只用一种方法,而是视情况混合使用:通常黑客会先启动战争拨号器寻找没有保护的Modem,然后接管系统并扫描网络;在主机上开后门;登录到服务器上拦截信息,进而控制服务器;再攻击其他的网站。
    黑客入侵事件一再发生,使得人们开始怀疑系统安全人员的能力,很多优秀的人才因而被炒了鱿鱼,其实这很不公平。从工作目的上看,一般的工程或管理人员工作的内涵是要“使一些事发生”,而系统安全人员的首要任务却是“要让某些事不发生”,从逻辑上讲,这是个更为困难的差事。

本文出自 51CTO.COM技术博客

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个使用C++的string类实现智能锁虚位密码功能的示例代码: ```c++ #include <iostream> #include <string> using namespace std; int virtualpwd(string input) { string password = "123456"; // 设置真实密码 int len = password.length(); // 密码长度 // 模拟输入虚位密码过程 cout << "请输入虚位密码:"; for (int i = 0; i < len; i++) { char c = input[i]; if (c >= '0' && c <= '9') { cout << "*"; // 输出星号 } else { cout << c; // 输出真实数字 } } cout << endl; // 判断虚位密码是否包含真实密码 if (input.find(password) != string::npos) { return 1; // 包含真实密码 } else { return 0; // 不包含真实密码 } } int main() { string input; // 用户输入的虚位密码 int result; // 返回值 cout << "欢迎使用智能锁!" << endl; do { cout << "请输入虚位密码,或输入q退出:"; cin >> input; if (input == "q") { break; // 退出程序 } result = virtualpwd(input); if (result == 1) { cout << "密码正确!" << endl; break; // 密码正确,退出循环 } else { cout << "密码错误,请重新输入。" << endl; } } while (true); return 0; } ``` 这段代码定义了一个名为`virtualpwd`的函数,用于输入虚位密码、判断是否包含真实密码。在`main`函数中,循环接收用户输入的虚位密码,直到输入正确的密码或用户选择退出程序。如果用户输入的虚位密码包含真实密码,则输出密码正确,并退出循环。否则,输出密码错误,请重新输入。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值