渗透攻击(Exploit)
渗透攻击是指由攻击者或者渗透测试者利用系统,应用或服务中的安全漏洞,所进行的攻击行为
流行的攻击技术包括,缓冲区溢出,web应用程序漏洞攻击,以及利用配置错误等,渗透攻击是指由攻击者或者渗透测试者利用系统,应用或服务中的安全漏洞,所进行的攻击行为,流行的攻击技术包括:缓冲区溢出,Web应用程序漏洞攻击,以及利用配置错误等
攻击载荷(Payload)
攻击载荷是我们期望目标系统在被渗透攻击后而执行的代码,在MSF框架中可以自由的选择,传送和植入,比如:反弹式shell是一种从目标主机到攻击机创建网络连接,并提供命令行shell的攻击载荷,bind shell攻击载荷则在目标主机上将命令行shell绑定到一个打开监听端口,攻击者可以连接这些端口来取得shell交互(后门木马)
溢出代码(Shellcode)
shellcode是在渗透攻击时为攻击载荷运行的一组机器指令,shellcode通常用汇编语言编写,在大多数情况下,目标系统执行了shellcode这一组指令后,才会提供一个命令行shell或Meterpreter shell,这也是shellcode名称的由来
模块(Module)
在MSF中,一个模块是指MSF框架中所使用的一段软件代码组件,在某些时候,你可能会使用一个渗透攻击模块(Exploit module),也就是用于实际发起渗透攻击的软件组件,而在其他时候,则可能使用一个辅助模块(auxiliary module)用来扫描一些诸如扫描或系统查点的攻击动作
监听器(Listenre)
监听器是MSF中用来等待连入网络连接的组件,举例来说,在目标主机被渗透攻击之后,它可能会通过互联网回连到主机上,而监听器组件在攻击主机上等待被渗透攻击的系统来连接,并负责这些网络连接
Nops:可生成过防火墙的各种脚本文件
payloads:当作攻击时的木马程序
Modules:用户用到的各种模块几乎都在这里,用户使用use这个msf这里时,就是用到了这里面的模块
Auxiliary:主要包含渗透测试中的一些
Encoders:各种编码工具 用于躲过入侵检测和过滤系统
Exploit:主要包含exp,0day,各种漏洞利用的脚本,主要的攻击代码都在里面,包含exp的路径的命名规则是系统/服务/模块,在使用exp是可以根据这个命名方法来找(也可以用search指令来寻找),比如use exploit/windows(系统)/server(服务)/模块名
Post:这个目录里面放着msf的exploit执行成功后,向目标机发送的一些功能性指令比如:提权,获取hash等
Data:这个目录放着Meterpreter,PassiveX,Vnc,DLLS等这些工具和一些用户接口代码,Msfweb和一些其他模块用到的数据文件
Plugins:这里的模块用户需要使用load加载,提供数据库连接插件,和各种要用到的插件(扩展插件)
MSF命令
exit:退出msf
Modules:进入msf
?:帮助菜单,可用于查看用法,另一个用法:在?后面加命令(之间有空格)
msf5 > ? jobs
use:进入这个模块,两个方法:use 序列号(escription)或者use 路径
show options:展示这个模块功能
set rhosts:设置远程IP
set lhost:设置我的IP
set lport:设置端口
info:关于漏洞的信息
jobs:显示和管理作业(和windows任务管理器的进程作用一样)
kill:杀死一个作业(关闭进程)
loadpath:加载一个模块的路径
quit:退出MSF
load:加载一个插件
resource:运行储存一个文件中的命令
route:查看一个会话的路由信息
save:保存动作
set:给一个变量赋值
steg:把一个赋值给全局变量,例如上述set设置的ip,就会用到其他攻击模块的RHOST中
sleep:在限定的秒数内什么也不做
unload:卸载一个模块
unset:解出一个或多个变量
unsetg:解出一个全局变量
version:显示MSF和控制台版本