内网渗透防御:如何防御Hash注入攻击

渗透测试人员对Pass-the-Hash(PtH)攻击都很熟悉。我们常在渗透测试中用到它。如果你的职责包括网络入侵防御,你至少应该了解其攻击方法。不管你有多少经验,你对问题了解得可能不深,或许还不知道它是怎么解决的,注意是“解决”而不是“修复”。

概述
攻击者通过一定办法获取了Windows计算机的本地管理员权限,可以在内存中寻找其它本地或域内账户登录后的hash,因为电脑正在运行。这些hash可以“传递”(不需要破解)给其它的计算机或者服务,作为一种认证方法。

这意味着,一开始只攻破一个看起来不重要的服务器或工作站,由于域管理员账户为了执行一些支持任务,登录了这个机器,就可以在更高的水平攻破整个域。

PtH的问题
考虑下面比较常见的场景:

一个主机被攻陷(没重要价值)。

但是本地administrator账户和其它所有主机的密码相同。

攻击者从内存中获取了所有的hash,域管理员账户并不在里面。攻击者获取了所有的本地hash,包括administrator账号的。

攻击者使用获取的本地administrator的hash,利用PtH登录了其它的主机,然后重复这个过程(也被称为hash喷射攻击)。在这个过程中,会得到一个本地和域用户的hash列表。

最终,一个主机会在内存中包含一个有权限的域账户,可以用于访问数据库,文件服务器,以及域控制器,然后再次使用PtH。

PtH并不是一个漏洞利用技术,它是Microsoft Windows提供的一个特性。因此,没有补丁。降低PtH攻击的风险是可以的,但是它需要对认证权限横向隔离。

域中对权限横向隔离
降低PtH攻击的风险,实际上是给管理员账户赋予有限的安全边界的问题。或者可以这样理解,最小化所有支持和管理账户的访问范围。

要遵守的策略是,尽量减少黑客获取域内账户之后攻破其它服务器或主机的数量。比如,攻破一个开发主机之后,不应该泄漏开发服务器(或者产品服务器,或者其它主机,或者域控制器)上的管理员账户。

下面是需要遵守的几个降低PtH攻击风险的步骤:

第0步:基础
确保所有的服务器、主机、笔记本或者其它开放网络端口的设备都安全加固了,确保禁用LM hash。

确保设置了非常强的密码策略。

请不要在任何地方重用密码,包括服务器或administrator账号。不要为服务账号设置简单的密码。

确保所有的本地administrator密码都是唯一的。

这将使攻击者在你的网络难以立足。没有hash就无法实施PtH攻击。

第1步:
应该定义安全边界,比如HR主机,开发主机,财务笔记本,DMZ服务器,测试服务器等等。越多越好。每个安全边界都应该设置一个对这个组里的所有主机有管理员权限的域账户(绝不可以是administraotr)。这个用户应该配置成不能访问其它主机或服务,最重要的是它不能是网络中其它任何设备的管理员。

这样做的原理是,攻破一个安全边界里的机器,并不会泄漏其它的安全边界。这是因为,任何被攻陷的高权限账号都无法访问其它边界内的主机。

第2步:
域administrator用户只能用于访问域控制器。每次使用这个账户都会留下一些痕迹,缓存的账号或者是LSA密钥等等。

如果攻击者想办法攻破了域控制器,那么游戏就结束了。所有的hash都可以提取,那时,PtH就变成了一个小问题。

第3步:
服务账户应该一事一议来考虑,只分配服务正常工作需要的权限。这在PtH攻击方面很有风险,我们经常利用它。

结论
hash注入是我们在渗透测试中常用的方法。它是网络渗透和扩展(可能也有提权)的一个有效办法。

正如前面讨论的,hash注入并不是一个漏洞,但是是微软提供的一个会被滥用的特性。因此,它无法修复,但是可以降低风险。这需要对域网络有一个合理的安全管理办法。

微软在2012年和2014年发表了两篇文章,名为《Mitigating Pass-the-Hash (PtH) Attacks and Other Credential Theft Techniques》和《Mitigating Pass the Hash Attacks and Other Credential Theft, version 2》。

最好使用网络访问控制,把访问管理服务(以及服务器)的权限限制在需要的主机上,这不是银弹但却有用。

本文转自d1net(转载)

时间: 2024-11-03 17:01:12

内网渗透防御:如何防御Hash注入攻击的相关文章

内网渗透-----如何打开突破口_安全教程

内网渗透的思想是源于特洛伊木马的思想---堡垒最容易从内部攻破,一个大型的网站,一个大型的公司,一个大型的目标,在外肉,管理员总会千方百计的加强防范和修补漏洞,常规的方法进去几乎是不可能. 内网渗透的突破口是我们如何得到一个内网的个人机或是内网的服务器,我个人的经验有三种,一是从外网分站渗透到内网,二是发木马信得到内网机器,三是利用取得信任得到内网机器. 一.从外网分站渗透到内网   通常一个大的站点都有很多分站,有很多我们未知的分站或是未知的站点目录,越大的站点展现在我们面前的机会就越多,可以

关于用pagekite实现linux内网渗透远程控制电脑的疑问

问题描述 关于用pagekite实现linux内网渗透远程控制电脑的疑问 本人纯菜,基本不动linux,有一台别人不用的linux机子,在家做下载机,想在办公室远程控制,但是家里无法获得公网ip,于是网上查说是可以做内网穿透什么的,可以用花生壳或ngrok,后来看了看还是最后发现还是ngrok的方法靠谱,但是无奈被墙,于是又发现了一个类似ngrok的pagekite.http://pagekite.net/ 上面介绍说可以.(每个月2G流量而且网速挺快感觉比花生壳要好,省了花生棒的钱)于是这样做

记一次内网渗透测试经历

话说刚开始接触安全测试时,没有一个系统的概念,前辈仍一个内网测试网站,让我把的shell拿下来,那我就开始吭哧吭哧的干起来. 首先,做渗透测试要有个思路,不能埋头苦干.所以就开始理了下思路,具体如下: 判断有无sql注入点,根据sql注入点来判断数据库类型,若是mssqlserver则查看存储过程xp_cmdshell 查看其是否被禁用,若没有被禁用,则直接在注入点后面直接使用xp_cmdshell 存储过程向系统中添加权限. 判断是否有上传漏洞,主要是上传asp等一句话脚本,先得到webshe

Windows内网渗透提权的几个实用命令

这不是一篇渗透测试指导,而是简单介绍了几个Windows内网提权的实用命令,以供我等菜鸟学习观摩,还望大牛包涵指导. 1.获取操作系统信息 识别操作系统名称及版本: C:\Users\thel3l> systeminfo | findstr /B /C:"OS Name" /C:"OS Version"   OS Name: Microsoft Windows 10 Pro  OS Version: 10.0.14393 N/A Build 14393  当然

BT5里Metasploit内网渗透实验

exploit/windows/smb/psexec 使用 BT5 破解入侵内部网络 目标IP地址192.168.111.135 (windows server 2003 sp2) bt5 的IP地址192.168.111.134 入侵条件:知道目标机器的ip  用户名  密码 因为非法测试是不允许的,所以我在虚拟机里面实验 首先,我们来查看bt5和win2k3的ip地址 进入msfconsole进行渗透实验 实验使用的漏洞是exploit/windows/smb/psexec

5.如何使主机和虚拟机IP处于同一网段(内网渗透专用)

先说一下正常流程: 1.打开虚拟机网络设置选项,选择桥接模式(Bridged)[如果是Kali 2.0的话,执行第一步后就OK了(90%)] 2.打开Kali里面的网络设置 3.设置一个ip4或者ip6的网络 4.设置网络,具体看箭头,ip设置在同一个网段就好了,其他的跟pc设置一样的 重启一下就ok了 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 有些绿化版的vware不管怎么设置都不行,这时候安装新的虚拟机就ok了,我送一个:

秘密渗透内网——利用 DNS 建立 VPN 传输隧道

本文讲的是秘密渗透内网--利用 DNS 建立 VPN 传输隧道, 摘要 在APT攻击日益严重的今天,只有不断了解并掌握更加高级且不寻常的攻击手法,才能在内网沦陷之前做好严密的防护.利用DNS建立VPN连接进行网络传输用的正是一种非常隐蔽且不寻常的手法. 概述 当我们被IDS或者防火墙阻断的时候,我们通常开始使用 [DNSCat] 作为一种在约定期间秘密传输数据的手段.同时,DNS 协议经常被系统管理员所忽视,因此,这个工具就一直非常有用.   虽然也有其他的 DNS 隧道连接VPN的解决方案,但

内网域渗透之无管理员权限的重要信息搜集

本文讲的是内网域渗透之无管理员权限的重要信息搜集,经常被遗忘(或被误解)的一个事实是,大多数对象及其属性可以被验证的用户(通常是域用户)查看(或读取).管理员可能会认为,由于通过管理工具(如"Active Directory用户和计算机"(dsa.msc)或"Active Directory管理中心"(dsac.msc))可以轻松访问此数据,因此其他人就无法查看用户数据(超出了Outlook的GAL中暴露的内容).这通常导致密码数据被放置在用户对象属性或SYSVOL

利用被入侵的路由器迈入内网

去年开始利用路由器对目标内网进行渗透的方式方法开始研究,测试了一阵了.看到乌云之前有一篇翻译外国人的文章,讲路由器流量劫持的,利用条件苛刻,成效也不大.所以决定写一篇自己实测的例子. 0x01 控制路由器 现在只搞cisco的路由器,但是方法不限于cisco,华为,juniper什么的都可以. 这一步没有什么好的办法,我们利用分布式扫描抓到了一些路由器,再加上其他的漏洞,有了一定数量作为测试保证. 选择一台 cisco c800系列的小企业路由器(很老了) 图1 router version 进