热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

KaliLinux渗透测试实战指南:第24章客户端安全威胁分析与防御策略

客户端安全威胁分析与防御策略主要探讨了终端设备(如计算机、平板电脑和移动设备)在使用互联网时可能面临的各种安全威胁。本章详细介绍了这些设备如何作为信息和服务的提供者或接收者,以及它们在与服务器等其他系统交互过程中可能遇到的安全风险,并提出了有效的防御措施。
客户端攻击

客户端(client)或主机(host)是指用来上网的终端设备,比如计算机、平板电脑或是移动设备。客户端可能会为其他客户端提供信息、服务及应用,或是从其他系统(比如服务器)获取信息。通常,属于客户端是指供人们使用的终端设备。然而,人的参与可能会引发一些了的漏洞。因此,客户端攻击这种方法就应运而生。由于它跟Web应用具有关联性,所以可以用来找出谁链接到了Web应用,系统上有哪些漏洞,以及这些系统是否可以成为从Web应用获取访问权限或信息的一种途径。

下面先会介绍如何通过社会工程来攻击主机。然后详细阐述如何在主机系统上找到漏洞,这样你就可以使用其他方法对漏洞进行利用了。

社会工程

社会工程师欺骗人们使其泄露信息的艺术。许多客户端攻击者都是据此来欺骗终端用户,使他们的系统暴露给攻击者。社会工程设计的范围很广,从拨打电话声称自己是某公司正式员工到在人人网上发个声称是某类服务的链接而实际上是欺骗客户的一种手段都是。

如果想要保障社会工程攻击能够成功,那么最佳的方式就是花时间充分的熟悉你的目标,也就是要学习用户是如何交流的,并尝试融入他们的环境。许多未能成功的社会工程学攻击都是因为采用通用的格式,而内容中没有能够吸引被攻击者用户的强有力的抓手,比如一些写的很糟糕的电邮总是声称获得了无人认领的奖金。

社会工程学攻击工具

这里我们就暂时不展开进行讲解了,到了后期我们会有一个专门关于社会工程学的讲解,到时候一定全面讲解。

获取和破解用户密码

根据定义,密码破解是指从计算机系统中存储或传送的数据中还原密码。密码是用来加固各类型系统的安全的。

获取密码最简单的方式就是通过社会工程学。

黑客破解密码的方式有:

  • 猜测:通常使用收集到的与目标有关的信息进行人工猜测
  • 字典攻击:使用自动化攻击,利用字典中所有可能的单词进行尝试
  • 暴力破解:使用所有可能的字符组合来破解
  • 混合模式:混合使用字典攻击和暴力破解
Kali中的密码破解工具

Kali提供了各种各样的工具来绕过密码安全。密码破解工具可以在密码攻击模块中找到,具体可以分为离线破解工具和在线破解工具本节将介绍在web应用渗透测试中危害主机系统的安全工具。

(1)Johnny

Johnny是流行的John the Ripper密码破解工具的一个图形化界面。同时Johnny也有命令行界面,Johnny有若干个引擎,这样他就可以破解不同类型的密码,包括加密过的密码和散列化处理过的密码。Johnny能够自动检测大多数散裂化的密码和加密过的密码,这点是的这个过程对渗透测试人员来说更简单。攻击者都喜欢这个工具,因为它的可定制性非常强,能以各种方式定制,以便于加快破解密码的速度。

John the Ripper按如下方式来工作:

  • 尝试用攻击字典来破解密码;
  • 尝试在字典单词的前面或后面添加上数字字符来破解
  • 将字典单词放在一起进行攻击
  • 将字母数字字符放到一起组成新的单词
  • 在字典单词中混入特殊字符来进行攻击
  • 当所有的ITA方法都失败了,尝试暴力破解


Option:选择攻击的类型

Statistics:显示某一个会话活动的时间

Setting:指定Johnny以何种方式运行

(2)hashcat和oclHashcat

hashcat 和oclHashcat是密码破解工具。oclHashcat是基于GPGPU的版本。hash/oclHashcat工具大多都是多线程工具。他们可以在单个攻击会话中并行处理多个散列和密码列表。hash/oclHashcat工具提供了多个攻击选项,比如暴力破解、密码合成、字典、混合、掩码和基于规则的攻击。

你可以在终端输入hashcat -h 来打开hashcat并查看其使用说明:


如果你要对一个文档进行hashcat,你可以输入:

hashcat [选项] 散列文件名 [单词文件|目录]

(3)samdump2

samdump2是一个用来转存微软的Windows中密码散列的SAM文件的工具,这样密码就可以用离线工具进行破解。对于较新版本的Windows,你可能需要借助其他工具来抓取SYSKEY(启动密文)文件,进而访问存在SAM数据库中的散列。


(4)chntpw

chntpw是Kali linux、BackTrack和其他linux发行版本中带有的一个工具。可以用它来重置Windows 8或早期的Windows版本中的本地密码,也可以修改Windows的密码数据库。不过,主要是用于在不知道密码的情况下入侵Windows系统。


使用说明如上所示

(5)Ophcrack

Ophcrack是一个机遇彩虹表的Windows密码破解器。Kali提供了一个命令行版本和一个图形化版本界面。Ophcrack可以从多种格式中导入散列,包括直接从Windows的SAM文件中直接转存。下面的截图显示的是可以直接加载到Ophcrack中的几种格式:


Ophcarack自带了彩虹表,如下面的例子所示。我们建议加载最新的彩虹表而不是默认的。彩虹表可以从在线资源中下载,比如开发者网站:http://ophcrack.sourceforge.net/tables.php

(6)Crunch

Crunch是一个用来生成密码列表的工具。如果你能够收集到有关目标如何创建密码的情报信息,那么这个工具会非常有用。举个例子,如果你抓去了两个密码并观察到目标都市用一个短语后跟随数字来作为密码,南无Crunch可以用来快速生成那个短语后跟所有可能的随机数字的密码列表。


Curnch有一些特殊标记字符,可以翻译成如下:

  • @ :插入小写字符
  • %:插入数字
  • ,:插入大写字符
  • ^ :插入符号

举个列子,假定我们已经知道目标在密码中用pass后跟两个不确定的字符。为了针对六位字符密码运行Crunch,我们会首先让pass后跟两位不确定的数字。可以用%%来代替任意数字。运行这个命令,并将输出放到一个名为newpasswordlist.txt的文本文件中,可用如下实例输入:


最后的字典内容为:


同理我们也可以根据以上的匹配规则来生成不同的字典序列。

Kali中的其他可用工具

Kali中也有其他有用的工具,我们只接受其中能够帮助危害主机系统、获取Web应用服务器的访问权限的工具。Kali中海油一些其他密码破解工具没有加到这个列表中;不过对这些工具的介绍不会在这里展开。

(1)Hash-idenifier

Hash-identifier(散列识别工具)是一个用来识别散列类型的基于python的工具。大多数密码破解工具如John the Ripper都自带了一个散列类型自动检测函数,这类函数都非常好用,在90%的情况下都是精确的。而这个工具可以用来手动验证某个散列类型。要使用Hash-identifier,可以运行这个工具,并粘贴你要识别的散列。


(2)findmyhash

findmyhash是一个免费的在线服务来破解密码的python脚本工具。在使用此工具时,你必须要先连接到Internet,之后你就可以根据题提供的使用说明进行破解密文了:


(3)CmosPwd

CmosPwd是用来破解BIOS的密码的。Cmospwd允许你擦除/清理、备份和恢复CMOS。


(4)creddump

creddump是一个python工具,用来从Windows的注册表中提取各种凭据和密码,creddump可以提取LM和NT散列(SYSKEY保护的)、缓存的域密码或LSA密码。


推荐阅读
  • 在 Linux 系统中,`/proc` 目录实现了一种特殊的文件系统,称为 proc 文件系统。与传统的文件系统不同,proc 文件系统主要用于提供内核和进程信息的动态视图,通过文件和目录的形式呈现。这些信息包括系统状态、进程细节以及各种内核参数,为系统管理员和开发者提供了强大的诊断和调试工具。此外,proc 文件系统还支持实时读取和修改某些内核参数,增强了系统的灵活性和可配置性。 ... [详细]
  • 掌握DSP必备的56个核心问题,我已经将其收藏以备不时之需! ... [详细]
  • Windows环境下详细教程:如何搭建Git服务
    Windows环境下详细教程:如何搭建Git服务 ... [详细]
  • IIS 7及7.5版本中应用程序池的最佳配置策略与实践
    在IIS 7及7.5版本中,优化应用程序池的配置是提升Web站点性能的关键步骤。具体操作包括:首先定位到目标Web站点的应用程序池,然后通过“应用程序池”菜单找到对应的池,右键选择“高级设置”。在一般优化方案中,建议调整以下几个关键参数:1. **基本设置**: - **队列长度**:默认值为1000,可根据实际需求调整队列长度,以提高处理请求的能力。此外,还可以进一步优化其他参数,如处理器使用限制、回收策略等,以确保应用程序池的高效运行。这些优化措施有助于提升系统的稳定性和响应速度。 ... [详细]
  • Linux学习精华:程序管理、终端种类与命令帮助获取方法综述 ... [详细]
  • 如何在Java中高效构建WebService
    本文介绍了如何利用XFire框架在Java中高效构建WebService。XFire是一个轻量级、高性能的Java SOAP框架,能够简化WebService的开发流程。通过结合MyEclipse集成开发环境,开发者可以更便捷地进行项目配置和代码编写,从而提高开发效率。此外,文章还详细探讨了XFire的关键特性和最佳实践,为读者提供了实用的参考。 ... [详细]
  • 题目描述:小K不幸被LL邪教洗脑,洗脑程度之深使他决定彻底脱离这个邪教。在最终离开前,他计划再进行一次亚瑟王游戏。作为最后一战,他希望这次游戏能够尽善尽美。众所周知,亚瑟王游戏的结果很大程度上取决于运气,但通过合理的策略和算法优化,可以提高获胜的概率。本文将详细解析洛谷P3239 [HNOI2015] 亚瑟王问题,并提供具体的算法实现方法,帮助读者更好地理解和应用相关技术。 ... [详细]
  • 如何创建和使用快捷链接:掌握打开链接的快捷方式技巧 ... [详细]
  • SQLmap自动化注入工具命令详解(第28-29天 实战演练)
    SQL注入工具如SQLMap等在网络安全测试中广泛应用。SQLMap是一款开源的自动化SQL注入工具,支持12种不同的数据库,具体支持的数据库类型可在其插件目录中查看。作为当前最强大的注入工具之一,SQLMap在实际应用中具有极高的效率和准确性。 ... [详细]
  • PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解
    PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解 ... [详细]
  • 深入解析 Spring MVC 的核心原理与应用实践
    本文将详细探讨Spring MVC的核心原理及其实际应用,首先从配置web.xml文件入手,解析其在初始化过程中的关键作用,接着深入分析请求处理流程,包括控制器、视图解析器等组件的工作机制,并结合具体案例,展示如何高效利用Spring MVC进行开发,为读者提供全面的技术指导。 ... [详细]
  • Django新手指南:第三步——构建你的首个项目
    在本教程中,我们将引导你完成创建第一个Django应用的步骤。通过实际操作,你将逐步了解Django框架的核心概念和基本功能。从项目结构到视图和模板的实现,我们将详细介绍每个环节,帮助你快速上手并构建出一个功能完整的Web应用。 ... [详细]
  • 本课程详细解析了Spring AOP的核心概念及其增强机制,涵盖前置增强、后置增强和环绕增强等类型。通过具体示例,深入探讨了如何在实际开发中有效运用这些增强技术,以提升代码的模块化和可维护性。此外,还介绍了Spring AOP在异常处理和性能监控等场景中的应用,帮助开发者更好地理解和掌握这一强大工具。 ... [详细]
  • RancherOS 是由 Rancher Labs 开发的一款专为 Docker 设计的轻量级 Linux 发行版,提供了一个全面的 Docker 运行环境。其引导镜像仅 20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在 ESXi 虚拟化平台上安装和配置 RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。 ... [详细]
  • 探讨 `org.openide.windows.TopComponent.componentOpened()` 方法的应用及其代码实例分析 ... [详细]
author-avatar
mobiledu2502876223
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有