Dicționar financiar: ce este o companie Shell. Dicționar financiar: Ce este o companie Shell Ce este o Shell

Acest ghid explică ce este un cont shell, cum să obțineți unul și câteva comenzi de bază. Dacă crezi că vei găsi aici o descriere a shell-ului sau trucuri cu exploit, atunci te înșeli. Rămâneți pe fază pentru mai multe tutoriale. Prima parte este doar o grămadă de întrebări cu răspunsuri. După ce voi oferi o scurtă prezentare generală a subiectului, vă voi spune unde puteți accesa shell-ul gratuit. Deci, ce așteptăm?

Întrebările pe care le pun toată lumea

Î: Ce este un cont shell?

R: Bine... Cred că nu este nevoie să explici ce este un cont, așa că hai să vorbim mai bine despre shell. Probabil că utilizați Windows, așa că shell-ul dvs. este command.com și Graphics Environment. Ar fi mai corect să spunem asta: shell-ul este o subrutină care traduce și trimite comenzile tale către nucleul sistemului. Toate acestea sunt necesare deoarece nucleul nu înțelege comenzile pe care le dați. De exemplu, când tastați „cd ..”, această comandă va fi tradusă de shell într-un limbaj de nivel scăzut și transmisă nucleului (altfel, trebuie să fiți cel puțin nebun pentru a vă controla procesorul). Îți poți imagina cât de dureros ar fi să folosești un computer dacă nu ai avea o carcasă? Pentru a face orice ar trebui să utilizați un limbaj de nivel scăzut, cum ar fi asamblarea sau mai rău (cod binar). Pentru a executa comanda „cd..” ar trebui să scrieți: push mem put mem blabla mem sau o listă uriașă ca 00101010. Chiar crezi că oamenii ar fi de acord să lucreze așa? Eu nu cred acest lucru. Bine..bine.. Sunt foarte mulți oameni care programează în limbaj de asamblare, dar vorbesc de oameni obișnuiți.

Î: Deci spui că shell-ul este doar un „lucru” care traduce comenzile pe care le introduc în cod pe care procesorul îl poate înțelege, similar cu ceea ce face command.com. Dar de ce m-aș conecta apoi la comanda de la distanță.com dacă am propriul meu pe mașina mea.

R: Oamenii care creează conturi shell nu se conectează la mașini Windows, ci la mașini *nix. Dacă nu aveți Linux sau orice alt sistem *nix pe mașina dvs. de acasă, atunci puteți obține un cont shell și puteți începe să jucați cu Linux ca și cum ar fi pe mașina dvs.

Î: Prietenul meu, un guru *nix, mi-a spus că multe dintre aceste shell-uri sunt proaste pentru că au caracteristici limitate. Ce înseamnă acest lucru?

R: Există două tipuri de cochilii - limitate și nerestricționate. Diferențele dintre ele sunt că, de obicei, nu trebuie să plătiți pentru shell-uri restricționate, acestea sunt oferite gratuit, dar în astfel de shell-uri nu puteți executa fiecare comandă (de exemplu, vă pot interzice să utilizați programele nslookup și telnet). ). Cu totul alta situatia este cu shell-uri nelimitate, puteti executa orice comanda doriti, dar acest tip de shell-uri este platit (uneori se dau shell-uri nelimitate studentilor). Dar chiar dacă aveți doar o carcasă limitată, nu vă faceți griji - unele dintre ele sunt foarte bune.

Î: Deci, vrei să spui că pot obține carcasa fără să plătesc nimic pentru ea?

A: Da, poți. Cred că cel mai bun loc pentru a-l obține este nether.net (o altă gazdă care oferă shell-uri gratuite este freeshell.org), voi vorbi despre acest proces mai târziu. Uneori, ISP-urile oferă și conturi shell utilizatorilor lor, așa că este posibil să aveți deja acces la un shell și pur și simplu să nu-l știți. Sunați la service suport tehnic ISP-ul dvs. și întrebați despre asta.

Î: Mi-am sunat ISP-ul cerând un cont shell și mi-au întrebat de ce am nevoie de unul. Ce ar trebui să răspund?

R: Spuneți doar că vă place să navigați pe Internet folosind Lynx și că doriți să învățați Unix. Acest lucru ar trebui să funcționeze. Dar dacă te trimit, du-te și ia un shell gratuit.

Î: Hei, am o coajă, dar de unde știu dacă este bună sau nu?

R: Cred că nu poate exista un răspuns cert la această întrebare; totul depinde de persoana care l-a pus. Pentru mine personal, un shell bun este unul în care pot face toate următoarele lucruri.
-> Telnet (emulator de terminal)
-> Nslookup (Îți oferă informații despre gazdă)
-> FTP (Protocol Transfer de fișier, comentariile sunt inutile, nu?)
-> Deget (oferă informații despre un anumit utilizator)
-> Traceroute (la fel ca tracerT.exe pe Windows, dar mult mai bine)
-> Sapă (probabil că multe shell-uri nu îți permit să folosești asta, dar
Nu vă faceți griji)
-> Netstat (ca și în Windows, o listă cu toate socketurile și starea acestora)
-> GCC (compilator c, cool pentru a vă crea propriile programe)
-> Gzip (utilitate pentru dezarhivarea fișierelor)
-> Lynx ( Cel mai bun browserîn lume)

Acest lucru nu înseamnă că un shell cu astfel de capacități va fi bun pentru tine. Poate că un shell bun pentru dvs. va fi unul care vă permite să utilizați doar telnet, așa cum am spus mai devreme - este dificil să dați un răspuns definitiv la această întrebare. Dar dacă contul dvs. shell nu vă permite să utilizați telnet, FTP și GCC, atunci trebuie să obțineți un alt cont shell.

Ei bine, cred că deja ești destul de enervat după ce ai citit o grămadă de întrebări stupide și răspunsuri chiar mai stupide, așa că lasă-mă să trec la următoarea.
secțiune. Să vorbim puțin despre tipurile de conturi shell.

Scurtă revizuire Tipuri de conturi Shell

Iată care sunt posibilele tipuri de conturi shell, dintre care unele le numim shell-uri de acasă, altele shell-uri „standard”. Să vorbim despre cochilii „standard”.

Doar pentru dezvoltare generală

shell-urile de acasă sunt shell-uri create de operatorul de sistem care deține sistemul și pur și simplu rulează pe sistemul său. După cum am spus mai sus, există multe scoici. Aveți:
-> coajă: Bourne Shell
-> Bash: Bourne Again Shell
-> Shell: C Shell
-> Tcsh: Shell tehnic C
-> Ksh: Kourne Shell
Și multe altele. (Am enumerat doar acestea pentru că sunt singurele pe care le puteți obține pe nether.net). Fiecare coajă are avantaje și dezavantaje. De exemplu, Cshell vă permite să introduceți comenzi C ca și cum ar fi comenzi obișnuite, adică dacă introduceți printf Bună ziua, atunci rezultatul acestei comenzi va fi același cu comanda echo din alte shell-uri (pentru cei care nu sunt familiarizați cu Limba C, permiteți-mi să vă explic, printf afișează textul după această comandă pe ecran). Nu pot descrie avantajele și dezavantajele fiecărei cochilii, va trebui să aflați singuri. Doar obțineți unul dintre acestea de la gazdele care oferă acces liber la carapace și începe să explorezi. Pot doar să recomand Bash - este cel mai bun shell pentru începători, dar dacă doriți să obțineți un shell mai puternic, atunci obțineți acces la shell-ul C. Începeți cu bash, învățați sistemul, învățați cum să scrieți scripturi bash și apoi treceți la alte shell-uri. Vorbește cu prietenii tăi, întreabă ce carapace folosesc, de ce le plac. Bine, înțelegi ideea? ;) Dacă ai deja un shell, dar nu știi ce fel de shell este, atunci tastați echo $shell și probabil va arăta tipul de shell pe care îl utilizați. De la aceasta scurtă recenzie, apoi voi termina conversația pe acest subiect. Acest lucru ar trebui să vă ajute să obțineți un cont shell foarte cool.

Obținerea unui cont Shell pe Nether.net

Deci, ești gata să obții primul tău cont shell? Ei bine, bineînțeles că suntem pregătiți. Singurul lucru care nu-mi place la nether.net este timpul offline, adică serverul este uneori indisponibil. Dacă vă puteți conecta, atunci nu trebuie să vă mai faceți griji, doar că uneori prea mulți oameni se întâlnesc pe nether.net - devine aglomerat și este offline. Așteptați puțin și conectați-vă din nou.

Pasul 1. (Pregătește-ți programul terminal)

Deschideți programul telnet, îl puteți găsi în directorul Windows sub numele telnet.exe

Pasul 2. (Conexiune)

Acum, probabil că ați lansat deja clientul Telnet, dacă da, atunci selectați meniul Connect, apoi Remote System acolo. Va apărea o altă fereastră care vă va cere numele gazdei, portul și tipul terminalului. Introduceți următoarele informații în aceste câmpuri:

Nume gazdă: nether.net
Port: Telnet (sau 23 este același)
Tip terminal: vt100 (această valoare ar trebui să fie setată ca implicită)

Așteaptă puțin și...

Pasul 3. (Conectare)

Acum veți vedea bannerul nether.net. El raportează:

Kernel SunOS 5.6 Generic_105181-17 pe un sun4d
Bun venit pe nether.net

Nou în sistem? Conectați-vă ca utilizator nou

Acum, așa cum au spus ei, introduceți utilizator nou ca autentificare. Un program numit newuser se va lansa și vă va ajuta să vă creați un cont.

Pasul 4: (Modificarea atribuirii tastelor)

După toate aceste prostii, programul noului utilizator vă va cere să schimbați tastele funcționale pentru a se potrivi nevoilor dvs. Vi se va solicita tasta de ștergere (^H)
și tasta de pauză (^C). Tastele dintre paranteze sunt cele implicite, dar dacă doriți, le puteți schimba cu oricare altele. ^H este tasta de ștergere (cea cu simbolul<-), и ^C - это комбинация клавиш ctrl+c. Внимание, не пишите ^H или ^C, просто нажимайте соответствующие клавиши, и эти символы будут появляться на экране.

Pasul 5. (Selectarea tipului terminalului)

După ce modificați alocarea tastelor funcționale, vi se va cere să introduceți tipul de terminal, puteți selecta? iar programul va lista toate tipurile de terminale disponibile, dar trebuie să selectați vt100 sau doar să apăsați enter. Apăsarea butonului Enter înseamnă că ați selectat un terminal „prost”. Dar asta nu este o problemă pentru că o poți schimba mai târziu.

Pasul 6. (Date personale)

Ți se vor cere câteva lucruri precum numele tău complet, numărul de telefon, data nașterii, sexul, blablabla, ei bine, cred că este clar. Dacă doriți, puteți introduce, de exemplu, simbolul „.” pentru toate întrebările. și apăsați butonul enter. De asemenea, puteți introduce date false și sunt sigur
că 98% dintre utilizatorii nether.net fac asta. La sfârșitul tuturor întrebărilor, vi se va întreba dacă doriți să ascundeți aceste informații de alți utilizatori. Raspunde doar da sau nu, recomand sa raspunzi da.

Pasul 7. (Selectați Shell)

Acum vi se va afișa o listă de shell-uri disponibile, doar selectați una dintre ele, așa cum am spus mai sus - dacă sunteți începător, atunci selectați shell-ul bash.

Pasul 8. (Selectați Conectare)

Doar alegeți datele de conectare, lungimea maximă este de 8 caractere.

Pasul 9. (Selectarea parolei)

Selectați o parolă, aceasta va fi solicitată de două ori pentru a confirma că parola introdusă este corectă. Puteți schimba parola mai târziu folosind comanda passwd.

Pasul 10. (Confirmarea datelor specificate)

De data aceasta vei vedea ceva de genul:
nume complet: Nume complet
loginid: parola dvs. de conectare:<не показывается>
adresa: adresa dvs. pe care ați specificat-o
telefon: numărul de telefon pe care l-ați furnizat
alte adrese de e-mail: adresa dvs. de e-mail pe care ați specificat-o
ocupatie: ceea ce ai specificat
computere: ceea ce ați specificat
data nașterii: data specificată sex: genul specificat
interese: orice
cum (ai aflat despre noi): cum ai aflat despre ei
Comutator de confidențialitate activat/dezactivat
shell: contul dvs. shell terminal: tipul dvs. de terminal
șterge „^H” ucide „^U” întrerupe „^C”

Tastați „ajutor” pentru o listă de lucruri pe care le puteți modifica.

Selectați un lucru de schimbat sau „terminat”?

Acum, dacă sunteți de acord cu toate datele pe care le-ați introdus, apăsați butonul enter, sau dacă doriți să schimbați ceva, introduceți doar ceea ce doriți să schimbați.

Pasul 11. (manipulări finale)

Acum programul va verifica dacă o astfel de autentificare este deja înregistrată, ar trebui să vedeți o grămadă de numere care se schimbă, totul este în regulă - nu vă alarmați... Acum, dacă un utilizator cu o astfel de autentificare este deja înregistrat, atunci veți fi a cerut să alegeți altul, iar dacă nu, sistemul vă va cripta parola și va trebui să vă petreceți mai mult timp uitându-vă la numerele care se schimbă. După care...

Pasul 12. (Felicitări, acum aveți un cont shell)

Da, acum ai un cont shell, acum trebuie să te autentifici din nou, să introduci noul tău nume de utilizator, parola exactă, să apeși enter și să te distrezi. Amintiți-vă că puteți avea câte scoici doriți. Deci, dacă doriți, vă puteți conecta din nou ca utilizator nou, dar în loc să alegeți shell-ul bash, alegeți shell-ul Cshell sau altceva sau selectați din nou shell-ul bash dacă aveți nevoie de două.

Echipe

Desigur, nu voi descrie toate comenzile care există în sistemele *nix; dacă aș face acest lucru, acest fișier s-ar dovedi a fi cu adevărat uriaș. UE-
Dacă doriți să obțineți o mulțime de informații despre comenzi, atunci asigurați-vă că aruncați o privire la secțiunea Note finale. Mai jos sunt principalele comenzi și funcțiile acestora.

Sintaxă: comandă [opțiuni] -> descriere

man [comandă] -> afișează informații despre [comandă] pe care ați specificat-o.

cd [directory] -> la fel ca în DOS această comandă schimbă directorul curent cu care lucrați, dacă doriți să vă întoarceți la directorul dvs. de acasă, introduceți cd fără parametrul [directory].

ls [-al] -> ls face aceeași funcție ca dir în DOS, listează fiecare fișier dintr-un director, -al este o pereche de comutatoare pe care le puteți folosi. Folosirea acestei perechi de chei vă permite să afișați o listă a tuturor fișierelor din director, inclusiv a celor ascunse; vor fi afișate și permisiunile fișierelor, grupul și proprietarii acestora. Pentru a afla toate celelalte chei, introduceți man ls.

cat [fișier] -> similar cu comanda de tip în DOS, afișează conținutul [fișierului] specificat.

logout -> Te deconectează de la contul tău shell.

cine -> arată cine este în acest moment situat în sistem, afișează informații despre acești utilizatori. Există multe programe care te fac invizibil folosind comanda who, dar acesta este un subiect pentru un alt tutorial.

ps [-aux] -> ps arata totul rularea proceselor, aproape la fel ca ctrl+alt+del în Windows (nu repornire, ci o listă rulează programe), dar mai puternic, nu se știe cum să ruleze programul, astfel încât să nu fie afișat de comanda ps. Dacă rulați ps fără comutatoare, atunci veți vedea numai acele procese pe care le dețineți direct; dacă utilizați comutatorul -aux, vor fi afișate toate procesele care rulează pe mașină.

joe [fișier] -> joe este editor de text, editează sau creează [fișierul] specificat. Uneori, gazdele furnizorilor de shell gratuit nu au joe, dar ar trebui să existe un alt editor, de exemplu vi.

Aceste comenzi ar trebui să fie suficiente pentru a începe. De asemenea, utilizați comanda man pentru a deveni mare și descrieri detaliate echipele pe care le-am revizuit.
Surfing fericit!

Concluzii finale

Acum tot ce ai nevoie este să exersezi mai mult și să iei niște cărți bune care descriu comenzile. Una dintre cele mai bune cărți *nix este aceasta:

UNIX PE SCURT. Îl puteți găsi în secțiunea de cărți a paginii web BSRF (http://blacksun.box.sk/). Mi se pare că asta cea mai buna carte pe tema noastră și, deoarece este absolut gratuit, vă recomand cu tărie să-l obțineți. Un alt lucru bun este omul. De exemplu, dacă doriți să obțineți câteva informații despre telnet și despre cum să îl utilizați, trebuie doar să tastați:

Și veți primi o pagină de prompt telnet. Dacă utilizați un shell pe serverul freeshell (freeshell.org), puteți utiliza și comanda help fără opțiuni. Aceasta va afișa un meniu cu opțiuni pe care le puteți selecta. Și rețineți că *nix este sensibil la majuscule și minuscule, deci Man, man și MaN sau .profile și .Profile nu sunt același lucru.

Aplicații

A) Pot rula roboții IRC pe un cont shell gratuit?
Nu!! Cu excepția cazului în care urmează să stai pe cap 24 de ore pe zi. Furnizorii gratuiti de shell distrug toate procesele pe care le rulați imediat ce vă deconectați de la sistem.

B) Există alte locuri unde pot obține un cont shell?
Cu siguranță! Incearca-l

Shellcode este o parte a codului încorporat malwareși permițând, după infectarea sistemului țintă al victimei, obținerea codului shell de comandă, de exemplu /bin/bash în sisteme de operare asemănătoare UNIX, command.com în MS-DOS cu ecran negru și cmd.exe în sistemele de operare moderne Microsoft Windows. Foarte des shellcode este folosit ca sarcină utilă de exploatare.

Shellcode

De ce este necesar acest lucru?

După cum înțelegeți, nu este suficient să infectați un sistem, să exploateți o vulnerabilitate sau să dezactivați un serviciu de sistem. Toate aceste acțiuni în multe cazuri au ca scop obținerea accesului de administrator la mașina infectată.

Deci, malware-ul este doar o modalitate de a intra pe o mașină și de a obține shell, adică control. Și aceasta este o cale directă către scurgerea de informații confidențiale, crearea de rețele botnet care transformă sistemul țintă în zombi sau pur și simplu îndeplinirea altor funcții distructive pe o mașină piratată.

Shellcode este de obicei injectat în memoria programului gazdă, după care controlul este transferat acestuia prin exploatarea erorilor, cum ar fi depășirile de stivă sau depășirile de buffer bazate pe heap, sau prin utilizarea atacurilor de șir de format.

Controlul este transferat către codul shell prin suprascrierea adresei de retur de pe stivă cu adresa codului shell încorporat, suprascrierea adreselor funcțiilor apelate sau schimbarea gestionarilor de întrerupere. Rezultatul tuturor acestor lucruri va fi executarea codului shell care se deschide Linie de comanda pentru utilizare de către un atacator.

Când se exploatează o vulnerabilitate de la distanță (adică un exploit), codul shell poate deschide un port TCP predeterminat pe computerul vulnerabil pentru mai multe acces de la distanță la shell-ul de comandă. Acest cod se numește shellcode de legare la port.

Dacă codul shell este conectat la portul computerului atacatorului (în scopul ocolirii sau scurgerii prin NAT), atunci un astfel de cod se numește cod shell invers.

Modalități de a rula shellcode în memorie

Există două moduri de a rula shellcode în memorie pentru execuție:

  • Metoda codului independent de poziție (PIC) este un cod care utilizează o legare rigidă a codului binar (adică, codul care va fi executat în memorie) la o anumită adresă sau date. Codul shell este în esență un PIC. De ce este atât de importantă legarea strânsă? Shell nu poate ști unde exact memorie cu acces aleator va fi localizat deoarece în timpul execuției versiuni diferite a unui program compromis sau malware, ei pot încărca shellcode-ul în diferite celule de memorie.
  • Metoda de identificare a locației de execuție necesită ca codul shell să dereferențieze pointerul de bază atunci când accesează date într-o structură de memorie independentă de poziție. Adăugarea (ADD) sau scăderea (Reducere) a valorilor din indicatorul de bază vă permite să accesați în siguranță datele incluse în shellcode.

De obicei, un shell este un script pe care hackerii îl încarcă pe server și, cu ajutorul acestuia, gestionează în continuare serverul. Căutând într-un motor de căutare puteți găsi multe shell-uri și popularitatea lor crește inevitabil. Din ce în ce mai mulți hackeri începători încearcă să-l încarce undeva. Pentru a-mi confirma cuvintele, voi da o captură de ecran de la prima pe care am întâlnit-o. rezultatele cautarii site-ul.

După cum se poate observa din statisticile descărcărilor unui fișier pe un site, mulți oameni au dorința de a comite rău.

Mai am la dispoziție un shell, pe care l-am păstrat ca trofeu după ce am eliminat consecințele unui hack pe unul dintre serverele clientului. Acum îl voi încărca într-unul dintre folderele de pe server localȘi folosind un site demo ca exemplu, îi voi arăta capacitățile.

Pentru a mări o imagine, faceți clic pe ea.

După autorizarea în shell, mergem direct la interfața acestuia. Iată tot ce ar putea avea nevoie un atacator pentru a controla serverul. Inițial, se deschide o pagină cu fișiere în care este încărcat shell-ul. Cu ajutor manager de fișiere puteți descărca, modifica sau șterge orice fișier din orice folder de server la care veți avea acces.

Pe una dintre file există posibilitatea de a gestiona baze de date. Vizibil în captură de ecran Cont administratorul site-ului. Aceasta înseamnă că puteți accesa panoul de administrare al site-ului în sine.

Există o funcție de căutare prin parolă pentru hacking ftp. Se poate observa că puteți selecta o parolă nu numai pentru acest server, ci și pentru oricare altul.

Am arătat principalele funcții care sunt necesare pentru gestionarea serverului. Shell-urile pot fi diferite și nu este necesar să arate exact așa, dar funcționalitatea de bază este neschimbată. Extras din capacitățile unui shell:

  • Vizualizați, vizualizați hex, editați, descărcați, încărcați fișiere
  • Manager de fișiere (Copiați, redenumiți, mutați, ștergeți, modificați, creați fișiere și foldere)
  • Manager SQL (MySql, PostgreSql)
  • Executarea codului PHP
  • Căutați fișiere, căutați text în fișiere
  • Anti-motor de căutare (verificat de UserAgent, dacă un robot de căutare, este returnată o eroare 404) // shell-urile se pot deghiza

Acest articol își propune să răspundă la întrebare Ce este coaja, care apare atât de des printre proprietarii de site-uri web. Acum știi cum arată și capacitățile sale.

Pentru a repeta totul pe scurt, un shell este un script care poate gestiona fișiere și baze de date pe un server și nici măcar nu vei fi conștient de existența lui.

Acest ghid explică ce este un cont shell, cum să obțineți unul,
și câteva comenzi de bază. Dacă crezi că vei găsi aici o descriere a shell-ului sau trucuri cu exploit, atunci te înșeli. Așteptați pe alții
manuale Prima parte este doar o grămadă de întrebări cu răspunsuri. După ce voi da o scurtă prezentare generală a subiectului, vă voi spune
tu unde poți accesa gratuit
coajă. Deci ce suntem
așteptăm?

Întrebările pe care le pun toată lumea

Î: Ce este un cont shell?

R: Bine... Cred că nu este nevoie să explic ce este
cont, deci hai
Este mai bine să vorbim despre coajă (cochilie). Probabil că utilizați Windows, așa că shell-ul dvs. este command.com și Graphics Environment. Mai precis
va spune asta: shell-ul este o subrutină care traduce și trimite
comenzile dvs. către nucleul sistemului. Toate acestea sunt necesare deoarece nucleul nu înțelege comenzile pe care le dați. De exemplu, când tastați „cd ..”, această comandă va fi tradusă de shell într-un limbaj de nivel scăzut și transmisă nucleului (altfel, trebuie să fiți cel puțin nebun pentru a vă controla procesorul).
Vă puteți imagina cât de dureros ar fi să utilizați
computer fără carcasă? Pentru a face ceva ar trebui
utilizați un limbaj de nivel scăzut, cum ar fi asamblarea sau mai rău
(cod binar). Pentru a executa comanda „cd..” ar trebui să scrieți:
push mem put mem blabla mem sau o listă uriașă ca 00101010. Chiar ești
Crezi că oamenii ar fi de acord să lucreze așa? Eu nu cred acest lucru. Bine..bine.. Sunt foarte mulți oameni care programează în limbaj de asamblare, dar vorbesc de oameni obișnuiți.

Î: Deci spui că coaja este doar un „lucru” care se traduce
comenzile pe care le introduc în cod pe care procesorul le poate înțelege, similar cu ceea ce face command.com. Dar de ce ar trebui să mă conectez apoi la telecomandă
command.com dacă îl am pe mașina mea.

R: Oamenii care creează singuri conturi shell nu se conectează la mașini Windows, A
pentru a *nix mașini. Dacă nu aveți Linux sau orice alt sistem *nix pe computerul dvs. de acasă, atunci puteți obține un cont shell și puteți începe să jucați cu Linux
ca și cum ar fi pe mașina ta.

Î: Prietenul meu, un guru *nix, mi-a spus că multe dintre aceste scoici sunt de rahat,
deoarece au capacități limitate. Ce înseamnă acest lucru?

R: Există două tipuri de cochilii - limitate și nerestricționate. Diferențele
între ele - de obicei nu trebuie să plătiți pentru shell-uri limitate, acestea sunt distribuite gratuit, dar în astfel de shell-uri nu puteți completa fiecare
comanda (de exemplu, acestea vă pot împiedica să utilizați nslookup și telnet
programe). Situația este complet diferită cu obuze nelimitate,
puteți rula orice comandă doriți, dar acest tip de shell nu este gratuit (uneori sunt oferite shell-uri nelimitate studenților). Dar chiar dacă ai doar o carcasă limitată, nu merită
fii suparat - unele dintre ele sunt de fapt bune.

Î: Deci, vrei să spui că pot obține carcasa fără să plătesc nimic pentru ea?

A: Da, poți. Cred că cel mai bun loc pentru a-l obține este
nether.net (o altă gazdă care distribuie shell-uri gratuite este
freeshell.org), voi vorbi despre acest proces mai târziu. Uneori, ISP-urile oferă și conturi shell utilizatorilor lor, așa că este posibil să aveți deja acces la un shell, trebuie doar să
tu nu știi asta. Apelați la asistența tehnică a ISP-ului dvs. și întrebați despre asta.

Î: Mi-am sunat ISP-ul cerând un cont shell și ei
M-au întrebat de ce am nevoie. Ce ar trebui să răspund?

R: Spuneți doar că vă place să navigați pe internet folosind Lynx și
că vrei să înveți Unix. Acest lucru ar trebui să funcționeze. Dar dacă te trimit,
apoi du-te și ia un shell gratuit.

Î: Hei, am o coajă, dar de unde știu dacă este bună sau nu?

R: Cred că nu poate exista un răspuns cert la această întrebare, totul
depinde de persoana care a cerut-o. Pentru mine personal, o coajă bună este una în care pot face totul
articolele enumerate mai jos.
-> Telnet (emulator de terminal)
-> Nslookup (Îți oferă informații despre gazdă)
-> FTP (File Transfer Protocol, nu sunt necesare comentarii, nu?)
-> Deget (oferă informații despre un anumit utilizator)
-> Traceroute (la fel ca tracerT.exe pe Windows, dar mult mai bine)
-> Sapă (probabil că multe shell-uri nu îți permit să folosești asta, dar
Nu vă faceți griji)
-> Netstat (ca și în Windows, o listă cu toate socketurile și starea acestora)
-> GCC (compilator c, cool pentru a vă crea propriile programe)
-> Gzip (utilitate pentru descărcarea/împachetarea fișierelor)
-> Lynx (cel mai bun browser din lume)

Acest lucru nu înseamnă că un shell cu astfel de capacități este pentru tine
Va fi bine. Poate o coajă bună pentru tine va fi cea care
vă va permite doar să utilizați telnet, așa cum am spus mai devreme - este dificil să dați un răspuns cert la această întrebare.
Dar dacă contul dvs. shell nu vă permite să utilizați telnet, FTP și
GCC, atunci trebuie să obțineți un alt cont shell.

Ei bine, cred că deja ești destul de enervat după ce ai citit o grămadă de întrebări stupide
și răspunsuri și mai stupide așa că lasă-mă să trec la următorul
secțiune. Să vorbim puțin despre tipurile de conturi shell.

O prezentare rapidă a tipurilor de conturi Shell

Iată care sunt posibilele tipuri de conturi shell, dintre care unul îl numim
scoici de casă, altele cu scoici „standard”. Hai să vorbim
despre cochilii „standard”.

Doar pentru dezvoltare generală

shell-urile de acasă sunt shell-uri create de un operator de sistem care deține
sistem și pur și simplu lucrează la sistemul lui.
După cum am spus mai sus, există multe scoici. Aveți:
-> coajă: Bourne Shell
-> Bash: Bourne Again Shell
-> Shell: C Shell
-> Tcsh: Shell tehnic C
-> Ksh: Kourne Shell
Și multe altele. (Le-am enumerat doar pentru că sunt singurii dvs
îl poți obține pe nether.net). Fiecare coajă are avantaje și dezavantaje. De exemplu, Cshell permite
introdu comenzi C ca și cum ar fi comenzi obișnuite, adică
dacă introduceți printf Hello, atunci rezultatul acestei comenzi va fi același cu
comenzi echo în alte shell-uri (pentru cei care nu sunt familiarizați cu limbajul C, permiteți-mi să explic
printf afișează textul după această comandă pe ecran).
Nu pot descrie avantajele și dezavantajele fiecărei cochilii, va trebui să aflați singuri. Doar obțineți unul dintre acestea de la gazdele care oferă
acces gratuit la shell și începe să înveți. Pot doar să recomand Bash - este cel mai bun shell pentru începători, dar dacă...
Dacă doriți să obțineți un shell mai puternic, veți avea acces la shell-ul C.
Începeți cu bash, învățați sistemul, aflați cum să scrieți scripturi bash și apoi
începe să folosești alte scoici. Vorbește cu prietenii tăi
întrebați ce cochilii folosesc și de ce le plac. Ei bine, înțelegem
idee?;) Dacă aveți deja o coajă, dar nu știți ce fel de coajă este, atunci
trebuie doar să tastați echo $shell și probabil va afișa tipul pe care îl utilizați
scoici. Deoarece aceasta este o scurtă prezentare generală, voi încheia această discuție aici.
subiect. Acest lucru ar trebui să vă ajute să obțineți un cont shell foarte cool.

Obținerea unui cont Shell pe Nether.net

Deci, ești gata să obții primul tău cont shell? Ei bine, bineînțeles că suntem pregătiți. Atunci singurul lucru care nu-mi place la nether.net este timpul offline
există un server uneori indisponibil. Dacă vă puteți conecta, atunci nu trebuie să vă mai faceți griji, doar că uneori se blochează prea mult pe nether.net
sunt mulți oameni - devine aglomerat și iese offline. Așteptați puțin și conectați-vă din nou.

Pasul 1. (Pregătește-ți programul terminal)

Deschideți programul telnet, îl puteți găsi în director
Windows sub numele telnet.exe

Pasul 2. (Conexiune)

Acum, probabil că ați lansat deja clientul Telnet, dacă da, atunci
selectați meniul Connect, apoi Remote System acolo. Va apărea altul
o fereastră care vă solicită numele gazdei, portul și tipul terminalului. Intră în acestea
câmpuri următoarele informații:

Nume gazdă: nether.net
Port: Telnet (sau 23 este același)
Tip terminal: vt100 (această valoare trebuie setată de
Mod implicit)

Așteaptă puțin și...

Pasul 3. (Conectare)

Acum veți vedea bannerul nether.net. El raportează:

Kernel SunOS 5.6 Generic_105181-17 pe un sun4d
Bun venit pe nether.net

Nou în sistem? Conectați-vă ca utilizator nou

Acum, așa cum au spus ei, introduceți utilizator nou ca autentificare. Program,
numit newuser va porni și vă va ajuta să creați
cont.

Pasul 4: (Modificarea atribuirii tastelor)

După toate aceste prostii, noul utilizator vă va solicita să schimbați tastele funcționale pentru a se potrivi nevoilor dvs. Vi se va solicita tasta de ștergere (^H)
și tasta de pauză (^C). Între paranteze sunt cheile setate conform
implicit, dar dacă doriți, le puteți schimba cu oricare altele. ^H este tasta de ștergere (cea cu simbolul<-), и ^C - это комбинация
tastele ctrl+c. Atenție, nu scrie ^H sau ^C, doar apăsați tastele corespunzătoare și aceste caractere vor apărea pe ecran.

Pasul 5. (Selectarea tipului terminalului)

După ce modificați alocarea tastelor funcționale, vi se va cere
introduceți tipul dvs. de terminal, puteți alege? iar programul va afișa totul
tipurile de terminale disponibile, dar trebuie să selectați vt100 sau să faceți clic
butonul enter. Apăsarea butonului Enter înseamnă că ați selectat un terminal „prost”. Dar asta nu este o problemă pentru că o poți schimba mai târziu.

Pasul 6. (Date personale)

Vi se vor cere câteva lucruri precum numele dvs. complet, numărul
numărul de telefon, data nașterii, sexul, blablabla, ei bine, cred că este clar. daca tu
Dacă doriți, puteți introduce, de exemplu, simbolul „.” pentru toate întrebările. și apăsați
pe butonul enter. De asemenea, puteți introduce date false și sunt sigur
că 98% dintre utilizatorii nether.net fac asta. La sfârșitul tuturor întrebărilor tu
vă va întreba dacă doriți să ascundeți aceste informații de alți utilizatori. Raspunde doar da sau nu, recomand sa raspunzi da.

Pasul 7. (Selectați Shell)

Acum vi se va afișa o listă de skin-uri disponibile, trebuie doar să selectați una dintre ele,
După cum am spus mai sus - dacă sunteți începător, atunci alegeți shell-ul bash.

Pasul 8. (Selectați Conectare)

Doar alegeți datele de conectare, lungimea maximă este de 8 caractere.

Pasul 9. (Selectarea parolei)

Selectați o parolă, aceasta va fi solicitată de două ori pentru confirmare
parola introdusă este corectă. Mai tarziu te poti schimba
parola folosind comanda passwd.

Pasul 10. (Confirmarea datelor specificate)

De data aceasta vei vedea ceva de genul:
nume complet: Nume complet
loginid: parola dvs. de conectare:<не показывается>
adresa: adresa dvs. pe care ați specificat-o
telefon: numărul de telefon pe care l-ați furnizat
alte adrese de e-mail: adresa dvs. de e-mail pe care ați specificat-o
ocupatie: ceea ce ai specificat
computere: ceea ce ați specificat
data nașterii: data specificată sex: genul specificat
interese: orice
cum (ai aflat despre noi): cum ai aflat despre ei
Comutator de confidențialitate activat/dezactivat
shell: contul dvs. shell terminal: tipul dvs. de terminal
șterge „^H” ucide „^U” întrerupe „^C”

Tastați „ajutor” pentru o listă de lucruri pe care le puteți modifica.

Selectați un lucru de schimbat sau „terminat”?

Acum, dacă sunteți de acord cu toate datele introduse, faceți clic pe butonul
introduceți sau dacă doriți să schimbați ceva, introduceți ceea ce doriți
Schimbare.

Pasul 11. (manipulări finale)

Acum programul va verifica dacă o astfel de autentificare este deja înregistrată, ar trebui
veți vedea o grămadă de numere în schimbare, totul este în regulă - nu vă alarmați... Acum, dacă un utilizator cu această autentificare este deja înregistrat, atunci vi se va oferi
alege altul, iar dacă nu, sistemul îți va cripta parola și tu va trebui
petreceți mai mult timp uitându-vă la numerele în schimbare. După care...

Pasul 12. (Felicitări, acum aveți un cont shell)

Da, acum aveți un cont shell, acum trebuie să vă conectați din nou,
introduceți noua dvs. autentificare, parola exactă, apăsați enter și gata
timp. Amintiți-vă că puteți avea câte scoici doriți. Astfel, dacă
doriți, vă puteți reînregistra în sistem ca nou
utilizator, doar în loc să alegeți shell-ul bash, alegeți shell-ul Cshell sau altceva,
sau alegeți din nou bash shell dacă aveți nevoie de două...

Echipe

Desigur, nu voi descrie toate comenzile care există în sistemele *nix,
dacă aș face asta, acest fișier s-ar dovedi foarte mare. UE-
dacă doriți să obțineți o mulțime de informații despre comenzi, atunci doar
Nu uitați să vă uitați la secțiunea Note finale.
Mai jos sunt principalele comenzi și funcțiile acestora.

Sintaxă: comandă [opțiuni] -> descriere

man [comandă] -> afișează informații despre [comandă] pe care ați specificat-o.

cd [directory] -> la fel ca în DOS această comandă schimbă directorul curent cu care lucrați, dacă doriți să vă întoarceți la directorul dvs. de acasă, introduceți cd fără parametrul [directory].

ls [-al] -> ls face aceeași funcție ca dir în DOS, listează fiecare fișier dintr-un director, -al este o pereche de comutatoare pe care le puteți
utilizare. Utilizarea acestei perechi de taste vă permite să afișați o listă
dintre toate fișierele din director, inclusiv cele ascunse, se vor afișa și drepturile
acces la fișiere, grup și proprietarii acestora. Pentru a afla toate celelalte chei
tip man ls.

cat [fișier] -> similar cu comanda tip din DOS, afișează conținutul
[fișierul] specificat.

logout -> Te deconectează de la contul tău shell.

cine -> arată cine este conectat în prezent în sistem, afișează informații despre acești utilizatori. Există multe programe care o fac
te fac invizibil cu comanda who, dar acesta este un subiect pentru alt tutorial.

ps [-aux] -> ps arată toate procesele care rulează, aproape la fel ca
ctrl+alt+del în Windows (nu o repornire, ci o listă de programe care rulează),
dar mai puternic, nu se știe cum poți rula programul astfel încât să-l faci
nu a fost afișat de comanda ps. Dacă rulezi ps fără chei, atunci tu
Veți vedea numai procesele pe care le dețineți direct dacă
utilizați comutatorul -aux, apoi vor fi afișate toate procesele care rulează
Cu mașina.

joe [fișier] -> joe este un editor de text, editează sau creează
specificat [fișier]. Uneori nu există niciun joe pe gazdele furnizorilor de shell gratuite,
dar trebuie să existe un alt editor, de exemplu vi.

Aceste comenzi ar trebui să fie suficiente pentru a începe. Utilizați și comanda man
pentru descrieri mai mari și mai detaliate ale comenzilor pe care le-am acoperit.
Surfing fericit!

Concluzii finale

Acum tot ce ai nevoie este să exersezi mai mult și să fii bun
cărți care conțin descrieri ale comenzilor. Una dintre cele mai bune cărți *nix este aceasta:

UNIX PE SCURT. Îl puteți găsi în secțiunea cărți a paginii web BSRF
(http://blacksun.box.sk). Cred că aceasta este cea mai bună carte despre
subiectul nostru și, deoarece este absolut gratuit, vă recomand cu tărie să îl obțineți.
Un alt lucru bun este omul. De exemplu, dacă doriți să obțineți ceva
Pentru informații despre telnet și despre cum să îl utilizați, introduceți pur și simplu:

Și veți primi o pagină de prompt telnet. Dacă utilizați un shell
pe serverul freeshell (freeshell.org) puteți folosi și comanda
ajutor fără opțiuni. Aceasta va afișa un meniu cu opțiunile pe care le puteți
alege. Și rețineți că *nix este sensibil la majuscule și minuscule, deci Man, man și
Man sau .profil și .Profil nu sunt același lucru.

Aplicații

A) Pot rula roboții IRC pe un cont shell gratuit?
Nu!! Cu excepția cazului în care urmează să stai pe cap 24 de ore pe zi. Furnizorii gratuiti de shell distrug toate procesele pe care le rulați, imediat
de îndată ce vă deconectați de la sistem.

B) Există alte locuri unde pot obține un cont shell?
Cu siguranță! Incearca-l

De obicei, un shell este un script pe care hackerii îl încarcă pe server și, cu ajutorul acestuia, gestionează în continuare serverul. Căutând într-un motor de căutare puteți găsi multe shell-uri și popularitatea lor crește inevitabil. Din ce în ce mai mulți hackeri începători încearcă să-l încarce undeva. Iată o fotografie cu cel mai favorit shell al hackerilor WSO 2.4:

Shell-ul este autorizat și nu este vizibil pentru motoarele de căutare. După autorizarea în shell, mergem direct la interfața acestuia. Iată tot ce ar putea avea nevoie un hacker pentru a controla un server. Inițial, se deschide o pagină cu fișiere (fila Fișiere) în care este încărcat shell-ul.

Prima filă Informații de securitate:

Totul este aici informatie necesara despre server și protecția acestuia. Tip afișat Server software: Apache/2.2.25 (FreeBSD), module server instalate Module Apache încărcate:core, prefork, http_core, mod_so..., funcții dezactivate ale modulelor PHP - Funcții PHP dezactivate. Merită menționat câteva lucruri aici funcții importante: shell_exec,exec,system,passthru. Aceste funcții execută comenzi pe server din sistemul de operare; sunt dezactivate pe majoritatea site-urilor de găzduire. Afișează suportul cURL - suport cURL: activat, Tipuri de baze de date acceptate - Baze de date acceptate: MySql (5.5.33), MSSQL, PostgreSQL.

De asemenea, dacă fișierul utilizator al serverului este disponibil pentru citire (Readable /etc/passwd: yes), puteți vizualiza utilizatorii pentru o selecție ulterioară a parolei. Și este afișat fișierul server hosts (Hosts).

A doua filă Fișiere:

Prima fotografie.

Folosind managerul de fișiere, puteți descărca, modifica sau șterge orice fișier din orice folder de server care va fi accesibil.

A treia filă Sape:

Ei bine, nu vă voi spune nimic despre această filă secretă...

A patra filă Consolă:

Aici sunt executate funcțiile malefice shell_exec, exec, system, passthru, care interacționează cu sistemul de operare; există un set de șabloane de solicitare gata făcute pentru sistem de operare: navigare în foldere, căutare fișiere de sistem, vizualizarea porturilor deschise etc.

Funcția în sine:

Funcția wsoEx($in) ( $out = ""; if (function_exists("exec")) ( @exec($in,$out); $out = @join("\n",$out); ) elseif (function_exists(„passthru”)) ( ob_start(); @passthru($in); $out = ob_get_clean(); ) elseif (function_exists(„sistem”)) ( ob_start(); @system($in); $ out = ob_get_clean(); ) elseif (function_exists("shell_exec")) ( $out = shell_exec($in); ) elseif (is_resource($f = @popen($in,"r"))) ( $out = ""; while(!@feof($f)) $out .= fread($f,1024); pclose($f); ) return $out; )

A cincea filă SQL:

Acesta este un manager SQL cu drepturi depline, cu ajutorul acestuia vă puteți conecta la o bază de date pe orice server, având toate datele pentru conectare, există funcții pentru vizualizarea bazei de date, tabele, structuri, execuție cereri arbitrare, dump baze de date și tabele.

A șasea filă PHP:

Aici puteți executa cod în PHP și puteți vedea rezultatele execuției...

A șaptea filă Safe Mode:

Această filă este folosită când modul sigur este activat, există funcții pentru răsfoirea dosarelor, copierea fișierelor și citirea fișierelor prin cURL....

Fila Instrumente al optulea șir:

Această filă este responsabilă pentru lucrul cu șiruri și căutarea acestora în fișiere. Există un codificator-decodor de text universal și un motor de căutare text cu diferite condiții de căutare. De asemenea, puteți căuta fișiere în foldere după nume.

Acțiune