Shell accéder à quoi. Qu'est-ce que SSH (Shell) et pourquoi en avons-nous besoin. Supprimez rapidement les fichiers de l'hébergement

Ce guide explique ce qu'est un compte shell, comment en obtenir un et quelques commandes de base. Si vous pensez que vous trouverez ici une description du shell ou des astuces avec des exploits, alors vous vous trompez. Restez à l'écoute pour plus de tutoriels. La première partie n'est qu'un tas de questions avec des réponses. Après avoir donné un bref aperçu du sujet, je vous indiquerai où vous pouvez accéder gratuitement au shell. Alors qu'est-ce qu'on attend ?

Les questions que tout le monde se pose

Q : Qu'est-ce qu'un compte shell ?

R : D'accord... Je pense qu'il n'est pas nécessaire d'expliquer ce qu'est un compte, alors parlons plutôt du shell. Vous utilisez probablement Windows, votre shell est donc command.com et Graphics Environment. Il serait plus précis de dire ceci : le shell est un sous-programme qui traduit et envoie vos commandes au noyau du système. Tout cela est nécessaire car le noyau ne comprend pas les commandes que vous donnez.

Par exemple, lorsque vous tapez "cd..", cette commande sera traduite par le shell dans un langage de bas niveau et transmise au noyau (sinon, il faudra être au moins fou pour contrôler votre CPU). Pouvez-vous imaginer à quel point il serait pénible d'utiliser un ordinateur si vous n'aviez pas de coque ? Pour faire quoi que ce soit, vous devrez utiliser un langage de bas niveau comme l'assembleur ou pire (code binaire). Pour exécuter la commande "cd.." il faudrait écrire : push mem put mem blabla mem ou une énorme liste comme 00101010. Pensez-vous vraiment que les gens accepteraient de travailler comme ça ? Je ne pense pas. D'accord... d'accord... Il y a beaucoup de gens qui programment en langage assembleur, mais je parle de gens ordinaires.

Q : Vous dites donc que le shell est juste une « chose » qui traduit les commandes que je tape en code que le processeur peut comprendre, similaire à ce que fait command.com. Mais pourquoi devrais-je alors me connecter au command.com distant si j'ai le mien sur ma machine.

Q : Mon ami, un gourou du *nix, m'a dit que beaucoup de ces obus étaient nuls parce qu'ils avaient des fonctionnalités limitées. Qu'est-ce que cela signifie?

R : Il existe deux types de coquilles : limitées et sans restriction. Les différences entre eux sont que vous n'avez généralement pas à payer pour les shells restreints, ils sont distribués gratuitement, mais dans de tels shells, vous ne pouvez pas exécuter toutes les commandes (par exemple, ils peuvent vous interdire d'utiliser les programmes nslookup et telnet). ). La situation est complètement différente avec des obus illimités, vous pouvez exécuter n'importe quelle commande, mais ce type d'obus est payant (parfois des obus illimités sont donnés aux étudiants universitaires). Mais même si vous n'avez qu'une coque limitée, ne vous inquiétez pas : certains d'entre eux sont vraiment bons.

Q : Alors, êtes-vous en train de dire que je peux obtenir la coque sans rien payer ?

R : Oui, vous pouvez. Je pense que le meilleur endroit pour l'obtenir est nether.net (un autre hôte qui distribue des shells gratuits est freeshell.org), je parlerai de ce processus plus tard.

Parfois, les FAI attribuent également des comptes shell à leurs utilisateurs. Il est donc possible que vous ayez déjà accès à un shell et que vous ne le sachiez tout simplement pas. Appelez le support technique de votre FAI et renseignez-vous à ce sujet.

Q : J'ai appelé mon FAI pour demander un compte shell et il m'a demandé pourquoi j'en avais besoin.

Que dois-je répondre ?

R : Dites simplement que vous aimez surfer sur Internet avec Lynx et que vous souhaitez apprendre Unix. Cela devrait fonctionner. Mais s’ils vous envoient, allez simplement chercher une coquille gratuite.
Q : Hé, j'ai une coquille, mais comment savoir si elle est bonne ou pas ?
R : Je pense qu'il ne peut y avoir de réponse définitive à cette question ; tout dépend de la personne qui la pose. Pour moi personnellement, une bonne coque est celle dans laquelle je peux faire toutes les choses suivantes.
-> Telnet (émulateur de terminal)
-> Nslookup (vous donne des informations sur l'hôte)
-> FTP (File Transfer Protocol, aucun commentaire n'est nécessaire, n'est-ce pas ?)
-> Finger (donne des informations sur un utilisateur spécifique)
-> Traceroute (identique à tracerT.exe sous Windows, mais bien meilleur)
-> Dig (de nombreux shells ne vous permettent probablement pas de l'utiliser, mais
ne t'inquiète pas pour ça)
-> Netstat (comme sous Windows, une liste de tous les sockets et leur statut)
-> GCC (compilateur c, cool pour créer vos propres programmes)

Cela ne signifie pas qu’un obus doté de telles capacités sera bon pour vous.

Peut-être qu'un bon shell pour vous sera celui qui vous permettra d'utiliser simplement telnet, comme je l'ai dit plus tôt - il est difficile de donner une réponse définitive à cette question. Mais si votre compte shell ne vous permet pas d'utiliser telnet, FTP et GCC, vous devez alors obtenir un autre compte shell.
Eh bien, je pense que vous êtes déjà assez ennuyé après avoir lu un tas de questions stupides et de réponses encore plus stupides, alors laissez-moi passer à la suivante.

section. Parlons un peu des types de comptes shell.

Un aperçu rapide des types de comptes Shell

Voici les types possibles de comptes shell, dont certains que nous appelons des shells domestiques, d'autres des shells « standards ». Parlons des coques "standard".

Juste pour le développement général
Les shells d'accueil sont des shells créés par l'opérateur système qui possède le système, et ils s'exécutent simplement sur son système. Comme je l'ai dit plus haut, il existe de nombreux obus. Tu as:
-> coque : Bourne Shell
-> Bash : Bourne à nouveau Shell
-> Cshell : C Shell
-> Tcsh : Shell C technique
Et bien d'autres. (Je ne les ai répertoriés que parce que ce sont les seuls que vous pouvez obtenir sur nether.net). Chaque coquille présente des avantages et des inconvénients. Par exemple, Cshell vous permet de saisir des commandes C comme s'il s'agissait de commandes normales, c'est-à-dire que si vous saisissez printf Hello, le résultat de cette commande sera le même que celui de la commande echo dans d'autres shells (pour ceux qui ne sont pas familiers avec le Langage C, je m'explique, printf affiche le texte suivant cette commande à l'écran). Je ne peux pas décrire les avantages et les inconvénients de chaque coque, vous devrez le découvrir par vous-même. Obtenez-en simplement un auprès d’hôtes offrant un accès gratuit au shell et commencez à apprendre. Je ne peux que recommander Bash - c'est le meilleur shell pour les débutants, mais si vous souhaitez obtenir un shell plus puissant, accédez au shell C.

Commencez par bash, apprenez le système, apprenez à écrire des scripts bash, puis passez à d'autres shells.

Parlez à vos amis, demandez-leur quels coquillages ils utilisent, pourquoi ils les aiment. D'accord, vous voyez l'idée ? ;) Si vous avez déjà un shell, mais que vous ne savez pas de quel type de shell il s'agit, tapez simplement echo $shell et il affichera probablement le type de shell que vous utilisez. Puisqu’il s’agit d’un bref aperçu, je terminerai ici la discussion sur ce sujet. Cela devrait vous aider à obtenir un compte shell vraiment sympa.

Obtenir un compte Shell sur Nether.net

Alors, êtes-vous prêt à ouvrir votre premier compte shell ? Eh bien, bien sûr, nous sommes prêts. La seule chose que je n'aime pas sur nether.net, c'est le temps hors ligne, c'est-à-dire que le serveur est parfois indisponible. Si vous pouvez vous connecter, vous n'avez plus à vous inquiéter, c'est juste que parfois trop de gens traînent sur nether.net - il y a du monde et se déconnecte. Attendez un moment et reconnectez-vous.

Étape 1. (Préparez votre programme de terminal)

Ouvrez votre programme telnet, vous pouvez le trouver dans le répertoire Windows sous le nom telnet.exe

Étape 2. (Connexion)
Maintenant, vous avez probablement déjà lancé votre client Telnet, si c'est le cas, sélectionnez le menu Connecter, puis Système distant. Une autre fenêtre apparaîtra vous demandant le nom d'hôte, le port et le type de terminal.
Saisissez les informations suivantes dans ces champs :

Nom d'hôte : nether.net

Port : Telnet (ou 23 est le même)

Type de terminal : vt100 (cette valeur doit être définie par défaut)

Noyau SunOS 5.6 Generic_105181-17 sur un sun4d
Bienvenue sur nether.net

Nouveau dans le système ? Connectez-vous en tant que nouvel utilisateur

Maintenant, comme ils l'ont dit, entrez newuser comme identifiant. Un programme appelé newuser se lancera et vous aidera à créer un compte.

Étape 4 : (Modification des affectations de touches)

Après toutes ces conneries, le nouvel utilisateur vous demandera de modifier les touches de fonction en fonction de vos besoins. Vous serez invité à saisir la clé de suppression (^H)
et la touche break (^C). Les clés entre parenthèses sont celles par défaut, mais si vous le souhaitez, vous pouvez les remplacer par d'autres. ^H est la touche Suppr (celle avec le symbole<-), и ^C - это комбинация клавиш ctrl+c. Внимание, не пишите ^H или ^C, просто нажимайте соответствующие клавиши, и эти символы будут появляться на экране.

Étape 5. (Sélection du type de terminal)

Après avoir modifié l'affectation des touches de fonction, il vous sera demandé de saisir votre type de terminal, pouvez-vous le sélectionner ? et le programme listera tous les types de terminaux disponibles, mais vous devez sélectionner vt100 ou simplement appuyer sur Entrée. Appuyer sur le bouton Entrée signifie que vous avez sélectionné un terminal "stupide". Mais ce n'est pas un problème car vous pourrez le modifier plus tard.

Étape 6. (Données personnelles)

On vous demandera certaines choses comme votre nom complet, votre numéro de téléphone, votre date de naissance, votre sexe, blablabla, enfin, je pense que c'est clair. Si vous le souhaitez, vous pouvez saisir par exemple le symbole "." pour toutes les questions. et appuyez sur le bouton Entrée. Vous pouvez également saisir de fausses données, et je suis sûr
que 98% des utilisateurs de nether.net le font. À la fin de toutes les questions, il vous sera demandé si vous souhaitez masquer ces informations aux autres utilisateurs.

Répondez simplement par oui ou par non, je recommande de répondre oui.

Étape 7. (Sélectionnez Shell)

Maintenant, une liste des shells disponibles s'affichera, sélectionnez-en simplement un, comme je l'ai dit ci-dessus - si vous êtes débutant, sélectionnez le shell bash.

Étape 8. (Sélectionnez Connexion)

Choisissez simplement votre identifiant, la longueur maximale est de 8 caractères.

Étape 9. (Sélection du mot de passe)

Sélectionnez un mot de passe, il vous sera demandé deux fois pour confirmer que le mot de passe que vous avez entré est correct. Vous pourrez modifier le mot de passe ultérieurement à l'aide de la commande passwd.

Étape 10. (Confirmation des données spécifiées)
Cette fois, vous verrez quelque chose comme ceci :
nom complet : Nom complet<не показывается>
loginid : votre mot de passe de connexion :
adresse : votre adresse que vous avez indiquée
téléphone : le numéro de téléphone que vous avez fourni
autres adresses e-mail : votre adresse e-mail que vous avez indiquée
profession : ce que vous avez spécifié
ordinateurs : ce que vous avez spécifié
date de naissance : date spécifiée sexe : sexe spécifié
intérêts : n'importe quoi
Activer/désactiver la confidentialité
shell : votre compte shell terminal : votre type de terminal
effacer "^H" tuer "^U" interrompre "^C"

Tapez « aide » pour une liste de choses que vous pouvez modifier.

Sélectionnez la chose à modifier ou à « terminé » ?

Maintenant, si vous êtes d'accord avec toutes les données que vous avez saisies, appuyez sur le bouton Entrée, ou si vous souhaitez modifier quelque chose, entrez simplement ce que vous souhaitez modifier.

Étape 11. (Manipulations finales)

Maintenant, le programme vérifiera si une telle connexion est déjà enregistrée, vous devriez voir un tas de numéros changeants, tout va bien - ne vous inquiétez pas... Maintenant, si un utilisateur avec une telle connexion est déjà enregistré, alors vous serez Il vous sera demandé d'en choisir un autre, et sinon, le système cryptera votre mot de passe et vous devrez passer encore plus de temps à examiner les numéros changeants. Après cela...

Étape 12. (Félicitations, vous avez maintenant un compte shell)

Oui, maintenant vous avez un compte shell, vous devez maintenant vous reconnecter, saisir votre nouveau nom d'utilisateur, votre mot de passe exact, appuyer sur Entrée et passer un bon moment. N'oubliez pas que vous pouvez avoir autant de coquilles que vous le souhaitez. Donc, si vous le souhaitez, vous pouvez vous reconnecter en tant que nouvel utilisateur, mais au lieu de choisir le shell bash, choisissez le shell Cshell ou autre chose, ou sélectionnez à nouveau le shell bash si vous en avez besoin de deux.

Équipes

Naturellement, je ne décrirai pas toutes les commandes qui existent dans les systèmes *nix ; si je faisais cela, ce fichier s'avérerait vraiment énorme. UE-
Si vous souhaitez obtenir de nombreuses informations sur les commandes, assurez-vous simplement de jeter un œil à la section Notes finales. Vous trouverez ci-dessous les principales commandes et leurs fonctions.

Syntaxe : commande [options] -> description

man [commande] -> affiche des informations sur la [commande] que vous avez spécifiée.

cd [répertoire] -> tout comme sous DOS, cette commande modifie le répertoire actuel avec lequel vous travaillez, si vous souhaitez revenir à votre répertoire personnel, entrez simplement cd sans le paramètre [répertoire].

ls [-al] -> ls fait la même fonction que dir sous DOS, il répertorie tous les fichiers d'un répertoire, -al est une paire de commutateurs que vous pouvez utiliser. L'utilisation de cette paire de clés vous permet d'afficher une liste de tous les fichiers du répertoire, y compris ceux masqués ; les autorisations des fichiers, le groupe et leurs propriétaires seront également affichés. Pour connaître toutes les autres clés, saisissez man ls.

cat [fichier] -> similaire à la commande type sous DOS, elle affiche le contenu du [fichier] spécifié.

déconnexion -> Vous déconnecte de votre compte shell.

who -> montre qui est actuellement connecté au système, affiche des informations sur ces utilisateurs. Il existe de nombreux programmes qui vous rendent invisible à l'aide de la commande who, mais c'est le sujet d'un autre didacticiel.

ps [-aux] -> ps affiche tous les processus en cours, presque la même chose que ctrl+alt+del dans Windows (pas un redémarrage, mais une liste des programmes en cours d'exécution), mais plus puissant, on ne sait pas comment démarrer un programme afin qu'il ne soit pas affiché par la commande ps. Si vous exécutez ps sans commutateurs, vous ne verrez que les processus que vous possédez directement ; si vous utilisez le commutateur -aux, alors tous les processus en cours d'exécution sur la machine seront affichés.

joe [fichier] -> joe est un éditeur de texte, il édite ou crée le [fichier] spécifié. Parfois, les hébergeurs de fournisseurs de shell gratuits n'ont pas Joe, mais il devrait y avoir un autre éditeur, par exemple vi.

Ces commandes devraient suffire pour commencer. Utilisez également la commande man pour des descriptions plus complètes et plus détaillées des commandes que nous avons couvertes.
Bon surf !

Remarques finales

Il ne vous reste plus qu'à vous entraîner davantage et à vous procurer de bons livres décrivant les commandes. L’un des meilleurs livres *nix est le suivant :

UNIX EN BREF. Vous pouvez le trouver dans la section livres de la page Web BSRF (http://blacksun.box.sk/). Il me semble que c'est le meilleur livre sur notre sujet, et comme il est absolument gratuit, je vous recommande fortement de l'obtenir. Une autre bonne chose, c'est l'homme. Par exemple, si vous souhaitez obtenir des informations sur telnet et comment l'utiliser, tapez simplement :

Et vous obtiendrez une page d'invite Telnet.

Si vous utilisez un shell sur le serveur freeshell (freeshell.org), vous pouvez également utiliser la commande help sans aucune option. Cela fera apparaître un menu avec des options que vous pouvez sélectionner. Et gardez à l'esprit que * nix est sensible à la casse, donc Man, man et MaN ou .profile et .Profile ne sont pas la même chose.

Applications
A) Puis-je exécuter des robots IRC sur un compte shell gratuit ?

Non!! A moins que vous ne restiez accroché au casque 24 heures sur 24. Les fournisseurs de shell gratuits tuent tous les processus que vous exécutez dès que vous vous déconnectez du système.
B) Existe-t-il d'autres endroits où je peux obtenir un compte shell ?

Le shellcode est un morceau de code intégré à un programme malveillant qui permet, après avoir infecté le système cible de la victime, d'obtenir le code shell de la commande, par exemple /bin/bash dans les OS de type UNIX, command.com dans MS-DOS à écran noir. et cmd .exe dans les systèmes d'exploitation Microsoft Windows modernes. Très souvent, le shellcode est utilisé comme charge utile d’exploit.

Shellcode

Pourquoi est-ce nécessaire ?

Comme vous le comprenez, il ne suffit pas d’infecter un système, d’exploiter une vulnérabilité ou de désactiver un service système. Toutes ces actions visent dans de nombreux cas à obtenir un accès administrateur à la machine infectée.

Les logiciels malveillants ne sont donc qu'un moyen d'accéder à une machine et d'en obtenir le contrôle, c'est-à-dire le contrôle. Et c'est une voie directe vers la fuite d'informations confidentielles, la création de réseaux de zombies qui transforment le système cible en zombies ou simplement l'exécution d'autres fonctions destructrices sur une machine piratée.

Le shellcode est généralement injecté dans la mémoire du programme hôte, après quoi le contrôle lui est transféré en exploitant des bogues tels que les débordements de pile ou les débordements de tampon basés sur le tas, ou en utilisant des attaques de chaîne de format.

Le contrôle est transféré au shellcode en écrasant l'adresse de retour sur la pile par l'adresse du shellcode intégré, en écrasant les adresses des fonctions appelées ou en modifiant les gestionnaires d'interruption. Le résultat de tout cela est l’exécution d’un shellcode, qui ouvre la ligne de commande que l’attaquant peut utiliser.

Lors de l'exploitation d'une vulnérabilité distante (c'est-à-dire un exploit), le shellcode peut ouvrir un port TCP prédéfini sur l'ordinateur vulnérable pour un accès à distance supplémentaire au shell de commande. Ce code est appelé shellcode de liaison de port.

Si le shellcode est connecté à un port de l’ordinateur de l’attaquant (dans le but de contourner ou de fuir via NAT), alors ce code est appelé shellcode inverse.

Façons d'exécuter du shellcode en mémoire

Il existe deux manières d'exécuter le shellcode en mémoire pour l'exécution :

  • La méthode de code indépendant de la position (PIC) est un code qui utilise une liaison rigide du code binaire (c'est-à-dire du code qui sera exécuté en mémoire) à une adresse ou des données spécifiques. Le shellcode est essentiellement un PIC. Pourquoi une liaison serrée est-elle si importante ? Le shell ne peut pas savoir où se trouvera exactement la RAM, car lors de l'exécution de différentes versions d'un programme compromis ou d'un malware, il peut charger le shellcode dans différentes cellules de mémoire.
  • La méthode d'identification de l'emplacement d'exécution nécessite que le shellcode déréférence le pointeur sous-jacent lors de l'accès aux données dans une structure de mémoire indépendante de la position. L'ajout (ADD) ou la soustraction (Reduce) de valeurs du pointeur sous-jacent vous permet d'accéder en toute sécurité aux données incluses dans le shellcode.

SSH ou Shell est quelque chose de similaire à Radmin, mais pour Linux. Le shell Shell vous permet de contrôler à distance le système d'exploitation.

Pourquoi avons-nous besoin de cela ?
- Et nous en avons le plus souvent besoin pour télécharger rapidement un grand nombre de fichiers sur l'hébergement ou les supprimer de là.

Nous sommes tous confrontés à la tâche lorsque vient le temps de déplacer notre projet d'un serveur local (je veux dire, par exemple) vers le serveur de l'hébergeur. Et c'est bien si notre site est petit. Et si le projet est volumineux, pesant environ 50 mégaoctets... C'est là que commencent les difficultés. Il suffit de se connecter au serveur à l'aide de certains programmes, par exemple Total Commander, et de télécharger des fichiers par copie devient une tâche très non triviale. Il faudra beaucoup de temps pour télécharger les fichiers un par un et attendre constamment une réponse du serveur distant. Et, très probablement, vous ne pourrez pas copier tous les fichiers du premier coup - une erreur se produira certainement et la connexion sera perdue, puis déterminer quels fichiers sont parvenus à l'hébergement et lesquels ne l'ont pas été.

C'est là que le même Shell vient à notre aide.

Nous prenons l'intégralité de notre site sur un hébergement local et le compressons dans une archive zip.
Premièrement, sur 50 mégaoctets, il en restera environ 15 après compression.
Deuxièmement, il est beaucoup plus facile de télécharger un fichier d’archive sur votre hébergement que l’ensemble du projet. Et lors du téléchargement d'un fichier, aucune erreur ne se produira probablement.

Il ne reste plus qu'à décompresser l'archive sur le serveur. Cela peut être fait à l'aide du programme PuTTY qui, après avoir communiqué avec une machine d'hébergement distante via le protocole SSH, décompressera l'archive téléchargée à la même vitesse que vous décompressez les archives sur votre ordinateur.

Et donc, installez PuTTY (téléchargez la distribution PuTTY) et continuez.

Après avoir installé et lancé le programme, vous verrez cette fenêtre :

Tout ce dont vous avez besoin est de saisir l'adresse de l'hôte pour communiquer avec le serveur via Shell. Votre hébergeur aurait dû vous envoyer cette adresse avec votre login et votre mot de passe par email.

Pour Masterhost, par exemple, cette adresse ressemble à ceci : XXXXXX.ssh.masterhost.ru
XXXXXX– il s’agit de votre identifiant client Masterhost personnel.

Entrez l'adresse dans le champ Nom d'hôte (ou adresse IP) et appuyez sur le bouton Ouvrir.

Après ces étapes simples, une connexion s'établira avec la machine distante via le protocole réseau SSH et vous verrez une invite pour saisir un identifiant puis un mot de passe, que l'hébergeur devra également vous envoyer par e-mail.

Lorsque vous saisissez votre mot de passe, ne vous inquiétez pas des éléments suivants :
aucun astérisque ni point, comme c'est l'habitude sous Windows, n'apparaîtra. C'est Linux pour vous, messieurs et mesdames. Le curseur ne bougera même pas. Mais n'y prêtez pas attention, mais entrez soigneusement votre mot de passe et après avoir entré, appuyez sur Entrer. Cette chose a été conçue pour que personne ne puisse espionner le nombre de caractères de votre mot de passe. Rave?
- Peut être. Linux est comme ça, la confidentialité passe avant tout.

Si vous avez saisi correctement votre mot de passe, vous verrez le mot Bienvenue !

Une fois connecté, vous êtes dans le dossier racine de votre espace d'hébergement. Pour voir quels autres dossiers et fichiers sont présents dans le répertoire racine, utilisez la commande ls.

Accédez au dossier souhaité (dans lequel vous avez enregistré l'archive zip avec le site) avec la commande CD.

Ceux. si vous avez un dossier à la racine www et vous souhaitez y accéder, puis entrez la commande cdwww/ et appuyez sur Entrer.

Pour monter d'un niveau : CD..

Après avoir accédé au dossier, vous pouvez réutiliser la commande ls pour afficher son contenu et assurez-vous qu'il existe une archive zip avec le site.

Lorsque vous êtes dans le répertoire contenant le fichier archive, vous tapez la commande décompresser imya_faila.zip
Au lieu de imya_faila.zip vous devez entrer le nom de l'archive avec l'extension.

L'archive commence à se décompresser joyeusement dans le même répertoire où elle se trouvait.

Supprimez rapidement les fichiers de l'hébergement

Le shell, en plus de la possibilité de télécharger rapidement des fichiers sur le serveur, nous donne la possibilité de les supprimer rapidement. Cela se fait d'une manière très similaire au décompression d'une archive.

Vous devez vous déplacer vers le répertoire contenant les fichiers ou répertoires que vous souhaitez supprimer (je vous le rappelle, on se déplace avec la commande CD).

Une fois que vous êtes dans le répertoire où vous souhaitez supprimer les répertoires et fichiers, saisissez les commandes suivantes :

Pour supprimer un fichieréquipe rm imya_faila.xxx

Pour supprimer un fichier sans poser de questions(êtes-vous sûr de vouloir le supprimer ou non ?) commande rm – f imya_faila.xxx

Pour supprimer un répertoire rm – r imya_kataloga/

Pour faciliter la saisie des noms de fichiers et de répertoires, PuTTY implémente la fonction suivante :
Entrez le début du nom du fichier ou du répertoire et appuyez sur Languette, PuTTY remplira automatiquement la partie manquante du nom.

Pour quitter le programme, utilisez la commande sortie.

En règle générale, un shell est un script que les pirates téléchargent sur le serveur et, avec son aide, gèrent davantage le serveur. En effectuant une recherche dans un moteur de recherche, vous pouvez trouver de nombreux coquillages et leur popularité ne cesse de croître. De plus en plus de pirates novices tentent de le télécharger quelque part. Pour confirmer mes propos, je vais donner une capture d'écran du premier site apparu dans les résultats de recherche.

Comme le montrent les statistiques de téléchargement d'un fichier sur un site, de nombreuses personnes ont envie de commettre des méfaits.

J'ai à ma disposition un autre shell, que j'ai gardé en guise de trophée après avoir éliminé les conséquences d'un piratage sur l'un des serveurs du client. Je vais maintenant le télécharger dans l'un des dossiers du serveur local et utiliser l'exemple d'un site de démonstration pour montrer ses capacités.

Pour agrandir une image, cliquez dessus.

Après autorisation dans le shell, on passe directement à son interface. Voici tout ce dont un attaquant pourrait avoir besoin pour contrôler le serveur. Initialement, une page s'ouvre avec les fichiers dans lesquels le shell est chargé. À l'aide du gestionnaire de fichiers, vous pouvez télécharger, modifier ou supprimer n'importe quel fichier dans n'importe quel dossier du serveur qui sera accessible.

Sur l'un des onglets, il y a la possibilité de gérer des bases de données. La capture d'écran montre le compte administrateur du site. Cela signifie que vous pouvez accéder au panneau d'administration du site lui-même.

Il existe une fonction de recherche de mot de passe pour pirater FTP. On peut voir que vous pouvez sélectionner un mot de passe non seulement pour ce serveur, mais également pour tout autre.

J'ai montré les principales fonctions nécessaires à la gestion du serveur. Les coques peuvent être différentes et il n'est pas nécessaire qu'elles ressemblent exactement à ceci, mais la fonctionnalité de base reste inchangée. Extrait des capacités d'un obus :

  • Afficher, visualiser en hexadécimal, modifier, télécharger, télécharger des fichiers
  • Gestionnaire de fichiers (copier, renommer, déplacer, supprimer, chmod, créer des fichiers et des dossiers)
  • Gestionnaire SQL (MySql, PostgreSql)
  • Exécution du code PHP
  • Rechercher des fichiers, rechercher du texte dans des fichiers
  • Anti-moteur de recherche (vérifié par UserAgent, si un robot de recherche, une erreur 404 est renvoyée) // les shells peuvent se déguiser

Cet article vise à répondre à la question Qu'est-ce que la coquille, ce qui arrive si souvent parmi les propriétaires de sites Web. Vous savez maintenant à quoi il ressemble et ses capacités.

Pour tout répéter brièvement, un shell est un script qui permet de gérer des fichiers et des bases de données sur un serveur, et vous n’aurez même pas conscience de son existence.

Ce guide explique ce qu'est un compte shell, comment en obtenir un,
et quelques commandes de base. Si vous pensez que vous trouverez ici une description du shell ou des astuces avec des exploits, alors vous vous trompez. Attends les autres
manuels La première partie n'est qu'un tas de questions avec des réponses. Après avoir donné un bref aperçu du sujet, je vous dirai
vous où vous pouvez accéder gratuitement
coquille. Alors qu'est-ce qu'on est
est-ce qu'on attend ?

Les questions que tout le monde se pose

Q : Qu'est-ce qu'un compte shell ?

A : D’accord... Je pense qu’il n’est pas nécessaire d’expliquer ce que c’est
compte, alors allons-y
Il vaut mieux parler de coquille (coquille). Vous utilisez probablement Windows, votre shell est donc command.com et Graphics Environment. Plus précisément
dira ceci : le shell est un sous-programme qui traduit et envoie
vos commandes au noyau du système. Tout cela est nécessaire car le noyau ne comprend pas les commandes que vous donnez. Par exemple, lorsque vous tapez "cd..", cette commande sera traduite par le shell dans un langage de bas niveau et transmise au noyau (sinon, il faudra être au moins fou pour contrôler votre CPU).
Pouvez-vous imaginer à quel point il serait pénible d'utiliser
ordinateur sans coque ? Pour faire quelque chose, il faudrait
utiliser un langage de bas niveau comme l'assembleur ou pire
(code binaire). Pour exécuter la commande "cd.." il faudrait écrire :
push mem put mem blabla mem ou une énorme liste comme 00101010. Vous êtes vraiment
Pensez-vous que les gens accepteraient de travailler comme ça ? Je ne pense pas. D'accord... d'accord... Il y a beaucoup de gens qui programment en langage assembleur, mais je parle de gens ordinaires.

Q : Donc vous dites que le shell est juste une « chose » qui se traduit par
les commandes que j'entre dans un code que le processeur peut comprendre, similaire à ce que fait command.com. Mais pourquoi devrais-je alors me connecter à la télécommande
command.com si j'ai le mien sur ma machine.

R : Les personnes qui créent elles-mêmes des comptes shell ne se connectent pas aux machines Windows, mais
pour *nix les machines. Si vous n'avez pas Linux ou tout autre système * nix sur votre ordinateur personnel, vous pouvez alors obtenir un compte shell et commencer à jouer avec Linux.
comme si c'était sur votre voiture.

Q : Mon ami, un gourou *nix, m'a dit que beaucoup de ces obus sont nuls,
parce qu'ils ont des capacités limitées. Qu'est-ce que cela signifie?

R : Il existe deux types de coquilles : limitées et sans restriction. Différences
entre eux - vous n'avez généralement pas besoin de payer pour des shells limités, ils sont distribués gratuitement, mais dans de tels shells, vous ne pouvez pas terminer tous
commande (par exemple, ils peuvent vous empêcher d'utiliser nslookup et telnet
programmes). La situation est complètement différente avec des obus illimités,
vous pouvez exécuter n'importe quelle commande, mais ce type de shell n'est pas gratuit (parfois un nombre illimité de shells sont donnés aux étudiants universitaires). Mais même si vous n'avez qu'une coque limitée, ça n'en vaut pas la peine
soyez contrarié - certains d'entre eux sont en fait bons.

Q : Alors, êtes-vous en train de dire que je peux obtenir la coque sans rien payer ?

R : Oui, vous pouvez. Je pense que le meilleur endroit pour l'obtenir est
nether.net (un autre hôte qui distribue des shells gratuits est
freeshell.org), je parlerai de ce processus plus tard. Parfois, les FAI donnent également des comptes shell à leurs utilisateurs, vous pouvez donc déjà avoir accès à un shell, il vous suffit de
tu ne le sais pas. Appelez le support technique de votre FAI et renseignez-vous à ce sujet.

Q : J'ai appelé mon FAI pour demander un compte shell et il
Ils m'ont demandé pourquoi j'en avais besoin. Que dois-je répondre ?

R : Dites simplement que vous aimez surfer sur Internet avec Lynx, et
que vous voulez apprendre Unix. Cela devrait fonctionner. Mais s'ils t'envoient,
alors allez simplement chercher une coque gratuite.

Q : Hé, j'ai une coquille, mais comment savoir si elle est bonne ou pas ?

R : Je pense qu'il ne peut y avoir de réponse définitive à cette question, tout
cela dépend de la personne qui l'a demandé. Pour moi personnellement, une bonne coque est celle dans laquelle je peux tout faire
éléments répertoriés ci-dessous.
-> Telnet (émulateur de terminal)
-> Nslookup (vous donne des informations sur l'hôte)
-> FTP (File Transfer Protocol, aucun commentaire n'est nécessaire, n'est-ce pas ?)
-> Finger (donne des informations sur un utilisateur spécifique)
-> Traceroute (identique à tracerT.exe sous Windows, mais bien meilleur)
-> Dig (probablement de nombreux shells ne vous permettent pas de l'utiliser, mais
ne t'inquiète pas pour ça)
-> Netstat (comme sous Windows, une liste de tous les sockets et leur statut)
-> GCC (compilateur c, cool pour créer vos propres programmes)
-> Gzip (utilitaire de téléchargement/package de fichiers)
-> Lynx (meilleur navigateur au monde)

Cela ne veut pas dire qu'un shell doté de telles capacités est fait pour vous.
ce sera bien. Peut-être qu'une bonne coquille pour vous sera celle qui
vous permettra uniquement d'utiliser telnet, comme je l'ai déjà dit - il est difficile de donner une réponse définitive à cette question.
Mais si votre compte shell ne vous permet pas d'utiliser telnet, FTP et
GCC, vous devez alors obtenir un autre compte shell.

Eh bien, je pense que tu es déjà assez énervé après avoir lu un tas de questions stupides
et des réponses encore plus stupides alors laissez-moi passer à la suivante
section. Parlons un peu des types de comptes shell.

Un aperçu rapide des types de comptes Shell

Voici les types possibles de comptes shell, dont l'un que nous appelons
des coquilles faites maison, d'autres avec des coquilles "standards". Parlons
à propos des coques "standard".

Juste pour le développement général

Les shells d'accueil sont des shells créés par un opérateur système qui possède
système, et ils travaillent simplement sur son système.
Comme je l'ai dit plus haut, il existe de nombreux obus. Tu as:
-> coque : Bourne Shell
-> Bash : Bourne à nouveau Shell
-> Cshell : C Shell
-> Tcsh : Shell C technique
-> Ksh : Coquille de Kourne
Et bien d'autres. (Je les ai répertoriés uniquement parce que ce sont les seuls que vous
vous pouvez l'obtenir sur nether.net). Chaque coquille présente des avantages et des inconvénients. Par exemple, Cshell permet
vous entrez les commandes C comme s'il s'agissait de commandes normales, c'est-à-dire
si vous entrez printf Hello, alors le résultat de cette commande sera le même que
commandes echo dans d'autres shells (pour ceux qui ne connaissent pas le langage C, laissez-moi vous expliquer
printf affiche le texte suivant cette commande à l'écran).
Je ne peux pas décrire les avantages et les inconvénients de chaque coque, vous devrez le découvrir par vous-même. Obtenez-en simplement un auprès d'hôtes qui fournissent
accédez gratuitement au shell et commencez à apprendre. Je ne peux que recommander Bash - c'est le meilleur shell pour les débutants, mais si vous...
Si vous souhaitez obtenir un shell plus puissant, vous aurez accès au shell C.
Commencez par bash, apprenez le système, apprenez à écrire des scripts bash, puis
commencez à utiliser d’autres shells. Parlez à vos amis
demandez quels coquillages ils utilisent et pourquoi ils les aiment. Eh bien, nous comprenons
idée ?;) Si vous avez déjà un shell, mais que vous ne savez pas de quel type de shell il s'agit, alors
tapez simplement echo $shell et il affichera probablement le type que vous utilisez
coquilles. Puisqu’il s’agit d’un bref aperçu, je terminerai cette discussion ici.
sujet. Cela devrait vous aider à obtenir un compte shell vraiment sympa.

Obtenir un compte Shell sur Nether.net

Alors, êtes-vous prêt à ouvrir votre premier compte shell ? Eh bien, bien sûr, nous sommes prêts. La seule chose que je n'aime pas sur nether.net, c'est l'heure hors ligne, alors
il existe un serveur qui est parfois indisponible. Si vous arrivez à vous connecter, alors vous n'avez plus à vous inquiéter, c'est juste que parfois ça bloque trop sur nether.net
il y a beaucoup de monde - il y a du monde et se déconnecte. Attendez un moment et reconnectez-vous.

Obtenir un compte Shell sur Nether.net

Ouvrez votre programme telnet, vous pouvez le trouver dans le répertoire
Windows sous le nom telnet.exe

Étape 1. (Préparez votre programme de terminal)

Maintenant, vous avez probablement déjà lancé votre client Telnet, si c'est le cas, alors
sélectionnez le menu Connecter, puis Système distant. Un autre apparaîtra
une fenêtre vous demandant le nom d'hôte, le port et le type de terminal. Entrez-les
remplit les informations suivantes :

Nom d'hôte : nether.net
Port : Telnet (ou 23 est le même)
Type de terminal : vt100 (cette valeur doit être définie par
défaut)

Nom d'hôte : nether.net

Étape 3. (Connexion)

Vous verrez maintenant la bannière nether.net. Il rapporte :

Noyau SunOS 5.6 Generic_105181-17 sur un sun4d
Bienvenue sur nether.net

Nouveau dans le système ? Connectez-vous en tant que nouvel utilisateur

Maintenant, comme ils l'ont dit, entrez newuser comme identifiant. Programme,
appelé newuser démarrera et vous aidera à créer
compte.

Étape 4 : (Modification des affectations de touches)

Après toutes ces conneries, le nouvel utilisateur vous demandera de modifier les touches de fonction en fonction de vos besoins. Vous serez invité à saisir la clé de suppression (^H)
et la touche break (^C). Entre parenthèses se trouvent les clés définies selon
par défaut, mais si vous le souhaitez, vous pouvez les remplacer par d'autres. ^H est la touche Suppr (celle avec le symbole<-), и ^C - это комбинация
touches ctrl+c. Attention, n'écrivez pas ^H ou ^C, appuyez simplement sur les touches correspondantes et ces caractères apparaîtront à l'écran.

Étape 5. (Sélection du type de terminal)

Après avoir modifié l'affectation des touches de fonction, il vous sera demandé
entrez votre type de terminal, pouvez-vous choisir ? et le programme affichera tout
types de terminaux disponibles, mais vous devez sélectionner vt100 ou simplement cliquer sur
bouton Entrée. Appuyer sur le bouton Entrée signifie que vous avez sélectionné un terminal "stupide". Mais ce n'est pas un problème car vous pourrez le modifier plus tard.

Étape 6. (Données personnelles)

Certaines informations vous seront demandées comme votre nom complet, votre numéro
numéro de téléphone, date de naissance, sexe, blablabla, enfin je pense que c'est clair. Si tu
Si vous le souhaitez, vous pouvez saisir par exemple le symbole "." pour toutes les questions. et appuyez sur
sur le bouton Entrée. Vous pouvez également saisir de fausses données, et je suis sûr
que 98% des utilisateurs de nether.net le font. À la fin de toutes les questions, vous
vous demandera si vous souhaitez masquer ces informations aux autres utilisateurs. Répondez simplement par oui ou par non, je recommande de répondre oui.

Répondez simplement par oui ou par non, je recommande de répondre oui.

Une liste des skins disponibles s'affichera maintenant, sélectionnez-en simplement un,
Comme je l'ai dit ci-dessus, si vous êtes débutant, choisissez le shell bash.

Étape 8. (Sélectionnez Connexion)

Choisissez simplement votre identifiant, la longueur maximale est de 8 caractères.

Choisissez simplement votre identifiant, la longueur maximale est de 8 caractères.

Sélectionnez un mot de passe, celui-ci vous sera demandé deux fois pour confirmer
le mot de passe que vous avez entré est correct. Plus tard, vous pourrez changer
mot de passe à l’aide de la commande passwd.

Étape 10. (Confirmation des données spécifiées)

Cette fois, vous verrez quelque chose comme ceci :
nom complet : Nom complet
loginid : votre mot de passe de connexion :<не показывается>
adresse : votre adresse que vous avez indiquée
téléphone : le numéro de téléphone que vous avez fourni
autres adresses e-mail : votre adresse e-mail que vous avez indiquée
profession : ce que vous avez spécifié
ordinateurs : ce que vous avez spécifié
date de naissance : date spécifiée sexe : sexe spécifié
intérêts : n'importe quoi
comment (avez-vous découvert notre existence) : comment les avez-vous découverts
Activer/désactiver la confidentialité
shell : votre compte shell terminal : votre type de terminal
effacer "^H" tuer "^U" interrompre "^C"

Tapez « aide » pour une liste de choses que vous pouvez modifier.

Sélectionnez la chose à modifier ou à « terminé » ?

Maintenant, si vous êtes d'accord avec toutes les données que vous avez saisies, cliquez sur le bouton
entrez, ou si vous souhaitez modifier quelque chose, entrez simplement ce que vous voulez
changement.

Étape 11. (Manipulations finales)

Maintenant, le programme vérifiera si une telle connexion est déjà enregistrée, vous devez
vous verrez un tas de numéros changer, tout va bien - ne vous inquiétez pas... Désormais, si un utilisateur avec ce login est déjà enregistré, il vous sera alors proposé
choisissez-en un autre, et sinon, le système cryptera votre mot de passe et vous devrez
passez plus de temps à regarder les chiffres changeants. Après cela...

Étape 12. (Félicitations, vous avez maintenant un compte shell)

Oui, maintenant vous avez un compte shell, maintenant vous devez vous reconnecter,
entrez votre nouveau nom d'utilisateur, votre mot de passe exact, appuyez sur Entrée et c'est parti
temps. N'oubliez pas que vous pouvez avoir autant de coquilles que vous le souhaitez. Alors, si
vous le souhaitez, vous pouvez vous réinscrire dans le système en tant que nouveau
utilisateur, au lieu de choisir le shell bash, choisissez le shell Cshell ou autre chose,
ou choisissez à nouveau bash shell si vous en avez besoin de deux...

Équipes

Naturellement, je ne décrirai pas toutes les commandes qui existent dans les systèmes *nix,
si je faisais cela, ce fichier deviendrait vraiment énorme. UE-
si vous souhaitez obtenir beaucoup d'informations sur les commandes, alors simplement
N'oubliez pas de consulter la section Notes finales.
Vous trouverez ci-dessous les principales commandes et leurs fonctions.

Syntaxe : commande [options] -> description

man [commande] -> affiche des informations sur la [commande] que vous avez spécifiée.

cd [répertoire] -> tout comme sous DOS, cette commande modifie le répertoire actuel avec lequel vous travaillez, si vous souhaitez revenir à votre répertoire personnel, entrez simplement cd sans le paramètre [répertoire].

ls [-al] -> ls fait la même fonction que dir sous DOS, il répertorie tous les fichiers d'un répertoire, -al est une paire de commutateurs que vous pouvez
utiliser. L'utilisation de cette paire de clés permet d'afficher une liste
de tous les fichiers du répertoire, y compris les fichiers cachés, les droits seront également affichés
accès aux fichiers, au groupe et à leurs propriétaires. Pour connaître toutes les autres clés
tapez homme ls.

cat [fichier] -> similaire à la commande type sous DOS, elle affiche le contenu
le [fichier] spécifié.

déconnexion -> Vous déconnecte de votre compte shell.

who -> montre qui est actuellement connecté au système, affiche des informations sur ces utilisateurs. Il existe de nombreux programmes qui font
vous rendre invisible avec la commande who, mais c'est un sujet pour un autre tutoriel.

ps [-aux] -> ps affiche tous les processus en cours, presque de la même manière que
ctrl+alt+del dans Windows (pas un redémarrage, mais une liste des programmes en cours d'exécution),
mais plus puissant, on ne sait pas comment exécuter le programme pour qu'il
n'a pas été affiché par la commande ps. Si vous exécutez ps sans clés, alors vous
Vous ne verrez que les processus dont vous êtes directement propriétaire si
vous utilisez le commutateur -aux, alors tous les processus en cours seront affichés
en voiture.

joe [fichier] -> joe est un éditeur de texte, il édite ou crée
spécifié [fichier]. Parfois, il n'y a rien de bon sur les hébergeurs de fournisseurs d'interpréteurs de commandes gratuits,
mais il doit y avoir un autre éditeur, par exemple vi.

Ces commandes devraient suffire pour commencer. Utilisez également la commande man
pour des descriptions plus complètes et plus détaillées des commandes que nous avons couvertes.
Bon surf !

Remarques finales

Il ne vous reste plus qu'à vous entraîner davantage et à devenir bon.
livres contenant des descriptions de commandes. L’un des meilleurs livres *nix est le suivant :

UNIX EN BREF. Vous pouvez le trouver dans la section livres de la page web de BSRF
(http://blacksun.box.sk). Je pense que c'est le meilleur livre sur
notre sujet, et comme il est absolument gratuit, je vous recommande fortement de vous le procurer.
Une autre bonne chose, c'est l'homme. Par exemple, si vous souhaitez en obtenir
Pour plus d’informations sur Telnet et comment l’utiliser, entrez simplement :

Et vous obtiendrez une page d'invite Telnet. Si vous utilisez un shell
sur le serveur freeshell (freeshell.org) vous pouvez également utiliser la commande
aide sans aucune option. Cela fera apparaître un menu avec des options que vous pouvez
choisir. Et gardez à l'esprit que * nix est sensible à la casse, donc Man, man et
MaN ou .profile et .Profile ne sont pas la même chose.

Si vous utilisez un shell sur le serveur freeshell (freeshell.org), vous pouvez également utiliser la commande help sans aucune option. Cela fera apparaître un menu avec des options que vous pouvez sélectionner. Et gardez à l'esprit que * nix est sensible à la casse, donc Man, man et MaN ou .profile et .Profile ne sont pas la même chose.

A) Puis-je exécuter des robots IRC sur un compte shell gratuit ?
Non!! A moins que vous ne restiez accroché au casque 24 heures sur 24. Les fournisseurs de shell gratuits tuent immédiatement tous les processus que vous exécutez
dès que vous vous déconnectez du système.

B) Existe-t-il d'autres endroits où je peux obtenir un compte shell ?
Certainement! Essayez-le



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :