资讯专栏INFORMATION COLUMN

漏洞利用一:MSF 漏洞验证专题

Godtoy / 1045人阅读

摘要:它本身附带数多个已知软件漏洞的专业级漏洞攻击工具。流行的攻击技术包括缓冲区溢出应用程序漏洞攻击,以及利用配置错误等。或是应用在的一种可以防止缓冲区溢出的技术。

一、MSF介绍

        Metasploit就是一个漏洞框架。它的全称叫做The Metasploit Framework,简称MSF。是一个免费、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数2000多个已知软件漏洞的专业级漏洞攻击工具。安全专家以及业余安全爱好者更多地将其当作一种点几下鼠标就可以利用其中附带的攻击工具进行成功攻击的环境。

        兼有windows与linux两种版本。

二、相关专业术语

1.渗透攻击(Exploit):是指由攻击者或者渗透测试者利用系统、应用或服务中的安全漏洞,所进行的攻击行为。流行的攻击技术包括:缓冲区溢出、Web应用程序漏洞攻击,以及利用配置错误等。

2.攻击载荷(Payload):是我们期望目标系统在被渗透攻击后而执行的代码。在MSF框架中可以自由的选择、传送和植入。比如,反弹式shell是一种从目标主机到攻击主机创建网络连接,并提供命令行shell的攻击载荷。bind shell攻击载荷则在目标主机上将命令行shell绑定到一个打开的监听端口,攻击者可以连接这些端口来取得shell交互。简单理解为一个木马,如灰鸽子就是个Payload.

3.代码溢出(shellcode):是在渗透攻击时作为攻击载荷运行的一组机器指令。shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了shellcode这一组指令后,才会提供一个命令行shell或者Meterpreter shell,这也是shellcode名称的由来。

4.模块(Module):在MSF中,一个模块是指MSF框架中所使用的一段软件代码组件。在某些时候,你可能会使用一个渗透攻击模块(Exploit module),也就是用于实际发起渗透攻击的软件组件。而在其它时候,则可能使用一个辅助模块(auxiliary module),用来扫描一些诸如扫描或系统查点的攻击动作。

5.监听器(listener):监听器是MSF中用来等待连入网络连接的组件。举例来说,在目标主机被渗透攻击之后,它可能会通过互联网回连到攻击主机上,而监听器组件在攻击主机上等待被渗透攻击的系统来连接,并负责处理这些网络连接。

三、配置过程(kali虚拟机下)

首先用X-shell连接kali(确定kali当前为root用户,如果不是,需要先切换到)。如果连不上22端口

 1.更新MSF

更新源:vi /etc/apt/sources.list

添加入中科大源:

deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

2.下载数字签名:wget archive.kali.org/archive-key.asc

安装数字签名:apt-key add archive-key.asc

注:如果添加数字签名还提示无法安装可删除原有msf

apt remove metasploit-framework

注:卸载过程中无法获得锁    /var/cache/apt/archives/lock - open (11: 资源暂时不可用)

无法对目录 /var/cache/apt/archives/ 加锁

sudo rm /var/cache/apt/archives/lock     进行强制解锁

sudo rm /var/cache/apt/archives/

3.安装msf框架

更新:apt-get update         

安装msf框架:apt-get install metasploit-framework     

然后:msfconsole

发现有提示数据库未启动,退出msf框架(exit),启动数据库:

systemctl start postgresql

允许开机自启动:systemctl enable postgresql

构建数据库缓存:msfdb init

最后:msfconsole

(1)注意:如果更新完msf出现才下问题

msfconsole

[*] Bundler failed to load and returned this error:

   "cannot load such file -- bundler/setup"

[*] You may need to uninstall or upgrade bundler

解决方法:

sudo gem install bundler

bundle update celluloid

(2)当提示另外一种错误的时候,可通过以下方法解决:

cd /usr/share/metasploit-framework/

bundle install

四、MSF的目录结构

MSF Kali下存放目录:/usr/share/metasploit-framework/

主要目录: 

1.Msfconsole

2.Data:这个目录里盛放了Meterpreter、PassiveX、Vnc、DLLs等这些工具和一些用户接口代码,Msfweb 和一些其他模块用到的数据文件。

3.Modules:用户用到的各种模块几乎都在这里,用户使用use这个msf这里时,就是用到了这个目录下的模块。这个目录下的文件在msfconsole启动时会被自动加载的,如果看到msfconsole启动时有出错信息但又能成功启动可以根据出错信息找解决方法,个人写的Module也可以放在这个目录下。

Modules下的核心模块为:  

(1)Exploits模块(存放漏洞攻击脚本)

路径命名规则:系统/服务/模块名

例如:windows/smb/ms08_067_netapi

RHOST:目标主机IP地址

RPORT:目标主机连接端口

Payload:有效的载荷,成功后返回shell

LHOST:攻击者的IP地址

LPORT:攻击者的端口

(2)Payloads模块(payloads主要是在目标机执行的,而exploits是在本地机执行作用于目标机)

是攻击者发送给系统执行的指令。

路径命名规则:系统/类型/模块名 

例如:Windows/dllinject/reverse_tcp

类型命名规则

shell:上传一个shell。

dllinject:注入一个dll到进程。

patchup***:修补漏洞。

upexec:上传并执行一个文件。

meterpreter:高级的payload。

vncinject:高级的payload。

passive:高级的payload。

模块名的命名规则

shell_find_tag:在一个已建立的连接上创建一个shell。

shell_reverse_tcp:反向连接到攻击者主机并创建一个shell。

bind_tcp:监听一个tcp连接。

reverse_tcp:反向建立tcp连接。

reverse_http:通过HTTP隧道通信并创建一个新用户添加到管理组。

add_user:创建一个新用户并添加到管理组。

xxx_ipv6_tcp:基于IPV6。

xxx_nonx_tcp:no execute或win7(NX是应用在CPU的一种可以防止缓冲区溢出的技术)。

xxx_ord_tcp:有序payload。

xxx_tcp_allports:在所有可能的端口。

(3)Nops:NOP (No Operation or Next Operation) sled,由于IDS/IPS会检查数据包中不规则的数据,所以在某些场合下(比如针对溢出攻击),某些特殊的滑行字符串(NOPS x90x90...)则会因为被拦截而导致攻击失效,所以此时需要修改exploit中的NOPs.nops文件夹下的东西会在payload生成时用到(后面会有介绍)。比如我们打开php的NOPS生成脚本,就会发现它只是返回了指定长度的空格而已。

(4)Encoders:各种编码工具用于躲过入侵检测和过滤系统。

(5)Auxiliary:主要包含渗透测试中一些辅助性的脚本,这些脚本功能有扫描,嗅探,破解,注入,漏洞挖掘等。

(6)Post:这个目录里放着msf 的exploits执行成功后,向目标机发送的一些功能性指令比如:提权,获取hash等。

五、MSF基本命令  

1.Msfconsole             MSF控制台

相关命令:用?查看帮助项

 六、漏洞实战

首先查看漏洞扫描报告,根据报告中存在的漏洞,一一进行验证,不排除误报的情况

命令层级关系:

msfconsole---> exploit--->metrpreter             (控制台--攻击--木马菜单)  

基本步骤:

1.进入MSF控制台:msfconsole

2.找到要利用的漏洞输入编号(search命令)

3.使用要利用的攻击项(use命令)

4.查看模块配置信息(带Yes的是需要配置的):命令:show options

查看能攻击哪些系统命令:info

(配置攻击payload:   set payload windows/x64/meterpreter/)

5.配置(set命令):Rhosts、Lhost。

6.攻击(exploit命令):建立起会话,进入meterpreter.

本次的实验由于篇幅原因,会在后面文章中分别对各个市面上爆出的主流漏洞进行一一梳理。主要的漏洞包括:

1.微软系统漏洞

(1)445端口

MS17-010                     永恒之蓝

CVE-2020-0796            永恒之蓝2.0

MS08-067                     网络服务器攻击

(2)3389端口

MS12-020

CVE-2019-0708

(3)其它微软漏洞

MS10-087:应用软件格式渗透,利用word去渗透。

CVE-2017-8464:(震网三代,远程快捷方式漏洞)

MSF木马生成使用(.exe)

2.Linux系统漏洞

利用samba 服务漏洞入侵linux主机

PHP CGI漏洞

CVE-2017-7494           Linux smb漏洞

CVE-2014-6271           Bash Shellshock(破壳)

NFS Exported Share Information Disclosure

Java RMI SERVER 命令执行漏洞与java cve-2013-0422

Ingreslock  后门

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119194.html

相关文章

  • MS08-067漏洞简谈与利用

    摘要:年月日下午消息,微软多款操作系统曝出年最大的安全漏洞,影响包括等几乎所有主流操作系统。据安全专家表示,尽管微软已经发布了该漏洞的补丁,但由于黑屏事件的影响,很多用户已经关闭了系统的补丁自动更新功能,因此很可能造成严重危害。 MS08-067漏洞将会影响除Windows Server 2008...

    learning 评论0 收藏0
  • MSF(1)——次完整的渗透流程

    摘要:后渗透模块该模块主要用于在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息实施跳板攻击等。我将通过一个完整的渗透测试来进行框架的初步讲解,这是我在一次实战中的操作,我用虚拟机进行了简单的模拟。其中,是被迁徙的进程。 ...

    abson 评论0 收藏0
  • 使用MSF进行提权(windows提权、linux提权、wesng使用)

    摘要:取代了老牌安全网站。不断更新大量的程序和报告,它的搜索功能可以搜索整个网站内容。为此,可以分别使用和参数,使用简写参数可以仅列出具有特定严重性的结果支持使用参数将结果以格式存储到磁盘同样也有针对的工具 ...

    android_c 评论0 收藏0
  • 使用cs与msf进行内网横向移动

    摘要:使用与进行内网横向移动目标系统为跳板主机为一,使用探测内网,将目标上线至,使用探测内网信息查看当前目标系统网络情况,确认目标系统所在内网网段,使用的功能对内网进行扫描可以看到目标开放了端口二,内网横向移动对当前目标系 ...

    luffyZh 评论0 收藏0
  • 经典利用永恒之蓝漏洞对Windows操作系统进行攻击

    摘要:利用永恒之蓝对进行攻击环境搭建,其中为靶机。命令有很多,想使用什么命令可以百度,我这里使用一些进行演示的命令就可以了。一般权限不够命令无法执行,这里简单介绍提权,提权方法百度多的很。至此本次利用永恒之蓝攻击漏洞拿到权限结束。 ...

    不知名网友 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<