kail - 扫描与爆破

news2024/12/28 20:53:11

数据来源

                                                扫描技术 

背景

        在渗透测试过程中,为了节省人力和时间,通常采用手工和工具相结合的方式。使用工具,就是将一些机械性的操作自动化实现,用来提高渗透测试的效率。例如,寻找内网网段[10.10.10,20/24]所有在线主机,如果一个一个去ping测试主机是否存活,显然是不合适的。 

主机测探与端口扫描

        主机测探是指确定目标主机是否存活。

        端口扫描就是寻找在线主机所开放的端口,并且在端口上所运行的服务。甚至可以进步确定目标主机操作系统类型和更详细的信息。 

- 基础知识 

         @ 常见的端口号

端口描述端口描述
21FTP(文件共享)443HTTPS
22SSH(远程管理)1433SQL Server
23Telnet(远程管理)1521Oracle
25SMTP(邮件发送协议)3306MySQL
80HTTP3389RDP(远程桌面协议)
445smb (Server 共享服务)

- Nmap-扫描器之王

        nmap被誉为“扫描器之王”,nmap为开源工具,并且是跨平台的。官方网站

        我们可以使用kali虚拟机中的nmap(kali自带的) 

- 重要常用参数

参数描述
-sPping 扫描
-p指定端口范围
-sTTCP 连接扫描
-sSTCP SYN 扫描
-sUUDP 扫描
-sV端口服务版本探测
-O启用操作系统探测
-A全面扫描
-oN保存 txt
-oA保存到所有格式

使用示例: 

准备:

 1、开启虚拟机并配置IP

        我这里开了一台Kali、一台windowsXP、一台windows2003,并都把虚拟网络桥接到vm2网络内(除了Kali,其他虚拟机开启啥都行,最后让他们处于同一局域网就好)

给虚拟机配IP就按上面的括补图来配置

 给kali系统配置IP

命令:

        ifconfig eth0 10.1.1.2/24    # eth0的“0”是网卡命令,“0”表示第一块网卡,“/24”是表示子网掩码转换成二进制就是24个1,8位为一组= 11111111,11111111,11111111,转换成十进制:255,255,255,写成子网掩码的形式:255.255.255.0。如果没有权限,在命令前面加:sudo  空格

    ifconfig eth0  # 查看IP有没有配置成功

然后可以ping一下其他两台PC,测试这些虚拟机能不能互相通信了

         ping  目标ip   #  ctrl + c 停止ping

扫描示例:

        nmap -sP 10.1.1.1-100                                  # 扫描10.1.1.1 到10.1.1.100网段的存活地址

        nmap -sP 10.1.1.0/24                                    # 扫描10.1.1.0整个网段的存活地址(包括10.1.1.1 - 10.1.1.254)

        nmap -p 21,23-25,3389 10.1.1.3                  # 扫描10.1.1.3指定的端口是否开放

        nmap  10.1.1.3                                                 # 简单扫描啥都不写,会先扫描在线状态再扫描所有端口号

        @TCP 连接扫描  -sT 是会完成TCP完整的三次握手

         nmap -sT 10.1.1.3 -p 3389        # 扫描10.1.1.3这台主机,测试3389端口是否可以被连接上

三次握手抓包图解

简单理解:我向目标发送一个SYN,他回我一个SYN,最后我再向他发送一个ACK完成三次握手。最终我向目标发送一个RST强制断开连接,使用的传输协议都是TCP。

端口关闭的情况 

三次握手(源文

        所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立

        目的:是建立可靠的通信通道,说到通信,简单来说就是数据的发生与接收,而三次握手最主要的目的就是双方确认自己与对方的发送与接收是否正常

  • 第一次握手:Client(客户端)什么都不能确认,Server(服务器)确认了对方发送正常,自己接收正常
  • 第二次握手:Client确认了:自己发送、接收正常,对方发送正常、接收正常;Server确认了:对方发送正常,自己接收正常
  • 第三次握手:Client确认了:自己发送、接收正常,对方发送正常接收正常;Server 确认了:对方发送正常,接收正常,自己发送正常,接收正常。

        @ 目标主机版本 

        nmap -p 21,23,455 10.1.1.3                                 # 扫描指定的端口

        nmap -p 21,23,455 10.1.1.3  -sV                         # 扫描指定的端口的服务器版本

        nmap -O  10.1.1.3                                            # 扫描目标系统版本及端口(不同的操作系统攻击方式就会不同)

        nmap -A  10.1.1.3                                             # 全面扫描(IP、端口、端口的服务版本)

        @ 保存扫描报告

        - oN保存成txt纯文本格式

        nmap -sT 21,23  10.1.1.3 -sV -oN  result.txt        # 扫描指定的端口并打印扫描结果

        - oX保存成xml表格格式

        nmap -p 21,23  10.1.1.3 -oX result.xml                # 扫描指定的端口并打印扫描结果

                                                口令破解

        口令安全威胁概述现在很多地方都以用户名(账号)和口令(密码)作为鉴权的方式,口令(密码)就意味着访问权限。口令(密码)就相当于进入家门的钥匙,当他人有一把可以进入你家的钥匙,想想你的安全、你的财务、你的隐私、害怕了吧。例如网站后台、数据库、服务器、个人电脑、QQ、邮箱等等

        - 口令安全现状

        @ 弱口令。

        类似于123456、654321、 admin123等这样常见的弱密码。

        @ 默认口令

        很多应用或者系统都存在默认口令。比如 phpstudy的 mysql数据库默认账密[ root/root ], Tomcat   管理控制台默认账密[ tomcat/ tomcat ]等。

        @ 明文传输

        比如http、ftp、telnet等服务,在网络中传输的数据流都是明文的,包括口令认证信息等。这样的服务,就有被嗅探的风险 。

破解方式

- 暴力破解

        暴力破解就是利用所有可能的字符组成密码,去尝试破解。这是最原始,粗暴的破解方法,根据运算能力,如果能够承受的起时间成本的话,最终一定会爆破出密码。下表是不同字符集合不同位数密码的数量。

字符集密码位数密码空间
【0 - 9】8位10~8=100000000
【0 - 9】【a - z】8位36^8=28211099074560
【0 - 9】【a - z】1 - 8位??

        下图为用真空密码字典生成器,生成的1到8位数的小写字母和数字字典,约占用空间

- 字典破解

        如果能通过比较合理的条件,筛选或者过滤掉一些全字符组合的内容,就会大幅降低爆破的成本。我们把筛选出的密码组合成特定的字典。在用字典爆破密码也是可以的,但是这样做有可能会漏掉真正的密码。密码字典大致分为以下几类。

        @弱口令字典

        比如123456,dmin等这样的默认口令或弱口令。

        @ 社工字典(社会工程学)

        人们在设置密码的时候,往往为了便于记忆,密码的内容和组合会与个人信息有关,比如常见的密码组合“名字+生日”。社工字典更具针对性,准确率也比较高。

        下图为,根据提供的用户信息,使用亦思社会工程学字典生成器生成的用户可能使用的密码,通过此字典进行密码破解。

 - 字符集字典

        如果能确定密码的字符集合,也将大大降低爆破的成本

windows口令破解

        - windows口令远程爆破

        我们可以通过Ntscan工具远程爆破 windows口令

工具Ntscan
使用场景本地网络(局域网)
支持模式139/445 | 支持IPC/SMB/WMI  三种扫描模式
字典文件NT user.dic/ NT pass.die

        如何防止 Ntscan扫描?

                本地策略-->安全选项-->网络访问:本地账户的共享和安全模式属性-->仅来宾模式 

例: 准备两台虚拟机如:windowsXP -- 模拟黑客攻击机         windows server2003 -- 模拟肉鸡

        1)让两台虚拟机能互相通信(可以使用ping命令测试)如:windows server2003的IP配置成:10.1.1.1/24,windowsXP的IP配置成:10.1.1.2/24,然后把两台虚拟就桥接到同一个虚拟网络就行了。

        2)在windowsXP使用软件进行破解密码

           

         

- windows账户 本地 hash 值破解

        除了可以从远程爆破 windows密码,我们还可以在本地破解 windows 密码。本地indows账户破解主要有两种方式。

        @ 从内存中读取 windows密码

        我们可以是用gtpase直接从 windows 系统内存中读取庄户密码。 (针对win2003系统,win10不起效)

        

@ windows hash值破解(不是win2003系统,就可以用这种方式)

        windows Hash 值破解一共需要两步操作。首先我们使用Quarks Pwdump工具读取(导出) windows账户密码hash值,然后再使用 Saminside工具破解 hash 值。 

提取本机的哈希值

        输入:QuarksPwDump.exe   # 进入蓝色的命令行窗口

        

                  QuarksPwDump.exe -dhl   # 提取哈希值

暴力破解哈希 

1)把你认为可能是密码的字符串,使用密码本生成复制粘贴到上图软件的密码本文件中(密码本文件是运行程序才会自动生成)

2)选择要破解的哈希值文件(刚才创建的hash.txt文件 ) 

 

linux口令破解(linux里kali内的工具进行远程连接破解)

        linux 口令破解,也分远程破解与本地破解。远程破解主要是爆破ssh服务,属于在线密码攻击。本地破解需要拿到linux的 shadow 文件,进行hash值破解,属于离线密码攻击。

在kali命令行输入 hydra  出现以下内容 

- 破解SSH服务

             -L 账户字典

             -l 单个账户名

             -p 单个密码

             -P 密码字典

             -vV 显示破解过程

        我们使用 hydra 攻击破解ssh服务(22端口), hydra攻击己经自动集成在kali虚拟机中。命令如下

        hydra -l administrator -P /root/dic/test_pwd.dic 10.1.1.3 ssh -vV  #  administrator(用户名)   /root/dic/test_pwd.dic(密码本路径)

        注意:要目标主机开启了相应的服务端口,才能暴力破解

         测试21、23、445端口是否开启

         准备好一个密码本(如果无法确定账号,可以再准备一个账号本)

        hydra爆破telnet(23端口):-p # 使用密码   -P # 使用密码字典  -vV # 显示破解过程

                hydra -l administrator -P /home/kali/桌面/test_pwd.txt 10.1.1.3 telnet   #  通过23端口进行破解密码 

        hydra爆破FTP(21端口)

                hydra -l administrator -P /home/kali/桌面/test_pwd.txt 10.1.1.3 ftp #  通过21端口进行破解密码 

        hydra爆破smb(445):

                hydra -l administrator -P /home/kali/桌面/test_pwd.txt 10.1.1.3 smb #  通过21端口进行破解密码 

         总结:先扫描对方那个端口打开了,就使用那个端口进行破解

 - 本地 shadow文件破解

        我们可以使用john工具,破解 shadow 密码文件。

        john有 windows版和linux版本。jhn也是自动集成在kali中。john破解的时候也需要准备一个字典。

        john的具体命令如下

        john --wordlist=/home/kali/桌面/test_pwd.txt /etc/shadow   # 指定要使用的字典

        john --show /etc/shadow           # 开始破解

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

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

相关文章

MySQL窗口函数 和 阿里云日志15日留存率仪表盘统计脚本实现

窗口函数的官方描述:窗口函数对一组查询行执行类似聚合的操作。但是,虽然聚合操作将查询行分组为单个结果行,但窗口函数会为每个查询行生成一个结果,发生函数评估的行称为当前行,与发生函数评估的当前行相关的查询行构…

Kubernetes证书热更新期限至100年【HA高可用集群】

一、问题与环境 1.为什么更新证书?局域网如何保障服务稳定性?   众所周知k8s(Kubernetes)有一个默认证书期限为一年不成文的规定,官方的解释是“最佳的做法是经常升级集群以确保安全。(升级后集群证书自…

MySQL表的增删查改

目录 1、表的插入 <1> 全列插入 <2> 指定列插入 <3> 插入否则更新 <4> 替换 2、表的查找 <1>全列查询 <2>指定列查询 <3> where条件 <4> 筛选分页结果 3、表的修改 4、表的数据删除 5、查看表结构 6、插入查询结…

SpringCloud微服务项目实战 - 2.App登录及网关

如果你追求一个局部的更好甚至完美,你有可能花费巨大的资源和时间&#xff1b; 从总体上看&#xff0c;这往往意味着总体的浪费和失败&#xff0c;这是传说中的“打赢了战役打输了战争”。 系列文章目录 项目搭建App登录及网关 文章目录系列文章目录一、App登录1. 需求分析2. …

2020-2021 ICPC, NERC, Southern and Volga Russian Regional Contest K. The Robot

翻译&#xff1a; 有一个机器人在一个没有尽头的方格场上。最初&#xff0c;机器人位于坐标为(0,0)的单元中。他将执行由一串大写拉丁字母“L”、“R”、“D”、“U”所描述的命令。当一个命令被执行时&#xff0c;机器人只是朝着相应的方向移动: “L”:向左一个单元格(当前单…

【聆思CSK6 视觉AI开发套件试用】AI控制直流电机转速接口打通

本篇文章来自极术社区与聆思科技组织的CSK6 视觉AI开发套件活动&#xff0c;更多开发板试用活动请关注极术社区网站。作者&#xff1a;oxlm 背景 在访问极术社区时&#xff0c;偶然发现聆思科技的CSK6开发板的评估活动&#xff0c;看CSK6的硬件配置和技术规格&#xff0c;300M…

JavaScript奇淫技巧:变速齿轮

JavaScript奇淫技巧&#xff1a;变速齿轮 在PC时代&#xff0c;曾有个名为“变速齿轮”的神奇软件&#xff0c;可以加快或减慢系统时间。 当时常用来修改游戏速度&#xff0c;可实现外挂一般的效果&#xff0c;很不可思议。 本文&#xff0c;将用JavaScript复刻这一功能&…

maven在无互联网(内网)环境下打包

Maven在内网环境打包 首先需要准备好项目所需的所有依赖包 我们可以在外网环境下&#xff0c;更改idea中Maven的local repository目录&#xff0c;然后刷新一下项目&#xff0c;将项目所需的依赖下载到更换的目录下 将新建的依赖目录和项目一起拷贝到内网环境下将依赖文件拷贝…

带你学懂数据结构中的八大排序(下)

✨个人主页&#xff1a; Yohifo &#x1f389;所属专栏&#xff1a; 数据结构 | C语言 &#x1f38a;每篇一句&#xff1a; 图片来源 You can avoid reality, but you cannot avoid the consequences of avoiding reality. 你可以逃避现实&#xff0c;但你无法逃避其带来的后果…

《图解TCP/IP》阅读笔记(第八章 8.1~8.4)—— 概要,TELNET、FTP、SMTP、POP、IMAP协议介绍

前言 本篇篇幅较长&#xff0c;请耐心或者选择性阅读。 第八章 应用协议 从本篇开始&#xff0c;将介绍一些应用层协议&#xff0c;一般情况下&#xff0c;人们不太会在意网络应用程序实际上是按照何种机制正常运行的。本章旨在介绍TCP/IP中所使用的几个主要应用协议&#x…

项目管理中,培养高效项目团队的6大优势

大多数项目经理知道合作会促进生产力&#xff0c;并且对不同的团队都很有效。良好的团队合作使你能够顺利地运行不同的项目&#xff0c;克服障碍并实现目标。 它也会使完成项目所需的时间减少&#xff0c;并使资源得到更好的管理。更不用说&#xff0c;高质量的团队合作将有助…

第十四讲:神州交换机链路聚合配置

链路聚合&#xff08;Link Aggregation&#xff09;又称Trunk&#xff0c;是指将多个物理端口捆绑在一起&#xff0c;成 为一个逻辑端口&#xff0c;以实现出/入流量在各成员端口中的负荷分担&#xff0c;交换机根据用户配置的端口负荷分担策略决定报文从哪一个成员端口发送到对…

如何快速理解Python中的for循环?

人生苦短&#xff0c;我用python 这次来给大家带来一点干货&#xff0c; 我们将从一组基本例子和它的语法开始&#xff0c; 还将讨论与 for 循环关联的 else 代码块的用处。 然后我们将介绍迭代对象、迭代器和迭代器协议&#xff0c; 还会学习如何创建自己的迭代对象和迭代器…

微信小程序云开发之用户输入数据后excel表格导出升级版

大家好&#xff0c;我是csdn的小博主lqj_本人&#xff0c;最近在哔哩哔哩开始上传我的制作微信小程序的详细流程&#xff0c;大家可以关注一下哔哩哔哩&#xff1a;小淼前端 本次程序的详细视频教程已上传至哔哩哔哩&#xff1a; 腾讯云开发小程序之用户输入数据excel自动导出系…

HaaS EDU物联网项目实战:微信小程序实现云养花

HaaS EDU K1是一款高颜值、高性能、高集成度的物联网开发板&#xff0c;板载功能强大的4核&#xff08;双核300Mhz M33双核1GHz A7&#xff09;主芯片&#xff0c;2.4G/5G双频Wi-Fi&#xff0c;双模蓝牙&#xff08;经典蓝牙/BLE&#xff09;&#xff0c;并自带丰富的传感器与小…

第一章 vscode安装java环境

要在Visual Studio Code中配置Java环境&#xff0c;需要完成以下步骤&#xff1a; 安装Java Development Kit (JDK)。首先&#xff0c;你需要安装Java Development Kit (JDK)&#xff0c;这是Java的开发环境&#xff0c;包含了Java虚拟机、Java编译器和Java库等。可以前往Oracl…

Python基础知识入门(五)

Python基础知识入门&#xff08;一&#xff09; Python基础知识入门&#xff08;二&#xff09; Python基础知识入门&#xff08;三&#xff09; Python基础知识入门&#xff08;四&#xff09; 一、模块应用 模块是一个包含所有定义的函数和变量的文件&#xff0c;其后缀名…

2022年「博客之星」参赛博主:(天寒雨落)在等您评价 ~

目录 评价方法 参与规则 评选规则 评分规则 活动奖品 评价方法 点击链接&#xff1a;2022年「博客之星」参赛博主&#xff1a;天寒雨落-CSDN社区 在箭头所指位置做出打星评价。 参与规则 1.本次年度评选分为「博客之星|和「博客新星:以及「社区之星|。「博客新星:只针对…

Kafka — 1、基础介绍

1、消息队列简介 &#xff08;1&#xff09;同步&#xff1a;多个服务之间是同步完成一次请求 缺点&#xff1a; a. 性能比较差 b. 稳定性比较差&#xff0c;如果其中一个服务没有执行成功&#xff0c;则整个请求执行失败 &#xff08;2&#xff09;异步&#xff1a;加入【消息…

自动控制原理笔记-线性系统的稳态误差

目录 1.误差与稳态误差 2.计算稳态误差的一般方法 3.静态误差系数法 例题&#xff1a; 稳态误差是系统的稳态性能指标&#xff0c;是系统控制精度的度量。 这里讨论的只是系统的原理性误差&#xff0c;不包括非线性等因素所造成的附加误差。 计算系统的稳态误差以系统稳定…