zoukankan      html  css  js  c++  java
  • 39_加密与解密 AIDE入侵检测系统 扫描与抓包

    一.加密与解密
    1.1 常见的加密算法
    对称加密:怎么加密,就怎么解密
    DES Date Encryption Standard
    AES Advance Encryption Standard
    非对称加密
    RSA Rivest Shamirh Adleman
    DSA Digital Signature Algorithm
     
    数据信息完整性
    MD5 Message Digest Algorithm 5
    SHA Secure Hash Algorithm
    ]# md5sum a.txt
    ba1f2511fc30423bdbb183fe33f3dd0f  a.txt

    1.2 GPG加密工具
    ]# rpm -q gnupg2
    gnupg2-2.0.22-5.el7_5.x86_64
    ]# which gpg
    /usr/bin/gpg
    ]# gpg --help
     
    1.3 新建两个用户,并分别登陆,在一台机器行测试加密解密
    ]# useradd usera
    ]# useradd userb
    ]# echo 123456 | passwd --stdin usera
    ]# echo 123456 | passwd --stdin userb
    ]# ssh -X usera@localhost
    ]# ssh -X userb@localhost
     
    1.3.1 gpg 数据对称加密与解密  -c 加密  -d 解密
    发             收
    usera加密
    usera --> userb
    usera~] gpg -c a.txt
    usera~] ls
    a.txt  a.txt.gpg
    usera]$ cp a.txt.gpg /tmp/
     
    userb解密
    userb~] ls -l /tmp/a.txt.gpg
    -rw-rw-r-- 1 usera usera 48 2月  25 21:11 /tmp/a.txt.gpg
    解密
    userb~]$ cat /tmp/a.txt.gpg   看到的是乱码
    userb/tmp] gpg -d a.txt.gpg > ~/a4.txt (提示输解密密码)
    userb]$ cat a4.txt 查看文件内容(解密)
     
    1.3.2 gpg 数据非对称加密与解密
    公钥加密 私钥解密
    加密       解密
    uesra    userb
    A--发送加密数据(B的公钥)  B--查看加密数据(B的私钥)
     
    B--创建秘钥对
    B-->公钥-->A
    A--公钥-->加密数据
    A--数据-->B
    B--私钥-->数据
     
    1) 创建密钥对 userb
    ]$ rm -rf  ~/.gnupg/
    ]$ gpg --gen-key  创建密钥对
    ...
    请选择您要使用的密钥种类:
       (1) RSA and RSA (default)
       (2) DSA and Elgamal
       (3) DSA (仅用于签名)
       (4) RSA (仅用于签名)
    您的选择?
    RSA 密钥长度应在 1024 位与 4096 位之间。
    您想要用多大的密钥尺寸?(2048)
    您所要求的密钥尺寸是 2048 位
    请设定这把密钥的有效期限。
             0 = 密钥永不过期
          <n>  = 密钥在 n 天后过期
          <n>w = 密钥在 n 周后过期
          <n>m = 密钥在 n 月后过期
          <n>y = 密钥在 n 年后过期
    密钥的有效期限是?(0)
    密钥永远不会过期
    以上正确吗?(y/n)y
    ...
    真实姓名:userb
    电子邮件地址:349012093@qq.com
    注释:zk
    您选定了这个用户标识:
        “userb (zk) <349012093@qq.com>”
    更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)?O  (提示输入保护私钥的密码)
     
    gpg: 正在检查信任度数据库
    gpg: 需要 3 份勉强信任和 1 份完全信任,PGP 信任模型
    gpg: 深度:0 有效性:  1 已签名:  0 信任度:0-,0q,0n,0m,0f,1u
    pub   2048R/15C567E0 2020-02-25
    密钥指纹 = 9F63 8C06 100E E79C E8F7  6E38 A159 FCAD 15C5 67E0
    uid                  userb (zk) <349012093@qq.com>
    sub   2048R/2F42885E 2020-02-25
     
    ]$ ls ~/.gnupg/
    gpg.conf           pubring.gpg   random_seed  S.gpg-agent
    private-keys-v1.d  pubring.gpg~  secring.gpg  trustdb.gpg
     
    2) userb导出公钥
    ]$ gpg --export -a > ~/userb.pub
    ]$ ls
    a4.txt userb.pub
     
    3) userb把导出公钥放到公共目录下
    ~]$ cp ~/userb.pub /tmp/
     
    usera :
    1) usera导入公钥
    ]$ rm -rf  ~/.gnupg/
    ]$ gpg --import /tmp/userb.pub
    ]$ ls ~/.gnupg/
    gpg.conf  pubring.gpg  pubring.gpg~  secring.gpg  trustdb.gpg
     
    2) usera使用公钥加密文件
    ]$ echo aaaa > test.txt
    ]$ gpg -e -r userb test.txt  文件加密
                 无论如何还是使用这把密钥吗?(y/N)y
    ]$ ls
    test.txt  test.txt.gpg  userb.pub
     
    3) usera把加密文件放到公共目录下
    ]$ cp test.txt.gpg /tmp/
    ]$ ls -l /tmp/test.txt.gpg
    -rw-rw-r-- 1 usera usera 343 2月  25 21:22 /tmp/test.txt.gpg
     
    4) userb用户使用私钥解密文件
    ]$ gpg -d /tmp/test.txt.gpg > ~/test5.txt  (必须输入私钥的密码)
     
    5) userb查看文件内容
    ]$ cat ~/test5.txt
    aaaa
     
    1.3.3 gpg 数字签名
    userb使用私钥签名    
    ]$ echo qwe > a1.txt 创建文件
    ]$ gpg -b a1.txt (数字签名 要输入私钥密码)
     
    ]$ ls ~/a1*
    /home/userb/a1.txt  /home/userb/a1.txt.sig
    ]$ cp ~/a1*  /tmp/
    ]$ ls -l /tmp/a1*
    -rw-rw-r-- 1 userb userb   4 2月  25 21:26 /tmp/a1.txt
    -rw-rw-r-- 1 userb userb 287 2月  25 21:26 /tmp/a1.txt.sig

    ]$ gpg --fingerprint    输出私钥指纹
    /home/userb/.gnupg/pubring.gpg
    ------------------------------
    pub   2048R/15C567E0 2020-02-25
    密钥指纹 = 9F63 8C06 100E E79C E8F7  6E38 A159 FCAD 15C5 67E0
    uid                  userb (zk) <349012093@qq.com>
    sub   2048R/2F42885E 2020-02-25
     
    usera使用公钥验证签名
    ]$ gpg --verify /tmp/a1.txt.sig (root 用户修改了 a1.txt 文件的话 提示签名损坏)
    gpg: 于 2020年02月25日 星期二 21时23分52秒 CST 创建的签名,使用 RSA,钥匙号 15C567E0
    gpg: 完好的签名,来自于“userb (zk) <349012093@qq.com>”
    gpg: 警告:这把密钥未经受信任的签名认证!
    gpg:       没有证据表明这个签名属于它所声称的持有者。
    主钥指纹: 9F63 8C06 100E E79C E8F7  6E38 A159 FCAD 15C5 67E0
    ]$ cat /tmp/a1.txt
    qwe
    如果内容被修改:usera
    ]$ gpg --verify /tmp/a1.txt.sig
    gpg: 于 2020年02月25日 星期二 21时23分52秒 CST 创建的签名,使用 RSA,钥匙号 15C567E0
    gpg: 已损坏的签名,来自于“userb (zk) <349012093@qq.com>”

    二 AIDE入侵检测系统
    2.1 安装提供检测程序的软件包
    ]# yum -y install aide
    aide.x86_64 0:0.15.1-13.el7
     
    2.2 编辑主配置文件
    ]# sed -i '99,312s/^/#/' /etc/aide.conf  注释默认的检测配置
    ]# vim /etc/aide.conf
    /root/    FIPSR    #定义检测的目录 和检测规则,写在99行的上方即可
    :wq
     
    ]# aide --init  没有被入侵之前 生成初始信息数据库文件
    AIDE, version 0.15.1
    ### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
    ]# ls /var/lib/aide/aide.db.new.gz  查看数据库文件
     
    ]# cp /var/lib/aide/aide.db.new.gz /tmp/ 把存有初始信息的文件拷贝走
    ]# cd /var/lib/aide/
    ]# mv aide.db.new.gz aide.db.gz          修改文件名
    ]# ls /var/lib/aide/
    aide.db.gz                               查看修改后的文件名
     
    对被检测的/root 目录做操作 (任何操作都可以)
    lsattr /root/a.txt
    chattr -a a.txt
    echo 123 > passwd
     
    ]# aide --check
    Summary:
      Total number of files:    13
      Added files:    1
      Removed files:    0
      Changed files:    2
    ...
     
    三 扫描与抓包
    3.1 nmap  扫描
    ]# rpm -q nmap
    ]# man nmap
    ]# nmap -sP 172.40.52.0/24
    ]# nmap -sT 172.40.52.118
    ]# nmap -sT -p 8080 172.40.52.118
    ]# nmap -sT -n -p 80 172.40.52.118-200
    ]# nmap -A 192.168.4.50
    ]# nmap -A  192.168.4.50
    ]# nmap -sP 172.40.52.119,117,221
    ]# nmap -sU 192.168.4.51
    ]# nmap -sT -p 80,3306,53 192.168.4.51
    ]# nmap -sT -p 21-110,3306,27017,6379 192.168.4.51
     
    4.2 tcpdump抓包
    ]# which tcpdump
    /usr/sbin/tcpdump
    ]# man tcpdump
     
    ]# tcpdump  (默认只抓从eth0接口进出的数据包)
    ]# tcpdump -i br1  指定抓包接口(网卡名称)
    ]# tcpdump -i br1 -c 2 指定抓包个数
    ]# tcpdump -i br1 -c 2 -A  以可阅读方式显示抓包信息
    ]# tcpdump -i br1 -c 2 -A -w /tmp/one.cap 存储到文件里
    ]# ls /tmp/one.cap   
    ]# tcpdump -A -r /tmp/one.cap 读取文件内容
     
    ]# tcpdump -i br1 tcp port 80(网页服务)
    ]# tcpdump -i br1 tcp port 22(远程ssh)
    ]# tcpdump -i br1 tcp port 21
     
    ]# tcpdump -i br1 host 172.40.52.143 and tcp port 21
    ]# tcpdump -i br1 src host 172.40.52.143 and tcp port 21
    (src 只抓访问我的,不抓我返回给他的,相反dst)
     
    抓ftp服务的数据包(其他客户端访问51的ftp)
    ]# useradd student
    ]# echo abc123 | passwd --stdin  student
    ]# tcpdump -A -i eth0  tcp port 21 -w /tmp/a3.cap
     
    ]# tcpdump -A -r /tmp/a3.cap | grep -i student
    ]# tcpdump -A -r /tmp/a3.cap | grep -i abc123
    ]# tcpdump -A -r /tmp/a3.cap | grep -i 'user|pass'
     
    四. 192.168.4.51 做邮件服务器
    收邮件服务 端口 110
         ]# yum -y install dovecot
         ]# systemctl start dovecot
         ]# netstat -utnlp | grep :110
    发邮件服务 端口25
             ]# rpm -q postfix
             ]# systemctl status postfix
             ]# netstat -utnlp | grep :25
    添加邮箱帐号
             ]# useradd jim
             ]# echo 123456 | passwd --stdin jim
             jim@localhost 邮箱帐号
                123456 密码
    设置邮箱目录
            ]# vim /etc/postfix/main.cf
               419 home_mailbox = Maildir/
            :wq
            ]# systemctl restart postfix
            ]# cd /etc/dovecot/conf.d/
            ]# vim 10-auth.conf
                10 disable_plaintext_auth = no
            :wq
            ]# vim 10-mail.conf
                24 mail_location = maildir:~/Maildir
            :wq
            ]# systemctl restart dovecot
     
    连接postfix服务发送邮件
        ]# rpm -q telnet
        ]# telnet localhost 25        连接postfix服务
           helo pc51                  定义主机名
            mail from:root@localhost  发件人
              rcpt to:jim@localhost   收件人
                 data                 写邮件
                     i love you boy   邮件内容
                     i love you boy
                     i love you boy
                 .                    提交邮件
              quit                    断开连接
     
    连接dovecot服务收邮件
          [root@R51 ~]# telnet localhost 110  
          user jim     登陆用户名
          pass 123456  登陆密码
          list         查看邮件
          retr 1       显示编号是1的邮件内容
          quit    断开连接
     
    ]# tcpdump -A -i lo tcp port 110(测试,上面操作,下面抓包)
    ]# tcpdump -w /tmp/mail3.cap -A -i lo tcp port 110(执行第 四 步之前先执行此命令)
    ]# tcpdump -A -r /tmp/mail3.cap | grep -i user
    reading from file /tmp/mail3.cap, link-type EN10MB (Ethernet)
    .-._.-.{user jim

    ]# tcpdump -A -r /tmp/mail3.cap | grep -i pass
    reading from file /tmp/mail3.cap, link-type EN10MB (Ethernet)
    .-...-._pass 123456

    安装wireshark
       ]# yum -y install wireshark wireshark-gnome
       ]# wireshark

  • 相关阅读:
    nyoj 115------城市平乱( dijkstra // bellman )
    nyoj-----284坦克大战(带权值的图搜索)
    nyoj-----42一笔画问题
    hdu-------1081To The Max
    nyoj------170网络的可靠性
    HDUOJ-------1052Tian Ji -- The Horse Racing(田忌赛马)
    初学Java之Pattern与Matcher类
    初学java之StringBuffer类的常用方法
    初学java之大数处理
    hdu---1024Max Sum Plus Plus(动态规划)
  • 原文地址:https://www.cnblogs.com/luwei0915/p/12364614.html
Copyright © 2011-2022 走看看