太原网站制作好吗无代码开发平台永久免费
目录
1.nessus扫描任务
2.漏洞信息共享平台
3.nessus扫描结果
4.漏扫报告的查看
5.暴力破解以及hydra的使用
6.crunch命令生成字典
7.其他方式获取字典
8.复习
9.关于暴力破解的防御的讨论
10.pam配置的讲解
11.pam弱密码保护
12.pam锁定账户
13.shadow文件的解析
14.hashcat命令的使用
1.nessus扫描任务
1 nessus 漏扫工具
     安装方式
         将deb安装包上传到 kali
        dpkg -i <安装包地址>
         /etc/init.d/nessusd start
        打开浏览器访问 nessus的服务
             https://ip:8834/
                 报错,证书不能够验证(证书是自签),添加例外,强制访问
            1 创建管理员账号以及密码
             2 激活,填入激活码
             3 等待线上安装插件
    如果线上安装失败,此时就要执行这个
     /opt/nessus/sbin/nessuscli update
    更新成功之后,登录到nessus的管理界面
     添加扫描任务,填入任务名以及扫描的ip地址,保存后开始扫描
2.漏洞信息共享平台
2 漏洞信息共享平台
     https://nvd.nist.gov/
     http://cve.mitre.org/
     http://www.cnvd.org.cn/
  
3.nessus扫描结果
3 暴力破解
     原理:穷举各个密码,进行破解尝试,如果成功,就找到了对应的密码
         银行卡 000000 - 999999  尝试一遍
     成功率: 100% (密码全集尝试)
     非常耗时间
     从全集挑选一些常用的或者常见的密码进行尝试,成功率也很高,字典攻击
         成功条件:密码字典里边包含一个正确的密码
  
4.漏扫报告的查看
4 hydra命令
     hydra -l msfadmin -P passwd.txt -e nsr -vV -o ssh_ok.log  192.168.16.204 ssh
        -l msfadmin: 指定用户名msfadmin
         -L 用户名字典   :  指定用户名字典(用户名也要猜)
        -p 单个密码:  尝试单个密码
         -P passwd.txt: 指定字典文件passwd.txt
        -e nsr: 额外检查,n 代表空口令, s代表用户名, r代表用户名称逆序(反向)
             s ->    root : root 
             r ->    root : toor
-vV: 显示详细过程
-o ssh_ok.log: 输出login/passwd 对到ssh_ok.log
192.168.16.204: 靶机IP地址
        ssh: 被攻击的协议
             目前 hydra支持的协议
             adam6500  afp  asterisk  cisco  cisco-enable cvs firebird ftp ftps http[s]-{head|get|post} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc
               ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql(v4) mysql5 ncp nntp oracle oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp radmin2 redis rexec
               rlogin rpcap rsh rtsp s7-300 sapr3 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp
  
5.暴力破解以及hydra的使用
5 字典的获取
    自行构造(最笨的方法)
         crunch 最小长度 最大长度 字符集
        crunch 2 2 abc 
             生成 以 abc3个字符组成的所有2位密码
        crunch 2 2 -f /usr/share/crunch/charset.lst numeric
             指定使用某个字符集文件中的特定字符集
    其他方式
         kali默认自带的字典
             /usr/share/wordlists/rockyou.txt
互联网上面去下载一些公开的字典
cupp -l 从仓库去下载一些字典
        cupp -i 跟用户做问答最后生成一个字典
  
6.crunch命令生成字典
6 暴力破解防御
暴力破解成功率100%
     用户名的防御:
         保证账号名不要泄露,尽量不要使用黑客能够随便拿到猜到的用户名(公司名,test,admin)
        但是root用户是肯定存在
         $ sudo vi /etc/ssh/sshd_config
             PermitRootLogin yes
             改为 :
             PermitRootLogin no
             或者改为 prohibit-password  不允许root用户使用密码进行登录,但是可以使用证书进行登录
        可以添加以下选项来控制哪些用户可以登录或者不允许登录
         AllowUsers  xxxuser1 xxxuser2
         DenyUsers root xxxuser1 xxxuser2
        控制每个TCP连接尝试次数,客户端重新连接之后还可以继续进行尝试:
         MaxAuthTries 3
    密码的防御:
     只能延长破解时间
         1 锁定账户
         2 扩充密码全集
             控制密码有大小写字符数字下划线等特殊字符组成 6-32位
7.其他方式获取字典
 PAM
     标识
         解决一个问题:我是谁
         用户名
        系统有张三李四使用,
             zhangsan  -> 张三 
             lisi      -> 李四
    鉴别
         解决一个问题:我是我
         密码
密码可以改为其他的鉴别方式,指纹、刷脸....
     ubuntu
         ssh登录  ->   输入用户名 -> 密码   -> 进入命令行交互界面
         GUI登录  ->   输入用户名 -> 指纹   -> 进入GUI的桌面
     鉴别的方式随着计算的发展进行调整,需要一个可插拔的方式来实现鉴别的调整  PAM
     linux 什么时候 会触发鉴权?
         1 登录
         2 sudo
         3 passwd
         4 chsh
    pam配置文件的格式
         正常 pam.conf 是5列 ,因为后面每个服务都单独写一个pam文件
             放到 /etc/pam.d  ,第一列是废掉了
     type control module-path module-arguments
简单理解: 每一行其实就是调用 特定so中的某个接口顺便传参,也是使用配置文件进行编程
    1  type 第一栏,认证鉴别接口类型:(四类接口)
         auth:表示鉴别类接口模块类型用于检查用户和密码,并分配权限
         account:表示账户类接口,主要负责账户合法性检查,确认帐号是否过期,是否有权限登录系统等;
         session:会话类接口。实现从用户登录成功到退出的会话控制;
         password:口令类接口。控制用户更改密码的全过程。
         
         简单说,就是一个接口名字
2 control 是控制语句
3 so模块的地址,只需要填文件名,自动去 /lib/x86_64-linux-gnu/security
4 模块参数
8.复习
shadow密码的破解
     root:$6$WQJmEIbE$u5gns7kaUXd6GdTgNpoFNDGpmdU4O7qPf3DgNCHg57wgOIuwEXKorlZczhBWVoNV6EG8DvkajzYeP8Sgye8Vq1:18015:0:99999:7:::
    第二列就是该用户密码的哈希值
         $6$WQJmEIbE$u5gns7kaUXd6GdTgNpoFNDGpmdU4O7qPf3DgNCHg57wgOIuwEXKorlZczhBWVoNV6EG8DvkajzYeP8Sgye8Vq1
该字符串的组成形式 $id$salt$encrypted 是以$符号作为分隔符的3列信息
        id    密码加密算法id
               ID  | Method
               ─────────────────────────────────────────────────────────
               1   | MD5
               2a  | Blowfish (not in mainline glibc; added in some
                   | Linux distributions)
               5   | SHA-256 (since glibc 2.7)
               6   | SHA-512 (since glibc 2.7)
         salt  盐 (加料)
             添加一个额外的随机字符串然后再使用哈希算法来计算密码哈希
             1 增加安全性
             2 增加迷惑性
                 a用户密码是123456
                 b用户密码也是123456
         encrypted
             密码的哈希
     普及知识:
         以下三种类型的计算方式 都是 讲一段数据计算成为另一段数据
        编码   base64
             算法公开,可逆
        加密   des 3des rsa ...
             可逆,加密需要加密密钥,解密也需要解密密钥
             根据加密和解密的密钥是否相等分为对称和非对称
        哈希 MD5 sha1 sha2 sha-256 ...
             将一段数据计算成为一段固定长度的数据,不可逆
             只要两段数据二进制是相同的,计算的结果也是一样的
     使用hashcat来破解shadow文件中的密码哈希
         hashcat -m 1800 <密码哈希的文件> <字典文件>
         
         hashcat依赖硬件资源
9.关于暴力破解的防御的讨论

10.pam配置的讲解

11.pam弱密码保护
-  
-  
- 攻击机
 
 
 -  
 - 攻击机: 用于发起网络攻击的主机,本次课程基于Kali Linux构建攻击机。 
- Kali Linux下载地址
 - 搞渗透测试的专用平台。
 - Kali Linux是基于Debian的Linux发行版,(和ubuntu是兄弟关系),设计用于数字取证操作系统。
 - 集成超过300个渗透测试工具, 继承自BackTrack, 并发扬光大
 - 一般来说,“攻击”这个词杀气太重,习惯来讲,一般会说“渗透测试”。 
- IDS/IPS
 
 
 
- 攻击检测、分析、与防御平台: 
- IDS: Intrusion Detection Systems, 入侵检测系统 
- IDS在交换式网络中的位置一般选择为:尽可能靠近攻击源、尽可能靠近受保护资源
 - 部署位置: Internet接入路由器之后的第一台交换机上
 
 - IPS: Intrusion Prevention System, 入侵防御系统 
- 办公网与外部网络的连接部位(入口/出口), 简单的说就是网关
 - 重要服务器集群前端;
 - 办公网内部接入层
 
 
 - IDS: Intrusion Detection Systems, 入侵检测系统 
 
12.pam锁定账户
-  
-  
- 网络链接
 
 
 -  
 - 网络连接: 通过网络将靶机、攻击机和具备检测分析防御功能的网关进行连接。 
- 交换机、网关等
 
 
- Kali Linux
 
- 目标  
- 了解渗透测试人员的工作平台-kali linux
 - 知道kali linux的安装方法。
 
 
-  
- Kali Linux 介绍
 
 
- Kali Linux是一个基于Debian的Linux发行版,
 - 集成了300多个安全和取证方面的相关工具, 专为渗透测试人员准备,
 - Kali Linux的前身是BackTrack Linux发行版。
 - Back Track是基于Ubuntu的一个Linux发行版。(补充: ubuntu也是基于Debian的Linux发型版)
 - 它由Offensive Security Ltd维护和资助,最先由Offensive Security的MatiAharoni和Devon Kearns通过重写Back Track来完成。
 - Kali Linux有32位和64位的镜像,可用于x86指令集。同时它还有基于ARM架构的镜像,可用于树莓派和三星的ARM Chromebook。用户可通过硬盘、Live CD或Live USB来运行Kali Linux操作系统。
 
-  
- 安装Kali Linux
 
 
如今Linux的安装过程已经非常“傻瓜”化,只需要轻点几下鼠标,就能够完成整个系统的安装。Kali Linux操作系统的安装也非常简单。本节将分别介绍安装Kali Linux至硬盘、USB驱动器、树莓派、VMware Workstation和Womuare Tods的详细过程。
-  
-  
- ISO下载
 
 
 -  
 
安装到硬盘是最基本的操作之一。该工作的实现可以让用户不使用DVD,而正常的运行Kali Linux。在安装这个全新的操作系统之前,需要做一些准备工作。例如,从哪里得到Linux?对电脑配置有什么要求?……下面将逐一列出这些要求。
- Kali Linux安装的磁盘空间的最小值是8GB。为了便于使用,这里推荐至少25GB去保存附加程序和文件。
 - 内存最好为512MB以上。
 - Kali Linux的下载地址,下载界面如图1.1所示。
 
13.shadow文件的解析

14.hashcat命令的使用

