IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

[Aide] Rkhunter scan


Sujet :

Administration système

  1. #1
    Membre actif
    Homme Profil pro
    recherche
    Inscrit en
    Octobre 2011
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : recherche
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 144
    Points : 228
    Points
    228
    Par défaut [Aide] Rkhunter scan
    Bonjour, je me suis décidé à passer sur Linux de façon définitive et pas totalement novice mais peu informé j'essaie de voir ce que je peut faire pour le sécurisé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    toto@toto-bb:~$ sudo rkhunter --check 
    [ Rootkit Hunter version 1.4.0 ]
     
    Checking system commands...
     
      Performing 'strings' command checks
        Checking 'strings' command                               [ OK ]
     
      Performing 'shared libraries' checks
        Checking for preloading variables                        [ None found ]
        Checking for preloaded libraries                         [ None found ]
        Checking LD_LIBRARY_PATH variable                        [ Not found ]
     
      Performing file properties checks
        Checking for prerequisites                               [ OK ]
        /usr/sbin/adduser                                        [ OK ]
        /usr/sbin/chroot                                         [ OK ]
        /usr/sbin/cron                                           [ OK ]
        /usr/sbin/groupadd                                       [ OK ]
        /usr/sbin/groupdel                                       [ OK ]
        /usr/sbin/groupmod                                       [ OK ]
        /usr/sbin/grpck                                          [ OK ]
        /usr/sbin/nologin                                        [ OK ]
        /usr/sbin/pwck                                           [ OK ]
        /usr/sbin/tcpd                                           [ OK ]
        /usr/sbin/useradd                                        [ OK ]
        /usr/sbin/userdel                                        [ OK ]
        /usr/sbin/usermod                                        [ OK ]
        /usr/sbin/vipw                                           [ OK ]
        /usr/bin/awk                                             [ OK ]
        /usr/bin/basename                                        [ OK ]
        /usr/bin/chattr                                          [ OK ]
        /usr/bin/curl                                            [ OK ]
        /usr/bin/cut                                             [ OK ]
        /usr/bin/diff                                            [ OK ]
        /usr/bin/dirname                                         [ OK ]
        /usr/bin/dpkg                                            [ OK ]
        /usr/bin/dpkg-query                                      [ OK ]
        /usr/bin/du                                              [ OK ]
        /usr/bin/env                                             [ OK ]
        /usr/bin/file                                            [ OK ]
        /usr/bin/find                                            [ OK ]
        /usr/bin/GET                                             [ OK ]
        /usr/bin/groups                                          [ OK ]
        /usr/bin/head                                            [ OK ]
        /usr/bin/id                                              [ OK ]
        /usr/bin/killall                                         [ OK ]
        /usr/bin/last                                            [ OK ]
        /usr/bin/lastlog                                         [ OK ]
        /usr/bin/ldd                                             [ OK ]
        /usr/bin/less                                            [ OK ]
        /usr/bin/locate                                          [ OK ]
        /usr/bin/logger                                          [ OK ]
        /usr/bin/lsattr                                          [ OK ]
        /usr/bin/lsof                                            [ OK ]
        /usr/bin/mail                                            [ OK ]
        /usr/bin/md5sum                                          [ OK ]
        /usr/bin/mlocate                                         [ OK ]
        /usr/bin/newgrp                                          [ OK ]
        /usr/bin/passwd                                          [ OK ]
        /usr/bin/perl                                            [ OK ]
        /usr/bin/pgrep                                           [ OK ]
        /usr/bin/pkill                                           [ OK ]
        /usr/bin/pstree                                          [ OK ]
        /usr/bin/rkhunter                                        [ OK ]
        /usr/bin/runcon                                          [ OK ]
        /usr/bin/sha1sum                                         [ OK ]
        /usr/bin/sha224sum                                       [ OK ]
        /usr/bin/sha256sum                                       [ OK ]
        /usr/bin/sha384sum                                       [ OK ]
        /usr/bin/sha512sum                                       [ OK ]
        /usr/bin/size                                            [ OK ]
        /usr/bin/sort                                            [ OK ]
        /usr/bin/stat                                            [ OK ]
        /usr/bin/strace                                          [ OK ]
        /usr/bin/strings                                         [ OK ]
        /usr/bin/sudo                                            [ OK ]
        /usr/bin/tail                                            [ OK ]
        /usr/bin/test                                            [ OK ]
        /usr/bin/top                                             [ OK ]
        /usr/bin/touch                                           [ OK ]
        /usr/bin/tr                                              [ OK ]
        /usr/bin/uniq                                            [ OK ]
        /usr/bin/users                                           [ OK ]
        /usr/bin/vmstat                                          [ OK ]
        /usr/bin/w                                               [ OK ]
        /usr/bin/watch                                           [ OK ]
        /usr/bin/wc                                              [ OK ]
        /usr/bin/wget                                            [ OK ]
        /usr/bin/whatis                                          [ OK ]
        /usr/bin/whereis                                         [ OK ]
        /usr/bin/which                                           [ OK ]
        /usr/bin/who                                             [ OK ]
        /usr/bin/whoami                                          [ OK ]
        /usr/bin/unhide.rb                                       [ Warning ]
        /usr/bin/mawk                                            [ OK ]
        /usr/bin/lwp-request                                     [ OK ]
        /usr/bin/heirloom-mailx                                  [ OK ]
        /usr/bin/w.procps                                        [ OK ]
        /sbin/depmod                                             [ OK ]
        /sbin/fsck                                               [ OK ]
        /sbin/ifconfig                                           [ OK ]
        /sbin/ifdown                                             [ OK ]
        /sbin/ifup                                               [ OK ]
        /sbin/init                                               [ OK ]
        /sbin/insmod                                             [ OK ]
        /sbin/ip                                                 [ OK ]
        /sbin/lsmod                                              [ OK ]
        /sbin/modinfo                                            [ OK ]
        /sbin/modprobe                                           [ OK ]
        /sbin/rmmod                                              [ OK ]
        /sbin/route                                              [ OK ]
        /sbin/runlevel                                           [ OK ]
        /sbin/sulogin                                            [ OK ]
        /sbin/sysctl                                             [ OK ]
        /bin/bash                                                [ OK ]
        /bin/cat                                                 [ OK ]
        /bin/chmod                                               [ OK ]
        /bin/chown                                               [ OK ]
        /bin/cp                                                  [ OK ]
        /bin/date                                                [ OK ]
        /bin/df                                                  [ OK ]
        /bin/dmesg                                               [ OK ]
        /bin/echo                                                [ OK ]
        /bin/ed                                                  [ OK ]
        /bin/egrep                                               [ OK ]
        /bin/fgrep                                               [ OK ]
        /bin/fuser                                               [ OK ]
        /bin/grep                                                [ OK ]
        /bin/ip                                                  [ OK ]
        /bin/kill                                                [ OK ]
        /bin/less                                                [ OK ]
        /bin/login                                               [ OK ]
        /bin/ls                                                  [ OK ]
        /bin/lsmod                                               [ OK ]
        /bin/mktemp                                              [ OK ]
        /bin/more                                                [ OK ]
        /bin/mount                                               [ OK ]
        /bin/mv                                                  [ OK ]
        /bin/netstat                                             [ OK ]
        /bin/ping                                                [ OK ]
        /bin/ps                                                  [ OK ]
        /bin/pwd                                                 [ OK ]
        /bin/readlink                                            [ OK ]
        /bin/sed                                                 [ OK ]
        /bin/sh                                                  [ OK ]
        /bin/su                                                  [ OK ]
        /bin/touch                                               [ OK ]
        /bin/uname                                               [ OK ]
        /bin/which                                               [ OK ]
        /bin/kmod                                                [ OK ]
        /bin/dash                                                [ OK ]
     
    [Press <ENTER> to continue]
     
     
    Checking for rootkits...
     
      Performing check of known rootkit files and directories
        55808 Trojan - Variant A                                 [ Not found ]
        ADM Worm                                                 [ Not found ]
        AjaKit Rootkit                                           [ Not found ]
        Adore Rootkit                                            [ Not found ]
        aPa Kit                                                  [ Not found ]
        Apache Worm                                              [ Not found ]
        Ambient (ark) Rootkit                                    [ Not found ]
        Balaur Rootkit                                           [ Not found ]
        BeastKit Rootkit                                         [ Not found ]
        beX2 Rootkit                                             [ Not found ]
        BOBKit Rootkit                                           [ Not found ]
        cb Rootkit                                               [ Not found ]
        CiNIK Worm (Slapper.B variant)                           [ Not found ]
        Danny-Boy's Abuse Kit                                    [ Not found ]
        Devil RootKit                                            [ Not found ]
        Dica-Kit Rootkit                                         [ Not found ]
        Dreams Rootkit                                           [ Not found ]
        Duarawkz Rootkit                                         [ Not found ]
        Enye LKM                                                 [ Not found ]
        Flea Linux Rootkit                                       [ Not found ]
        Fu Rootkit                                               [ Not found ]
        Fuck`it Rootkit                                          [ Not found ]
        GasKit Rootkit                                           [ Not found ]
        Heroin LKM                                               [ Not found ]
        HjC Kit                                                  [ Not found ]
        ignoKit Rootkit                                          [ Not found ]
        IntoXonia-NG Rootkit                                     [ Not found ]
        Irix Rootkit                                             [ Not found ]
        Jynx Rootkit                                             [ Not found ]
        KBeast Rootkit                                           [ Not found ]
        Kitko Rootkit                                            [ Not found ]
        Knark Rootkit                                            [ Not found ]
        ld-linuxv.so Rootkit                                     [ Not found ]
        Li0n Worm                                                [ Not found ]
        Lockit / LJK2 Rootkit                                    [ Not found ]
        Mood-NT Rootkit                                          [ Not found ]
        MRK Rootkit                                              [ Not found ]
        Ni0 Rootkit                                              [ Not found ]
        Ohhara Rootkit                                           [ Not found ]
        Optic Kit (Tux) Worm                                     [ Not found ]
        Oz Rootkit                                               [ Not found ]
        Phalanx Rootkit                                          [ Not found ]
        Phalanx2 Rootkit                                         [ Not found ]
        Phalanx2 Rootkit (extended tests)                        [ Not found ]
        Portacelo Rootkit                                        [ Not found ]
        R3dstorm Toolkit                                         [ Not found ]
        RH-Sharpe's Rootkit                                      [ Not found ]
        RSHA's Rootkit                                           [ Not found ]
        Scalper Worm                                             [ Not found ]
        Sebek LKM                                                [ Not found ]
        Shutdown Rootkit                                         [ Not found ]
        SHV4 Rootkit                                             [ Not found ]
        SHV5 Rootkit                                             [ Not found ]
        Sin Rootkit                                              [ Not found ]
        Slapper Worm                                             [ Not found ]
        Sneakin Rootkit                                          [ Not found ]
        'Spanish' Rootkit                                        [ Not found ]
        Suckit Rootkit                                           [ Not found ]
        Superkit Rootkit                                         [ Not found ]
        TBD (Telnet BackDoor)                                    [ Not found ]
        TeLeKiT Rootkit                                          [ Not found ]
        T0rn Rootkit                                             [ Not found ]
        trNkit Rootkit                                           [ Not found ]
        Trojanit Kit                                             [ Not found ]
        Tuxtendo Rootkit                                         [ Not found ]
        URK Rootkit                                              [ Not found ]
        Vampire Rootkit                                          [ Not found ]
        VcKit Rootkit                                            [ Not found ]
        Volc Rootkit                                             [ Not found ]
        Xzibit Rootkit                                           [ Not found ]
        zaRwT.KiT Rootkit                                        [ Not found ]
        ZK Rootkit                                               [ Not found ]
     
    [Press <ENTER> to continue]
     
     
      Performing additional rootkit checks
        Suckit Rookit additional checks                          [ OK ]
        Checking for possible rootkit files and directories      [ None found ]
        Checking for possible rootkit strings                    [ None found ]
     
      Performing malware checks
        Checking running processes for suspicious files          [ None found ]
        Checking for login backdoors                             [ None found ]
        Checking for suspicious directories                      [ None found ]
        Checking for sniffer log files                           [ None found ]
        Checking for Apache backdoor                             [ Not found ]
     
      Performing Linux specific checks
        Checking loaded kernel modules                           [ OK ]
        Checking kernel module names                             [ OK ]
     
    [Press <ENTER> to continue]
     
     
    Checking the network...
     
      Performing checks on the network ports
        Checking for backdoor ports                              [ None found ]
        Checking for hidden ports                                [ Skipped ]
     
      Performing checks on the network interfaces
        Checking for promiscuous interfaces                      [ None found ]
     
    Checking the local host...
     
      Performing system boot checks
        Checking for local host name                             [ Found ]
        Checking for system startup files                        [ Found ]
        Checking system startup files for malware                [ None found ]
     
      Performing group and account checks
        Checking for passwd file                                 [ Found ]
        Checking for root equivalent (UID 0) accounts            [ None found ]
        Checking for passwordless accounts                       [ None found ]
        Checking for passwd file changes                         [ None found ]
        Checking for group file changes                          [ None found ]
        Checking root account shell history files                [ OK ]
     
      Performing system configuration file checks
        Checking for a system logging configuration file         [ Found ]
        Checking if SSH root access is allowed                   [ Warning ]
        Checking if SSH protocol v1 is allowed                   [ Not allowed ]
        Checking for a running system logging daemon             [ Found ]
        Checking for a system logging configuration file         [ Found ]
        Checking if syslog remote logging is allowed             [ Not allowed ]
     
      Performing filesystem checks
        Checking /dev for suspicious file types                  [ Warning ]
        Checking for hidden files and directories                [ Warning ]
     
    [Press <ENTER> to continue]
     
     
     
    System checks summary
    =====================
     
    File properties checks...
        Files checked: 137
        Suspect files: 1
     
    Rootkit checks...
        Rootkits checked : 307
        Possible rootkits: 0
     
    Applications checks...
        All checks skipped
     
    The system checks took: 1 minute and 49 seconds
     
    All results have been written to the log file: /var/log/rkhunter.log
     
    One or more warnings have been found while checking the system.
    Please check the log file (/var/log/rkhunter.log)
    Je suis aller voir le fichier /usr/bin/unhide.rb

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    #!/usr/bin/ruby -w
     
    # Try to find running processes using different methods, and report
    # processes found through some means but not through others.
    #
    # Exit code 2 means something fishy was detected.
    #
    # Exit code 1 means something went wrong.
     
    # Copyright 2009 by Johan Walles, johan.walles@gmail.com
    #
    #   This program is free software: you can redistribute it and/or modify
    #   it under the terms of the GNU General Public License as published by
    #   the Free Software Foundation, either version 3 of the License, or
    #   (at your option) any later version.
    #
    #   This program is distributed in the hope that it will be useful,
    #   but WITHOUT ANY WARRANTY; without even the implied warranty of
    #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    #   GNU General Public License for more details.
    #
    #   You should have received a copy of the GNU General Public License
    #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
     
    require 'set'
    require 'dl/import'
    require 'dl/struct'
     
    # Support for libc functions not covered by the standard Ruby
    # libraries
    module LibC
      if RUBY_VERSION =~ /^1\.8/
        extend DL::Importable
      else
        extend DL::Importer
      end
      dlload "libc.so.6"
     
      # PID scanning functions
      extern "int getsid(int)"
      extern "int sched_getscheduler(int)"
      extern "int sched_getparam(int, void*)"
      extern "int sched_rr_get_interval(int, void*)"
      extern "int sched_getaffinity(int, int, void*)"
      extern "int readlink(char *, char *, int)"
      extern "int kill(int, int)"
     
      # We want to ask sysinfo about the number of active PIDs.  This
      # result struct has been taken from the sysinfo(2) Linux man page.
      SysInfoData = struct [
         "long uptime",
         "long loads[3]",
         "long totalram",
         "long freeram",
         "long sharedram",
         "long bufferram",
         "long totalswap",
         "long freeswap",
         "short procs",
         "long padding[42]"
       ]
       extern "int sysinfo(void *)"
    end
     
    # A piece of scratch memory where system calls can fill in
    # information.  What's written here is not interesting, it's just that
    # some of the PID scanning functions need a memory area to write into.
    scratch = "\0" * 1024
     
    # Make sure our scratch buffer is large enough for sched_getaffinity()
    while LibC.sched_getaffinity(0, scratch.length, scratch) == -1
      scratch = "\0" * (scratch.length * 2)
    end
     
    $proc_parent_pids = nil
    $proc_tasks = nil
    $ps_pids = nil
    $proc_readdir_pids = nil
    def setup
      # List all parent processes pointed out by anybody in /proc
      $proc_parent_pids = Set.new
      proc_dir = Dir.new("/proc")
      proc_dir.each do |proc_entry|
        next unless File.directory?("/proc/" + proc_entry)
        next unless proc_entry =~ /^[0-9]+$/
        status_file = File.new("/proc/#{proc_entry}/status")
        begin
          status_file.each_line do |line|
            line.chomp!
            next unless line =~ /^ppid:\s+([0-9]+)$/i
            ppid = $1.to_i
            $proc_parent_pids << ppid
            break
          end
        ensure
          status_file.close
        end
      end
      proc_dir.close
     
      # List all thread pids in /proc
      $proc_tasks = {}
      proc_dir = Dir.new("/proc")
      proc_dir.each do |proc_entry|
        next unless File.directory?("/proc/" + proc_entry)
        next unless proc_entry =~ /^[0-9]+$/
        task_dir = Dir.new("/proc/#{proc_entry}/task")
        begin
          task_dir.each do |task_pid|
            next unless task_pid =~ /^[0-9]+$/
     
            # "true" means we *have* an executable
            exe = true
            begin
              # Store the *name* of the executable
              exe = File.readlink("/proc/#{proc_entry}/task/#{task_pid}/exe")
            rescue Errno::EACCES, Errno::ENOENT
              # This block intentionally left blank
            end
            $proc_tasks[task_pid.to_i] = exe
          end
        ensure
          task_dir.close
        end
      end
      proc_dir.close
     
      # List all PIDs displayed by ps
      $ps_pids = {}
      $ps_pids.default = false
      ps_stdout = IO.popen("ps axHo lwp,cmd", "r")
      ps_pid = ps_stdout.pid
      ps_stdout.each_line do |ps_line|
        ps_line.chomp!
        next unless ps_line =~ /^\s*([0-9]+)\s+([^ ]+).*$/
        pid = $1.to_i
        exe = $2
        $ps_pids[pid] = exe
      end
      ps_stdout.close
      # Remove the ps process itself from our pid list
      $ps_pids.delete ps_pid
     
      # List all pids found by readdir on /proc
      $proc_readdir_pids = Set.new
      Dir.open("/proc").each do |dir|
        next unless dir =~ /^[0-9]+$/
        $proc_readdir_pids << dir.to_i
      end
    end
     
    # Return errno after last library call
    def get_errno()
      return DL.respond_to?("last_error") ? DL::last_error : Fiddle::last_error
    end
     
    # This array contains named PID detectors. Given a PID to examine they
    # can say:
    # * true (it exists)
    # * "some string" (it exists, and here is its name)
    # * false (it doesn't exist)
    # * nil (don't know)
    $pid_detectors = [
                     ["ps", proc { |pid|
                        # Does "ps" list this pid?
                        $ps_pids[pid]
                      }],
     
                     ["/proc naive", lambda { |pid|
                        # Is there a /proc entry for this pid?
                        File.directory?("/proc/#{pid}")
                      }],
     
                     ["/proc readdir", lambda { |pid|
                        # Did we find this pid when listing the contents of /proc?
                        if $proc_readdir_pids.include?(pid)
                          true
                        else
                          nil
                        end
                      }],
     
                     ["/proc opendir", lambda { |pid|
                        # Is there a /proc entry for this pid that we can do opendir() on?
                        begin
                          Dir.open("/proc/#{pid}")
                          true
                        rescue Errno::ENOENT
                          false
                        end
                      }],
     
                     ["/proc/<pid>/status", lambda { |pid|
                        # Parse the process name out of /proc/1234/status
                        begin
                          process_name = true
                          File.open("/proc/#{pid}/status").each do |line|
                            next unless line =~ /Name:[\t ]+(.*)$/
                            process_name = $1
                            break
                          end
                          process_name
                        rescue Errno::ENOENT
                          false
                        end
                      }],
     
                     ["/proc readlink", lambda { |pid|
                        # Read the /proc/1234/exe entry for this pid
                        begin
                          File.readlink("/proc/#{pid}/exe")
                        rescue Errno::EACCES
                          "<run unhide.rb as root to identify exe>"
                        rescue Errno::ENOENT
                          # Some kernel processes have unreadable symlinks in /proc/1234/pid, and
                          # we can't tell "unreadable symlink" apart from "process doesn't exist"
                          nil
                        end
                      }],
     
                      ["/proc libc-readlink", lambda { |pid|
                         # Is this process visible by the readlink libc function?
                         # The result of this can differ from File.readlink() if
                         # somebody has preloaded a library that overrides certain
                         # libc functions as described here:
                         # http://sourceforge.net/mailarchive/message.php?msg_id=28258660
                         length = LibC.readlink("/proc/#{pid}/exe", scratch, scratch.length)
                         if length >= 0
                           scratch[0..(length - 1)]
                         else
                           case get_errno()
                             when 2 # ENOENT
                               # Some kernel processes have unreadable symlinks in /proc/1234/pid, and
                               # we can't tell "unreadable symlink" apart from "process doesn't exist"
                               nil
                             when 13 # EACCES
                               "<run unhide.rb as root to identify exe>"
                           else
                             raise "Unknown errno #{errno}"
                           end
                         end
                       }],
     
                     ["/proc tasks", proc { |pid|
                        # Is there a /proc/1234/tasks/pid directory for
                        # this pid?
                        $proc_tasks[pid]
                      }],
     
                     ["/proc parent", proc { |pid|
                        # Does any /proc entry point this pid out as a
                        # parent pid?
                        if $proc_parent_pids.include? pid
                          true
                        else
                          nil
                        end
                      }],
     
                     ["/proc chdir", proc { |pid|
                        # Can we chdir into /proc/<pid>?
                        begin
                          Dir::chdir "/proc/#{pid}"
                          true
                        rescue Errno::ENOENT
                          false
                        end
                      }],
     
                     ["getsid()", proc { |pid|
                        LibC.getsid(pid) != -1
                      }],
     
                     ["getpgid()", proc { |pid|
                        exists = true
                        begin
                          Process.getpgid(pid)
                        rescue
                          exists = false
                        end
                        exists
                      }],
     
                     ["getpriority()", proc { |pid|
                        exists = true
                        begin
                          Process.getpriority(Process::PRIO_PROCESS, pid)
                        rescue
                          exists = false
                        end
                        exists
                      }],
     
                     ["sched_getparam()", proc { |pid|
                        LibC.sched_getparam(pid, scratch) != -1
                      }],
     
                     ["sched_getaffinity()", proc { |pid|
                        LibC.sched_getaffinity(pid, scratch.length, scratch) != -1
                      }],
     
                     ["sched_getscheduler()", proc { |pid|
                        LibC.sched_getscheduler(pid) != -1
                      }],
     
                     ["kill(pid, 0)", proc { |pid|
                        if LibC.kill(pid, 0) == 0
                          true
                        else
                          case get_errno
                          when 1 # EPERM
                            true
                          when 3 # ESRCH
                            false
                          else
                            raise "Unknown errno #{errno}"
                          end
                        end
                      }]
                    ]
     
    found_something = false
     
    # Scan PIDs and report those found by some means but not others
    #
    # Returns a map of pids->warning strings
    def get_suspicious_pids(pids_to_scan = nil)
      if pids_to_scan == nil
        pid_max = File.new("/proc/sys/kernel/pid_max").gets.to_i
        pids_to_scan = (1..pid_max)
      end
     
      return_me = Hash.new
      pids_to_scan.each do |pid|
        pid_exists = {}
        $pid_detectors.each do |pid_detector|
          detector_name = pid_detector[0]
          detector_proc = pid_detector[1]
     
          pid_exists[detector_name] = detector_proc.call(pid)
        end
     
        # Is there consensus about the existence of this process?
        suspicious = false
        existence_consensus = nil
        pid_exists.values.each do |existence|
          # Always over-write "don't know"
          existence_consensus = existence if existence_consensus == nil
     
          # This one is undecisive, skip it
          next if existence == nil
     
          # Does the result of this test match the consensus?
          if existence_consensus == false
            unless existence == false
              suspicious = true
              break
            end
          else
            # Anything but "false" is considered to be true, can be a string
            # with a process name in it for example
            if existence == false
              suspicious = true
              break
            end
          end
        end
     
        if suspicious
          # Put output in a string and add it to the return result
          message = "Suspicious PID #{pid}:"
          $pid_detectors.each do |detector|
            detector_name = detector[0]
            detector_result = pid_exists[detector_name]
            next if detector_result == nil
     
            description = ""
            description =
              " (\"#{detector_result}\")" if detector_result.class == String
            message +=
              sprintf("\n  %s: %s%s",
                      detector_result ? "     Seen by" : "Invisible to",
                      detector_name,
                      description)
          end
          return_me[pid] = message
        end
      end
     
      return return_me
    end
     
     
    ##
    ## Main program starts here
    ##
     
     
    puts "Scanning for hidden processes..."
     
    setup
     
    # Check for unknown preloads.  This will name the Jynx LD Poisoning
    # library.
    suspicious_mappings = Set.new
    File.open("/proc/self/maps").each do |line|
      next unless line =~ /[^\/]*(\/.*)$/
      mapped_file = $1
      next if File::exist? mapped_file
      suspicious_mappings << mapped_file
    end
    unless suspicious_mappings.empty?
      found_something = true
      STDERR.puts "I have a mapped file (or more) that I can't access!  Results may be wrong."
      STDERR.puts "Check /etc/ld.so.preload or dynamic linker for compromise:"
      suspicious_mappings.each do |mapping|
        STDERR.puts "  #{mapping}"
      end
    end
     
    # Verify PID count between ps and sysinfo()
    sysinfo = LibC::SysInfoData.malloc
    if LibC.sysinfo(sysinfo) == -1
      STDERR.puts "Error: failed calling sysinfo()"
      exit 1
    end
    if sysinfo.procs != $ps_pids.size
      $stderr.puts "ps and sysinfo() process count mismatch:"
      $stderr.puts "  ps: #{$ps_pids.size} processes"
      $stderr.puts "  sysinfo(): #{sysinfo.procs} processes"
      found_something = true
    end
     
    suspicious_pids = get_suspicious_pids
     
    unless suspicious_pids.empty?
      # Filter out false positives by testing all positives again.  False
      # positives occur when we race with processes starting up or
      # shutting down.
      setup
      still_suspicious_pids = get_suspicious_pids(suspicious_pids.keys)
     
      still_suspicious_pids.keys.sort.each do |still_suspicious_pid|
        warning_text = suspicious_pids[still_suspicious_pid]
        next unless warning_text
     
        found_something = true
        $stderr.puts warning_text
      end
    end
     
    if found_something
      exit 2
    else
      puts "No hidden processes found!"
    end
    Qui peut me dire pourquoi il est en Warning

    Merci d'avance ceux qui prendront le temps de me répondre.

  2. #2
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    pour faire court disons que rkhunter a ses propres critères, le plus simple étant encore d'aller voir sur le net à quoi correspond ce script, ce qu'il fait etc. il est fort probable qu'il ne représente qu'un risque mineur (et souvent très contextuel) mais rkhunter ne délivre pas cette information et n'est pas non plus un système expert, c'est un petit outil sans prétention qui a pour lui d'être relativement tout seul sur son secteur

    par ailleurs vouloir sécuriser c'est tout à fait louable, mais savoir sécuriser nécessite de bien connaitre le système, relativement en profondeur, comprendre que ça va nettement plus loin que l'installation->configuration->confiance aveugle de quelques outils pour être réellement de quelque efficacité

  3. #3
    Membre actif
    Homme Profil pro
    recherche
    Inscrit en
    Octobre 2011
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : recherche
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 144
    Points : 228
    Points
    228
    Par défaut
    Effectivement le sujet et connue et rkhunter n'est pas a suivre aveuglément...

    je me suis donc penché sur snort/acid et wireshark et pour une meilleur approche je vais aussi sniffé mon réseau pour voir ce qui pourrais m’échapper.

    Comme par exemple un truc du style de pombo.py
    ou pourquoi tor est il installer d'office ??? je ne souhaite pas être un nœud de cette merde !!!
    Bref Linux c'est bien mais je suis conscient que je n'ai pas les connaissances minimum requise pour pouvoir l'administrer comme il faut.

    cette discussion est résolu Merci.

  4. #4
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    wireshark permet uniquement de sniffer le trafic, snort est une sonde de détection d'intrusion (!= prévention d'intrusion) ce genre d'outil nécessite non seulement une maintenance quotidienne mais également là aussi des connaissances pointues en matière de sécurité, sans quoi c'est le risque que "tiens mon client ftp ne fonctionne plus" ou "je ne peux pas afficher tel ou tel site web" ou encore "je voulais faire du dev web mais mon apache local ne fonctionne pas et je ne sais pas d'où ça vient", ça va donc au delà des connaissances requises pour seulement administrer la machine

    je pense qu'un bon début est de chercher à comprendre la séparation des privilèges sous Linux par exemple, et notamment les "droits unix" (chown,chmod) non pas que ce soit un aboutissement mais c'est une base indispensable et dont le fonctionnement diffère des permissions sous Windows, un système avec des droits convenables c'est à mon sens +80% de la sécurisation qui est faite, et sans rien installer d'autre

    ensuite un outil intéressant pour peu qu'on l'utilise convenablement ce sont les integrity checkers comme aide, tripwire ou encore OSSEC, leur rôle est de prendre un cliché du système et particulièrement les composants (binaires, répertoires, ...) les plus susceptibles d'être "malmenés" (remplacés, modifiés, ... en cas d'attaque/de compromission) et vérifier régulièrement que rien n'a changé et que ces composants ont bien les propriétés qu'ils devraient avoir (par exemple que la taille de sudo n'a pas changé, que /home/toto/ a bien les droits o-rwx, que /tmp/ ne contient pas de binaire exécutable ou encore que /bin/bash n'est pas devenu suid root dans la nuit etc.)

    côté réseau c'est moitié plus simple, wireshark oui, et ensuite savoir configurer le firewall via iptables en comprenant ses limites (pas de firewall applicatif comme sous Windows, uniquement du filtrage au niveau flux réseaux)

    enfin et tant qu'à installer quelque chose, autant miser sur le patch noyau grsec (mais ça nécessite en général de recompiler le noyau ) vraiment très efficace mais qui encore une fois doit être maitrisé sous peine de "sa march pa"

  5. #5
    Membre actif
    Homme Profil pro
    recherche
    Inscrit en
    Octobre 2011
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : recherche
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 144
    Points : 228
    Points
    228
    Par défaut
    Merci de ta prévention.

    La première chose que je fais avant de me lancer dans des "modifs" c'est de cloner le système

    Ensuite recompiler un noyau je l'ai fait une fois, problème de carte son et de wi-fi sur slaxware ce qui m'a rebouté d'utiliser Linux, aujourd'hui le suivi des drivers les mises à jours du système et les installations de logiciels et les nombreux gui pour gérer tous ça me semble correct pour y rester, avec mon niveau d'informatique.

    Là pour mettre mes fichiers sensibles comme mot de passe, certificat, code source, j'utilise un conteneur chiffré avec un certificat sur support amovible cela devrais être suffisant.

    Surveillé les connexions reverse tcp/udp sortant de ma distro ce sont celle-ci qui "m’inquiète" après comme je vais l'utiliser tous les jours je vais faire un minimum de recherche sur ce que je ne maîtrise pas.

    Merci pour tous ce dont tu as parler, je vais regarder de prés.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. aide pour scan hijack
    Par kido10 dans le forum Sécurité
    Réponses: 3
    Dernier message: 09/11/2012, 14h27
  2. aide scan avec GFI LANguard
    Par marouenmsmc dans le forum Sécurité
    Réponses: 0
    Dernier message: 01/02/2012, 17h21
  3. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05
  4. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo