第十九天 学习msf的使用
一、简介
在这里我用kali的msf进行学习
要访问该界面,在命令行输入msfconsole
ps:使用kali时,记得及时更新源,就像更新手机app一样,用到的命令有↓
apt-get update(只更新软件包的索引源)、apt-get upgrade(升级系统上安装的所有软件包)、apt-get dist-upgrade(升级整个linux系统)
二、msf基础
(1)模块的解释
msf框架由多个模块组成,各个模块的简单解释如下↓
Auxiliaries(辅助模块):负责扫描、嗅探、指纹识别等相关功能以辅助渗透测试
Exploit(漏洞利用模块):利用安全漏洞进行攻击
Payload(攻击载荷模块):目标系统被渗透攻击之后实现实际攻击功能的代码,也可能是简单地在目标操作系统上执行一些命令,如添加用户账号等
Post(后期渗透模块):在取得目标系统远程控制权后,进行一系列后渗透攻击动作,如获取敏感信息、实施跳板攻击等
Encoders(编码工具模块):负责免杀,防止被安全软件检测出来
(2)渗透攻击的步骤
扫描目标机系统,寻找可用漏洞
选择并配置一个漏洞利用模块
选择并配置一个攻击载荷模块
选择一个编码技术,用于绕过杀毒软件的查杀
最后渗透攻击
三、主机扫描
(1)辅助模块的端口扫描
可用先用search命令搜索 portscan 看看有哪些可用的端口模块
这就可以看到可用的扫描器列表,其中包含了各种扫描类型↑,下面以TCP扫描模块为例子↓
使用use命令就可使用该漏洞利用模块,用show options 命令查看需要设置的参数
RHOSTS是待扫描的ip地址
PORTS设置扫描端口范围
THREADS设置扫描线程
现在使用 set 命令设置相应的参数,也可使用unset命令取消某个参数值的设置
然后输入 run 执行
这样就可以看到目标机器打开了哪些端口了
(2)辅助模块进行服务扫描
这里也有多种基于服务扫描的技术可供选择,比如VNC、FTP、SMB等,只用执行特定类型的扫描就可以发现服务了
首先,用 search 命令搜索 scanner 就可以查看到很多的扫描模块↓ 剩下的步骤和端口扫描是差不多的
下面列举一些常用的扫描模块↓
(3)使用nmap扫描
直接输入nmap nmap怎么使用的,这里就怎么用
四、漏洞利用
找到合适的攻击模块后,用 show payloads 来选择合适的攻击载荷
就是根据系统的不同,利用不同的模块和攻击载荷进行组合来攻击
五、后渗透攻击:信息收集
对目标机器攻击渗透后,可以用msf提供的一个后渗透工具–> Meterpreter
(1)进程迁移
当获取Shell之后,要把它和目标机中的一个稳定的进程绑定在一起,可以输入 ps 命令来获取目标机正在运行的进程
输入 getpid 命令查看Meterpreter Shell的进程号
然后 migrate 448 把shell移动到PID为448的进程中
(2)系统命令
接下来就该收集系统信息了
先 sysinfo 来查看目标机的系统信息,如操作系统和体系结构
输入 run post/windows/gather/checkvm来查看目标机是否运行在虚拟机上
idletime 命令可以看到目标机最近的运行时间
输入 route 命令可以查看目标机完整的网络设置
getuid 命令查看当前目标机已经渗透成功的用户名
接着输入 run post/windows/manage/killav 关闭目标机系统的杀毒软件
输入 run post/windows/manage/enable_rdp 命令启动目标机的远程桌面协议,也就是3389端口
输入 run post/windows/manage/autoroute 命令查看目标机的本地子网情况
然后输入 route add 命令添加路由
添加成功后输入 route print 查看