【THM】Metasploit: Exploitation(利用)-初级渗透测试

介绍

在这个房间里,我们将学习如何使用Metasploit进行漏洞扫描和利用。我们还将介绍数据库功能如何使管理更广泛范围的渗透测试活动变得更容易。最后,我们将研究使用msfvenom生成有效负载以及如何在大多数目标平台上启动Meterpreter会话。

更具体地说,我们将讨论的主题是:

  • 如何使用Metasploit扫描目标系统。
  • 如何使用Metasploit数据库功能。
  • 如何使用Metasploit进行漏洞扫描。
  • 如何使用Metasploit来利用目标系统上的易受攻击的服务。
  • 如何msfvenom 用于创建有效负载并在目标系统上获取Meterpreter会话。

请注意,对于所有需要使用单词列表的问题(例如暴力攻击),我们将使用位于 以下路径的 AttackBox 上的单词列表:

/usr/share/wordlists/MetasploitRoom/MetasploitWordlist.txt 

如果您选择使用自己的机器,请单击右侧的“下载任务文件”按钮下载单词表。

启动 AttackBox 并使用该房间中的命令运行Metasploit 。msfconsole

扫描

端口扫描

Metasploit有许多模块来扫描目标系统和网络上的开放端口。您可以使用该命令列出可用的潜在端口扫描模块search portscan 。

搜索端口扫描

msf6 > search portscan

Matching Modules

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

   #  Name                                              Disclosure Date  Rank    Check  Description

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

   0  auxiliary/scanner/http/wordpress_pingback_access                   normal  No     Wordpress Pingback Locator

   1  auxiliary/scanner/natpmp/natpmp_portscan                           normal  No     NAT-PMP External Port Scanner

   2  auxiliary/scanner/portscan/ack                                     normal  No     TCP ACK Firewall Scanner

   3  auxiliary/scanner/portscan/ftpbounce                               normal  No     FTP Bounce Port Scanner

   4  auxiliary/scanner/portscan/syn                                     normal  No     TCP SYN Port Scanner

   5  auxiliary/scanner/portscan/tcp                                     normal  No     TCP Port Scanner

   6  auxiliary/scanner/portscan/xmas                                    normal  No     TCP "XMas" Port Scanner

   7  auxiliary/scanner/sap/sap_router_portscanner                       normal  No     SAPRouter Port Scanner

Interact with a module by name or index, for example use 7 or use auxiliary/scanner/sap/sap_router_portscanner

msf6 >

 端口扫描模块将要求您设置一些选项:        

端口扫描选项

msf6 auxiliary(scanner/portscan/tcp) > show options

Module options (auxiliary/scanner/portscan/tcp):

   Name         Current Setting  Required  Description

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

   CONCURRENCY  10               yes       The number of concurrent ports to check per host

   DELAY        0                yes       The delay between connections, per thread, in milliseconds

   JITTER       0                yes       The delay jitter factor (maximum value by which to +/- DELAY) in milliseconds.

   PORTS        1-10000          yes       Ports to scan (e.g. 22-25,80,110-900)

   RHOSTS                        yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:'

   THREADS      1                yes       The number of concurrent threads (max one per host)

   TIMEOUT      1000             yes       The socket connect timeout in milliseconds

msf6 auxiliary(scanner/portscan/tcp) >

  • CONCURRENCY:同时扫描的目标数量。
  • PORTS:要扫描的端口范围。请注意,此处的 1-1000与使用默认配置的Nmap不同。 Nmap将扫描最常用的 1000 个端口,而Metasploit将扫描从 1 到 10000 的端口号。
  • RHOTS:要扫描的目标或目标网络。
  • THREADS:将同时使用的线程数。更多线程将导致更快的扫描。

您可以直接从 msfconsole 提示符执行Nmap扫描,如下所示,速度更快:

使用地图从 Msfconsole 提示符

msf6 > nmap -sS 10.10.12.229

[*] exec: nmap -sS 10.10.12.229

Starting Nmap 7.60 ( https://nmap.org ) at 2021-08-20 03:54 BST

Nmap scan report for ip-10-10-12-229.eu-west-1.compute.internal (10.10.12.229)

Host is up (0.0011s latency).

Not shown: 992 closed ports

PORT      STATE SERVICE

135/tcp   open  msrpc

139/tcp   open  netbios-ssn

445/tcp   open  microsoft-ds

3389/tcp  open  ms-wbt-server

49152/tcp open  unknown

49153/tcp open  unknown

49154/tcp open  unknown

49158/tcp open  unknown

MAC Address: 02:CE:59:27:C8:E3 (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 64.19 seconds

msf6 >

至于信息收集,如果您的参与需要更快的端口扫描方法,Metasploit可能不是您的首选。然而,许多模块使Metasploit成为扫描阶段的有用工具。

UDP服务识别

scanner/discovery/udp_sweep 模块将允许您快速识别通过UDP(用户数据报协议)运行的服务。如下所示,该模块不会对所有可能的UDP服务进行广泛扫描,但确实提供了一种快速方法来识别DNS​​ 或 NetBIOS等服务。

UDP扫描

msf6 auxiliary(scanner/discovery/udp_sweep) > run

[*] Sending 13 probes to 10.10.12.229->10.10.12.229 (1 hosts)

[*] Discovered NetBIOS on 10.10.12.229:137 (JON-PC::U :WORKGROUP::G :JON-PC::U :WORKGROUP::G :WORKGROUP::U :__MSBROWSE__::G :02:ce:59:27:c8:e3)

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

[*] Auxiliary module execution completed

msf6 auxiliary(scanner/discovery/udp_sweep) >

SMB扫描

Metasploit 提供了几个有用的辅助模块,使我们能够扫描特定的服务。以下是SMB的示例。在企业网络中尤其有用 smb_enumshares ,smb_version 但请花一些时间来识别系统上安装的Metasploit版本提供的扫描仪。

中小企业扫描

msf6 auxiliary(scanner/smb/smb_version) > run

[+] 10.10.12.229:445      - Host is running Windows 7 Professional SP1 (build:7601) (name:JON-PC) (workgroup:WORKGROUP ) (signatures:optional)

[*] 10.10.12.229:445      - Scanned 1 of 1 hosts (100% complete)

[*] Auxiliary module execution completed

msf6 auxiliary(scanner/smb/smb_version) >

执行服务扫描时,重要的是不要忽略更多“奇异”服务,例如 NetBIOS。 NetBIOS(网络基本输入输出系统)与SMB类似,允许计算机通过网络进行通信以共享文件或将文件发送到打印机。目标系统的 NetBIOS 名称可以让您了解其角色甚至重要性(例如 CORP- DC、DEVOPS、SALES 等)。您还可能会遇到一些无需密码即可访问或受简单密码保护的共享文件和文件夹(例如 admin、administrator、root、toor 等)。

请记住,Metasploit有许多模块可以帮助您更好地了解目标系统,并可能帮助您发现漏洞。执行快速搜索总是值得的,看看是否有任何模块可以根据您的目标系统提供帮助。

2.1目标系统上打开了多少个端口?5

提示:您可以在 Metasploit 上使用 portscanner 模块。,nmap运行结果

用portscan模块

search portscan

use 5(use auxiliary/scanner/portscan/tcp)

show options

set rhosts 10.10.116.149

set THREADS 4

show options

run

 

2.2使用相关扫描仪,您可以看到什么 NetBIOS 名称?ACME IT SUPPORT

use auxiliary/scanner/discovery/udp_sweep

set rhosts 10.10.116.149

run

因为前面提到scanner/discovery/udp_sweep 模块能扫描部分UDP服务,还提供快速方法来识别DNS​​ 或 NetBIOS等服务。

方法2提示:使用 netbios/nbname 模块

search netbios/nbname

use 0

show options

set RHOSTS 10.10.43.5

run

2.2 8000端口上正在运行什么?提示:使用 http_version 模块。答案:webfs/1.21

search http_version

use 0

show options

set rhosts 10.10.152.168

set rport 8000

show options

run

或者用nmap

nmap -sC -sV -p8000 10.10.43.5

 

2.4“penny”用户的 SMB 密码是什么?使用上一个任务中提到的单词表。 提示:使用 smb_login 模块。

search smb_login
use 0
show options
set PASS_FILE /usr/share/wordlists/MetasploitWordlist.txt  #此处文件路径 对应的是TryHackMe提供的攻击机中的字典文件路径
set SMBUser penny
set RHOSTS 10.10.43.5
run

Metasploit 数据库

虽然在 TryHackMe 上与单个目标交互时不需要这样做,但实际的渗透测试活动可能会有多个目标。 

Metasploit具有数据库功能,可以简化项目管理并避免设置参数值时可能出现的混乱。 

您首先需要启动 PostgreSQL 数据库,Metasploit将通过以下命令使用该数据库: 

systemctl start postgresql

然后您需要使用该命令初始化Metasploitmsfdb init数据库。

启动 Postgresql

root@attackbox:~# systemctl start postgresql

root@attackbox:~# msfdb init

[i] Database already started

[+] Creating database user 'msf'

[+] Creating databases 'msf'

[+] Creating databases 'msf_test'

[+] Creating configuration file '/usr/share/metasploit-framework/config/database.yml'

[+] Creating initial database schema

/usr/share/metasploit-framework/vendor/bundle/ruby/2.7.0/gems/activerecord-4.2.11.3/lib/active_record/connection_adapters/abstract_adapter.rb:84: warning: deprecated Object#=~ is called on Integer; it always returns nil

root@attackbox:~#

您现在可以 msfconsole使用该命令启动并检查数据库状态db_status

检查数据库状态

msf6 > db_status

[*] Connected to msf. Connection type: postgresql.

msf6 >

数据库功能将允许您创建工作区来隔离不同的项目。首次启动时,您应该位于默认工作区中。您可以使用该命令列出可用的工作区workspace 。 

列出工作空间

msf6 > workspace

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/803521.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端:自制年历

详细思路可以看我的另一篇文章《前端:自制月历》,基本思路一致,只是元素布局略有差异 ①获取起始位startnew Date(moment().format(yyyy-01-01)).getDay() ②获取总的格子数numMath.ceil(365/7)*7,这里用365或者366计算结果都是一样的371 …

蓝桥杯刷题-16-买瓜-DFS+剪枝优化⭐⭐

蓝桥杯2023年第十四届省赛真题-买瓜 该如何剪枝呢?⭐⭐ 如果当前方案的切的刀数,已经大于等于了之前已知合法方案的最优解,那么就没必要 往后搜了。如果后面的瓜的总和加起来,再加上当前已有的重量,都不到m,那么也没…

js语法---简单理解promise

promise语法结构 创建一个promise对象 let p new Promise(function(resolve,reject){// 执行的操作...// 判断操作的结果并执行对应的回调函数if(){resolve()}else{reject()} } 以上实例化了一个promise对象,其中包含了一个参数function,这个函数会在…

MyBatis 应用的组成

王有志,一个分享硬核Java技术的互金摸鱼侠 加入Java人的提桶跑路群:共同富裕的Java人 大家好,我是王有志。在上一篇文章的最后,我们写了一个简单的例子,今天我们就通过这个例子来看一看一个标准的 MyBatis 应用程序由哪…

Redis高级-分布式缓存

分布式缓存 – 基于Redis集群解决单机Redis存在的问题 单机的Redis存在四大问题: 0.目标 1.Redis持久化 Redis有两种持久化方案: RDB持久化AOF持久化 1.1.RDB持久化 RDB全称Redis Database Backup file(Redis数据备份文件)…

《荒野大镖客》游戏提示emp.dll文件丢失如何解决?

emp.dll它作为一种动态链接库(DLL)文件,在Windows操作系统中扮演着重要角色。当打开一个程序时,操作系统会将程序的代码和数据加载到内存中,并创建一个进程来运行该程序。在这个过程中,emp.dll负责将这些代…

Dev-C++详细安装教程及中文设置(附带安装包链接)

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍*************安装包链接在文章末尾***************** Dev-C详细安装教程…

动态规划刷题(算法竞赛、蓝桥杯)--区间DP

1、题目链接&#xff1a;[NOI1995] 石子合并 - 洛谷 #include <bits/stdc.h> using namespace std; const int N210; int n,a[N],s[N]; int f[N][N];//存最小值 int g[N][N];//存最大值 int main(){memset(f,0x3f,sizeof f);//求最小初始化为无穷大 memset(g,-0x3f,size…

猫头虎分享已解决Error: 解决“IndexError: list index out of range“

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 文章目录 猫头虎分享已解决Error: 解决"IndexError: list index out of range" &#x1f431;&#x1f989;&#x1f6e0;️摘要正文内容一、错误现场勘察 &#x1f575…

24/04/09总结

异常: 1.异常是什么? 程序中可能出现的问题 2.异常体系的最上层父类是谁?异常分为几类? 父类:Exception。 异常分为两类:编译时异常、运行时异常 编译时异常和运行时异常的区别? 编译时异常:没有继承RuntimeException的异常&#xff0c;直接继承于Exception。 编译阶段就会…

Python实现滑块验证码识别,最简单的一种,没有任何加密

网址链接&#xff1a;衣丰 & 2010-聚衣网(juyi5.cn) - 常熟市聚衣网&#xff0c;聚衣网女装&#xff0c;江苏省女装批发&#xff0c;苏州市女装批发&#xff0c;常熟市女装批发&#xff0c;网销女装一件代发&#xff0c;全国最低价 平时采集数据&#xff0c;频率过快&…

设计模式面试题

概述 设计模式分类 创建型模式 用于描述“怎样创建对象”&#xff0c;主要特点是“将对象的创建与使用分离”。使用者不需要官族对象创建的细节。结构型模式 用于描述如何将类或对象按照某种布局组成更大的结构。行为型模式 用于描述类或对象之间怎样相互协作共同完成单个对象…

Domain Admin:方便快捷的图形化域名和SSL证书监测平台

Domain Admin&#xff1a;一目了然&#xff0c;一键掌握&#xff0c;您的全方位图形化域名与SSL证书智能管家&#xff01;- 精选真开源&#xff0c;释放新价值。 概览 Domain Admin是一个基于Python Vue3.js 技术栈实现的域名和SSL证书监测平台&#xff0c;旨在为用户打造一个…

7-17 爬动的蠕虫

题目链接&#xff1a;7-17 爬动的蠕虫 一. 题目 1. 题目 2. 输入输出样例 3. 限制 二、代码 1. 代码实现 #include <stdio.h>int main(void) {unsigned int n, u, d;unsigned int minute, high;if (scanf("%d %d %d", &n, &u, &d) ! 3) {retur…

有关栈的算法

例题一 解法&#xff08;栈&#xff09;&#xff1a; 算法思路&#xff1a; 本题极像我们玩过的「开⼼消消乐」游戏&#xff0c;仔细观察消除过程&#xff0c;可以发现本题与我们之前做过的「括号匹配」问题是类似的。当前元素是否被消除&#xff0c;需要知道上⼀个元素的信息…

C/C++如何快速学习?少走3年弯路

于我而言&#xff0c;最开始学习就是 C&#xff0c;除了计算机专业&#xff0c;其他专业可能学习的第一门编程语言为 C 语言&#xff0c;还是谭浩强爷爷那本&#xff0c;当时想着有点 C 基础&#xff0c;无外乎就是 C 语言的升级版&#xff0c;于是开启了 C 的路程。 语言这个…

《深入Linux内核架构》第4章 进程虚拟内存(1)

目录 4.1 简介 4.2 进程虚拟地址空间 4.2.1 进程地址空间分布 4.2.2 建立布局 第3章讲了两点&#xff1a;物理内存的管理&#xff0c;内核虚拟地址管理。 本章讲&#xff1a;用户进程的虚拟地址空间管理。 4.1 简介 一个进程的整个虚拟地址空间&#xff08;0-3G&#xf…

JKTECH柔性振动盘柔性上料机

柔性供料器&#xff1a;用途广泛与好处显著 在现代工业生产中&#xff0c;随着技术的不断进步和市场的多样化需求&#xff0c;对物料供应系统的要求也日益提高。柔性供料器&#xff0c;作为一种新型的物料供应装置&#xff0c;其用途广泛且好处显著&#xff0c;正逐渐受到各行…

苍穹外卖亮点再梳理 ||

一、项目整体亮点&#xff1a; 【注&#xff1a;基于每个亮点&#xff0c;均有整理的相关知识&#xff0c;可在博客中查看】 1.数据库的设计采用RBAC&#xff08;基于角色访问控制&#xff09;的权限设计。 RBAC将权限授予角色&#xff0c;然后将用户分配给角色&#xff0c;…

算法——倍增

. - 力扣&#xff08;LeetCode&#xff09; 给你一棵树&#xff0c;树上有 n 个节点&#xff0c;按从 0 到 n-1 编号。树以父节点数组的形式给出&#xff0c;其中 parent[i] 是节点 i 的父节点。树的根节点是编号为 0 的节点。 树节点的第 k 个祖先节点是从该节点到根节点路径…