web-dev-qa-db-fra.com

Les données brutales de récupération VPS sont désormais disponibles. Considérations?

Passé
Mes sites et VPS m'ont été volés. L'hébergeur et moi-même avons été exclus et ne pouvons pas y accéder. Ils n'ont pas pu créer un mot de passe temporaire pour l'accès car l'attaquant l'a bloqué. La dernière fois que j'ai été connecté à WHM, le contrôle root a été pris et tous les disques durs n'étaient plus amorçables. Je pense que la même personne a utilisé un ver pour surveiller mon bureau à distance. 5 pièces et 5 appareils mobiles, brick mon routeur ddwrt r7000 avec PIA VPN killswitched. Une dizaine de vms menthe/ubuntu ont été reprises. De nombreux lecteurs USB ont été conçus pour être en écriture seule. J'ai arrêté d'essayer de comprendre ce qui se passait et j'ai reformaté tous les appareils.

J'attends maintenant l'image du serveur et un instantané de la mémoire, ainsi qu'une copie rsync. Lors de la transaction, obtenez une nouvelle image de serveur ... certainement d'une IP différente, à moins qu'ils ne soient pas convaincus.

Voici l'e-mail que j'ai reçu aujourd'hui:

Blockquote Ce billet vient de m'être attribué. J'ai effectué une sauvegarde du compte> à l'écart des processus de sauvegarde ici.

[2018-03-25] pkgacct terminé

Je lisais certaines des conversations et j'aimerais simplement m'assurer que nous sommes sur la même longueur d'onde.

Nous ne pouvons pas dd (bit pour copie de bit) l'état actuel car le compte n'a pas de support de stockage capable de le gérer. Si vous souhaitez ajouter des clés que nous pouvons rsync sur ssh vers une destination distante, donnez-nous simplement la destination du fichier de sortie et nous serons heureux de vous aider.

Normalement, nous ne conservons pas de systèmes d'exploitation piratés, sauf en cas d'intérêt spécifique. Ce que je trouve intéressant, c'est le logiciel openVPN:

uperior.hosting.com [home] # ifconfig as0t0 Encapsulation de lien: Ethernet HWaddr inet6 addr: Portée: Lien UP BROADCAST RUNNING PROMISC MULTICAST MTU: 1500 Métrique: 1 paquets RX: 0 erreurs: 0 abandonnées: 0 dépassements: 0 trame: 0 TX paquets: 436367538 erreurs: 0 abandonné: 504 dépassements: 0 porteuse: 0 collisions: 0 txqueuelen: 200 octets RX: 0 (0,0 b) octets TX: 26310498062 (24,5 Gio)

asbr0 Link encap: Ethernet HWaddr inet addr: Bcast: Mask: inet6 addr: Scope: Link UP BROADCAST RUNNING MULTICAST MTU: 1500 Métrique: 1 paquets RX: 431222324 erreurs: 0 abandonné: 0 dépassements: 0 trame: 0 paquets TX: erreurs 1492069 : 0 abandonné: 0 dépassements: 0 porteuse: 0 collisions: 0 txqueuelen: 0 octets RX: 20595591150 (19,1 Gio) octets TX: 634373123 (604,9 Mio)

Si vous utilisez ce serveur en tant que serveur Web de production, je recommanderais d'utiliser CentOS 7 et d'installer quelque chose comme 'Cockpit' au lieu d'utiliser un VPN via un serveur cPanel sur CentOS 6.

Ce qui est dans la portée de notre support est de vous assurer que vous avez un chemin vers et depuis le serveur pendant que vous récupérez les données barebones. Je terminerai par quelques options et questions. (Voici mes réponses)

  1. Une enquête sur l'openvpn activitu

  2. Pour leur faire savoir, encore une fois, je veux une copie de l'image du serveur, un instantané de la mémoire et tous les journaux disponibles

  3. Nouvelle installation de cPanel/WHM

  4. Nouvelles adresses IP pour les sites et les VPS

  5. Informations SFTP

Blockquote

Avoir un VPN, un IDS, un pare-feu, un pot de miel suffit-il? Ai-je oublié quelque chose?

VPS est un de Bluehost, exécutant CentOS 7 avec n'importe quelle alternative à WordPress ...

57
Preston Bennett

La plupart des fournisseurs d'hébergement mettent à disposition une petite image du système d'exploitation (dont le but est de faciliter l'installation initiale du système d'exploitation lorsqu'un client souhaite un système d'exploitation personnalisé, ou de corriger les erreurs empêchant le système d'exploitation de démarrer; généralement appelé "système de sauvetage" ou quelque chose) que vous pouvez démarrez et accédez au VPS compromis sans jamais lancer de malware que les attaquants auraient pu y installer. Vous montez simplement votre (vos) volume (s), copiez toutes les données nécessaires et l'examinez à votre guise.

Si vous ne pouvez pas faire cela, votre seule préoccupation est de ne pas accorder aux attaquants d'autres vecteurs d'attaque. N'utilisez pas SSH vers d'autres machines à partir de la machine compromise, assurez-vous que vous n'utilisez pas le transfert d'agent SSH, le transfert X11, etc. Tarez simplement les fichiers intéressants, puis scpez le fichier tar depuis votre machine locale. Ou faites quelque chose comme ssh -C root@compromised-Host cat /dev/the-root-device >compromised-root-dev.img si vous savez quoi faire de l'image alors.

Ou peut-être demandez-vous simplement au fournisseur d'hébergement de créer une image du système de fichiers et de vous l'envoyer d'une manière ou d'une autre (ce qui équivaudrait à la même procédure que celle avec laquelle j'ai commencé).

3
Roman Odaisky

Je vais commencer par quoi faire avec votre système actuel:

  1. Entrez et faites une sauvegarde de tout.
  2. À moins que vous puissiez démontrer les pertes majeures (10 000 $ et plus), je ne commencerais même pas à penser à impliquer les forces de l'ordre. Ils ont les mains pleines et compte tenu des tendances actuelles sur Internet, il est fort probable que votre coupable se trouve dans un pays différent de vous. Personne ne va faire un processus d'extradition pour les sites piratés Wordpress. (Désolé, je sais que c'est difficile à entendre, mais c'est la réalité.)
  3. Gravez le serveur actuel au sol.
  4. Considérez chaque mot de passe de votre ancien serveur compromis.

Maintenant, comment créez-vous un nouveau serveur pour éviter que cela ne se reproduise? Je vais faire quelques hypothèses sur la base de ce que vous avez écrit dans votre post:

  • Plusieurs installations Wordpress.
  • mod_php sur Apache
  • CPanel/WHM

Voici quelques recommandations:

  1. Obtenez votre nouveau serveur.
  2. Effectuez une nouvelle installation de vos applications et configurez des mots de passe/informations d'identification forts qui n'ont rien à voir avec vos anciens.
  3. Configurez SELinux pour limiter au maximum l'exposition de chaque site.
  4. Faites attention à ce que wordpress plugins vous installez. Ils ont un bilan de sécurité bien pire que wordpress core.
  5. Assurez-vous que les répertoires accessibles en écriture par le serveur Web n'interprètent jamais les fichiers comme PHP.
  6. Utilisez l'authentification à 2 facteurs pour tout ce que vous pouvez.

Sans pouvoir faire de la criminalistique numérique sur votre système, il est difficile de le savoir avec certitude, mais je vais sortir sur une branche et deviner ce qui s'est passé:

  1. L'attaquant exécute un scanner à la recherche d'installations vulnérables Wordpress.
  2. L'attaquant trouve vulnérable Wordpress sur votre serveur. Obtient RCE en tant que serveur Web.
  3. Vide les hachages de mot de passe pour les bases de données wordpress.
  4. Casse les hachages de mot de passe, l'un d'eux correspond à un mot de passe WHM/CPanel.
  5. Obtient dans CPanel. Peut-être en tant qu'administrateur, ou peut-être que la version de CPanel contenait un bogue qui permet une élévation de privilèges à l'administrateur.

Vous parlez de la peur des représailles et de l'attaquant qui vous poursuit encore et encore. À moins que ce ne soit personnel (une vendetta quelconque), je ne m'en inquiéterais pas. Les attaquants comme celui-ci passeront simplement à leur prochain hôte compromis. Ne leur donnez pas une autre chance.

89
David

La réponse de David a donné d'excellentes recommandations (que je vous recommande fortement de suivre). Je concentrerai plutôt ma réponse sur vos peurs spécifiques dans l'espoir de les atténuer.

Ce que je souhaite accomplir, c'est obtenir autant d'informations que possible sur le pirate. Je souhaite télécharger mes anciennes sauvegardes. Je veux entrer et sortir le plus tôt possible.

Vous dites que vous souhaitez obtenir autant d'informations que possible sur cette personne. Cela peut ne pas être pratique s'ils utilisent une forme d'anonymat. Bien sûr, l'analyse après la pause est toujours importante. La première étape serait de faire une sauvegarde complète du disque. Si vous n'avez pas déjà arrêté le système depuis qu'il a été compromis, vous pouvez également être en mesure de prendre un instantané de la mémoire sur le système, ce qui permet d'effectuer une analyse médico-légale ultérieure sur celui-ci. La mémoire contiendra beaucoup plus d'informations sur l'attaquant car il ne peut pas contrôler de manière fiable ce qui reste en mémoire, alors qu'il est très facile d'empêcher que des informations précieuses soient enregistrées dans un stockage persistant. Pour cette raison, il est probable que vous ne pourrez pas obtenir les journaux désactivés à moins qu'ils n'existent déjà et aient été supprimés par la suite.

Mes précautions sont de rester derrière un vpn killswitched et d'y passer le moins de temps possible.

Il existe un certain nombre de méthodes que les pirates peuvent utiliser pour obtenir l'IP d'origine derrière un VPN, en raison de l'architecture des VPN. L'utilisation de Tor ou d'un réseau d'anonymat similaire serait préférable. Passer le moins de temps possible peut ne pas être conseillé car vous risquez de manquer quelque chose d'important. Rester un peu plus longtemps n'augmente pas les chances d'être détecté. Le pirate informatique peut même penser que vous êtes un autre pirate informatique qui a rompu en utilisant la même vulnérabilité. S'ils vous remarquent, les chances sont peu importe qui ils pensent que vous êtes, ils vous déconnecteront simplement du serveur.

Les journaux SSH côté serveur, entre autres, contiennent probablement votre adresse personnelle de toute façon.

Existe-t-il un moyen de récupérer ces journaux désactivés? Que dois-je regarder d'autre si l'objectif est de compiler suffisamment de données pour transformer ce type en autorités?

Si les journaux ont été désactivés , vous ne pourrez probablement pas les récupérer. S'ils étaient encore écrits mais simplement supprimés, vous pourrez peut-être les récupérer à partir de l'espace du système de fichiers non alloué. À moins que le système ne se soit pas arrêté depuis le compromis et que vous puissiez prendre un instantané complet de la mémoire du système, il est peu probable que vous puissiez récupérer les informations fournies dans les journaux.

Comme David l'a déjà mentionné, vous ne tirerez probablement pas grand-chose de la participation des forces de l'ordre. Le mieux que vous puissiez obtenir en obtenant ces informations est d'en savoir plus sur la façon dont le pirate a fait irruption, ce qui vous permet de fermer le trou qu'ils ont exploité et de l'éviter à l'avenir.

Ma crainte est que, même avec un serveur réimagé et tout le durcissement dont je suis capable, ce type connaît les domaines de mon site et attaquera probablement à nouveau. Je suppose que cela devrait être une question distincte, mais dois-je me préparer à devoir abandonner complètement mes domaines en raison de son niveau de compétence? Je déteste le faire, mais je crains qu'il ne fasse tout ce qu'il peut pour détruire le serveur et les sites, puis procéder comme avant pour détruire mon réseau domestique et tous les appareils.

Honnêtement, vous n'avez pas à vous soucier des représailles. Vous êtes juste une garantie aléatoire de leurs activités, pas une victime soigneusement sélectionnée. Ils ne se souviendront probablement même pas de votre domaine dans une semaine. Bien sûr, ce sont des généralisations, et si vous avez un ennemi réel avec une vendetta personnelle contre vous, les choses sont un peu différentes. Il existe quelques classifications possibles qui peuvent convenir à votre attaquant:

  • Curieux - Un pirate qui s'introduit sur un site parce qu'il est curieux ou veut améliorer ses compétences de piratage le fera souvent sans trop se soucier des résultats de ses actions, mais il n'est pas là pour vous attraper. Si vous les enfermez, ils voudront peut-être trouver un moyen de rentrer, mais ils ne seront probablement pas en colère. Ils pourraient même y voir un défi.

  • Criminel - Un pirate purement criminel a quelque chose à gagner en attaquant des serveurs, comme de l'argent ou des ressources numériques. Ils ne perdront pas de temps avec vengeance. Ces attaquants sont comme l'eau. Ils cherchent le chemin de la moindre résistance.

  • Automatisé - Il est très possible qu'aucune personne n'ait attaqué votre site. Une entreprise criminelle veut maximiser ses profits, donc pour être plus efficace, elle automatise souvent les attaques. Un script peut rechercher sur Internet des services vulnérables et les attaquer. Après son effraction, il fera son sale boulot et tentera d'établir sa persévérance. Vous ne pouvez pas mettre un script en colère.

  • Script kiddie - Un script kiddie est un hacker junior qui pense qu'il sait tout. Ils sont plus susceptibles de se venger car ils peuvent considérer que le fait de récupérer votre serveur est personnel. Ils n'ont pas les compétences nécessaires pour nuire réellement à votre réseau domestique. Le pire qu'ils puissent faire est de tenter de vous DDoS. Ne vous en faites pas.

  • Ennemi personnel - Si vous avez un ennemi réel avec une vendetta personnelle contre vous, vous avez plus à vous soucier. Puisque vous n'avez donné aucune indication que c'est le cas, je suppose que ce n'est pas le cas.

Les chances sont que ses niveaux de compétence ne sont pas aussi élevés que vous le pensez. Entrer dans un Wordpress et ajouter une porte dérobée ne prend pas un professionnel. En tant que tel, je ne me soucierais pas de me débarrasser de vos domaines. C'est absolument possible de se protéger de ce pirate en utilisant les conseils donnés dans une autre réponse. Dès que le site de quelqu'un d'autre est plus vulnérable que le vôtre, un pirate passe à autre chose.

21
forest

Dans ce cas, vous ne savez pas comment l'attaquant a pu entrer, vous avez donc raison de craindre que la même chose ne se reproduise, même si vous effectuez une réinstallation complète. Pour résoudre ce problème, vous devez configurer votre système pour la journalisation à distance. Un ordinateur distinct dédié enregistre les journaux système qui ne peuvent pas être falsifiés. Vous devez configurer votre journal d'accès au serveur Web pour envoyer une copie en temps réel au serveur de journalisation ainsi que tout ce qui concerne la sécurité, en plus du journal système normal. Les journaux doivent être séparés de sorte que si l'un devient trop gros et doit être réduit, cela n'affectera pas les autres.

Vous ne savez pas comment ils sont entrés. Votre propre ordinateur pourrait être compromis et le mot de passe aurait pu être intercepté. Quelqu'un chez le fournisseur VPS aurait pu y accéder, ou quelqu'un louant un autre VPS à côté du vôtre aurait pu exploiter quelque chose. En supposant que ces choses ne se sont pas produites, la prochaine étape peut être de s'assurer que tout ce qui est vulnérable est mis à jour lors de la nouvelle installation, puis de configurer un logiciel de sécurité tel que SELinux. Assurez-vous que les violations de stratégie SELinux sont envoyées au serveur de journalisation distant.

8
Alex Cannon

Mes précautions sont de rester derrière un vpn killswitched et d'y passer le moins de temps possible.

C'est le vaudou infosec. En supposant que vous êtes derrière un routeur avec PAT, l'attaquant n'aura aucun moyen de vous reconnecter. En fait, le VPN crée un tunnel à travers la couche PAT, vous augmentez donc votre exposition en l'utilisant! (Bien que la politique VPN puisse empêcher les connexions entrantes.)

Le risque beaucoup plus grand est que si l'attaquant a toujours accès au système compromis, alors taper votre mot de passe est dangereux, c'est-à-dire que la connexion interactive SSH ou le mot de passe Sudo pourrait être volé par un utilisateur root sur le système compromis. Si vous avez configuré l'authentification par clé publique, cela serait sûr à utiliser tant que vous n'utilisez pas Sudo, mais consultez ma note ci-dessous sur les sauvegardes ...

La meilleure pratique consiste à retirer le disque dur de la machine compromise et à l'analyser légalement sur une machine distincte (un professionnel utiliserait un forensic write blocker ) afin que l'attaquant n'ait pas la possibilité d'interférer.

En tant que client VPS, vous n'avez aucune possibilité de le faire vous-même. À moins que votre fournisseur ne veuille le faire pour vous (peu probable car cela perturberait d'autres locataires sur le même matériel), il vaut mieux supprimer le VPS et recommencer à zéro.

J'espère pouvoir obtenir ce dont j'ai besoin à partir des sauvegardes et [snip]

Les sauvegardes doivent toujours être stockées sur un système distinct. Si vos seules sauvegardes sont stockées sur le service compromis, alors vous vous êtes mis dans une très mauvaise position. Si vous devez saisir un mot de passe pour accéder aux sauvegardes, l'attaquant peut voler votre mot de passe.

Même si vous n'avez pas besoin de taper un mot de passe (par exemple, l'authentification par clé publique), vous restaurez des données qui ont déjà été violées. Si l'attaquant avait installé une porte dérobée auparavant, cette porte dérobée serait enregistrée dans les sauvegardes, et vous finiriez par restaurer cette porte dérobée sur votre nouveau serveur! Ou si l'attaquant a utilisé un autre moyen pour compromettre le système, l'attaquant aurait pu insérer une porte dérobée dans vos sauvegardes afin de retrouver l'accès après avoir réimaginé l'image.

Existe-t-il un moyen de récupérer ces journaux désactivés?

Oui, il est possible de récupérer les données de journal supprimées à l'aide d'une analyse médico-légale, mais pour les raisons indiquées ci-dessus, il est peu probable que cette option soit disponible pour vous.

Comme alternative, votre fournisseur peut avoir des journaux sur les adresses IP qui se connectent à leurs systèmes, et il peut être disposé à partager ces données avec vous si vous le demandez gentiment.

Ma crainte est que, même avec un serveur réimagé et tout le durcissement dont je suis capable, ce type connaît les domaines de mon site et attaquera probablement à nouveau.

Je ne sais pas vraiment ce que vous entendez par "domaines". Vous pouvez conserver votre compte d'hébergement et vos noms de domaine existants, en supposant que votre mot de passe a été réinitialisé sur quelque chose de sécurisé.

Le scénario le plus probable est que vous avez été compromis en raison d'une vulnérabilité non corrigée dans WordPress ou l'un de vos plugins (ou du code personnalisé si vous en avez écrit vous-même). Pour éviter un futur compromis , vous devez recommencer à zéro (ne pas utiliser de sauvegarde de données) et vous assurer que toutes vos applications et plugins sont la dernière version. Désactivez tous les plugins dont vous n'avez pas absolument besoin.

On dirait que vous pourriez être un peu au-dessus de votre tête. Vous gérez vous-même des logiciels complexes et vous ne savez pas comment le compromis précédent s'est produit. Vous devriez peut-être déplacer votre site vers un fournisseur qui offre de meilleurs correctifs et une meilleure sécurité, comme l'hébergement via WordPress.com, afin que la responsabilité ne soit pas à 100% sur vous.

7
Mark E. Haase

Existe-t-il un moyen de récupérer ces journaux désactivés?

Oui.

Si l'intégralité de la machine virtuelle vous appartient (et que vous ne la partagez pas avec quelqu'un d'autre), obtenez une sauvegarde de l'intégralité de votre machine virtuelle. Faites-le immédiatement. Cela inclura tous les journaux de votre machine.

Demandez également à Bluehost quels journaux pertinents ils peuvent fournir. Faites-le immédiatement afin qu'ils ne perdent pas les journaux. (De nombreux endroits suppriment les journaux au fil du temps, alors assurez-vous que quelqu'un sait conserver les journaux qui sont potentiellement intéressants.)

Concentrez-vous ensuite sur le fonctionnement d'une machine sûre. (Comme le mentionne BlueHost, cela implique probablement un rechargement du système d'exploitation.) Assurez-vous que vos données sont en sécurité. (par exemple, si vos données contiennent des informations sur les comptes et incluent un compte que l'attaquant utilise pour accéder, ce n'est pas sûr.) Demandez à cette machine sûre d'utiliser les données sécurisées que vous appréciez. Faites tout cela le plus rapidement possible.

Que dois-je regarder d'autre si l'objectif est de compiler suffisamment de données pour transformer ce type en autorités?

D'où vient cet attaquant? Qui est cet attaquant?

Comme le note la forêt, il est peu probable que les "autorités" s'en soucient beaucoup. Il y a de fortes chances que vous ayez été attaqué par une autre machine compromise. Par conséquent, la personne qui possède cette machine est également une victime, et essayer d'attaquer légalement cette personne ne bénéficiera probablement à personne. Ce que vous devez faire, c'est chercher la personne qui a vraiment déclenché l'attaque. Malheureusement, plusieurs méthodes de redirection étant possibles, de nombreux attaquants ne sont pas traçables.

Ma crainte est que, même avec un serveur réimagé et tout le durcissement dont je suis capable, ce type connaît les domaines de mon site et attaquera probablement à nouveau.

Ouaip. Voilà une préoccupation. Jusqu'à ce que la personne soit arrêtée, il existe un tel potentiel. J'espère que vous réussirez mieux à prévenir les prochaines attaques. Une éducation et des efforts continus devraient vous amener à ce point, si possible plutôt tôt que tard. En attendant, assurez-vous d'avoir de bonnes sauvegardes accessibles et dormez bien la nuit en sachant que vous pouvez restaurer à partir d'une sauvegarde.

Je suppose que cela devrait être une question distincte, mais dois-je me préparer à devoir abandonner complètement mes domaines en raison de son niveau de compétence?

Nan. Ne cédez pas.

Je déteste le faire, mais je crains qu'il ne fasse tout ce qu'il peut pour détruire à nouveau le serveur et les sites,

Cela peut se produire si vous ne sécurisez pas le serveur avec plus de succès. Essayez de passer du temps à le faire. Assurez-vous également que vous disposez de bonnes sauvegardes. Ne vous fiez pas seulement à Bluehost. Je n'essaie pas de dire du mal de Bluehost. Je dis, ne vous fiez pas seulement à une solution de sauvegarde, en particulier si des problèmes sont attendus.

puis procédez comme précédemment à la destruction de mon réseau domestique et de tous les appareils.

Oh, maintenant c'est tout simplement terrible. Pourquoi des dommages à une machine virtuelle distante, exécutée sur un site d'hébergement professionnel, affecteraient-ils votre réseau domestique? Il y a des problèmes de sécurité majeurs si cela se produit.

Est-ce que cela en vaut même la peine? Il est capable de bien pire que ce qu'il a fait et j'ai peur des représailles.

Obtenez des sauvegardes de votre site Web.
Obtenez des sauvegardes de données importantes sur votre réseau domestique.

Si vous réussissez bien, même si le vol devient possible (une copie d'informations confidentielles peut être volée), vous pouvez toujours récupérer.

2
TOOGAM

Obtenez simplement une image du lecteur du serveur Web. Le montage sur une nouvelle machine virtuelle est peu susceptible de provoquer un danger important. Le code du lecteur monté ne doit pas fonctionner, vous pouvez parcourir les données à votre guise.

Il n'est certainement pas sûr de se connecter à une machine compromise avec un protocole d'accès à distance. Alors que les serveurs sont plus constamment disponibles pour être compromis, les logiciels clients se connectant à un serveur malveillant peuvent être exploités (s'il existe un exploit).

Tenter de restaurer votre contenu Web à partir du contenu du lecteur monté est probablement déconseillé. Les modifications apportées aux fichiers de code peuvent être assez cachées et difficiles à trouver. En utilisant PHP, ils peuvent facilement fournir une porte dérobée à votre prochaine machine VPS ...

Les éléments de la base de données SQL peuvent être modifiés pour contenir du code permettant d'attaquer les visiteurs de votre site Web.

Si vous voulez vraiment durcir votre site débarrassez-vous de WordPress. Des choses merveilleuses se font avec des générateurs de site statiques (Gatsby, Jekyll, etc ...)

1
trognanders

Comme certaines informations y font allusion - si vous avez utilisé ces informations d'identification compromises n'importe où ailleurs, vous devez changer vos mots de passe. De préférence, vous devez utiliser un bon outil comme Keepass ou Lastpass qui vous permet de protéger n'importe quel nombre de mots de passe forts, générés et aléatoires, et vous n'avez qu'à vous souvenir de la seule phrase de passe principale.

0
Wayne Werner