Month: July 2018

Linux: Conectarea fișierelor (#19)

Bine ați revenit, dragii mei green horn hackers!



După cum probabil ați descoperit până acum, sistemul de fișiere din Linux este structurat diferit de Windows. Nu există unități fizice – doar un arbore logic de fișiere cu rădăcină în partea de sus (da, știu, rădăcinile ar trebui să fie în partea de jos, dar acesta este un copac cu capul în jos).

În plus, numele de fișiere sunt adesea foarte lungi și complexe, cu o mulțime de liniuțe (-), puncte (.) și numere în numele lor. Acest lucru poate face dificilă tastarea acestora pentru cei care au abilități limitate de tastare.

Uneori vrem să simplificăm numele unui fișier sau dorim să conectăm un fișier dintr-un director cu altul dintr-un director separat. Linux are cel puțin două moduri de a face aceste link-uri simbolice . Pentru a înțelege cum funcționează aceste două sisteme și modul în care acestea sunt diferite, trebuie să ne gândim la baza structurii interne a sistemului de fișiere Linux.Continue reading

Linux: Planificarea sarcinilor (#18)

Bine ați revenit, dragii mei green horn hackers!

Într-un ghid foarte recent, am învățat cum să scanăm serverele vulnerabile. Într-un astfel de caz, este posibil să dorim efectuarea unor sarcini ce consumă foarte mult timp; poate în mijlocul nopții sau în timp ce suntem la serviciu sau la școală. Astfel, când ne trezim dimineața, suntem întâmpinați de o listă lungă de servere vulnerabile ce pot fi țintele eforturilor noastre mai târziu.


Din fericire pentru noi, Linux are o funcție încorporată ce ne permite să programăm astfel de sarcini într-un program regulat. În Linux, acest lucru se numește cron sau crond pentru daemonul ce rulează aceste servicii (un daemon sau demon este pur și simplu un proces care rulează în fundal).

Continue reading

Linux: Clientul DNS (#17)

Bine ați revenit, dragii mei green horn hackers!

Domain Name System (DNS) este unul dintre acele lucruri la care rareori ne gândim, de obicei doar atunci când nu funcționează. Poate fi foarte frustrant atunci când încercăm să navigăm la un site web și primim mesajul de eroare respectiv.

DNS ne permite să tastăm un nume de domeniu în browserul nostru, cum ar fi Blackweb.ro, ci nu o adresă IP numerică a site-ului pe care încercăm să-l accesăm. În forma sa cea mai simplă, DNS traduce pur și simplu nume de domenii în adrese IP, făcând viețile noastre mult mai simple.Vă puteți imagina cum ar fi să vă amintiți toate adresele IP ale sutelor de site-uri pe care le vizitați?

Pentru cei mai mulți dintre noi care lucrăm în Linux, avem două preocupări, când vine vorba de DNS. În primul rând, în calitate de client, trebuie să accesăm serviciile DNS pentru a traduce numele domeniilor noastre în adrese IP. În al doilea rând, ca server avem nevoie să furnizăm servicii DNS. Aici, mă voi limita la gestionarea DNS-ului din perspectiva clientului și voi lăsa furnizarea de servicii DNS pentru un alt tutorial.



Este important să ne reamintim că în Linux, aproape totul este un fișier, iar configurația se face de obicei prin editarea unui fișier text simplu. Această regulă se aplică și când vine vorba de DNS.Continue reading

Linux: Stdin, Stdout & Stderror (#16)

Bine ați revenit, dragii mei green horn hackers!

În tutorialele anterioare dedicate Linuxului am analizat câteva dintre comenzile și conceptele de bază pentru utilizarea Linux-ului. De-a lungul drumului, mi-am dat seama că nu am reușit să vă ofer un material de bază despre stdin, stdout și stderror.



Cu alte cuvinte, acestea sunt adesea denumite intrări standard (stdin), ieșiri standard (stdout) și eroare standard (stderror).

Acestea reprezintă cum și unde trimite Linux  ieșirea din comenzile noastre (stdout), unde primește intrarea (stdin) și unde trimite mesaje de eroare (stderror).

Din moment ce ați folositt Linux pentru o perioadă de timp, vă dați seama că atât ieșirea standard cât și eroarea standard sunt trimise pe ecranul computerului.

Așa cum sugerează și numele, acesta este locul standard și nu este neapărat singurul loc. Linux ne permite să definim unde ar trebui să meargă mesajele de ieșire și de eroare.

Înainte de a merge mai departe, haideți să aruncăm privirea pe niște termeni.Continue reading

Linux: Crearea unui tunel securizat pentru MySQL (#15)

Bine ați revenit, dragii mei greenhorn hackers!



Cu siguranță ați observat efortul meu continuu de a vă ajuta să dobândiți abilități de bază în Linux, cu privire la hacking. De aceea, în acest tutorial vreau să vă arăt cum să construiți un ,,tunel” securizat în MySQL.

Bineînțeles, tehnicile pe care le folosesc aici ar putea fi folosite și pentru alte aplicații, dar din moment ce MySQL este o aplicație critică pentru cele mai multe distribuții Linux și din moment ce sesiunile necriptate de pe serverul ce conține baze de date MySQL, poate fi ușor de infectat, iar informațiile confidențiale expuse, vom folosi un astfel de server ca exemplu.

Acest lucru nu înseamnă că un tunel criptat este sigur și nu poate fi spart. Ca orice altceva, poate fi spart, dar îl face de multe ori mai dificil. Dacă lăsăm datele necriptate, orice copil cu un sniffer poate arunca o privire în baza noastră de date.

Vom folosi SSH sau Secure Shell pentru a cripta traficul. Fiecare distribuție Linux are un server SSH și un client încorporat, spre deosebire de Windows, unde va trebui să descărcați un client SSH, cum ar fi PuTTY. Kali are OpenSSH, deci nu trebuie să descărcați și să instalați nimic pentru a construi o conexiune sigură între clientul nostru și server.Continue reading

Linux: MySQL (#14)

Bine ați revenit, dragii mei green horn hackers!



Acest tutorial se va concentra pe bazele de date MySQL. Deși acest lucru nu este strict un tutorial Linux, MySQL este baza de date preferată pentru majoritatea distribuțiilor Linux. În plus, este cea mai utilizată bază de date din spatele aplicațiilor web.

Este esențial să înțelegem bazele MySQL înainte să trecem la spargerea bazelor de date MySQL și a aplicațiilor web ce utilizează MySQL (ce sunt literalmente mii). MySQL este o bază de date open source. Acesta este probabil motivul principal pentru care vom întâlni MySQL pe aproape orice distribuție Linux. După cum știți, Linux este deasemenea open-source și cu licență GPL.

Dezvoltată inițial de MySQL AB din Suedia în 1995, a fost achiziționată de Sun Microsystems în 2008, iar Sun Microsystems a fost apoi cumpărat de Oracle în 2009.

Deoarece Oracle este cel mai mare editor de software pentru baze de date, comunitatea open source are o anumită teamă, cu privire la angajamentul Oracle de a păstra MySQL open source. Ca urmare, există acum o nouă ,,furcă”a software-ului MySQL, numită Maria, care s-a angajat să păstreze acest soft, cât și versiunile sale ulterioare open source. Deoarece este gratuit, MySQL a devenit baza de date preferată pentru multe aplicații web. Câteva site-uri și aplicații ce o utilizează:Continue reading

Linux: Montarea unităților și a dispozitivelor (#13)

Bine ați revenit, dragii mei greenhorn hackers!



Unul dintre acele domenii ale Linuxului ce utilizatorii Windows le întâmpină cu o oarecare dificultate sunt reprezentate de conceptul de ,,montare” a dispozitivelor și a unităților. În Windows, aceste dispozitive sunt ,,montate” automat fără efort și cunoștințe. Ei bine, poate un pic de cunoștințe. Majoritatea utilizatorilor Windows știu să demonteze unitatea flash înainte de a o elimina, dar de obicei se gândesc la asta ca la ,,ejectarea” ei. Comanda mount se regăsește încă din zilele preistorice ale calculatoarelor (anii 1970) când operatorii de calculatoare au montat fizic unități de bandă unui calculator de dimensiuni gigantice. Aceste unități de bandă erau mediul de stocare ales (deoarece hard-discurile nu au fost încă inventate) și operatorul a trebuit să spună mașinii că au montat banda înainte ca aceasta să poată fi citită.



În general, Windows montează automat dispozitivele cu ajutorul serviciului PnP, astfel încât utilizatorii nu trebuie să se gândească la montare. Fiecărei unități îi este atribuită după aceea un punct de montare, identificat printr-o literă, cum ar fi C :, D :, E :, etc.Continue reading