密码破解(仅供参考不可实践)

口令破解

口令安全威胁

-​概述

现在很多地方都以用户名(账号)和口令(密码)作为鉴权的方式,口令(密码)就意味着访问权限。口令(密码)就相当于进入家门的钥匙,当他人有一把可以进入你家的钥匙,想想你的安全、你的财务、你的隐私、害怕了吧。例如网站后台、数据库、服务器、个人电脑、QQ、邮箱等等

-​口令安全现状

@   弱口令

类似于123456、654321、admin123 等这样常见的弱密码。

@   默认口令

很多应用或者系统都存在默认口令。比如phpstudy的mysql 数据库默认账密[root/root],Tomcat 管理控制台默认账密[tomcat/tomcat]等。

@   明文传输

比如http、ftp、telnet 等服务,在网络中传输的数据流都是明文的,包括口令认证信息等。这样的服务,就有被嗅探的风险。

 

破解方式

-​暴力破解

暴力破解就是利用所有可能的字符组成密码,去尝试破解。这是最原始,粗暴的破解方法,根据运算能力,如果能够承受的起时间成本的话,最终一定会爆破出密码。下表是不同字符集合不同位数密码的数量。

字符集

密码位数

密码空间

[0-9]

8 位

10^8=100000000

[0-9][a-z]

8 位

36^8=2821109907456

[0-9][a-z]

1-8 位

??

 

下图为用真空密码字典生成器,生成的1到8位数的小写字母和数字字典,约占用空间。

 

-​字典破解

​如果能通过比较合理的条件,筛选或者过滤掉一些全字符组合的内容,就会大幅降低爆破的成本。我们把筛选出的密码组合成特定的字典。在用字典爆破密码也是可以的,但是这样做有可能会漏掉真正的密码。密码字典大致分为以下几类。

 

​@​弱口令字典 

​比如123456,admin 等这样的默认口令或弱口令。

 

​@​社工字典 

​人们在设置密码的时候,往往为了便于记忆,密码的内容和组合会与个人信息有关,比如常见的密码组合“名字+生日”。社工字典更具针对性,准确率也比较高。

下图为,根据提供的用户信息,使用亦思社会工程学字典生成器生成的用户可能使用的密码,通过此字典进行密码破解。

 

 

​@​字符集字典

​如果能确定密码的字符集合,也将大大降低爆破的成本。

 

windows口令破解

-​windows口令远程爆破

​我们可以通过NTScan 工具远程爆破windows 口令

工具

NTScan

使用场景

本地网络(局域网)

支持模式

139/445| 支持IPC/SMB/WMI 三种扫描模式

字典文件

NT_user.dic/NT_pass.dic

 

如何防止NTscan 扫描?

secpol.msc

本地策略-->安全选项-->网络访问:本地账户的共享和安全模式属性-->仅来宾模式。

-​windows账户hash值破解

​除了可以从远程爆破windows 密码,我们还可以在本地破解windows 密码。本地windows 账户破解主要有两种方式。

 

@ 从内存中读取windows 密码

我们可以是用getpass 直接从windows 系统内存中读取庄户密码。

 

@ windows hash 值破解

windows hash 值破解一共需要两步操作。首先我们使用QuarksPwDump工具读取(导出)windows 账户密码hash 值,然后再使用SAMinside 工具破解hash 值。

 

 

实验:windows 口令远程爆破

-​环境说明

win7

攻击机

桥接

与win2008 同一内网

win2008

靶机

桥接

10.10.20.60

 

使用NTScan进行扫描之前,查看密码字典。

 

​用户名字典。

 

-​配置NTscan

输入起始IP,其他默认保持不变,点击开始,等待扫描结束。如果爆破密码,会出现在软件的下方。

由此可见,我们已经爆破出来windows2008的账密[administrator/123.com]。

-​深度利用

左键点击这个地址,会出现一个Connect,点击可以进入一个NTcmd界面。

 

我们可以在NTcmd中输入命令,如下图:

此时密码破解成功,可以看到我们为system权限。

 

实验:windows hash 值破解

-​导出windows 密码hash 值

先在windows7虚拟机中打开一个cmd窗口,把QuarksPwDump这个软件托到命令行中。

 

拖到命令行之后,回车出现以下界面:

 

我们需要进入到QuarksPwDump软件所在的根目录

 

输入QuarksPwDump.exe –dhl命令,导出windows 账户hash 值。注:在导出hash值时,会闪退一下,重新操作一遍会看到以下内容。

 

将得到的hash值复制到hash.txt文档中。

 

-​使用SAMside 破解hash 值

打开SAMinside软件,破解hash值,具体使用方法见下图。

 

将我们的hash.txt文件打开。

 

打开文件后,就会自动将我们的windows7的密码破解出来了。

 

​由于我们本课程中的素材使用的密码比较简单,所以直接会显示出密码,实际上SAMside 支持暴力破解、字典破解、掩码攻击等方式。

 

 

linux口令破解

​linux 口令破解,也分远程破解与本地破解。远程破解主要是爆破ssh 服务,属于在线密码攻击。本地破解需要拿到linux 的shadow 文件,进行hash 值破解,属于离线密码攻击。

-​破解SSH服务

​我们使用hydra 攻击破解ssh 服务,hydra 攻击已经自动集成在kali 虚拟机中。命令如下

 

hydra -l root -P /root/dic/test_pwd.dic 10.10.20.79 ssh -vV

 

在命令行输入hydra,出现以下内容

可以看到,我们的hydra是8.3版本的。

 

准备两个字典,test_pwd.dic和test_user.dic,由于做实验,可以自己编写一个用户名字典和密码字典

 

将kali虚拟机接为桥接模式,用ifconfig命令查看IP地址,并输入命令hydra -l root -P /root/dic/test_pwd.dic 10.10.20.79 ssh -vV爆破ssh服务密码。

 

-​本地shadow文件破解

​我们可以使用john 工具,破解shadow 密码文件。

​john 有windows 版和linux 版本。john 也是自动集成在kali 中。john 破解的时候也需要准备一个字典。

 

  john 的具体命令如下 

 

john --wordlist=/root/dic/test_pwd.dic /etc/shadow 

john --show /etc/shadow

 

网络服务口令破解

​在渗透测试中,我们同样会对各种服务的口令进行审计。

-​破解MSSQL 口令

本实验,需要搭建一个SQL server2000服务管理器,开启后在kali虚拟机中输入以下命令:

hydra -l sa -P /root/dic/test_pwd.dic 10.10.20.87  mssql -vV

-​破解RDP口令

​@​开启RDP 服务

右键计算机à属性à远程设置à远程à勾选运行任意版本远程桌面的计算机连接。

 

使用命令netstat -an 查看3389端口是否开启。

 

@​打开kali虚拟机输入以下命令,进行爆破

hydra -l administrator -P /root/dic/test_pwd.dic 10.10.20.75 rdp -vV

 

-​破解FTP口令

打开我们的kali虚拟机,输入以下命令:

hydra -L /root/dic/test_user.dic -P /root/dic/test_pwd.dic 10.10.20.81 ftp -vV

进行爆破FTP服务器

 

​结果如下

 

在线密码查询网站

​在线密码查询网站主要是查询md5 hash 值得。这样的网站有:

www.cmd5.com

pmd5.com

 

附录:FTP 服务器的搭建

-​搭建FTP 服务器

准备一台windows2003虚拟机,并在虚拟机中搭建FTP服务器。具体的FTP服务器搭建过程见网络部分。

 

-​新建FTP 站点

FTP搭建完成后,需要新建FTP站点,具体操作如下:

 

配置完成后,点击应用,然后确定。

-​添加账户

添加用户,开始--控制工具--计算机管理。

 

系统工具---本地用户和组--用户--右键 新用户

 

-​设置权限

打开FTP站点--右键权限

 

为刚刚添加的用户设置权限。

 

重启一下FTP站点,然后使用netstat -an命令,查看21端口是否开启。

你可能感兴趣的:(笔记)