目录
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所示。