linux网络安全
‘壹’ linux服务器的安全防护都有哪些措施
一、强化密码强度
只要涉及到登录,就需要用到密码,如果密码设定不恰当,就很容易被黑客破解,如果是超级管理员(root)用户,如果没有设立良好的密码机制,可能给系统造成无法挽回的后果。
很多用户喜欢用自己的生日、姓名、英文名等信息来设定,这些方式可以通过字典或者社会工程的手段去破解,因此建议用户在设定密码时,尽量使用非字典中出现的组合字符,且采用数字与字符、大小写相结合的密码,增加密码被破译的难度。
二、登录用户管理
进入Linux系统前,都是需要登录的,只有通过系统验证后,才能进入Linux操作系统,而Linux一般将密码加密后,存放在/etc/passwd文件中,那么所有用户都可以读取此文件,虽然其中保存的密码已加密,但安全系数仍不高,因此可以设定影子文件/etc/shadow,只允许有特殊权限的用户操作。
三、账户安全等级管理
在Linux操作系统上,每个账户可以被赋予不同的权限,因此在建立一个新用户ID时,系统管理员应根据需要赋予该账号不同的权限,且归并到不同的用户组中。每个账号ID应有专人负责,在企业中,如果负责某个ID的员工离职,该立即从系统中删除该账号。
四、谨慎使用"r"系列远程程序管理
在Linux操作系统中,有一系列r开头的公用程序,如rlogin、rcp等,非常容易被不法分子用来攻击我们的系统,因此千万不要将root账号开放给这些公用程序,现如今很多安全工具都是针对此漏洞而设计的,比如PAM工具,就可以将其有效地禁止掉。
五、root用户权限管理
root可谓是Linux重点保护对象,因为其权利是最高的,因此千万不要将它授权出去,但有些程序的安装、维护必须要求是超级用户权限,在此情况下,可以利用其他工具让这类用户有部分超级用户的权限。sudo就是这样的工具。
六、综合防御管理
防火墙、IDS等防护技术已成功应用到网络安全的各个领域,且都有非常成熟的产品,需要注意的是:在大多数情况下,需要综合使用这两项技术,因为防火墙相当于安全防护的第一层,它仅仅通过简单地比较IP地址/端口对来过滤网络流量,而IDS更加具体,它需要通过具体的数据包(部分或者全部)来过滤网络流量,是安全防护的第二层。综合使用它们,能够做到互补,并且发挥各自的优势,最终实现综合防御。
酷酷云服务器为您诚意解答,服务器租户的选择,酷酷云值得信赖。
‘贰’ 学linux可以做网络安全吗
可以。Linux是一套免费使用和自由传播的类Unix作系统,它主要用于基于x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。
‘叁’ LINUX真的很安全吗
题主说的Linux安全,应该指的是Linux操作系统的本身的安全吧。这个范围比较广,包括Linux内核层的安全与用户层的安全。用户层的安全包括Linux下的各种认证系统,比如目前流行的PAM认证机制,Ukey指纹认证机制,远程网络认证机制,LDAP认证机制,3A认证机制等。用户层安全还包括网络安全,比如通过iptables定制防火墙,关闭服务器不必要开启的端口等。内核态的安全,比如,缓冲区溢出攻击,当然这个安全漏洞在windows中也是存在的,各种各样的内核态提权漏洞等,现在有很多网络安全公司基于netfilter框架添加自已的勾子函数, 生产各种入侵检测系统等。
Linux系统安全之所以在互联网公司包括像阿里巴巴这样的公司不受重视,是因为这些公司觉得,做为暴露给用户的各种应用,如Web应用等,这些应用的安全显然比操作系统的安全来得更加重要。当应用的安全得不到保障,Web程序被各种脚本小子植入如存储型XSS脚本,导致用户密码被盗,甚至导致一些更严重的结果,比如存储用户名与密码的数据库被脱库,这个就是相当严重的安全事故了。也许这个破坏者完成这些操作,并不需要利用操作系统的漏洞,也不需要取得操作系统的用户名和密码,只是要取得一个具有较高权限的数据库管理员的密码即可完成上述操作。当黑客取得Linux系统的普通用户名与密码时,当他需要root用户时,才会去利用操作系统本身的漏洞进行提权。关于Linux操作系统提权漏洞,在2.6.18版本存在较多的提权漏洞,到了2.6.32内核,这种提权漏洞已经少了很多。
回到正题,对于现在的很多IT从业人员来说,前途最直接的体现就是工资,待遇。就目前国内来说,直接从事Linux操作系统安全的公司很少,大部分都是科研院校在做这方面的工作。比如中科院下属的一些研究所,国家电网、南方电网里面的研究院,当然还有各大高校的一些信息安全实验室,还有解放军叔叔,他们也在从事这些方面的工作。
当然,如同所有的IT技术一样,Linux操作系统的各种安全机制,也是国外在主导。现有的Linux安全框架叫做LSM,Linux security mole。基于这个框架,可以实现各种各样的Linux安全机制,其中最着名的就是SELinux。因为Redhat的Linux自带的安全模块就是SELinux。SELinux最早是由NSA(美国国家安全局)主导的项目,后面开源了。Redhat在SELinux上做了大量的工作。但SELinux由于其配置比较复杂,再加上许多人认为Linux系统本身已经足够安全了,所以大部分人都将SELinux设置了disabled。想了解更多Linux命令,可查看《Linux命令大全》,具体搜索方式看下图:
‘肆’ linux网络安全是什么
linux网络安全介绍:
1.分区:
一个潜在的黑客如果要攻击你的Linux 服务器,首先就会尝试缓冲区溢出。在过去的几年中,以缓冲区溢出为类型的安全漏洞是最为常见的一种形式了。
更为严重的是,缓冲区溢出漏洞占了远程网络攻击的绝大多数,这种攻击可以轻易使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权!
为了防止此类攻击,从安装系统时就应该注意。如果用root分区纪录数据,如log 文件和email ,就可能因为拒绝服务产生大量日志或垃圾邮件,从而导致系统崩溃。所以建议为/var开辟单独的分区,用来存放日志和邮件,以避免root分区被溢出。
最好为特殊的应用程序单独开一个分区,特别是可以产生大量日志的程序,还有建议为/home 单独分一个区,这样们就不能填满/ 分区了,从而就避免了部分针对Linux分区溢出的恶意攻击。
2.BIOS:
记着要在BIOS设置中设定一个BIOS密码,不接收软盘启动。这样可以阻止不怀好意的人用专门的启动盘启动你的Linux 系统,并避免别人更改BIOS设置,如更改软盘启动设置或不弹出密码框直接启动服务器等等。
3.口令:
口令是系统中认证用户的主要手段,系统安装时默认的口令最小长度通常为5,但为保证口令不易被猜测攻击,可增加口令的最小长度,至少等于8.为此,需修改文件/etc/login.defs 中参数PASS_MIN_LEN(口令最小长度)。
同时应限制口令使用时间,保证定期更换口令,建议修改参数PASS_MIN_DAYS (口令使用时间)。
‘伍’ Linux服务器的安全防护都有哪些措施
一、强化密码强度
只要涉及到登录,就需要用到密码,如果密码设定不恰当,就很容易被黑客破解,如果是超级管理员(root)用户,如果没有设立良好的密码机制,可能给系统造成无法挽回的后果。
很多用户喜欢用自己的生日、姓名、英文名等信息来设定,这些方式可以通过字典或者社会工程的手段去破解,因此建议用户在设定密码时,尽量使用非字典中出现的组合字符,且采用数字与字符、大小写相结合的密码,增加密码被破译的难度。
二、登录用户管理
进入Linux系统前,都是需要登录的,只有通过系统验证后,才能进入Linux操作系统,而Linux一般将密码加密后,存放在/etc/passwd文件中,那么所有用户都可以读取此文件,虽然其中保存的密码已加密,但安全系数仍不高,因此可以设定影子文件/etc/shadow,只允许有特殊权限的用户操作。
三、账户安全等级管理
在Linux操作系统上,每个账户可以被赋予不同的权限,因此在建立一个新用户ID时,系统管理员应根据需要赋予该账号不同的权限,且归并到不同的用户组中。每个账号ID应有专人负责,在企业中,如果负责某个ID的员工离职,该立即从系统中删除该账号。
四、谨慎使用"r"系列远程程序管理
在Linux操作系统中,有一系列r开头的公用程序,如rlogin、rcp等,非常容易被不法分子用来攻击我们的系统,因此千万不要将root账号开放给这些公用程序,现如今很多安全工具都是针对此漏洞而设计的,比如PAM工具,就可以将其有效地禁止掉。
五、root用户权限管理
root可谓是Linux重点保护对象,因为其权利是最高的,因此千万不要将它授权出去,但有些程序的安装、维护必须要求是超级用户权限,在此情况下,可以利用其他工具让这类用户有部分超级用户的权限。sudo就是这样的工具。
六、综合防御管理
防火墙、IDS等防护技术已成功应用到网络安全的各个领域,且都有非常成熟的产品,需要注意的是:在大多数情况下,需要综合使用这两项技术,因为防火墙相当于安全防护的第一层,它仅仅通过简单地比较IP地址/端口对来过滤网络流量,而IDS更加具体,它需要通过具体的数据包(部分或者全部)来过滤网络流量,是安全防护的第二层。综合使用它们,能够做到互补,并且发挥各自的优势,最终实现综合防御。
‘陆’ linux下的网络安全与windows下的网络安全作比较
Linux的操作比较复杂,windows的比Linux较简单.
Linux速度很快,安全性比windows好
但是有很多软件只能在windows里运行
Linux适用在网络方面.
和Linux一样,Windows系列是完全的多任务操作系统。它们支持同样的用户接口、网络和安全性。但是,Linux和Windows的真正区别在于,Linux事实上是Unix的一种版本,而且来自Unix的贡献非常巨大。是什么使得Unix如此重要?不仅在于对多用户机器来说,Unix是最流行的操作系统,而且在于它是免费软件的基础。在Internet上,大量免费软件都是针对Unix系统编写的。由于有众多的Unix厂商,所以Unix也有许多实现方法。没有一个单独的组织负责Unix的分发。现在,存在一股巨大的力量推动Unix社团以开放系统的形式走向标准化。另一方面Windows系列是专用系统,由开发操作系统的公司控制接口和设计。在这个意义上这种公司利润很高,因为它对程序设计和用户接口设计建立了严格的标准,和那些开放系统社团完全不一样。一些组织正在试图完成标准化Unix程序设计接口的任务。特别要指出的是,Linux完全兼容POSIX.1标准。
Linux与Unix的区别
某些PC机的Unix和Linux在实现方面相类似。几乎所有的商业Unix版本都基本支持同样的软件、程序设计环境和网络特性。然而,Linux和Unix的商业版本依然存在许多差别。Linux支持的硬件范围和商业Unix不一样。一般来说,商业Unix支持的硬件多一些,可是Linux支持的硬件也在不断扩大。突出的是,Linux至少和商用Unix一样稳定。对许多用户来说,最重要的因素是价格。Linux是免费软件,用户可以从Internet网上下载。如果上网不方便,可以很便宜地通过邮购得到Linux的磁盘或CD-ROM。当然也可以直接从朋友那里得到。商业Unix的价值不应被贬低。除了软件本身的价格外,用户还需支付文档、售后支持和质保费。对于较大的机构,这些都很重要,但是PC机用户也许从中得不到什么好处。许多商业公司和大学等单位已经发现,在实验室用廉价的PC机运行Linux比用工作站运行商业Unix还好。Linux可以在PC机上提供工作站的功能,而PC机的价格是工作站的几分之一。也有一些针对PC机的便宜的Unix,其中最有名的是386BSD。在许多方面,386BSD软件包和Linux兼容,但Linux更适合用户的需求。最显着的是,Linux的开发是开放的,任何志愿者都可以对开发过程做出贡献。相比之下,386BSD是由封闭的团队开发的。正是这样,这两种产品存在着严重的概念上和设计上的差别:Linux的目标是从头开始开发一个完整的Unix系统;386BSD的目标则是对现有的BSD做些修改,以适合80386系统。
Linux与其他操作系统的区别
Linux可以与MS-DOS、OS/2、Windows等其他操作系统共存于同一台机器上。它们均为操作系统,具有一些共性,但是互相之间各有特色,有所区别。
目前运行在PC机上的操作系统主要有Microsoft的MS-DOS、Windows、Windows NT、IBM的OS/2等。早期的PC机用户普遍使用MS-DOS,因为这种操作系统对机器的硬件配置要求不高,而随着计算机硬件技术的飞速发展,硬件设备价格越来越低,人们可以相对容易地提高计算机的硬件配置,于是开始使用Windows、Windows
NT等具有图形界面的操作系统。Linux是新近被人们所关注的操作系统,它正在逐渐为PC机的用户所接受。那么,Linux与其他操作系统的主要区别是什么呢?下面从两个方面加以论述。
首先看一下Linux与MS-DOS之间的区别.在同一系统上运行Linux和MS-DOS已很普遍,就发挥处理器功能来说,MS-DOS没有完全实现x86处理器的功能,而Linux完全在处理器保护模式下运行,并且开发了处理器的所有特性。Linux可以直接访问计算机内的所有可用内存,提供完整的Unix接口。而MS-DOS只支持部分Unix的接口。
就使用费用而言,Linux和MS-DOS是两种完全不同的实体。与其他商业操作系统相比,MS-DOS价格比较便宜,而且在PC机用户中有很大的占有率,任何其他PC机操作系统都很难达到MS-DOS的普及程度,因为其他操作系统的费用对大多数PC机用户来说都是一个不小的负担。Linux是免费的,用户可以从internet上或者其他途径获得它的版本,而且可以任意使用,不用考虑费用问题。
就操作系统的功能来说,MS-DOS是单任务的操作系统,一旦用户运行了一个MS-DOS的应用程序,它就独占了系统的资源,用户不可能再同时运行其他应用程序。而Linux是多任务的操作系统,用户可以同时运行多个应用程序。
再看一下Linux与OS/2、Windows、Windows NT之间的区别。
从发展的背景看,Linux与其他操作系统的区别是,Linux是从一个比较成熟的操作系统发展而来的,而其他操作系统,如Windows NT等,都是自成体系,无对应的相依托的操作系统。这一区别使得Linux的用户能大大地从Unix团体贡献中获利。因为Unix是世界上使用最普遍、发展最成熟的操作系统之一,它是七十年代中期发展起来的微机和巨型机的多任务系统,虽然有时接口比较混乱,并缺少相对集中的标准,但还是发展壮大成为了最广泛使用的操作系统之一。无论是Unix的作者还是Unix的用户,都认为只有Unix才是一个真正的操作系统,许多计算机系统(从个人计算机到超级计算机)都存在Unix版本,Unix的用户可以从很多方面得到支持和帮助。因此,Linux做为Unix的一个克隆,同样会得到相应的支持和帮助,直接拥有Unix在用户中建立的牢固的地位。
从使用费用上看,Linux与其他操作系统的区别在于Linux是一种开放、免费的操作系统,而其他操作系统都是封闭的系统,需要有偿使用。这一区别使得我们能够不用花钱就能得到很多Linux的版本以及为其开发的应用软件。当我们访问Internet时,会发现几乎所有可用的自由软件都能够运行在Linux系统上。有来自很多软件商的多种Unix实现,Unix的开发、发展商以开放系统的方式推动其标准化,但却没有一个公司来控制这种设计。因此,任何一个软件商(或开拓者)都能在某种Unix实现中实现这些标准。OS/2和Windows
NT等操作系统是具有版权的产品,其接口和设计均由某一公司控制,而且只有这些公司才有权实现其设计,它们是在封闭的环境下发展的。
‘柒’ 如何做好Linux服务器安全维护
日常维护方面:
1. Linux操作系统安装、配置、日常维护。
2. Linux操作系统账户审核,对账户和密码进行安全性审核,确定账户的安全性。
3. Linux操作系统日志分析,确定系统运行的状态。
4. Linux操作系统上必须开启服务的安装、配置、日常维护,如Apache。具体的服务根据用户的需求而定。
5. mysql数据库安装、配置、日常维护。
6. 用户网站的数据备份。
安全检测方面:
1. Linux操作系统漏洞检测。定期对系统进行漏洞扫描,并模拟黑客从互联网上对网站服务器进行渗透测试,以检测Linux系统的安全状况。
2. Linux操作系统安全加固,禁止不必要开放的端口、不安全的服务,启用防火墙安全策略,设置安全的并发会话等。
3. 在检测到Linux的安全漏洞时,及时对其进行修补,以保障服务器的安全。
‘捌’ 网络安全干货知识分享 - Kali Linux渗透测试 106 离线密码破解
前言
最近整理了一些 奇安信&华为大佬 的课件资料+大厂面试课题,想要的可以私信自取, 无偿赠送 给粉丝朋友~
1. 密码破解简介
1. 思路
目标系统实施了强安全措施
安装了所有补丁
无任何已知漏洞
无应用层漏洞
攻击面最小化
社会 工程学
获取目标系统用户身份
非授权用户不受信,认证用户可以访问守信资源
已知用户账号权限首先,需要提权
不会触发系统报警
2. 身份认证方法
证明你是你声称你是的那个人
你知道什么(账号密码、pin、passphrase)
你有什么(令牌、token、key、证书、密宝、手机)
你是谁(指纹、视网膜、虹膜、掌纹、声纹、面部识别)
以上方法结合使用
基于互联网的身份验证仍以账号密码为主要形式
3. 密码破解方法
人工猜解
垃圾桶工具
被动信息收集
基于字典暴力破解(主流)
键盘空间字符爆破
字典
保存有用户名和密码的文本文件
/usr/share/wordlist
/usr/share/wfuzz/wordlist
/usr/share/seclists
4. 字典
1. 简介
键盘空间字符爆破
全键盘空间字符
部分键盘空间字符(基于规则)
数字、小写字母、大写字符、符号、空格、瑞典字符、高位 ASCII 码
2. crunch 创建密码字典
无重复字符
crunch 1 1 -p 1234567890 | more
1
必须是最后一个参数
最大、最小字符长度失效,但必须存在
与 -s 参数不兼容(-s 指定起始字符串)
crunch 4 4 0123456789 -s 9990
读取文件中每行内容作为基本字符生成字典
crunch 1 1 -q read.txt
1
字典组成规则
crunch 6 6 -t @,%%^^ | more
-t:按位进行生成密码字典
@:小写字母 lalpha
,:大写字母 ualpha
%:数字 numeric
^:符号 symbols
输出文件压缩
root@kali:~# crunch 4 5 -p dog cat bird
1
-z:指定压缩格式
其他压缩格式:gzip、bzip2、lzma
7z压缩比率最大
指定字符集
root@kali:~# crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha-numeric-all-space -o w.txt -t @d@@ -s cdab
1
随机组合
root@kali:~# crunch 4 5 -p dog cat bird
1
crunch 5 5 abc DEF + !@# -t ,@^%,
在小写字符中使用abc范围,大写字符使用 DEF 范围,数字使用占位符,符号使用!@#
占位符
转义符(空格、符号)
占位符
root@kali:~# crunch 5 5 -t ddd%% -p dog cat bird
1
任何不同于 -p 参数指定的值都是占位符
指定特例
root@kali:~# crunch 5 5 -d 2@ -t @@@%%
1
2@:不超过两个连续相同字符
组合应用
crunch 2 4 0123456789 | aircrack-ng a.cap -e MyESSID -w -
crunch 10 10 12345 –stdout | airolib-ng testdb -import passwd -
3. CUPP 按个人信息生成其专属的密码字典
CUPP:Common User Password Profiler
git clone https://github.com/Mebus/cupp.git
python cupp.py -i
4. cewl 通过收集网站信息生成字典
cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt
-m:最小单词长度
-d:爬网深度
-e:收集包含email地址信息
-c:每个单词出现次数
支持基本、摘要 身份认证
支持代理
5. 用户密码变型
基于 cewl 的结果进行密码变型
末尾增加数字串
字母大小写变化
字母与符号互相转换
字母与数字互相转换
P@$w0rd
6. 使用 John the Ripper 配置文件实现密码动态变型
2. 在线密码破解
1. hydra
简介
密码破解
Windows 密码破解
Linux 密码破解
其他服务密码破解
图形化界面
xhydra
HTTP表单身份认证
密码破解效率
密码复杂度(字典命中率)
带宽、协议、服务器性能、客户端性能
锁定阈值
单位时间最大登陆请求次数
Hydra 的缺点
稳定性差,程序时常崩溃
速度控制不好,容易触发服务屏蔽或锁死机制
每主机新建进程,每服务新建实例
大量目标破解时性能差
2. pw-inspector
Hydra 小工具 pw-inspector
按长度和字符集筛选字典
pw-inspector -i /usr/share/wordlists/nmap.lst -o p1.lst -l
pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u
pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u -m 3 -M 5
3. mesa
Mesa 的特点
稳定性好
速度控制得当
基于线程
支持模块少于hydra(不支持RDP)
WEB-Form 支持存在缺陷
查看支持的模块
参数
-n:非默认端口
-s:使用SSL连接
-T:并发主机数
mesa -M ftp -q
3. 离线密码破解
1. 简介
身份认证
禁止明文传输密码
每次认证使用HASH算法加密密码传输(HASH算法加密容易、解密困难)
服务器端用户数据库应加盐加密保存
破解思路
嗅探获取密码HASH
利用漏洞登陆服务器并从用户数据库获取密码HASH
识别HASH类型
长度、字符集
利用离线破解工具碰撞密码HASH
优势
离线不会触发密码锁定机制
不会产生大量登陆失败日志引起管理员注意
2. HASH 识别工具
1. hash-identifier
进行 hash 计算
结果:
进行 hash 识别
2. hashid
可能识别错误或无法识别
3. HASH 密码获取
1. sammp2
Windows HASH 获取工具
利用漏洞:Pwmp、fgmp、 mimikatz、wce
物理接触:sammp2
将待攻击主机关机
使用 Kali ISO 在线启动此主机
发现此 windows 机器安装有两块硬盘
mount /dev/sda1 /mnt
将硬盘挂载
cd /mnt/Windows/System32/config
切换目录
sammp2 SYSTEM SAM -o sam.hash
导出密码
利用 nc 传输 HASH
HASH 值:
2. syskey 工具进行密码加密
使用 syskey 进行加密(会对 SAM 数据库进行加密)
重启需要输入密码才能进一步登录
使用 kali iso live
获取到 hash 值
hashcat 很难破解
使用 bkhive 破解
使用 Bootkey 利用RC4算法加密 SAM 数据库
Bootkey 保存于 SYSTEM 文件中
bkhive
从 SYSTEM 文件中提取 bootkey
Kali 2.0 抛弃了 bkhive
编译安装 :http://http.us.debian.org/debian/pool/main/b/bkhive/
在windows的 kali live 模式下,运行
sammp2 SAM key (版本已更新,不再支持此功能)
建议使用 Kali 1.x
1. Hashcat
简介
开源多线程密码破解工具
支持80多种加密算法破解
基于CPU的计算能力破解
六种模式 (-a 0)
0 Straight:字典破解
1 Combination:将字典中密码进行组合(1 2 > 11 22 12 21)
2 Toggle case:尝试字典中所有密码的大小写字母组合
3 Brute force:指定字符集(或全部字符集)所有组合
4 Permutation:字典中密码的全部字符置换组合(12 21)
5 Table-lookup:程序为字典中所有密码自动生成掩码
命令
hashcat -b
hashcat -m 100 hash.txt pass.lst
hashcat -m 0 hash.txt -a 3 ?l?l?l?l?l?l?l?l?d?d
结果:hashcat.pot
hashcat -m 100 -a 3 hash -i –increment-min 6 –increment-max 8 ?l?l?l?l?l?l?l?l
掩码动态生成字典
使用
生成文件
计算 hash 类型
结果 MD5
查看 MD5 代表的值
进行破解
2. oclhashcat
简介
号称世界上最快、唯一的基于GPGPU的密码破解软件
免费开源、支持多平台、支持分布式、150+hash算法
硬件支持
虚拟机中无法使用
支持 CUDA 技术的Nvidia显卡
支持 OpenCL 技术的AMD显卡
安装相应的驱动
限制
最大密码长度 55 字符
使用Unicode的最大密码长度 27 字符
关于版本
oclHashcat-plus、oclHashcat-lite 已经合并为 oclhashcat
命令
3. RainbowCrack
简介
基于时间记忆权衡技术生成彩虹表
提前计算密码的HASH值,通过比对HASH值破解密码
计算HASH的速度很慢,修改版支持CUDA GPU
https://www.freerainbowtables.com/en/download/
彩虹表
密码明文、HASH值、HASH算法、字符集、明文长度范围
KALI 中包含的 RainbowCrack 工具
rtgen:预计算,生成彩虹表,时的阶段
rtsort:对 rtgen 生成的彩虹表行排序
rcrack:查找彩虹表破解密码
以上命令必须顺序使用
rtgen
LanMan、NTLM、MD2、MD4、MD5、SHA1、SHA256、RIPEMD160
rtgen md5 loweralpha 1 5 0 10000 10000 0
计算彩虹表时间可能很长
下载彩虹表
http://www.freerainbowtables.com/en/tables/
http://rainbowtables.shmoo.com/
彩虹表排序
/usr/share/rainbowcrack
rtsort /md5_loweralpha#1-5_0_1000x1000_0.rt
密码破解
r crack *.rt -h
rcrack *.rt -l hash.txt
4. John
简介
基于 CPU
支持众多服务应用的加密破解
支持某些对称加密算法破解
模式
Wordlist:基于规则的字典破解
Single crack:默认被首先执行,使用Login/GECOS信息尝试破解
Incremental:所有或指定字符集的暴力破解
External:需要在主配配文件中用C语言子集编程
默认破解模式
Single、wordlist、incremental
主配置文件中指定默认wordlist
破解Linux系统账号密码
破解windows密码
Johnny 图形化界面的john
5. ophcrack
简介
基于彩虹表的LM、NTLM密码破解软件
彩虹表:http://ophcrack.sourceforge.net/tables.php
‘玖’ 网络安全和LINUX,我该选哪个
网络安全和Linux可以同时学习,两者是不冲突的,而且技多不压身,对以后的发展也很有帮助。
‘拾’ 为什么说Linux比Windows安全
1. 更加卓越的补丁管理工具: 在微软的Windows系统中,自动更新程序只会升级那些由微软公司官方所提供的组件。而第三方的应用程序却不会得到修补。从而,第三方的应用程序可能会给你的系统带来大量的安全隐患。你在使用Real player播放器吗?你需要单独升级它。在使用Flash?你还是需要单独进行升级。依此类推,对于电脑上所有的应用程序,你都需要定期地对每一款软件单独进行更新升级。这种方法非常的繁琐,并且让人心烦,而绝大多数用户很快就将这项工作忘到九霄云外去了。 而在Linux系统中,当你在自动更新系统的时候,它将同时升级系统中所有的软件。在Ubuntu系统中,你所下载的任何软件产品,都会出现在系统的程序仓库当中,要升级它,你只需要用鼠标轻轻一点。而在其它Linux发行版本中,如果下载的软件并没有出现在系统的程序仓库中,要添加它也是非常的简便。这样的设计,极大地提高了用户实时更新系统的积极性。 2. 更加健壮的默认设置: Linux系统天生就被设计成一个多用户的操作系统。因此,即便是某个用户想要进行恶意破坏,底层系统文件依然会受到保护。假如,在非常不幸的情况下,有任何远程的恶意代码在系统中被执行了,它所带来的危害也将被局限在一个小小的局部之中。 与之形成鲜明对照的是微软的Windows XP系统。在这里,用户会默认以系统管理员的身份登录,而在系统中所发生的任何损害,都会迅速蔓延到整个系统之中。微软最新的Windows Vista系统让用户在默认设置下以受限用户的身份登录,因此它要比自己的前任更加安全一点。 3. 模块化设计: Linux系统采用的是模块化设计。这表示,如果不需要的话,你可以将任何一个系统组件给删除掉。由此而带来的一个好处是,如果用户感觉Linux系统的某个部分不太安全,他就可以移除掉这个组件。这对于Windows系统来说,简直是不可思议的。比如说,如果我感觉对于自己的Linux系统来说,Firefox网络浏览器是最薄弱的一个环节,我完全可以删除掉它,用其它网络浏览器来替代,比如说Opera。而在Windows系统当中,即便是再不满意,我也无法替换微软的Internet Explorer网络浏览器。 4. 更棒的“零日攻击(zero-day attacks)”防御工具 即便你能确保自己的系统实时更新,这也并不代表着万无一失!零日攻击(zero-day attacks,指的是在软件生产厂商发布针对漏洞的更新补丁之前,就抢先利用该漏洞发动网络攻击的攻击方式)正在变得日益猖獗。此外,一项调查研究也显示:对于攻击者来说,他们只需要6天时间就能够开发出针对漏洞的恶意攻击代码,而软件生产厂商们却需要花费长得多的时间才能够推出相应的更新补丁。因此,一套睿智的安全策略在防御零日攻击方面至关重要。微软的Windows XP系统并没有提供这样的一套防御机制。而新的Vista系统,在保护模式状态之下,虽然有一定效果,但是也只能对针对Internet Explorer网络浏览器的攻击提供一点有限的保护。 与之相对应的是,无论是何种类型的远程遥控代码攻击,AppArmor或SELinux,都能够为系统提供细致而周全的保护。有越来越多的主流Linux发行版本,在系统中都默认整合了AppArmor(例如,SuSE、Ubuntu Gutsy)或者SELinux(Fedora、Debian Etch、Yellow Dog)。即便是对于其它发行版本来说,用户也可以非常方便地从网络上下载并安装这两套软件。 5. 开放源代码构架: 在Linux系统中,当谈论到系统安全性的时候,用“你所看到的,就是你所得到的”这句话来形容,是再合适也不过了。开放源代码意味着,任何可能的软件漏洞都将被“无数双眼睛”所看到,并且得到尽可能快的修复。而更重要的是,这同时也意味着,在这里没有任何被隐藏的修复措施。作为用户,只要你有心,就可以找出自己系统所存在的安全问题,并采取相应的防范措施以应对潜在的安全威胁,即便是在此时该漏洞还没有被修补。 而在Windows世界当中,有很多安全问题都是被掩盖起来的。微软公司内部所发现的软件漏洞,是不会让外界所知晓的,而他们所想的只是在下一个更新升级包中对它进行默默地修补就可以了。虽然这样做可以让被公开的软件漏洞数目更少,并让某些漏洞不会被大规模地利用,但这种做法同时也蒙蔽了用户的双眼。由此所导致的结果是,用户很可能不会积极地对系统进行升级,因为他不了解自己的系统存在着什么样的漏洞,以及这些漏洞的危害大小,结果反而会成为恶意攻击的牺牲品。 6. 多样化的系统环境: Windows的系统环境可以说是千篇一律。这种巨大的一致性让攻击者们在编写恶意代码、病毒或其它诸如此类的一些东西时显得得心应手。反过来,看一看Linux系统世界。在这里,应用程序可以是.deb、.rpm,或源代码,以及其它诸如此类的等等。这种差异性让攻击者们很难在Linux系统身上获得像Windows系统那样的广泛影响。