Estamos encontrando instalaciones infectadas con wordpress. El punto de entrada es la galería de imágenes timthumb.php que se usa muy frecuentemente en wordpress tanto en themes como en plugins.
Además no se le suele prestar atención a este fichero y pasa por alto en las revisiones. Si no tenemos desactivado allow_url_fopen en php y la version es vieja, seguramente nos habrán colado en alguna ocasión algún script en php.
Para chequear nuestra instalación hemos creado un sencillo script en perl que puedes descargar aqui timthumb-checker.pl
#!/usr/bin/perl -w # timthumb.php vulnerability checker # search for vulnerable files and suspect files # http://www.exploit-db.com/exploits/17602/ # # http://www.hostingaldescubierto.com # contact : jorge@senin.org # sub searchFiles { my ( $VHOST_DIR ) = shift || "/var/www/vhosts"; print "Searching at $VHOST_DIR...n"; my @files = qx{find ${VHOST_DIR} -name "*thumb.php"}; return @files ; } sub checkVersions { my @files = @_ ; foreach $file (@files) { chop( $file ); # search for version at file @versions = qx{ grep "VERSION" ${file} }; foreach my$version ( @versions ) { # extract version info if ( my ( $mayor, $minor, $revision ) = ( $version =~ /'(d{1,2}).(d{1,2}).(d{1,2})'/m )) { if ( $mayor < 2 ) { if ( $minor < 33 ) { print "WARNING VULNERABLE ! version ($mayor.$minor.$revision) at $filen "; } else { print "WARNING! seems not vulnerable but obsolete: version ($mayor.$minor.$revision) at $filen "; } } else { print "not vulnerable version ($mayor.$minor.$revision) at $filen"; } } } } } sub searchInfected { my ( $VHOST_DIR ) = shift || "/var/www/vhosts"; @files = qx{find ${VHOST_DIR} -path "*/cache/*php"}; foreach my $file ( @files ) { chop( $file ); print "Warning ! $file must not to be there!!!!n"; } } my $path = $ARGV[0]; my @files = searchFiles($path); checkVersions(@files); searchInfected( $path );
Deja una respuesta