20169308 2016-2017-2 《网络攻击与防范》第7周学习总结
教材学习内容总结
本周主要学习教材第七章Windows操作系统安全攻防,介绍Windows平台上的系统攻击技术,以及抵御这些攻击的安全机制、防范方法和措施。
Windows系统架构
- Windows操作系统的基本结构
- Windows操作系统内核中实现的核心机制:Windows进程和线程管理机制、Windows内存管理机制(Windows的虚拟内存空间分为系统核心内存区与用户内存区间两部分,系统核心内存用于映射内核、HAL、Win32k.sys等内核执行模块,并存储内核内存对象,对于内核中运行的特权代码,则可通过DKOM技术来进行枚举和操纵)、Windows文件管理机制(NTFS)、Windows注册表管理机制(注册表中的系统自启动挂接点上注册的应用软件可以随系统引导而自动运行,因此也是很多恶意代码及流氓软件普遍的攻击目标)、Windows的网络机制(从OSI网络参考模型的物理层到应用层,各层上对应的Windows网络组件模块包括如下:①各层网卡硬件的设备驱动程序,处于OSI参考模型的物理层②NDIS库及miniport驱动程序,位于OSI链路层③TDI,对应OSI网络层与传输层④网络APIDLL及TDI客户端,对应OSI会话层与表示层⑤网络应用程序与服务进程,对应OSI应用层)。
Windows系统安全架构和机制
- Windows安全体系结构
- 1、Windows操作系统基于引用监控器模型来实现基本的对象安全模型。
- 2、Windows操作系统中最为核心的是位于内核中的SRM安全引用监控器以及位于用户态的LSASS安全服务。
- Windows机制:三个基本安全功能(Windows身份认证机制、Windows授权与访问控制机制、Windows安全审计机制)和Windows的其他安全机制
Windows远程安全攻防技术
-
目前Windows远程攻击技术可以分为:远程口令猜测与破解攻击、攻击Windows网络服务、攻击Windows客户端及用户
-
Windows系统的安全漏洞生命周期
- 1、windows安全漏洞发现,利用与修补过程
- 2、安全漏洞公开披露信息库:CVE,NVD,SecyrityFocus,OSVDB
- 3、针对特定目标的渗透测试攻击过程:漏洞扫描测试、查找针对发现漏洞的渗透代码、实施渗透测试
- 4、使用metasploit软件实施渗透测试:用户接口(CLI、Console,web,GUI)
-
Windows远程口令字猜测与破解攻击
- 1、远程口令猜解:SMB协议(tcp445、tcp139),其他包括WMI服务、TS远程桌面终端服务,MY SQL数据库服务、SharePoint。
工具包括:Legion、enum、smbgrind、NTScan、XScan、流光 - 2、远程口令字交换通信窃听与破解:NTLM、Lanman、NTLMV2和kerberos网络认证协议的弱点。
- 3、远程口令猜解的防范:关闭不必要的易受攻击的网络服务、配置主机防火墙来限制某些端口服务、网络防火墙限制这些服务的访问、禁用过时且有安全缺陷的Lanman和NTLM、指定强口令策略。
- 1、远程口令猜解:SMB协议(tcp445、tcp139),其他包括WMI服务、TS远程桌面终端服务,MY SQL数据库服务、SharePoint。
-
网络服务远程渗透攻击:针对NETBIOS服务的著名漏洞和攻击、针对SMB服务的著名漏洞和攻击、针对MSRPC服务的著名漏洞和攻击、针对windows系统上微软网络的远程渗透攻击、针对windows系统上第三方服务的远程渗透攻击。
防范措施:最基本的是尽量避免与消除这些渗透攻击所依赖的服务软件安全漏洞。
Windows本地安全攻防技术
-
本地特权提升:利用操作系统内核、特权用户启动程序中安全缺陷与漏洞,原因是服务器和桌面系统没有即时进行补丁更新。
-
敏感信息窃取
- 1、Windows系统口令密文提取技术(拷贝口令密文文件、rdisk工具备份、pwdumpx从SAM文件或者活动目录中提取口令密文)
- 2、Windows系统口令字破解技术(L0phtCrack、John the Ripper、Cain)
- 3、用户敏感数据窃取:find、findstr、grep、meterpreter
- 4、本地敏感信息窃取防范:选择高强度、高防御的口令,使用更安全的加密明文算法,安全配置策略。
-
Windows消灭踪迹
- 1、消灭踪迹:关闭审计功能、清理事件日志。
- 2、防范措施:事先设置系统审计和网络服务审计,日志记录在不可擦除的CDROM上。
-
Windows远程控制与后门程序
- 1、远程控制:命令行远控工具(Netcat,psexec,meterpreter),图形化远控工具(VNC,RemoteAdmin,PCanyware)
- 2、后门程序:国外(BO、BO2K),国内(冰河、灰鸽子、广外女生、PCshare、磁碟机、机器狗等)
- 3、防范措施:后门检测软件、杀软、rootkitrerealer、IcSword。
视频学习总结
KaliSecurity-漏洞利用之检索与利用
Searchsploit
这个项目是由Offensive Security发起的、基于exploit database官方漏洞数据库源的漏洞搜索工具,可以直接在终端搜索漏洞相关信息,如漏洞简介和漏洞验证/利用脚本,借助关键词搜索搜索漏洞信息以及漏洞对应的exp。
使用方法及参数
iKat
自动化开启不同的exp
KaliSecurity-漏洞利用之Metasploit基础
Metasploitable在渗透测试中经常被用到,实际上这套软件包括了很多工具,这些工具组成了一个完整的攻击框架。
- 启动服务
在Kali中使用metaaploie,需要先开启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 |grep "windows
这样的命令查询。-o 选项可以列出payload所需的参数。
msfencode
msf中的编码器,早期为了编码绕过AV,现常用msfpayload与它编码避免exploit中的坏字符串。
msfconsole
开启metasploit的concle -
操作示范
用nmap
对目标机服务版本扫描
search
匹配项
KaliSecurity-漏洞利用之Metapreter介绍
Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个meterpretershell的链接。
Meterpreter作为后渗透模块有多种类型,并且命令由核心命令和扩展库组成,极大地丰富了攻击方式。其有很多有用的功能。
常用命令:
background:将当前会话放置后台
load/use:加载模块
Interact:切换一个信道
migrate:迁移进程
run:执行一个已有模块,输入run后按两下teb,会列出所有的已有脚本。
Resource:执行一个已有的rc脚本常用的Meterpreter类型为:payload/windows/meterpreter/reverse_tcp
针对windows操作系统,反向连接shell,只用起来比较稳定。
- 生成Meterpreter后门
- 打开MSF,开启监听
use exploit/multi/handler
-
在目标机器上执行door.exe
-
通过help命令查看可执行的命令
-
常见命令使用,包括系统信息,抓取屏幕截图与抓取HASH等。
-
目录浏览
-
键盘监听
-
扩展工具,load/use之后再输入help,就可以了看到有关这个模块的命令的说明了
-
扩展工具之Minikatz,抓取本地密码明文
KaliSecurity-漏洞利用之Metasploit后渗透测试
-
在跳板机获取一定权限后,需要积极的向内网主机权限发展,获取指定目标信息,探查系统的漏洞,借助msf已得到的后门。
-
步骤:
查看当前网卡、网段信息ifconfig
添加路由表 run autoroute -s 10.0.0.1
。添加路由表和session关系后,则可用msf中模块跨网段扫描与攻击
开Socks代理 通过使用 auxiliary/sever/socks4a模块,创建一个 Socks代理,可以作为浏览器,Sqlmp,Namp等使用。
通过Background和sessions -i可以自由切换进入Session
输入run可以看到Meterpreter上可以做的很多命令
run post/可看到后渗透测试的模块
获取内网信息run arp_scanner -r 10.0.0.1/24
也可上传文件,做端口转发后续测试
端口转发 upload lcx.exe c:
KaliSecurity-漏洞利用之BeeF
在Kali下,BeeF是一个不逊色于XSS平台的工具。Beef是浏览器攻击框架的简称,是一款专注于浏览器端的渗透测试工具。
- 命令行下启动Beef
- 假设被测试主机由于XSS漏洞请求到
http://127.0.0.1:3000/demos/basic.html
页面
-
HOOK持续的时间为关闭测试页面为止,在此期间,相当于被控制了,可以发送攻击命令,在Commands模块,我们可以完成很多任务:
其中,四种颜色分别表示:
该攻击模块可用,但隐蔽性强
该攻击模块可用,但隐蔽性差
该用户模块是否可用还有待验证
该攻击模块不可用 -
选取MISC下Raw JavaScript模块作为测试用例
执行,查看返回结果,成功则显示
- Proxy功能
选中目标主机,点右键,在菜单中选中Use as Proxy;然后在Rider选项卡中的Forge Request编辑并发送想要发送的内容。
第六周测试错题总结
1、 中间人攻击可以破坏信息的机密性和完整性
2、 防火墙部署方式中,不能实现网络层和应用层双重安全的是包过滤路由器和双宿主堡垒主机
学习进度条
- 学习教材第7章
- 学习Kali视频26-30
参考资料
- [网络攻防技术与实践](http://book.douban.com/subject/6558082
/) (官网)