Metasploit学习笔记

个人学习——Metasploit学习笔记1

认识metasploit

#Meatsploit渗透测试指南学习笔记#
学习目标:认识Metasploit工具


学习内容:

1、 初识渗透测试技术
2、 初始metasploit
3、 学习metasploit基础


1.初识渗透测试

渗透测试(Penetration Testing)是一种通过模拟攻击者的技术与方法,挫败目标系统的安全控制措施并且取得访问控制权的安全测试方式。

PTES将渗透测试过程分为七个阶段:

1.1 前期交互阶段

该阶段通常由渗透测试人员与客户进行讨论,确定渗透测试的范围以及客户的需求。

1.2 情报收集阶段

在该阶段,渗透测试人员需要采用各种方法来收集即将要攻击的客户需要的测试对象的所有信息。可使用万能的社交网络,以及强大的搜索隐形等等信息收集技术以及工具来收集测试对象信息。

1.3 威胁建模阶段

通过对在信息收集阶段搜获的信息进行分析找出测试对象系统上可能存在的安全问题。根据对象系统存在的安全问题拟定出高效的攻击方法,并且以攻击者的思维角度去进行攻击。

1.4 漏洞分析阶段

威胁建模阶段确定攻击方法之后,这一阶段应该思考如何获取测试对象的访问权限,并且综合前面几个阶段所获取的关键信息分析哪些进攻路线是可行的。(重点在于端口扫描和漏洞扫描的结果分析)

1.5 渗透测试攻击阶段

在确定一个可行的攻击路线之后,就可以对测试目标进行攻击,该阶段是最让人痴迷的阶段,虽然在该阶段之前已经确认了攻击手段,但测试目标往往会出现有一些测试人员没有想到的安全防护,列如IPS和IDS,防火墙等等。这些安全防护很可能会使渗透测试攻击失败。
1

1.6 后渗透攻击阶段

后渗透攻击阶段从你已经攻陷了一些系统或者域管理权限之后开始。该阶段是一个关键的环节,这也是最能体现出作为渗透测试人员水平的阶段。后渗透测试攻击阶段将以特定的系统为目标,,识别出关键的基础设置,寻找目标组织最具有价值和尝试进行安全保护的私密信息和资产,当你攻入另一个系统,你需要说明能够对客户造成影响的攻击途径。

1.7 报告阶段

学习笔记记这个,emmmmmmmmm

2.初始Metasploit

2.1 Exploit

指攻击者利用系统、应用和服务中的安全漏洞,所进行的攻击行为。列如:缓冲区溢出、Web应用程序漏洞攻击(SQL注入等等),利用配置错误等等。

2.2 Payload(攻击载荷)

指攻击者利用exploit攻击目标系统之后执行的代码,在Metasploit框架中可以执行,列如反弹shell(是一种从目标主机创建网络连接提供windows命令行shell的攻击载荷)、bindshell(在目标主机上将命令行shell绑定在一个特定的端口上,攻击者可以连接该端口来获取shell进行交互)等等

2.3 shellcode

shellcode是在渗透攻击时作为攻击载荷运行的一组机器指令。通常以汇编的形式编写,在目标系统执行shellcode之后才会提供一个shell或者meterpreter shell

2.4 module

这里指的是模块——metasploit框架中所使用的一段软件代码组件。metasploit中分为两类:exploit module和auxiliary module。前者用于渗透攻击,后者大部分用于扫描、系统差点等等

2.5 Listener(监听器)

Listener是metasploit用于等待网络链接的组件,列如目标主机会执行反弹shell,攻击主机就用listener进行处理这些网络链接

2.6 metasploit用户接口

2.6.1 MSF终端

Metasploit学习笔记

2.6.2 MSF命令行

在metasploit早期版本中,msfcli可以直接从命令行shell执行,允许使用者将其他工具的输出重定向至msfcli中,以及将msfcli的输出重定向给其他的命令行工具。

2.6.1 Armitage

在kali20版本中没找到这个命令

2.7 metasploit功能程序

2.7.1 MSF攻击载荷生成器

MSF攻击生成器允许使用者生成shellcode(shellcode可以生成C,js甚至应用程序中的visual basic脚本在内的多种格式)、可执行代码等,也可以它们在框架软件之外的渗透代码中进行。

2.7.2 MSF编码器

可用于对攻击载荷的重新编码,从而实现免杀,基本上都是修改病毒和木马特征码,借此绕过某些杀毒软件的扫描。在metasploit中包含了一系列可用于不同情况的编码器,可供渗透测试人员使用。