渗透攻击之旅

渗透攻击是许多安全专家职业生涯中都曾攀登过的“山峰”,获取目标主机完全控制权的感觉就像你登临险峰之上,会有一种极佳的自我满足感,但有时还会有点令人恐惧。虽然近些年来渗透攻击技术得到了长足发展,但是多样化的系统与网络防护技术的实施应用导致使用简单的渗透攻击手段越来越难以成功。本篇文章中,我们将从Metasploit框架最基本的命令接口开始讲起,逐步介绍一些更深入的渗透攻击方法。
本篇中讨论的大多数攻击和自定义操作需要用到MSF终端(msfconsole)、MSF 编码器(msfencode),以及MSF攻击载荷生成器(msfpayload)。后两者已经集成为msfvenom

渗透攻击基础

1. msf>show exploits

这个命令会显示Metasploit框架中所有可用的渗透攻击模块。在MSF终端中,你可以针对渗透测试中发现的安全漏洞来实施相应的渗透攻击。Metasploit团队总是不断地开发出新的渗透攻击模块,因此这个列表会越来越长。

2. msf> show auxiliary

这个命令会显示所有的辅助模块以及它们的用途。在Metasploit中,辅助模块的用途非常广泛,它们可以是扫描器拒绝服务攻击工具Fuzz测试器,以及其他类型的工具。

3. msf>show options

参数(Options)是保证Metasploit 框架中各个模块正确运行所需的各种设置。当你选择了一个模块,并输入msf>show options后,会列出这个模块所需的各种参数。如果当前你没有选择任何模块,那么输入这个命令会显示所有的全局参数,举例来说,你可以修改全局参数中的LogLevel,使渗透攻击时记录系统日志更为详细。

你还可以输入back命令,以返回到Metasploit的上一个状态。


当你想要查找某个特定渗透攻击辅助或是攻击载荷模块时,搜索(search)命令非常有用。例如,如果你想发起一次针对SQL数据库的攻击,输入下面的命令可以搜索出与SQL有关的模块。

4. msf> show payloads

show options命令一样,当你在当前模块的命令提示符下输入show payloads命令时,Metasploit 只会将与当前模块兼容的攻击载荷显示出来。在针对基于Windows操作系统的攻击中,简单的攻击载荷可能只会返回目标主机的一个命令行界面,复杂的能够返回一个完整的图形操作界面。输入下面的命令可以查看到所有活动状态的攻击载荷:

msf>show payloads

上面的命令将显示Metasploit中所有的可用攻击载荷,然而如果你正在进行一次实际的渗透攻击,你可能只会看到适用于本次渗透攻击的攻击载荷列表。举例来说,在msf exploit
(ms08_067_netapi)提示符下,执行show payloads命令仅会显示下一段中的输出结果。

5. msf> show targets

Metasploit的渗透攻击模块通常可以列出受到漏洞影响目标系统的类型。举例来说,由于针对MS08-067漏洞的攻击依赖于硬编码的内存地址,所以这个攻击仅针对特定的操作系统版本,且只适用于特定的补丁级别、语言版本以及安全机制实现(在第14章和第15章中会有详细的解释)。在MSF终端MS08-067的提示符状态下,会显示60个受影响的系统(下面例子中只截取了其中一部分)。攻击是否成功取决于目标Windows系统的版本,有时候自动选择目标这一功能可能无法正常工作,容易触发错误攻击行为,通常会导致远程服务崩溃。

在这个例子中,你看到“自动选择目标”(Automatic Targeting)是攻击目标列表中的一个选项。通常,攻击模块会通过目标操作系统的指纹信息,自动选择操作系统版本进行攻击。不过,最好还是通过人工更加准确地识别出目标操作系统的相关信息,这样才能避免触发错误的、破坏性的攻击。的一个选项。通常,攻击模块会通过目标操作系统的指纹信息,自动选择操作系统版本进行攻击。不过,最好还是通过人工更加准确地识别出目标操作系统的相关信息,这样才能避免触发错误的、破坏性的攻击。

6. info

当你觉得showsearch命令所提供的信息过于简短,可以使用info命令加上模块的名字来显示此模块的详细信息、参数说明以及所有可用的目标操作系统(如果已选择了某个模块,直接在该模块的提示符下输入info即可):

7. set 和unset

Metasploit 模块中的所有参数只有两个状态:已设置(set)和未设置(unset)。有些参数会被标记为必填项(required),这样的参数必须经过手工设置并处于启用状态。输入show options命令可以查看哪些参数是必填的;使用set命令可以对某个参数进行设置(同时启用该参数);使用unset命令可以禁用相关参数。后面的列表展示了set和unset命令的使用方法:

在上面我们设置目标IP地址(RHOST)为192.168.91.22(我们的攻击对象)。我们设置目标操作系统类型为4,即使用msf> show targets命令所列出的“Windows XP SP2 English
(AlwaysOn NX)”。我们运行了show options以确认所有的参数已设置完成。

8. setg和unsetg

setg命令和unsetg命令能够对全局参数进行设置或清除。使用这组命令让你不必每次遇到某个参数时都要重新设置,特别是那些经常用到又很少会变的参数,如LHOST。

9. save

在使用setg命令对全局参数进行设置后,可以使用save命令将当前的设置值保存下来,这样在下次启动MSF终端时还可使用这些设置值。在Metasploit中可以在任何时候输入save命令以保存当前状态。

在命令执行结果中包含设置值保存在磁盘上的位置(/root/.msf4/config),如果由于一些原因你需要恢复到原始设置,可以将这个文件删除或移动到其他位置。

攻击Metasploitable主机

让我们对Metasploitable主机进行一次不同的攻击。



通过nmap扫描,我们共发现21、22、23、25、53、80等共计22个开放的端口。
我们还可以看到这台主机操作系统为Debian,它正运行着vsftpd2.3.4版本。

让我们搜索一个vsftpd渗透攻击模块,并尝试用它来攻击这台主机。攻击流程如下:


选择该模块并设置payload


设置options的参数


发动攻击


这种类型的攻击称为命令执行漏洞攻击,攻击代码的可靠性通常接近100%,因此被标注为
“excellent”的Rank。注意在这个例子中我们使用了一个绑定(bind)的交互式shell,在目标主机上打开了一个监听端口6200,Metasploit为我们创建了一个直接到目标系统的连接(记住如果攻击防火墙或NAT网关后的主机,应当使用反弹式连接攻击载荷)。

资源文件

资源文件(resourcefiles)是MSF终端内包含一系列自动化命令的脚本文件。这些文件实际上是一个可以在MSF终端中执行的命令列表,列表中的命令将按顺序执行。资源文件可以大大减少测试和开发所需的时间,将包括渗透攻击在内的许多重复性任务进行自动化。

  • 可以在MSF终端中使用resource命令载入资源文件
  • 可以在操作系统的命令行环境中使用-r标志将资源文件作为MSF终端的一个参数传递进来运行。

下面这个简单的例子展示了如何创建一个能够显示Metasploit版本,并载入声音插件的资源文件:

如你所见,version命令和load sounds命令被写入一个名为resource.rc的文件中。

这个文件随后跟在-r参数后输入到msfconsole中,最后这个资源文件被载入,其中包含的两个命令被执行,其执行结果如图所示。


也可以在MSF终端直接导入


在实验环境中你可以尝试使用一个更为复杂的资源文件,自动地对某台主机发起攻击。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容