This shows you the differences between two versions of the page.
rl:labs:10:contents:04 [2019/01/12 09:46] flavia.oprea [04. [15p] Descărcare recursivă de resurse web] |
rl:labs:10:contents:04 [2024/12/04 13:25] (current) laura.ruse [04. [15p] Descoperirea porturilor TCP deschise] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 04. [15p] Descărcare recursivă de resurse web ==== | + | ==== 04. [15p] Descoperirea porturilor TCP deschise ==== |
- | La adresa ''%%http://red/folder%%'' se află o structură de directoare și fișiere. Pe stația ''host'', descărcați întreaga structura folosind o singură comandă ''wget'' cu parametrul corespunzător. | + | Mai departe, ne propunem să aflăm ce porturi sunt deschise pe anumite servere pentru a identifica serviciile care rulează și versiunile acestora ce pot avea vulnerabilități. |
- | <note tip> | + | În cadrul acestui exercițiu (precum și a exercițiilor urmatoare), vom folosi următoarele host-uri: |
- | Pentru a identifica opțiunea corespunzătoare, căutați în pagina de manual a ''wget'' după șirul ''recursive''. | + | * ''hermes.codacloud.net'' |
- | </note> | + | * ''hefaistos.codacloud.net'' |
- | Instalați utilitarul ''tree'' și folosiți-l petru a lista conținutul directorului descărcat. Observați prezența mai multor fișiere cu nume de forma ''index.html?C=S;O=D''. Aceste fișiere sunt fișiere de tip directory listing generate de serverul web și nu avem nevoie de ele. Ștergeți structura de directoare pe care tocmai ați descărcat-o pe stația ''host'' și descărcați-o din nou ignorând aceste fișiere. | + | Folosiți comanda ''nmap'' pentru a scana aceste adrese doar pe conexiuni TCP, utilizând porturile următoare: ''21, 22, 23, 25, 53, 80, 138, 443, 8000 și 8080'' (am ales aceste porturi deoarece sunt cele mai uzuale porturi pentru expunerea serviciilor/aplicațiilor în rețea). |
- | <note tip> | + | Veți observa porturi care se află în starea ''open'', ''closed'', ''filtered'' (port filtrat de un firewall) și alte tipuri pe care le puteți găsi descrise [[ https://nmap.org/book/man-port-scanning-basics.html | aici]]. |
- | Urmăriți discuția de [[http://stackoverflow.com/questions/273743/using-wget-to-recursively-fetch-a-directory-with-arbitrary-files-in-it|aici]]. Să aveți în vedere și partea din discuția care conține șirul //%%"without the hostname"%%//. | + | |
- | </note> | + | |
- | Structura de directoare trebuie să fie similară cu:<code> | ||
- | root@host:~# tree folder/ | ||
- | folder/ | ||
- | ├── embedded | ||
- | │ ├── Qualcomm | ||
- | │ │ ├── Krait | ||
- | │ │ │ └── info.txt | ||
- | │ │ └── Scorpion | ||
- | │ │ └── info.txt | ||
- | │ └── TI | ||
- | │ ├── OMAP3 | ||
- | │ │ └── info.txt | ||
- | │ └── OMAP4 | ||
- | │ └── info.txt | ||
- | └── mobile | ||
- | ├── Apple | ||
- | │ ├── iPadAir | ||
- | │ │ └── info.txt | ||
- | │ └── iPhone5S | ||
- | │ └── info.txt | ||
- | |||
- | ├── Nexus4 | ||
- | │ └── info.txt | ||
- | └── Nexus7 | ||
- | └── info.txt | ||
- | 14 directories, 8 files | + | <hidden> |
+ | <solution> | ||
+ | <code bash> | ||
+ | root@host:~# nmap -sT -p21,22,23,25,43,80,138,443,8000,8080 hermes.codacloud.net | ||
+ | Starting Nmap 5.21 ( http://nmap.org ) at 2018-01-06 17:16 EET | ||
+ | Nmap scan report for hermes.codacloud.net (54.203.160.58) | ||
+ | Host is up (0.20s latency). | ||
+ | |||
+ | PORT STATE SERVICE | ||
+ | 21/tcp open ftp | ||
+ | 22/tcp filtered ssh | ||
+ | 23/tcp filtered telnet | ||
+ | 25/tcp closed smtp | ||
+ | 43/tcp filtered whois | ||
+ | 80/tcp open http | ||
+ | 138/tcp filtered netbios-dgm | ||
+ | 443/tcp closed https | ||
+ | 8000/tcp filtered http-alt | ||
+ | 8080/tcp open http-proxy | ||
+ | |||
+ | Nmap done: 1 IP address (1 host up) scanned in 3.27 seconds | ||
</code> | </code> | ||
- | <solution> | ||
- | Pentru descărcarea inițială folosim comanda ''wget'' cu opțiunea ''-r'' apoi instalăm și rulăm ''tree'':<code bash> | ||
- | root@host:~# wget -r http://red/folder/ | ||
- | [...] | ||
- | root@host:~# apt-get install tree | ||
- | [...] | ||
- | root@host:~# tree red/ | ||
- | [...] | ||
- | </code> | ||
- | Ștergem vechea structură:<code bash> | ||
- | root@host:~# rm -fr folder/ | ||
- | </code> | ||
- | Ca să avem un output mai aranjat, rulăm următoarea comandă ''wget'':<code bash> | ||
- | root@host:~# wget -r -nH -np --reject "index.html*" http://red/folder/ | ||
- | </code> | ||
- | Se vor descărca astfel doar fișierele utile, cele existente în structura de directoare de pe server. | ||
</solution> | </solution> | ||
+ | </hidden> |