1.第六周作业
2.黑帽子6、9章代码
Burp模糊测试
利用网站内容生成密码字典
基于浏览器的中间人攻击
报错即解决:
3.《网络攻防技术》第七章
2.1 Windows操作系统的基本结构
Windows操作系统内核的基本模块:Windows执行体、Windows内核体、设备驱动程序、硬件抽象层、Windows窗口与图形界面接口内核实现代码、系统支持进程、环境子系统服务进程、服务进程、用户应用软件、核心子系统DLL。
Windows的虚拟内存空间分为系统核心内存区间和用户内存区间。
在32位的Windows系统中,2GB4GB区间为系统核心内存,0GB2GB区间为用户态内存。
Windows的文件管理系统早期是FAT,由于安全性弱,被NTFS所取代。
注册表中的系统自启动挂接点(ASEP)上注册的应用软件可以随系统引导而自动运行,因此也是很多恶意代码及流氓软件普遍的攻击目标。
Windows网络组件模块:各种网卡硬件的设备驱动程序、NDIS库及miniport驱动程序、TDI传输层,也称为网络协议驱动、网络API DLL及TDI客户、网络应用程序与服务进程。
2.2 Windows操作系统的安全体系结构与机制
Windows安全体系结构
Windows操作系统的安全设计目标是采用一致的、健壮的、基于对象的安全模型。
Windows操作系统基于引用监控器模型(RM)来实现基本的对象安全模型。
引用监控器模型(RM)最为核心的是位于内核中的SRM安全引用监控器,以及位于用户态的LSASS安全服务。
Windows身份认证机制
Windows操作系统的安全主体:用户、用户组、计算机。
对于每个安全主体,以时间和空间上都全局唯一的SID安全标识符来进行标识。
本地Administrator和SYSTEM账户拥有最高的权限。
Windows系统的内建用户组包括:本地最高权限用户组administrators、具有单一方面系统权限的Account/Backup/Sever/Print Operators等操作组、用于容纳服务账户的Network Service与Local Service用户组,以及所有用户账户所在的User组等。
Windows用户账户的口令字经过加密处理之后被保存于SAM或者活动目录AD中。
即使是Administrator账户,通过正常途径也不能直接读取SAM,只有LocalSystem账户权限才可以读取。
Windows支持本地身份认证和网络身份认证两种方式。
Winlogon进程、GINA图形化登录窗口与LSASS服务通过协作来完成本地身份认证过程。
网络身份认证使用的协议:LANMAN协议、NTLM协议、NTLMv2协议、Kerberos协议。
Windows授权与访问控制机制
Windows的授权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同来实施。
对象安全描述符的主要属性:Owner SID、Group SID、DACL自动访问控制列表、SACL系统审计访问控制列表。
Windows安全审计机制
LSASS服务保存审计策略。
SRM对指定的对象访问和操作事件进行审计记录,发送给LSASS服务。
EventLog服务将事件日志写入日志文件中,也可以作为第三方审计日志分析工具的分析输入数据源。
Windows的其他安全机制
Windows基本安全功能特性:身份认证、授权与访问控制、安全审计。
Windows安全中心集成了对于保护Windows系统安全稳定运行最为关键的三项安全措施:防火墙、补丁自动更新、病毒防护。
配置Windows系统的安全策略,需要用户在安全需求及易用性中找到平衡。
2.3Windows远程安全攻防技术
Windows远程攻击技术分类:远程口令猜测与破解攻击、攻击Windows网络服务、攻击Windows客户端及用户。
Windows系统的安全漏洞生命周期
系统安全的本质核心在于安全漏洞、渗透攻击及安全监测防御机制之间的攻防博弈与竞赛。
典型的渗透攻击过程包括:漏洞扫描、查找针对发现漏洞的渗透代码、实施渗透测试。
metasploit的基础核心是以Ruby语言编写的metasploit framework(MSF)库。
metasploit包含的模块:
- 利用安全漏洞的Exploits模块
- 进行扫描、查点等其他辅助任务的Auxiliary模块
- 在目标系统上植入和运行的Shellcode攻击负载Payloads模块
- 对攻击负载进行编码以躲避检测的Encoders模块
- 对攻击负载进行填充的Nops模块
Metasploit提供多种用户接口,包括Console交互终端、命令行程序运行、Web交互界面以及GUI图形化界面。
Windows远程口令猜测与破解攻击
SMB协议通常运行于TCP445与TCP139端口。
远程口令字攻击的方法:远程口令字猜测、窃听网络上的口令字交换通信实施破解。
Windows进行网络身份认证时使用的协议:
- LanMan。是Windows在NT5.x之前使用的认证协议。
- NTLM 。是Windows为了替代LanMan协议而在NT5.x中开始引入的
- Kerberos。Windows在域环境中使用安全的KerBeros协议
远程口令猜测与破解最根本的防御措施是通过安全培训与教育来让网络中每个用户都能够设置较高安全强度的口令。
技术方面的防御措施: - 尽量关闭不必要开放的易受远程口令猜测攻击网络服务
- 配置主机防火墙来限制对上述端口的服务
- 利用网络防火墙来限制到这些服务的访问
- 禁用过时而且存在本质上安全缺陷的LanMan与NTLM
- 管理员可以制定和实施强口令字策略,设置账户锁定阈值,最后还可以在系统上激活帐户登录失败事件审计功能。
Windows网络服务远程渗透攻击
Windows操作系统默认开放135(TCP)、137(UDP)、138(UDP)、139(TCP)与445(TCP)端口。
默认开放端口著名漏洞及攻击案例:
- 针对NetBIOS网络服务的著名漏洞及攻击
- 针对SMB网络服务的著名漏洞及攻击
- 针对MSRPC网络服务的著名漏洞及攻击
- 针对Windows系统上微软网络服务的远程渗透攻击
- 针对Windows系统上第三方网络服务的远程渗透攻击
网络服务远程渗透攻击防范措施: - 从软件设计开发根源上尽可能减少安全漏洞的出现。
- 作为系统的使用者和管理员,应尽可能快地更新与应用软件安全补丁。
- 在安全漏洞从被意外公布和利用到补丁发布的这段“零日”漏洞时间,管理员对安全敏感的服务器应该测试和实施科永的攻击缓解配置。
- 利用服务软件厂商及社区中提供的安全核对清单来对服务进行安全配置。
- 通过漏洞扫描软件来标识网络中存在的已知安全漏洞并及时修补。
2.4Windows本地安全攻防技术
Windows本地特权提升
GetAdmin系列曾经是在WindowsNT4.x版本上非常流行的提权攻击工具。
metasploit的MeterPreter模块集成了本地特权提升的功能,可以利用其getsystem命令实现提权。
本地获取口令字密文的途径:
- 从另一种操作系统启动后拷贝文件系统中的口令密文文件。
- 利用硬盘修复工具包中的rdisk工具,执行rdisk/s-命令创建SAM备份文件副本。
- 使用pwdumpX系列工具直接从SAM文件或活动目录中提取口令字密文。
LSA Secrets收录如下信息: - 某些服务账户的明文口令字
- 本季系统最近10位用户的口令字密文
- FTP、Web用户的明文口令字
- RAS远程访问服务拨号账户的名字和口令字
- 用来访问域控制器的计算机账户和口令字密文
Windows消踪灭迹
Windows Resource Kit工具包里的auditpol程序可以让他们轻易地关闭审计功能。
使用Event Viewer事件查看器来打开、读取和清除这台主机上的事件日志。
使用metasploit中的MeterPreter模块所支持的IRB shell脚本功能,可以删除整个目标系统事件日志记录。
消踪灭迹的防范措施:将日志记录到cdrom或者传输到安全的日志服务器中,也可以定期备份。
Windows远程控制与后门控制
第三方的远程控制和后门程序主要分为:命令行远程控制工具、图形化远程控制工具。
Netcat工具是攻击者们最常用的命令行远程控制工具么可以通过“nc-L-d-e cmd.exe-p 80”命令启动后门服务,监听所配置的TCP 80端口,并绑定cmd.exe这个Shell程序,当攻击者使用Netcat作为客户端连接目标主机的80端口时,就可以通过网络直接访问到目标主机上的cmd.exe来执行任意的操作。
Meterpreter的设计目标包括如下:隐蔽性、设计功能强大、灵活可扩展。
防御者可以采用一些后门检测软件来尝试发现攻击者隐藏的后门程序。
4.Kali视频学习(26-30)
26.漏洞利用之检索与利用
searchsploit可以借助关键词搜索漏洞信息以及漏洞对应的exp。
searchsploit wordpress列出了漏洞和文件地址。
ikat自动化开启不同的exp,等待目标访问中招。termineter旨在评估智能电表的安全性。
27.KaliSecurity 漏洞利用之Metasploit基础
Metasploit在渗透测试中经常被用到。这套软件包括了很多工具,这些工具组成了一个完整的攻击框架。
- 启动服务
- 路径介绍
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。 - 测试用例
扫描靶机:nmap -sV 192.168.199.162
搜索漏洞:
28.KaliSecurity 漏洞利用之Meterpreter介绍
- 生成Meterpreter后门
29.KaliSecurity 漏洞利用之Metasploit后渗透测试
在跳板获取一定权限后,需要积极地向内网主机权限发展,获取指定的目标信息,探查系统漏洞,借助msf已经得到的Meterpreter后门,可以使后续的操作更容易。
- 查看当前网卡、网段信息
- 添加路由表 run autoroute -s
- 开socks代理
- 通过background和sessions -i可以自由切换进入session
- 输入run可以看到在meterpreter上做很多命令
- 通过run post/可以看到后渗透测试的模块
- 获取内网信息 run arp_scanner -r
30.BeeF
- 启动
- 测试
其中,四种颜色分别表示:
该攻击模块可用,但隐蔽性强
该攻击模块可用,但隐蔽性差
该用户模块是否可用还有待验证 - 代理Proxy功能