zoukankan      html  css  js  c++  java
  • 四十五.加密与解密 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
     
    1.2 GPG加密工具
    ]# rpm -q  gnupg2
    gnupg2-2.0.22-3.el7.x86_64
    ]# which  gpg
    /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月  19 15:01 /tmp/a.txt.gpg
    解密
    ]$ 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
    电子邮件地址:pang@163.com
    注释:teacher
    您选定了这个用户标识:
        “userb (teacher) <pang@163.com>”
    更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)?O  (提示输入保护私钥的密码)
     
    gpg: 正在检查信任度数据库
    gpg: 需要 3 份勉强信任和 1 份完全信任,PGP 信任模型
    gpg: 深度:0 有效性:  1 已签名:  0 信任度:0-,0q,0n,0m,0f,1u
    pub   2048R/44CFD46F 2019-02-19
    密钥指纹 = DB63 55F8 6BD7 941D 8F4A  872F BD9B B688 44CF D46F
    uid                  userb (teacher) <pang@163.com>
    sub   2048R/F6E2F282 2019-02-19
     
    ]$ 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 344 2月  19 15:45 /tmp/test.txt.gpg
     
    4) userb用户使用私钥解密文件
    ]$ gpg -d /tmp/test.txt.gpg > ~/test5.txt  (必须输入私钥的密码)
     
    5) userb查看文件内容
    ]$ cat ~/test5.txt
     
    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月  19 15:51 /tmp/a1.txt
    -rw-rw-r--. 1 userb userb 287 2月  19 15:51 /tmp/a1.txt.sig
    ]$ gpg --fingerprint    输出私钥指纹
    /home/userb/.gnupg/pubring.gpg
    ------------------------------
    pub   2048R/44CFD46F 2019-02-19
    密钥指纹 = DB63 55F8 6BD7 941D 8F4A  872F BD9B B688 44CF D46F
    uid                  userb (teacher) <pang@163.com>
    sub   2048R/F6E2F282 2019-02-19
     
    usera使用公钥验证签名
    ]$ gpg --verify /tmp/a1.txt.sig (root 用户修改了 a1.txt 文件的话 提示签名损坏) 
    gpg: 于 2019年02月19日 星期二 15时49分06秒 CST 创建的签名,使用 RSA,钥匙号 44CFD46F
    gpg: 完好的签名,来自于“userb (teacher) <pang@163.com>”
    gpg: 警告:这把密钥未经受信任的签名认证!
    gpg:       没有证据表明这个签名属于它所声称的持有者。
    主钥指纹: DB63 55F8 6BD7 941D 8F4A  872F BD9B B688 44CF D46F
     
    ]$ cat /tmp/a1.txt
     
    如果内容被修改:
    ]$ gpg --verify /tmp/a1.txt.sig
    gpg: 于 2019年02月19日 星期二 15时49分06秒 CST 创建的签名,使用 RSA,钥匙号 44CFD46F
    gpg: 已损坏的签名,来自于“userb (teacher) <pang@163.com>”
     
    二 AIDE入侵检测系统
    2.1 安装提供检测程序的软件包 
    ]# yum -y install aide
     
    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 目录做操作 (任何操作都可以)
      585  lsattr /root/a.txt 
      586  chattr -a a.txt 
      587  rm -rf /root/a.txt*
      588  ls
      589  vim passwd 
      590  vim  b3.txt
      591  ls -l  mysql-5.7.17.tar 
      592  chown  mysql:mysql  mysql-5.7.17.tar 
     
    ]# aide --check
    Summary:
      Total number of files:9848
      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
    /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
    ]# tcpdump -A -r /tmp/mail3.cap | grep -i pass
     
    安装wireshark
       ]# yum -y  install wireshark  wireshark-gnome
       ]# wireshark
  • 相关阅读:
    Android 3.0 r1 API中文文档(108) —— ExpandableListAdapter
    Android 3.0 r1 API中文文档(113) ——SlidingDrawer
    Android 3.0 r1 API中文文档(105) —— ViewParent
    Android 中文 API (102)—— CursorAdapter
    Android开发者指南(4) —— Application Fundamentals
    Android开发者指南(1) —— Android Debug Bridge(adb)
    Android中文API(115)——AudioFormat
    Android中文API(116)——TableLayout
    Android开发者指南(3) —— Other Tools
    Android中文API (110) —— CursorTreeAdapter
  • 原文地址:https://www.cnblogs.com/luwei0915/p/10495396.html
Copyright © 2011-2022 走看看