欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

metasploit渗透学习日记一

程序员文章站 2022-04-22 11:04:33
PTES(渗透测试)标准中的渗透测试阶段   PTES标准中的渗透测试阶段是用来定义渗透测试过程,并确保客户组织能够以一种标准化的方式来扩展一次渗透测试。   1、...
PTES(渗透测试)标准中的渗透测试阶段

 

PTES标准中的渗透测试阶段是用来定义渗透测试过程,并确保客户组织能够以一种标准化的方式来扩展一次渗透测试。

 

1、情报收集

社交媒体网络

Google Hacking技术

目标系统踩点

最为重要的一项技术是对目标系统的探查能力,包括获知它的行为模式、运行机理,以及最终可以如何被攻击。

 

2、威胁建模阶段

威胁建模主要使用你在情报搜集阶段所获取到的信息,来标识出目标系统上可能存在的安全漏洞与弱点。在威胁建模时,你将确定最为高效的攻击方法、你所需要进一步获取到的信息,以及从哪里攻破目标系统。

 

3、漏洞分析阶段

一旦确定最为可行的攻击方法之后,你需要考虑你该如何取得目标系统的访问权。在漏洞分析阶段,你将综合从前面的几个环节中获取到的信息,并从中分析和理解哪些攻击途径会是可行的。特别是需要重点分析的端口和漏洞扫描结果。

 

4、渗透攻击阶段

渗透攻击的时候,最好是在你基本能确信特定渗透攻击会成功的时候,才真正对目标系统实施这次渗透攻击,不能进行大量漫无目的的渗透尝试,这种方式将会造成大量喧闹的报警。

 

5、后渗透攻击阶段

后渗透攻击阶段是一个关键环节,后攻击阶段将以特定的业务系统作为目标,识别出关键的基础设施,并寻找客户组织最具价值和尝试进行安全保护的信息和资产。分析攻陷的服务器用途,寻找有价值的信息。

 

渗透测试类型

 

白帽测试

黑盒测试

 

漏洞扫描器

漏洞扫描器是用来找出指定系统或应用中安全漏洞的自动化工具。漏洞扫描器根据目标系统的指纹信息来判断其类型和版本,以及上面运行的所有服务。

 

Metasploit 基础

 

通用安全述语

 

渗透攻击(Exploit)

渗透攻击是指由攻击者或者渗透测试者利用系统、应该或服务中的安全漏洞,所进行的攻击行为。

流行的攻击技术包括:缓冲区溢出、Web应用程序漏洞攻击(SQL注入),以及利用配置错误等。

 

攻击载荷(Payload)

攻击载何是我们期望目标系统在被渗透攻击后而执行的代码。在Metasploit框架中可以*的选择、传送和植入。比如,反弹式shell是一种从目标主机到攻击主机创建网络连接,并提供命令行shell的攻击载荷。bind shell攻击载荷则在目标主机上将命令行shell绑定到一个打开的监听端口,攻击者可以连接这些端口来取得shell交互。

 

溢出代码(Shellcode)

shellcode是在渗透攻击时作为攻击载荷运行的一组机器指令。shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了shellcode这一组指令后,才会提供一个命令行shell或者Meterpreter shell,这也是shellcode名称的由来。

 

模块(Module)

在Metasploit中,一个模块是指Metasploit框架中所使用的一段软件代码组件。在某些时候,你可能会使用一个渗透攻击模块(Exploit module),也就是用于实际发起渗透攻击的软件组件。而在其它时候,则可能使用一个辅助模块(auxiliary module),用来扫描一些诸如扫描或系统查点的攻击动作。

 

监听器(Listener)

监听器是Metasploit中用来等待连入网络连接的组件。举例来说,在目标主机被渗透攻击之后,它可能会通过互联网回连到攻击主机上,而监听器组件在攻击主机上等待被渗透攻击的系统来连接,并负责处理这些网络连接。

 

Metasploit用户接口

 

Metasploit软件为它的基础功能提供了多个用户接口,包括终端、命令行和图形化界面。除了这些接口之外,功能程序(utilities)则提供了对Metasploit框架中内部功能的直接访问,这些功能程序对于渗透代码开发,以及在一些你不需要的整体框架灵活性的场合中非常有价值。

 

MSF终端

 

MSF终端(msfconsole)是目前Metasploit框架最为流行的用户接口。

 

启动MSF终端

# cd /opt/framwork3/msf3

/opt/framwork/msf3# msfconsole

 

访问终端的帮助文件,输入help 并加上你感兴趣的metasploit命令

 

msf> help connect

 

MSF命令行

 

msfcli -h  显示帮助

 

msfcli -O 显示选项

msfcli -P 显示载荷

msfcli -E 执行

 

Armitage

 

Metasploit框架中的armitage组件是一个完全交互的图形化用户接口。

 

Metasploit功能程序

 

MSF攻击载荷生成器(msfpayload)

 

MSF攻击载荷生成器允许你能够生成shellcode、可执行代码和其他更多的东西,也可以让它们在框架软件之外的渗透代码中进行使用。

shellcode可以生成包括C、Javascript、甚至web应用程序中visual basic脚本在内的多种格式,每种格式在不同的场景中使用。

 

POC 概念验证代码

 

MSF编码器(msfencode)

由MSF攻击载荷生成器产生的shellcode是完全可以运行的,但是其中包含了一些null空字符,在一些程序进行解析时,这些空字符会被认为是字符串的结束,从而使得代码在完整执行之前被截断而终止运行。简单来说,这些\x00和\xff字符会破坏你的攻击载荷。

另外,在网络上明文传输的shellcode很可能被入侵检测系统和杀毒软件所识别,为了解决这一问题,metasploit的开发者们提供了MSF编码器,对原始攻击载荷进行编码,来避免坏字符以及逃避杀毒软件和IDS的检测。