YJesus

Untitled

May 28th, 2014
484
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #proctest.pl www.securitybydefault.com
  2.  
  3. use strict ;
  4.  
  5. open STDERR, '>', "/dev/null";
  6.  
  7. my @pidsno;
  8.  
  9. while () {
  10.  
  11.     my @resultado = `ps ax -o pid --no-headers` ;
  12.  
  13.  
  14.     #print @resultado ;
  15.  
  16.     foreach (@resultado) {
  17.  
  18.         $_ =~ /(\d*)$/ ;
  19.  
  20.         my $processid = $1 ;
  21.  
  22.         my $status = `ls -l /proc/$processid/exe` ;
  23.  
  24.         $status =~ /-> (.*)$/;
  25.  
  26.         my $binary = $1 ;
  27.  
  28.         my $rpmverify = `rpm -Vf $binary` ;
  29.  
  30.         if ($rpmverify) {
  31.            
  32.             my $warning = 1;
  33.            
  34.             foreach(@pidsno) {
  35.  
  36.                 if ($_ =~ /$processid/){ $warning = 0}
  37.                
  38.             }
  39.            
  40.             if ($warning == 1) {
  41.                 print "El proceso [ $processid $binary ] ha sufrido modificaciones en su paquete base:\n" ;
  42.                 print "$rpmverify\n" ;
  43.                
  44.                 `zenity --info --text "El proceso [ $processid $binary ] ha sufrido modificaciones en su paquete base:\n$rpmverify"` ;
  45.  
  46.                 push(@pidsno, $processid) ;
  47.             }
  48.         }
  49.    
  50.     }
  51.     sleep 60;
  52. }
RAW Paste Data