渗透攻击红队

一个专注于红队攻击的公众号

大家好,这里是 渗透攻击红队 的第 40 篇文章,本公众号会记录一些我学习红队攻击的复现笔记(由浅到深),不出意外每天一更

Hook PasswordChangeNotify

Hook PasswordChangeNotify 的作用是当用户修改密码后在系统中进行同步。

攻击者可以利用该功能获取用户修改密码时输入的密码明文。

在修改密码时,用户输入新密码后,LSA 会调用 PasswordFileter 来检查该密码是否符合复杂性要求,如果密码符合要求,LSA 会调用 PasswordChangeNotify,在系统中同步密码。

Hook PasswordChangeNotify

实验操作

Hook dll

下载连接:https://github.com/clymb3r/Misc-Windows-Hacking

使用 VS 2019的开发环境,MFC设置为在静态库中使用MFC编译工程,生成 HookPasswordChange.dll。

下载脚本:https://github.com/clymb3r/PowerShell/blob/master/Invoke-ReflectivePEInjection/Invoke-ReflectivePEInjection.ps1

首先需要 Invoke-ReflectivePEInjection.ps1 脚本将 HookPasswordChange.dll 注入内存,在目标系统中启动管理员权限的 Powershell:

Set-ExecutionPolicy bypassImport-Module .\Invoke-ReflectivePEInjection.ps1Invoke-ReflectivePEInjection -PEPath HookPasswordChange.dll -procname lsass

这个时候没有报错就说明成功了,最后我们手动改一次域控的密码:Admin123456

更改成功后,我们在 C:\Windows\Temp 可以找到文件:passwords.txt

此时可以看到域控的密码为:Admin123456

如果想要更改 passwords.txt 存放路径的话,那么更改 HookPasswordChange.cpp 代码的 132 行 为你想要生成的路径即可:

我修改为 windows.log 误以为让管理员知道是 log 文件,随后再次执行:

之后更改密码为:Admin1234567

这样就能在 windows.log 文件中查看到域控更改的密码!


防御措施

使用 Hook PasswordChangeNotify 方法不需要重启系统、不会在系统磁盘中留下 DLL 文件、不需要修改注册表。

如果 PasswordChangeNotify 被攻击者利用,网络管理员是很难检测到的。

防御措施就是:对 Powershell 进行严格的监视。


参考文章:

https://www.cnblogs.com/xiaoxiaosen/p/13537305.html

https://github.com/clymb3r/PowerShell

https://github.com/clymb3r/Misc-Windows-Hacking

渗透攻击红队

一个专注于渗透红队攻击的公众号

点分享点点赞点在看

改权限 chown改用户归属_域权限维持 | 改密码我也能获取你的密码 | Hook PasswordChangeNotify 攻击...相关推荐

  1. MySQL数据库的用户授权_查看权限

    文章目录 Mysql 的权限分类 权限数据的存储 每种权限的修改策略和作用范围 刷新权限 MySQL 提供的操作权限 授权语法格式 参考示例 授予用户拥有某个数据库的全部权限 授予用户拥有所有数据库的 ...

  2. linux命令 创建目录权限,linux创建用户并设置目录权限

    [TOC] <linux创建用户并设置目录权限>首发牧马人博客转发请加此提示 常用命令 用户列表文件:/etc/passwd 用户组列表文件:/etc/group 查看系统中有哪些用户:c ...

  3. linux权限s的作用,lqc|_高级权限控制之su、sudo、特殊权限s及t位、facl

    实验二:高级权限控制之su.sudo.特殊权限s及t位.facl 1)su切换用户 a.su的基本用法: su - u01 ##root-->u01,不需要密码 su - 或su - root ...

  4. 破解极域(4):万能密码法(可以获取到原密码)

    破解极域(4):万能密码法 1.思路 2.实现 2.1 获得密码 2.2 解除控制 2.3 特别注意 3.视频展示 今天来分享下破解极域的第4种方法--万能密码法 1.思路 首先,我们要知道的是,极域 ...

  5. ibm3400服务器改win7系统,dell3578win10改win7系统bios如何设置_戴尔win10改win7系统bios设置步骤...

    现阶段,大部分用户新入手的dell3578电脑大多默认安装win10系统,这对于使用习惯了win10系统用户来说又得需要一段时间的熟悉,因此,许多用户都会选择将自己的dell3578电脑win10系统 ...

  6. [SpringSecurity]web权限方案_用户授权_基于权限访问控制_基于角色访问控制_hasAuthority和hasAnyAuthority_hasRole和hasAnyRole

    基于角色或权限进行访问控制 hasAuthority 方法 如果当前的主体具有指定的权限,则返回 true,否则返回 false 在配置类设置当前访问地址有哪些 @Overrideprotected ...

  7. mysql权限控制禁止用户远程连接_mysql权限控制—新建用户允许其远程连接

    mysql为了保证安全性,在默认情况下,只允许在本地登录,在日常工作中,经常会需要用户远程连接使用该数据库,因此便需要创建新的用户,给其分配相应的权限,如下: 注:关键字都应该大写,尽量养成好习惯 创 ...

  8. java用户角色权限管理 只显示姓_扩展RBAC用户角色权限设计方案

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用 ...

  9. mysql 用户管理_mysql 用户管理及数据权限问题总结

    1.远程登录mysql mysql -h ip -u root -p 密码 2.创建用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码 ...

最新文章

  1. matlab下文件夹下所有文件改名
  2. JavaScript实现以数组形式返回斐波那契数列fibonacci算法(附完整源码)
  3. 公司app 从兼容Android 8.0 升级兼容9.0
  4. 购物车数据结构及本地存储技术
  5. Error creating bean with name ‘userController‘: Unsatisfied dependency expre
  6. 浅谈C#在网络波动时防重复提交
  7. 偶尔所得代码片(进程和锁相关)
  8. SurfaceGo使用体验(使用半年后)
  9. go build 无文件_Go学习_30_Golang代码性能分析工具
  10. 学生信息管理系统--毕业论文
  11. memcached 配置
  12. c语言统计大写英文字母的个数,c语言 对任意输入的字符串,统计其中的大写字母和小写字母的个数...
  13. Java流处理之高效读写的缓冲流
  14. 【Python 邮件合并 pandas mailmerge】
  15. 小节标题不跟着章节变化,教你彻底解决
  16. Shifting Sort(选择排序)
  17. ASP.NET Core 导出Excel文件
  18. HTML学习笔记4:如何给网页添加图片和超链接
  19. LintCode 488.快乐数
  20. 短视频搬运二次剪辑伪原创教程

热门文章

  1. 每日一皮:史上最直观的单向循环链表,还不懂算我输!
  2. 忘掉什么鬼并发,先听完这个故事!
  3. 使用级联功能实现蓝绿部署和金丝雀发布
  4. 系统设计经典题:手把手教你搭建一个IM(即时通讯) 系统
  5. 【实用】面对枯燥的源码,如何才能看得下去?
  6. android opencv 书籍,opencv android
  7. android 按钮放中间,Android实现button居中的方法
  8. asio 异步demo
  9. python 局域网共享
  10. SIFT,SURF,ORB,FAST 特征提取算法比较