加密、解密、扫描、抓包

数据加密的最大特点是不可逆性(发送方–》明文『加密』–》 密文 接受方–》密文(解密)–》明文)

确保数据的机密性:
–对称加密:加密/解密用同一个密钥
–非对称加密:加密/解密用不同的密钥(公钥,私钥)
保护信息的完整性:
–信息摘要:基于输入的信息生成长度较端,位数固定的散列值

常见的加密算法:
对称加密:
–DES ,Data Encryption Standard
–AES , Advanced Encryption Standard
非对称加密:
–RSA,Rivest Shamish Adleman
–DSA,Digita Signature Algorithm

使用md5sum 和sha1sum 检测工具
一 : 检查文件的MD5校验和
1 将etc目录下的配置文件加密后写入新的文件 a.md5
for i in ls /etc/*.conf
do
md5sum $i >>/a.md5
done
2 任意改动/etc/my.conf的内容:修改追加重定向的文件b.md5
for i in ls /etc/*.conf
do
md5sum $i >> /b.md5
done
3 利用diff查看文件的的md5校验码的区别
[root@room9pc01 ~]# diff /a.md5 /b.md5
1,2d0
< b244e3b37f10a5e9275303908d27d712 my.cnf

gpg 数据加密与解密 和数字签名
gnupg支持的算法:
公钥:RSA, ?, ?, ELG, DSA
对称加密:IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256,
TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256
散列:MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
压缩:不压缩, ZIP, ZLIB, BZIP2

rpm -qf /usr/bin/gpg
gnupg2-2.0.22-4.el7.x86_64
gpg --version (查看版本)

gpg对称加密 与解密 (.gpg)

对称加密
基本用法
加密操作 : --symmetric 或 -c
解密操作 : --decrypt 或 -d
2 定义一个文本文件
[root@mysql11 ~]# echo 123456 > w.txt
3 使用gpg对称加密
[root@mysql11 ~]# gpg -c w.txt //在当前目录下生成w.txt.gpg文件
4 对gpg文件解密
[root@mysql11 ~]# gpg -d w.txt.gpg > w1.txt
[root@mysql11 ~]# cat w1.txt
123456
发送方 负责加密数据
接受方 负责解密数据

gpg 非对称加/解密
前期准备工作
创建密钥对 : --gen-key
导出公钥 : --export、–armor 或 -a
导入公钥 : --import
用法
加密操作 : -e 或 --encrypt
指定目标用户: -r 或 --recipient
解密操作 : -d 或 --decrypt
接受方 (userb)
创建密钥对
rm -rf ~/.gnupg/
gpg --gen-key
真实姓名:zhang
电子邮件地址:[email protected]
注释:tell
您选定了这个用户标识:
“zhang (tell) [email protected]
gpg --list-keys //查看公钥环
导出公钥 gpg --export -a > /tmp/userb.pub

发送方 (usera)
导入公钥 gpg --import /tmp/userb.pub
ls ~/.gnupg
2.使用公钥 加密明文文件
gpg -e -r zhang test.txt (输出y 确定) zhang与创建密要对真实姓名对应
cp test.txt.gpg /tmp/

userb用户方
cat /tmp/test.txt.gpg
gpg -d /tmp/test.txt.gpg > ~/2.txt (输出私钥密码解锁)
ls ~/2.txt

gpg 做数字签名 (.sig)
四 非对称密钥 : 私钥(签名) 公钥(验证签名) //验证数据的来源与私钥签名
–使用私钥签名的文件,是可以使用对应的公钥验证签名的,只要验证成功,则说明这个文件一定是出自对应的私钥签名,除非私钥被盗,否则一定能证明这个文件来自于某个人!

为软件建立签名文件
分离式签名 : -b
验证软件包签名 : --verify

userb 用户使用私钥做数字签名
vim ~/3.txt
[userb@student000000 ~]$ gpg -b ~/3.txt
您需要输入密码,才能解开这个用户的私钥:“zhang (tell) [email protected]
2048 位的 RSA 密钥,钥匙号 3206E1E3,建立于 2018-12-29
cp ~/3.txt.sig /tmp/
cp ~/3.txt /tmp/

usera 用户 使用导入的公钥的验证签名
gpg --verify /tmp/3.txt.sig
gpg: 于 2018年12月29日 星期六 17时23分56秒 CST 创建的签名,使用 RSA,钥匙号 3206E1E3
gpg: 完好的签名,来自于“zhang (tell) [email protected]
gpg: 警告:这把密钥未经受信任的签名认证!
gpg: 没有证据表明这个签名属于它所声称的持有者。
主钥指纹: EA31 6292 63CE 1E12 58EE 1E5B A48A EB3B 3206 E1E3

AIDE入侵监测系统

安装软件包
yum -y install aide
vim /etc/aide.conf
3 @@define DBDIR /var/lib/aide (数据目录)
4 @@define LOGDIR /var/log/aide (数据日志)
7 database=file:@@{DBDIR}/aide.db.gz (原先检测信息存放位置)
12 database_out=file:@@{DBDIR}/aide.db.new.gz (检测到的信息存放位置)

aide --init (初始化检测,生成初始文件)
AIDE, version 0.15.1

AIDE database at /var/lib/aide/aide.db.new.gz initialized.

备份 (将初始信息移到到别的地方,如u盘或别地文件)
mv /var/lib/aide/aide.db.new.gz /tmp/
cp /tmp/aide.db.new.gz /var/lib/aide/aide.db.gz (将原始文件改名,做原始检测文件)
对被检测文件做 增删改
aide --check (检测)
vim ~/.viminfo====vim ~/.bash_history (存放历史记录)

六 扫描与抓包分析
nmap简介
一款强大的网络探测利器工具
支持多种探测技术
ping 扫描
多端口扫描
tcp/ip指纹校验

扫描方式及工具
典型的方式
scan ,主动探测
sniff 被动监听
capture 数据包捕获(抓包)

常见工具
扫描器:nmap
协议分析: tcpdump 、 wireshark

1使用NMAP扫描来获取指定主机/网段的相关信息
yum -y install nmap
//基本用法:
nmap [扫描类型] [选项] <扫描目标 …>
//常用的扫描类型
// -sS,TCP SYN扫描(半开—syn(客户端请求) -->回应(服务器))
// -sT,TCP 连接扫描(全开—完整的三次握手)
// -sU,UDP扫描
// -sP,ICMP扫描
// -A,目标系统全面分析

nmap -sP -n 176.130.5.0/24 (拼一个网段)
nmap -sP -n 176.130.5.20-50 (拼20–50ip)
nmap -sP -n 176.130.5.252,232,38 (拼 ip 252 232 38)
nmap -A 176.130.5.38 (全面扫描)
nmap -sS -p 80,21-22 176.130.5.252 (检查176.130.5.252主机开启了FTP、SSH服务、http服务)
nmap -sS -n -p 80,21-22 176.130.5.252

七 使用tcpdump分析FTP访问中的明文交换信息
nmap是扫描工具
tcpdump抓包工具+其他(IP地址欺骗/DHCP欺骗)
yum -y install tcpdump

//监控选项如下:
// -i,指定监控的网络接口(默认监听第一个网卡)
// -A,转换为 ACSII 码,以方便阅读
// -w,将数据包信息保存到指定文件
// -r,从指定文件读取数据包信息

//tcpdump的过滤条件:
// 类型:host、net、port、portrange 主机/ net/端口/端口范围
// 方向:src(源地址)、dst 目标地址
// 协议:tcp、udp、ip、wlan、arp、……
// 多个条件组合:and、or、not
tcpdump (默认只抓包eth0)
tcpdump -i (抓包端口) -c(抓包个数) -A (可阅读) -w (存) -r(读)
cpdump -i eth0 -c 3 -A -w /tmp/1.cap (抓包信息写到/tmp/1.cap)
tcpdump -A -r /tmp/1.cap (查看)
tcpdump -A -i eth0 src host 176.130.5.252

真机上:
yum -y install vsftpd
systemctl restart vsftpd
useradd student
echo 123456 | passwd --stdin student
su - student ==>echo 123456 > test.txt
tcpdump -A -i private1 tcp port 21 -w /tmp/2.cap (抓访问ftp的包)
tcpdump -A -r /tmp/2.cap | grep user (查看访问的用户名)
14:29:55.505532 IP m1.48910 > 192.168.4.254.ftp: Flags [P.], seq 1:15, ack 21, win 229, options [nop,nop,TS val 22517046 ecr 23115608], length 14: FTP: USER student
tcpdump -A -r /tmp/2.cap | grep -i pass (查看访问的密码)
14:29:58.498150 IP m1.48910 > 192.168.4.254.ftp: Flags [P.], seq 15:28, ack 55, win 229, options [nop,nop,TS val 22520039 ecr 23129292], length 13: FTP: PASS 123456

4.50访问ftp
yum -y install ftp
ftp 192.168.4.254
get test.txt (下载文件)
put xxxx (上传文件)
真机部署邮箱
rpm -q postfix
postfix-2.10.1-6.el7.x86_64
ss -nutlp | grep :25
创建用户
useradd zhangzuhua
echo 123456 | passwd --stdin zhangzuhua
在真机执行抓包
yum -y install tel
tcpdump -i lo -A tcp port 25

另开一台写邮件
helo : pc254 (指定发件主机)
mail from : root@localhost (发件人)
rcpt to: zhangzuhua@localhost (收件人)
data (邮件正文)
i love you
. (提交内容)
quit (退出)

配置收邮件服务
yum -y install dovecot (用户收邮件)
ss -nutlp | grep :110

vim /etc/postfix/main.cf
419 home_mailbox = Maildir/
systemctl restart postfix

vim /etc/dovecot/conf.d/10-auth.conf
10 disable_plaintext_auth = no

vim /etc/dovecot/conf.d/10-mail.conf
24 mail_location = maildir:~/Maildir

在真机执行抓包命令 并查看抓包信息 ]# tcpdump -i lo -A tcp port 25

另开一台登入
telnet localhost 110 连接收邮件服务
user panglj 登陆用户名
pass 123456 登陆密码
list 查看邮件列表
retr 1 查看编号是1的邮件内容
quit 断开连接

wireshark协议分析器
一款与tcpdump类似的抓包工具,需要图形环境
rpm -qa | grep -i Wireshark
wireshark-gnome-1.10.14-14.el7.x86_64
wireshark-1.10.14-14.el7.x86_64

打开软件
应用程序—>互联网----> wireshark

打开抓包文件
file---->open—>找到扎包文件---->打开

窗口1 抓到的ip包列表
窗口2 抓到的每一个ip包在tcp/ip 四层模型的每一层具体信息
窗口3 每一层具体的数据是什么

你可能感兴趣的:(加密、解密、扫描、抓包)