加密与解密 、 AIDE入侵检测系统 、 扫描与抓包

一、加密与解密

1.1 加密目的及其方式

加密与解密 、 AIDE入侵检测系统 、 扫描与抓包
加密与解密 、 AIDE入侵检测系统 、 扫描与抓包
加密与解密 、 AIDE入侵检测系统 、 扫描与抓包
加密与解密 、 AIDE入侵检测系统 、 扫描与抓包

1.2 GnuPG简介

加密与解密 、 AIDE入侵检测系统 、 扫描与抓包

1.2.1 GPG对称加/解密

加密与解密 、 AIDE入侵检测系统 、 扫描与抓包

[root@proxy ~]# gpg --version
[root@proxy ~]# gpg -c 11.txt    //设置密码
[root@proxy ~]# file 11.txt*
11.txt:     ASCII text
11.txt.gpg: data            //加密后的文件
[root@proxy ~]# gpg -d 11.txt.gpg  > 221   //解密数据并保存在221文件里

1.2.2 GPG非对称加/解密

加密与解密 、 AIDE入侵检测系统 、 扫描与抓包

[root@proxy1 ~]# mv /dev/random /dev/random.bak   //保证快速加密
[root@proxy1 ~]# ln -s /dev/urandom /dev/random   //快捷键
[root@proxy ~]# useradd A
[root@proxy ~]# useradd B 
[root@proxy ~]# echo 123456 | passwd --stdin A
[root@proxy ~]# echo 123456 | passwd --stdin B

远程进入B用户

[root@proxy ~]# ssh -X B@192.168.4.5
[B@proxy ~]$ gpg --gen-key   //生成密钥对,要记得里面的真实姓名
[B@proxy ~]$ ls .gnupg/      //查看gpg的设置,有密钥对文件、保护密钥对文件
gpg.conf           pubring.gpg   random_seed  S.gpg-agent
private-keys-v1.d  pubring.gpg~  secring.gpg  trustdb.gpg
[B@proxy ~]$ gpg --list-keys  //列出密钥
[B@proxy ~]$ gpg --export -a > /tmp/B.pub  //导出公钥,tmp文件时公共文件夹,AB用户都可以对其导入

远程进入A用户

[root@proxy ~]# ssh -X A@192.168.4.5
[A@proxy ~]$ gpg --import /tmp/B.pub
gpg: 已创建目录‘/home/A/.gnupg’
gpg: 新的配置文件‘/home/A/.gnupg/gpg.conf’已建立
gpg: 警告:在‘/home/A/.gnupg/gpg.conf’里的选项于此次运行期间未被使用
gpg: 钥匙环‘/home/A/.gnupg/secring.gpg’已建立
gpg: 钥匙环‘/home/A/.gnupg/pubring.gpg’已建立
gpg: /home/A/.gnupg/trustdb.gpg:建立了信任度数据库
gpg: 密钥 779888F6:公钥“mao123”已导入
gpg: 合计被处理的数量:1
gpg:           已导入:1  (RSA: 1)

[A@proxy ~]$ ls .gnupg/      //查看gpg对端设置
gpg.conf  pubring.gpg  pubring.gpg~  secring.gpg  trustdb.gpg

加密与解密 、 AIDE入侵检测系统 、 扫描与抓包
公私钥准备完毕后,开始使用
A用户加密文件

[A@proxy ~]$ echo 123 > 11.txt
[A@proxy ~]$ gpg -e -r mao123 11.txt   //加密,mao123是自己规定的真实姓名,会生成一个.gpg结尾文件
[A@proxy ~]$ mv 11.txt.gpg  /tmp/

B用户解密文件

[B@proxy ~]$ gpg -d /tmp/11.txt.gpg  > ~/111.txt   //解密文件
[B@proxy ~]$ cat 111.txt    //查看文件内容

PS:密钥指纹可以作为密钥是否为一对的标识

1.2.3 GPG软件签名与验证

加密与解密 、 AIDE入侵检测系统 、 扫描与抓包
加密与解密 、 AIDE入侵检测系统 、 扫描与抓包
进入B用户

[B@proxy ~]$ gpg -b b.txt  //生成一份分离的签名,以.sig结尾
[B@proxy ~]$ ls
111.txt  b.txt  b.txt.sig
[B@proxy ~]$ mv b.txt* /tmp/

进入A用户

[A@proxy ~]$ gpg --verify /tmp/b.txt.sig  //验证签名,提示完好
[B@proxy ~]$ gpg --fingerprint  //打印密钥和指纹,可以通过比较指纹来验证密钥是否为一对
[B@proxy ~]$ vim /tmp/b.txt   //修改b.txt
[A@proxy ~]$ gpg --verify /tmp/b.txt.sig  //再一次验证,提示签证损坏

二、AIDE入侵检测系统

[root@proxy ~]# yum -y install aide

AIDE默认配置文件为/etc/aide.conf

[root@proxy ~]# vim /etc/aide.conf
@@define DBDIR /var/lib/aide        //数据库目录
@@define LOGDIR /var/log/aide       //日志目录
database_out=file:@@{DBDIR}/aide.db.new.gz   //数据库文件名
#p:      permissions    //希望检查的项目
...........
/boot/   CONTENT_EX     //对哪些目录进行什么校验
...........
!/usr/src/              //使用[!],设置不校验的命令

[root@proxy ~]# sed -i '99,312s/^/#/' /etc/aide.conf    //把其他的检测位置都注释掉
[root@proxy ~]# vim +98 /etc/aide.conf    //只检测root文件夹
root/ FIPSR
[root@proxy ~]# aide --init      //生成没有被入侵前的数据库文件
[root@proxy ~]# mv /var/lib/aide/aide.db.new.gz /media/   //备份数据

执行入侵检测

[root@proxy ~]# cp /media/aide.db.new.gz /var/lib/aide/aide.db.gz    //将备份数据还原
[root@proxy ~]# echo 111 > 11
[root@proxy ~]# aide --check   //执行入侵检测
........
changed: /root/11
.........

三、 扫描与抓包

3.1 为什么要扫描

加密与解密 、 AIDE入侵检测系统 、 扫描与抓包
加密与解密 、 AIDE入侵检测系统 、 扫描与抓包
加密与解密 、 AIDE入侵检测系统 、 扫描与抓包

3.2 NMAP简介

加密与解密 、 AIDE入侵检测系统 、 扫描与抓包
加密与解密 、 AIDE入侵检测系统 、 扫描与抓包

[root@proxy ~]# yum -y install nmap
[root@proxy ~]# nmap --help
[root@proxy ~]# man nmap
[root@proxy ~]# nmap -sP 192.168.4.5
[root@proxy ~]# nmap -sP 192.168.4.5,6,7
[root@proxy ~]# nmap -sP 192.168.4.5-254
[root@proxy ~]# nmap -n -sP 192.168.4.0/24    //n代表永远不要解析DNS /始终解析
[root@proxy ~]# nmap -sS -p22  192.168.4.5
[root@proxy ~]# nmap -sS -p 22,8080  192.168.4.5
[root@proxy ~]# nmap -sS -p 22-111,8080  192.168.4.5
[root@proxy ~]# nmap -A 192.168.4.5     //扫描所有

非标准端口抓取不到

3.3 网络抓包工具

3.3.1 tcpdump

加密与解密 、 AIDE入侵检测系统 、 扫描与抓包
加密与解密 、 AIDE入侵检测系统 、 扫描与抓包

[root@proxy ~]# yum -y install tcpdump

```bash
[root@proxy ~]# tcpdump -i ens3   //默认抓取的是ens0
[root@proxy ~]# tcpdump -i ens33 -c 3  //在ens33的物理接口抓取3个包
[root@proxy ~]# tcpdump -i ens33 -c 3 -A -w /opt/xx.cap   //将抓取的包放入该文件内
[root@proxy ~]# tcpdump -A -r /opt/xx.cap    //从指定的文件读取信息

条件复合用法

[root@proxy ~]# tcpdump -i ens33 icmp 
[root@proxy ~]# tcpdump -i ens33 icmp and host 192.168.4.5
[root@proxy ~]# tcpdump -i ens33 icmp and src host 192.168.4.5  //抓取源为4.5主机的包
[root@proxy ~]# tcpdump  -i ens33  tcp  port 2288  and  host 192.168.4.202
[root@proxy ~]]# tcpdump  -i ens33  tcp  port 8866  or port 21
[root@proxy ~]# tcpdump  -i ens33  tcp  portrange 21-110

抓取ftp的包

[root@proxy ~]# yum  -y install  vsftpd
[root@proxy ~]# systemctl  restart  vsftpd 
[root@proxy ~]# netstat  -utnlp  | grep  21
[root@proxy ~]# useradd  panglijing
[root@proxy ~]# echo "abc123abc" | passwd --stdin panglijing
[root@proxy ~]# cp /etc/passwd  /home/panglijing/
[root@proxy ~]# chmod  +r /home/panglijing/passwd 
[root@proxy ~]# tcpdump  -i ens33  -A  -w  /root/ftp.cap  tcp  portrange 20-21	

[root@host202 ~]# yum  -y  install ftp
[root@host202 ~]# ftp  192.168.4.200
Name (192.168.4.200:root): panglijing  用户名
331 Please specify the password.
Password:密码
ftp> ls 
ftp> get passwd
ftp> bye
[root@host202 ~]# 
	
[root@proxy ~]#tcpdump    -A  -r  /root/ftp.cap 
[root@proxy ~]#tcpdump    -A  -r  /root/ftp.cap  | grep -i pass
[root@proxy ~]#tcpdump    -A  -r  /root/ftp.cap  | grep -i user

3.3.2 wireshark

   wireshark一款与tcpdump类似的抓包工具,需要图形环境
	 [root@host200 ~]# yum  -y  install wireshark wireshark-gnome
     [root@host200 ~]# scp  /root/ftp.cap   192.168.4.70:/opt/

       使用wireshar 把 ftp.cap 文件打开 查看抓包内容
上一篇:tcpdump抓包与分析


下一篇:第五章 九析带你轻松完爆 tcpdump