【渗透工具】MSFCONSOLE控制台使用和操作

Metasploit一款开源安全漏洞检测工具,其不断更新的Payload使其成为了最强大的渗透框架之一
对于MSFCONSOLE(简称MSF),就不多赘述安装部署了,对于日常渗透使用一般可以再Viper中使用。
常见参数解读:

-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可查看所有编码器
还有一些小应用

run hashdump #获取windows密码hash
#关闭杀软
run killav
run post/windows/manage/killav
#操控远程桌面
run post/windows/manage/enable_rdp
run post/windows/manage/enable_rdp username=test password=test添加远程桌面的用户(同时也会将该用户添加到管理员组)
#键盘捕捉(Viper有功能)
keyscan_start:开启键盘记录功能
keyscan_dump:显示捕捉到的键盘记录信息
keyscan_stop:停止键盘记录功能

【VIPER】部署、监听、代理

前导

Viper中文炫彩蛇,为图形化的渗透平台,用户可以使用浏览器登录完成诸如(覆盖初始访问/持久化/权限提升/防御绕过/凭证访问/信息收集/横向移动等大类)操作,并提供内网隧道,文件管理,命令行等常用渗透工具。
在进行内网渗透中,还有内网网络拓扑等可视化工具提高工作效率。

安装

快捷部署有Docker和F8X一键部署两种方式
下方为f8x一件部署,推荐在全新linux环境中使用

curl -o f8x https://f8x.io/   # wget -O f8x https://f8x.io/
bash f8x -viper

我所使用的时Docker安装,并在wsl(Docker on desktop)和linux(CentOS 7)系统下都进行过部署

sudo -s
yum install docker -y
yum install docker-compose -y
systemctl enable docker
service docker restart
#安装Docker并设置自启动
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo service docker restart
newgrp - docker
#假如Docker权限组
export VIPER_DIR=/root/VIPER
export VIPER_PASSWORD=YOUR_PWD
#确认自己的安装目录与密码
mkdir -p $VIPER_DIR && cd $VIPER_DIR
tee docker-compose.yml <<-'EOF'
version: "3"
services:
  viper:
    image: registry.cn-shenzhen.aliyuncs.com/toys/viper:latest
    container_name: viper-c
    network_mode: "host"
    restart: always
    volumes:
      - ${PWD}/loot:/root/.msf4/loot
      - ${PWD}/db:/root/viper/Docker/db
      - ${PWD}/module:/root/viper/Docker/module
      - ${PWD}/log:/root/viper/Docker/log
      - ${PWD}/nginxconfig:/root/viper/Docker/nginxconfig
    command: ["VIPER_PASSWORD"]
EOF
sed -i "s/VIPER_PASSWORD/$VIPER_PASSWORD/g" docker-compose.yml
cd $VIPER_DIR
docker-compose config
#确认DockerFile正确
docker-compose up -d
#启动容器

在WSL中,有一点使用docker的host mode容易端口冲突,所以docker-compose.yml要修改成如下,并自行确认端口映射(60000一定要开以外,其他多开点)

version: "3"
services:
  viper:
    image: registry.cn-shenzhen.aliyuncs.com/toys/viper:latest
    container_name: viper-c
    restart: always
    ports:
      - "60000-60099:60000-60099"
    volumes:
      - ${PWD}/loot:/mnt/d/Docker/viper/.msf4/loot
      - ${PWD}/db:/mnt/d/Docker/viper/db
      - ${PWD}/module:/mnt/d/Docker/viper/module
      - ${PWD}/log:/mnt/d/Docker/viper/log
      - ${PWD}/nginxconfig:/mnt/d/Docker/viper/nginxconfig
    command: ["VIPER_PASSWORD"]

之后访问https://YourDomain:60000root账户和你的密码,登录Viper

继续阅读【VIPER】部署、监听、代理