Metasploit

专业术语
渗透攻击(exploit)
      测试者利用系统 程序 或者服务的漏洞进行攻击的一个过程
攻击载荷(payload)
      攻击者在目标系统上执行的一段攻击代码 该代码具有反弹链接 床架呢用户 执行其他系统   命令的过程

shellcode
在目标机器上运行的一段机器指令 成功执行后会返回一个shellcode

模块  module
是指meta框架中所使用的一段代码组建

监听器listener

监听器是用来等待介入网络连接的组建        
启动设置

service postgresql start
service metasploit start
msfconsole

进入后查看db_status查看数据库连接状态
workspace -a test 创建一个叫test的工作台
删除 -d
进入test工作台  workspace test

使用nmap
db_nmap -sS192.168.0.0 扫描主机
db_export 1.xml 导出扫描结果
db_import 1.xml 导入扫描结果

hosts 查看扫描结果

windows下  调用module

使用的版本共有635种溢出(exploit)模块,314种辅助(auxiliary)模块,215种加载(payload)模块,27种编码(encoder),8种nops。

exploits总的来说共分为两类溢出(exploit)攻击方法,即主动溢出和被动溢出。主动溢出是针对目标主机的漏洞主动的进行攻击以获得控制权限,被动溢出是针对目标主机被动的监听然后获得相应的操作。在所有的exploit中,针对windows平台的最多,比其它所有平台的总和还要多。

缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢出的数据覆盖在合法数据上,理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下隐患.操作系统所使用的缓冲区又被称为"堆栈". 在各个操作进程之间,指令会被临时储存在"堆栈"当中,"堆栈"也会出现缓冲区溢出。

缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用程序中广泛存在。利用缓冲区溢出可民导致程序运行失败、系统死机、重新启动等后,也可以利用其获得非授权指令,甚至系统特权,进而进行各种非法的操作。

在当前网络与分布式系统安全中,被广泛利用的50%以上都是缓冲区溢出。缓冲区溢出中,最为危险的是堆栈溢出,因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害一种是程序崩溃导致拒绝服务,另外一种就是跳转并且执行一段恶意代码,比如得到shell,然后为所欲为。

通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。

随便往缓冲区中填东西造成它溢出一般只会出现"分段错误"(Segmentation fault),而不能达到攻击的目的。最常见的手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令。如果该程序属于root且有suid权限的话,攻击者就获得了一个有root权限的shell,可以对系统进行任意操作了。

缓冲区溢出攻击之所以成为一种常见安全攻击手段其原因在于缓冲区溢出漏洞太普遍了,并且易于实现。而且,缓冲区溢出成为远程攻击的主要手段其原因在于缓冲区溢出漏洞给予了攻击者他所想要的一切:植入并且执行攻击代码。被植入的攻击代码以一定的权限运行有缓冲区溢出漏洞的程序,从而得到被攻击主机的控制权。

缓冲区溢出攻击的目的在于扰乱具有某些特权运行的程序的功能,这样可以使得攻击者取得程序的控制权,如果该程序具有足够的权限,那么整个主机就被控制了。一般而言,攻击者攻击root程序,然后执行类似"exec(sh)"的执行代码来获得root权限的shell。为了达到这个目的,攻击者必须达到如下的两个目标:

  1. 在程序的地址空间里安排适当的代码。

  2. 通过适当的初始化寄存器和内存,让程序跳转到入侵者安排的地址空间执行。

每当一个函数调用发生时,调用者会在堆栈中留下一个活动纪录,它包含了函数结束时返回的地址。攻击者通过溢出堆栈中的自动变量,使返回地址指向攻击代码。通过改变程序的返回地址,当函数调用结束时,程序就跳转到攻击者设定的地址,而不是原先的地址。这类的缓冲区溢出被称为堆栈溢出攻击(Stack Smashing Attack),是目前最常用的缓冲区溢出攻击方式。

函数指针可以用来定位任何地址空间。例如:"void (* foo)()"声明了一个返回值为void的函数指针变量foo。所以攻击者只需在任何空间内的函数指针附近找到一个能够溢出的缓冲区,然后溢出这个缓冲区来改变函数指针。在某一时刻,当程序通过函数指针调用函数时,程序的流程就按攻击者的意图实现了。它的一个攻击范例就是在Linux系统下的superprobe程序。

  在C语言中包含了一个简单的检验/恢复系统,称为setjmp/longjmp。意思是在检验点设定"setjmp(buffer)",用"longjmp(buffer)"来恢复检验点。然而,如果攻击者能够进入缓冲区的空间,那么"longjmp(buffer)"实际上是跳转到攻击者的代码。象函数指针一样,longjmp缓冲区能够指向任何地方,所以攻击者所要做的就是找到一个可供溢出的缓冲区。

在metasploit中溢出模块(Exploit)共分为13种,分别是:ais、bsdi、dialup、freebsd、hpux、irix、linux、multi、netware、osx、solaris、unix、windows。其中windows下面的最多。

辅助(Auxiliary)模块共分为13种,分别是admin、client、crawler、dos、fuzzers、gather、pdf、scanner、server、sniffer、spoof、sqli、voip。

加载(payload)模块共分为13种,分别是aix、bsd、bsdi、cmd、generic、java、linux、netware、osx、php、solaris、tty、windows。

找 mssql主机
use auxiliary/scanner/mssql/mssql_ping
找 telnet
use auxiliary/scanner/telnet/telnet_version
找ssh
use auxiliary/scanner/ssh/ssh_version
找ftp匿名登入
use auxiliary/scanner/ftp/anonymos
扫描局域网内有哪些主机存活
use auxiliary/scanner/discovery/arp_sweep
扫描网站目录
use auxiliary/scanner/http/dir_scanner
扫描snmp主机
use auxiliary/scanner/snmp/snmp_login
搜索网站中的email地址
use auxiliary/scanner/gather/search_email_collector
set DOMAIN  cracer.com嗅探抓包use auxiliary/sniffer/psnuffle   只能抓ftp
时间: 2024-10-13 02:31:53

Metasploit的相关文章

更新Kali中的metasploit

1. Kali中的metasploit默认使用apt-get进行更新,看一下metasploit路径中的.apt文件. 默认情况下会出现这种情况 # msfupdate [*] [*] Attempting to update the Metasploit Framework... [*] [*] Checking for updates via the APT repository [*] Note: expect weekly(ish) updates using this method [

Metasploit自动连接postgresql

1. 启动postgresql [email protected]:~# service postgresql start 2. 设置用户与数据库 [email protected]:~# su postgres [email protected]:/root$ createuser msf4 -P Enter password for new role: Enter it again: [email protected]:/root$ createdb --owner=msf4 msf4[em

移动安全初探:窃取微信聊天记录、Hacking Android with Metasploit

在这篇文章中我们将讨论如何获取安卓.苹果设备中的微信聊天记录,并演示如何利用后门通过Metasploit对安卓设备进行控制.文章比较基础.可动手性强,有设备的童鞋不妨边阅读文章边操作,希望能激发大家对移动终端的安全兴趣. (文章内容存在一定攻击性,目的在于普及终端安全知识.提高安全意识,如有非法使用,后果自负) “如何获取Android.iPhone手机上的微信聊天记录? ” 0×00 条件: 安卓设备已获取root权限,安装SSHDroid(通过ssh.ftp连接手机) Apple设备越狱,安

Metasploit 一些重要模块使用介绍

本文是"T00LS Metasploit(第一季)"的文档版,是个人在观看视频动手操作的一个记录,仅供学习.文中会介绍Metasploit的一些基本使用:端口扫描.smb扫描.服务识别.密码嗅探等 一.端口扫描 关于端口扫描的话,我们首先想到的可能会是nmap,除此之外呢,Metasploit也内置了相应的扫描模块.以目标:192.168.1.111为例 Nmap扫描 [email protected]:~# nmap -v -sV 192.168.1.111 Starting Nma

metasploit快速入门

今天没上班,在小黑屋里看了一个一百多页的书<metasploit新手指南>,在此将笔记分享给大家.欢迎大家批评指正,共同学习进步.   metasploit新手指南 笔记 kali 0x01 metapoit基本文件结构如下: config metasploit的环境配置信息,数据库配置信息 data渗透后模块的一些工具及payload,第三方小工具集合,用户字典等数据信息 Db rails编译生成msf的web框架的数据库信息 Documentation 用户说明文档及开发文档 Extern

黑帽么metasploit

.Metasploit框架介绍Metasploit升级更新 Metasploit端口扫描 Metasploit SMB 获取系统信息 Metasploit 服务识别 Metasploit 密码嗅探 Metasploit SNMP 扫描 Metasploit SMB登陆验证 Metasploit VNC身份识别 Metasploit WMAP Web扫描

Metasploit基础

1.专业术语 1.1   渗透攻击(exploit) 1.2   攻击载荷(payload) 1.3   shellcode 1.4   模块(Module) 1.5   监听器(Listener) 2.Metasploit用户接口 2.1   MSF终端 2.2   MSF命令行 2.3   Armitage 3.Metasploit功能程序 3.1   MSF攻击载荷生成器 3.2   MSF编码器 3.3   Nasm Shell 4.Metasploit Exploit和metasplo

OSX10.10 Yosemite安装Metasploit

安装环境 操作时间: 2015/6/8 操作系统: OSX Yosemite 10.10.3 Metasploit版本: v4.11.0-dev [core:4.11.0.pre.dev api:1.0.0] Ruby版本: 2.1.6p336 (2015-04-13 revision 50298) 整体安装步骤 从github上克隆Metasploit项目到本地 安装postgresql数据库并进行配置 安装特定版本的ruby,解决依赖 下面正式开始安装 1.从GitHub上克隆Metaspl

arm-linux手工安装metasploit笔记

(linux全适用) 买了一块cubieboard4 性能挺好,想在上面安装metasploit,不过源上面没有,决定手工安装 metasploit是用ruby写的(慢是有原因的,不过话说回来,即使是慢,也是大名鼎鼎的,hack界也没有听说过什么有名气的静态语言项目,所以说,不管效率如何,开发出来了就是牛B) 安装依赖,这里以debian为例 sudo apt-get install build-essential libreadline-dev libssl-dev libpq5 libpq-

kali linux 系列教程之metasploit 连接postgresql可能遇见的问题

kali linux 系列教程之metasploit 连接postgresql可能遇见的问题 文/玄魂   目录 kali linux 下metasploit 连接postgresql可能遇见的问题................................ 1 前言............................................................................................................... 1