Tunkeutumistestaus vko. 4

Raportissa on vastaukset Haaga-Helia Ammattikorkeakoulu Tunkeutumistestaus -opintojakson tehtäviin. Kurssi perustuu Tero Karvisen materiaaleihin.

Kirjoittamani materiaali saa muuttaa, jakaa, käyttää ja kopioida GNU General Public License v.3.0 mukaisesti.

Tehtävänanto

z) Lue artikkelit ja katso videot, tee kustakin muistiinpanot (muutama ranskalainen viiva per artikkeli/video). Tässä z-kohdassa ei tarvitse tehdä mitään kokeita koneella.

Santos et al: The Art of Hacking (Video Collection): [..] 4.3 Surveying Essential Tools for Active Reconnaissance. Sisältää porttiskannauksen. 5 videota, yhteensä noin 20 min.

  • Passiivisessa ei lähetetä mitään paketteja kohteeseen
  • Aktiivisessa tehdään aktiivista tiedustelua, kuten porttiskannausta
    • Aktiivisella tiedustelulla vahvistetaan passiivisen tiedustelun havaintoja
    • Haavoittuvuuksien etsimistä
    • Toimenpiteiden vaikutus kasvaa askel askeleelta; “getting louder and louder”
    • Aktiivisen tiedustelun jälkeen pitäisi olla selvää, että mihin kohteisiin keskitytään

  • Porttiskannaus
    • nmap
      • paljon erilaisia ominaisuuksia: tässä raportissa enemmän nmapista
    • masscan
      • suurempiin kohteisiin
      • nopea
      • ei yhtä paljon toiminnallisuuksia kuin nmap
    • udpprotoscanner
      • udp skannausta vähätellään suotta
      • lähettää kutsuja ja toivoo vastauksia

  • Web-palveluiden arviointi
    • Kohteella voi olla useita web-palveluita
    • Haavoittuvuuksien skannaus
      • Viimeiden tiedustelun vaihe, mihin keskitytään
    • eyewitness
      • työkalu web-palveluiden arviointiin
      • työkalu mihin palveluihin keskitytään
      • ottaa kuvakaappauksia määritetyistä sivuista ja paljastaa mahdollisia haavoittuvuuksia
        • login-sivuja, testisivuja jne.
      • ./Eyewitness.py --web -f urls.txt
        • antaa raportin havainnoista
        • löytää piilotettuja kirjautumissivuja ylläpitäjille

Lyon 2009: Nmap Network Scanning: Chapter 1. Getting Started with Nmap Suoraan hevosen suusta: Gordon Lyon aka Fyodor Vaskovich on kirjoittanut tuon menestyneen kirjan lisäksi nmapin. Kirja maksaa 40 eur, mutta reiluna kaverina Gordon oli laittanut juuri tähän sopivat luvut ilmaiseksi nettiin.

  • Verkkotiedusteluun liittyy mm. IP-kohdealueen selvittäminen: sudo nmap -sL listaa kohdealueen IPosoitteet ja tekee reverse DNS lookup, eli selvittää IP-osoitteen perusteella hostnamen
    • Voidaan tuplavarmistaa kohdealue ja että tarkastellaan vain ennalta määriteltyjä kohteita.
    • Reverse DNS lookup voi paljastaa mahdollisia haavoittuvuuksia
      • voi paljastaa esim. palomuurin
    • Muodostaa käsitystä siitä mihin kukin kone on tarkoitettu
  • Skannataan portit sekä niiden daemonit ja versionumerot, selvitetään käyttöjärjestelmä (OS Fingerprinting)
    • Toiminto voidaan huomata

Silmäile (ei tarvitse lukea kokonaan, 40 liuskaa pitkä): Lyon 2009: Nmap Network Scanning: Chapter 15. Nmap Reference Guide

Port Scanning Basics (opettele, mitä tarkoittavat: open, closed, filtered; muuten vain silmäily)

  • open
    • portin daemon kuuntelee verkkoa ja hyväksyy TCP yhteyspyyntöjä
    • hyökkäykset kohdistuvat avoimiin portteihin
  • closed
    • portti ottaa vastaan nmapin lähettämiä pyyntöjä, mutta portissa ei ole kuuntelevaa daemonia
    • antaa tiedon siitä, että skannatussa osoitteessa on käynnissä oleva kone
      • ping sweep ja host discovery
      • voidaan tunnistaa kohteen käyttöjärjestelmä
  • filtered
    • nmap ei tunnista onko portti auki
      • kohteen ylläpitäjä on määritellyt porttikohtaiset palomuurisäännöt
      • reitittimen asetukset voivat estää

Port Scanning Techniques (opettele, mitä ovat: -sS -sT -sU; muuten vain silmäily)

  • -sS TCP SYN scan
    • oletustapa
    • Lähetetään kohteeseen SYN lippu, odotetaan palvelimen vastausta johon ei enää itse vastata
      • OPEN jos vastaus on SYN ACK
      • CLOSED jos vastaus RST
      • FILTERED jos vastausta ei kuulu
    • hieman huomaamattomampi, sillä ei muodosta TCP yhteyttä
  • -sT TCP Connect scan
    • käytetään tätä jos SYN Scan ei ole vaihtoehtona
    • luodaan TCP yhteys SYN – SYN ACK – ACK – RST
      • huomiota herättävä ja jättää kohdelokeihin jäljet skannauksesta
  • -sU UDP Scan
    • hidas mutta ei hyödytön
    • UDP portit vieläkin yleisessä käytössä
      • mm. DNS, SNMP, DHCP
        • muutetaan verkkotunnukset IP-osoitteiksi, verkkolaitteen tila, jaetaan IP-osoitteita
    • lähettää UDP paketit kaikkiin kohdeportteihin
    • vastauksista ei voida tehdä suoraan päätelmiä avonaisista porteista
      • versioskannaus -sV antaa tarkemman tiedon

Silmäile (ei tarvitse lukea kokonaan): man nmap

Viikon tehtävät on pääosin tehty man nmap avulla. Muistiinpanot tärkeimmistä komennoista löytyvät tämän viikon raportista.

Tee ja raportoi

Miten nmap toimii? Tee nmapilla seuraavat testit, sieppaa liikenne snifferillä (wireshark) ja analysoi tulokset. Tee testit mahdollisimman suppeasti, jotta analysointi on helpompaa. Esimerkiksi skannaa vain yksi portti yhdestä koneesta, jos ominaisuuden esittely ei hyödy laajemmasta skannauksesta. Selitä myös, miksi nmap lähettää tuollaisia paketteja. Käytä nmap:ia normaalisti sudo:n kanssa. Kannattaa tietysti aloittaa lukemalla man-sivulta tai Nmap Reference Guidesta, mitä noilla toiminnoilla on ylipäänsä tarkoitus tehdä. Porttiskannaa ainoastaan omaa konetta omassa verkossa ja harjoitusmaaleja.

Analyysi ja selittäminen on tärkeää. Toki tarvitaan ote snifferin lokista, komento ja ote sen tulosteesta, mutta ne eivät riitä ilman selitystä.

a) nmap -sT TCP connect scan

Komennon vipu -sT tarkoittaa sitä, että porttiskannauksen aikana suoritetaan TCP-kolmivaiheinen kättely. Skannaustapa on huomiotaherättävä, sillä kolmivaiheinen kättely toteutetaan loppuun saakka.

  1. Asiakaskone halauaa avata yhteyden palvelimeen (SYN)
  2. Palvelin vastaa (SYN + ACK)
  3. Asiakaskone tiedostaa vastauksen (ACK)
  4. Asiakaskone ja serveri muodostavat yhteyden ja varsinainen tiedonsiirto voi alkaa

Käynnistin WireSharkin, valitsin “any” ja verkkoliikenteen tarkastelu alkoi automaattisesti. Aloitin TCP Connect skannauksen kohdekoneen porttiin -p 80.

$ sudo nmap -p 80 -sT 192.168.56.103

Kuvassa näkyy TCP-kolmivaiheinen kättely (SYN -> SYN ACK -> ACK), jonka jälkeen välittömästi tapahtuu yhteyden katkaisu (RST, reset).

WireSharkin kaappaama data

3. rivin TCP-segmentin otsakkeessa näkyy mm. asiakaskoneen portti, kohdekoneen portti ja yhteyden avaamisesta kertova SYN-lippu.

Yhteyden avaavan TCP-segmentin otsake

4. rivin TCP-segmentin otsakkeessa näkyy kohdekoneen vastaus TCP-segmentti: lähtöportti on nyt 80, kohteena asiakaskoneen portti 59810 ja SYN + ACK liput. Kuvan alareunassa näkyy analyysi siitä, että segmentti on vastaus edelliseen.

Palvelimen vastaus

Kättelyn kolmas vaihe. Nyt asiakaskone vastaanotti ja hyväksyi kohdekoneen hyväksynnän yhteyden avaamiselle.

Asiakaskoneen yhteyden muodostamisen hyväksyntä.

Tavallisessa verkkoliikenteessä päätelaitteiden välille muodostuu vasta nyt varsinainen yhteys, jonka aikana siirrettävää dataa aletaan liikuttamaan. TCP Connect skannauksessa yhteys kohdekoneen porttiin resetoidaan (RST-lippu) ja laitetaan välittömästi katki.

Yhteyden katkaisu.

b) nmap -sS TCP SYN “used to be stealth” scan (tätä käytetään skannatessa useimmin)

Vipu -sS (TCP SYN scan) eroaa edelliseen siten, ettei kolmivaiheista kättelyä suoriteta loppuun saakka. Tässä asiakaskone testaa, että vastaako portissa daemoni ja katkaisee yhteyden ennen ACK-lipun lähettämistä. SYN skannaus suoritetaan asiakaskoneen portista 44243. Edelliseen tapaan verrattuna SYN skannaus on paljon huomaamattomampi.

c) nmap -sn ping sweep

Vipu -sn (no port scan) tarkastaa ja tulostaa IP-kohdealueen koneet, joilta saa vastauksen. Komento ei aja porttiskannausta. Tämä on seuraava askel listaskannauksesta (list scan, -sL), joka tekee käänteisen DNS lookupin ja tarkastaa kohdealueen koneet lähettämättä ensimmäistäkään pakettia.

Kokonaiseen verkkoon voisi suorittaa ping sweepin määrittämällä kohdealueen IP-osoitteella ja verkon peitteellä, esim.

$ sudo nmap -sn 192.168.56.0/24

Tehtävänannon luonteen mukaan keskitin tarkastelun ainoastaan yhteen kohteeseen.

$ sudo nmap -sn 192.168.56.103

Kohdekone on käynnissä ja yhdistettynä verkkoon.

Ping sweepin tulos

WireShark havaitsi liikenteen. Tulokset näkyvät ARP-kyselyinä, mikäli ping sweep suoritetaan samassa verkossa, mihin skannauskone on yhdistetty. Kyselyssä skannauskone tiedustelee kohdekoneen MAC-osoitetta, joka on verkkosovittimen ethernet-verkossa yksilöivä osoite.

Samassa verkossa tehty ping sweep näkyy ARP-kyselynä.

Mikäli su käyttäjän suorittamaan komentoon lisätään vipu --send-ip, suoritetaan ping sweep samassa verkossa kohdekoneen kanssa

  • lähettämällä ICMP echo kutsu
  • TCP SYN porttiin 443
    • pyydetään kohdekoneelta lupaa avata yhteys porttiin 443
    • kohdekoneen portti 443 vastaa SYN ACK
    • skannauskone katkaisee yhteyden RST
  • TCP ACK porttiin 80
    • kohdekone keskeyttää yhteyden RST
  • mittaamalla kuinka kauan ICMP paketeilla kestää kulkea koneesta toiseen
    • ICMP timestamp pyyntö ja ICMP timestamp reply
$ sudo nmap -sn --send-ip 192.168.56.103
su käyttäjän suorittama ping sweep

Mikäli ping sweep suoritetaan oikeuttamattoman käyttäjän toimesta kohdekoneen portteihin 80 ja 443 lähetetään yhteyden avaamista pyytävät SYN-liput. Yhteys katkaistaan RST-lipulla välittömästi ACK-lippujen, eli yhteyden muodostamisen, jälkeen.

$ nmap -sn --send-ip 192.168.56.103
Oikeuttamattoman käyttäjän suorittama ping sweep.

d) nmap -Pn don’t ping

Komento ei lähetä pingaa mitään kohdealueen IP-osoitteita, vaan käy järjestään läpi kohdealueen IP-osoitteet suorittaen kaikki komennossa määritetyt skannaustoiminnot. -Pn vipu käskee nmappia suorittamaan toiminnot kuhunkin IP-osoitteeseen huolimatta siitä, onko kohdekoneet käynnissä vai ei. “Treat all hosts as online.”

Disabling host discovery with -Pn causes Nmap to attempt the requested scanning functions against every target IP address specified. 

nmap man
$ sudo nmap -Pn 192.168.56.103

Komento testasi 1000 porttia, joista 997 olivat filtered tilassa. Filtered ei kerro sitä, onko portti auki ja onko siellä daemonia kuuntelemassa. Vipu -Pn käyttö paljasti sen, että näistä porteista 10 on käytössä ja että niissä on deamoni käynnissä. Ylläpitäjä on erikseen määritellyt näiden porttien filteröinnin palomuuriin; admin-prohibited.

Yhteys onnistuttiin luomaan kolmeen porttiin.

e) nmap -sV version detection (esimerkki yhdestä palvelusta yhdessä portissa riittää)

Aluksi nmap selvittää avoinna olevat portit ja sen jälkeen vivulla -sV ottaa selville portissa toimivan daemonin versiotietoineen.

After TCP and/or UDP ports are discovered using one of the other scan methods, version detection interrogates those ports to determine more about what is actually running. The nmap-service-probes database contains probes for querying various services and match expressions to recognize and parse responses. Nmap tries to determine the service protocol (e.g. FTP, SSH, Telnet, HTTP), the application name (e.g. ISC BIND, Apache httpd, Solaris telnetd), the version number, hostname, device type (e.g. printer, router), the OS family (e.g. Windows, Linux).

nmap.org
$ sudo nmap -sV 192.168.56.103 -p 80
Portista vastasi Python web-appia pyörittävä Apachen mod_wsgi moduuli.

Porttiskannauksen SYN — SYN ACK — RST jälkeen nmap selvittää palvelut ja versiot.

f) nmap -p1-100, --top-ports 5, -p- porttien valinta

nmapilla voidaan määritellä skannattavien porttien kohdealue. Vivulla -p voidaan skannata yksi tietty portti

$ sudo nmap -p 80 192.168.56.103

Vivulla -p1-100 skannataan portit lukuväliltä 1-100.

$ sudo nmap -p1-100 192.168.56.103

vivulla –top-ports voidaan skannata yleisimmät portit.

--top-ports n

Scans the n highest-ratio ports found in nmap-services file. n must be 1 or greater.

nmap man

nmapilla voidaan skannata yleisimmät/suosituimmat portit

$ sudo nmap --top-ports 5 192.168.56.103

Skannasin top. 5 portit. Näihin portteihin lähetettiin yhdeyden avauspyynnöt SYN-lipuilla. Yhteys katkaistiin RST juuri ennen ACK-lipun lähettämistä. Portit 21 ja 23 ovat filterered; portit ovat joko kiinni tai palomuuri estää tiedonkulun.

WireSharkin kaappaama data

g) nmap ip-osoitteiden valinta; luettelo, verkkomaskilla 10.10.10.0/24, alku- ja loppuosoitteella 10.10.10.100-130 (ipcalc auttaa ymmärtämään, miten verkkomaskia tulkitaan)

IPv4-osoite on 32-bittinen luku, joka koostuu neljästä 8-bittisestä lukusarjasta. Verkkomaskilla ilmaistaan samaan verkkoon kuuluminen.

$ ipcalc 192.168.56.0/24          
# tarkasteltava ipv4 osoite ja sen binäärimuoto
Address:   192.168.56.0         11000000.10101000.00111000. 00000000
# verkkomaskin osuus
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
# mitä osuutta verkosta voidaan tarkastella/käsitellä
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
# verkon esitysmuoto
Network:   192.168.56.0/24      11000000.10101000.00111000. 00000000
# verkon ensimmäinen osoite
HostMin:   192.168.56.1         11000000.10101000.00111000. 00000001
# verkon viimeinen osoite
HostMax:   192.168.56.254       11000000.10101000.00111000. 11111110
# jokaiselle päätelaitteelle viestivä osoite
Broadcast: 192.168.56.255       11000000.10101000.00111000. 11111111
# mahdollisten päätelaitteiden määrä ja verkkoluokka (paikallinen, pieni)
Hosts/Net: 254                   Class C, Private Internet

IP-osoitteiden skannauksen kohdealueen voi määritellä eritavoin. Suoritin ping sweepin verkon koneille määrittelemällä verkkomaskin. IP-osoite on 32 bittinen luku (4 x 8). Verkkoa määrittelee tässä osoitteen kolme ensimmäistä 8 bitin sarjaa ja viimeinen 8 bittiä määrittelee yksittäisiä verkon koneita. Vivulla -sn estetään porttiskannaus ja listataan vaan verkosta löytyvät koneet.

$ sudo nmap -sn 192.168.56.0/24

Kohdealue voidaan määritellä myös antamalla skannattavat koneet lukuväliltä.

$ sudo nmap -sn 192.168.56.100-110

h) nmap -oA foo output files. Mihin kukin tiedostotyyppi sopii?

Skannauksen tiedot voidaan tallentaa tiedostoihin. Vivun -oA jälkeen syötetään tiedostonimi, johon tässä tapauksessa tallennetaan IP-kohdealueelle suoritettu ping sweep.

$ sudo nmap -sn 192.168.56.100-110 -oA foo

Komento luo automaattisesti kolme tiedostoa eri tiedostomuotoihin.

foo.gnmap

Suurin osa skannauksesta on yhdellä rivillä ja helpottaa tiedonhakua ja analysointia myöhemmässä vaiheessa. Helppo käyttää | grep putkituksen kanssa.

.gnmap output

foo.nmap

Tähän tiedostoon tallennetaan data sellaisenaan ja muokkaamattomana.

.nmap output

foo.xml

Tämä tiedosto voidaan konvertoida HTML-muotoon tai importoida tietokantaan. Monet ohjelmat ymmärtävät .xml tiedostopäätteitä.

.xml output

i) nmap -sV version scanning

Katso kohta e).

j) nmap -A OS fingerprinting, version detection, scripts, traceroute

Vipu -A (aggressive scan) antaa käyttöjärjestelmän, portin tilan ja sen ollessa auki sieltä löytyvän daemonin versionumeroineen. OS fingerpring on tuloksen mukaan epävarma, sillä nmap ei skannannut vähintään yhtä avointa ja yhtä suljettua porttia. Skannaukseni koski vain yhtä porttia.

-A: Enable OS detection, version detection, script scanning and traceroute

nmap man

Traceroute mittaa ja laskee pingauksen pituutta ja hyppyjen määrän kohteeseen. Tässä tapauksessa hyppyjen määrä on yksi, koska pingasin saman verkon konetta. Mikäli kohde olisi toisessa verkossa, kertoisi hyppyjen lukumäärä kuinka monta reititintä matkan varrella kohdekoneeseen on.

k) nmap ajonaikaiset toiminnot (man nmap: runtime interaction): verbosity v/V, help ?, packet tracing p/P, status s (ja moni muu nappi)

Käyttäjä voi syöttää komentoja nmapin suorittaessa aiempaa komentoa. Ajonaikaisilla toiminnoilla voidaan seurata skannauksen etenemistä, nostaa/laskea

During the execution of Nmap, all key presses are captured. This allows you to interact with the program without aborting and restarting it. Certain special keys will change options, while any other keys will print out a status message telling you about the scan. The convention is that lowercase letters increase the amount of printing, and uppercase letters decrease the printing. You may also press ‘?‘ for help.

nmap man
  • v / V
  • d / D
    • debugging level
    • virheiden etsintää
      • level 0 – min. ei infoa
      • level 6 – max.
    • voidaan määrittää alkuperäiseen komentoon -d[<level>]
  • p / P
    • packet tracing on/off
  • ?
    • help screen
help
  • minkä tahansa muu merkin ajonaikainen painaminen kertoo skannauksen sen hetkisen tilanteen
    • Stats: 0:00:06 elapsed; 0 hosts completed (1 up), 1 undergoing Service Scan
      Service scan Timing: About 0.00% done
  • Service scan Timing: About 0.00% done

l) normaalisti ‘sudo nmap‘. Miten nmap toiminta eroaa, jos sitä ajaa ilman sudoa? Suorita ja analysoi esimerkki.

Osa komennoista lähtökohtaisesti vaatii sudo oikeudet. Tehtävän c) ping sweep aikana huomasin, että oikeutetun ja oikeuttamatoman käyttäjän suorittamat komennot erosivat sisällöltään: toinen oli kattavampi kuin toinen.

Testasin versioskannausta. sudo käyttäjän suorittama komento antoi myös reitittimen MAC-osoitteen.

ei sudoa
sudo

SYN-Scan ei toimi ollenkaan ilman sudo oikeuksia.

m) nmap, vertaile -sV vs -A kestoa (ja lähetetyn datan määrää jos osaat; time, nethogs, wireshark). Käytä harjoitusmaalina metasploitable2.

$ sudo nmap -sV 192.168.56.101

-sV versiohavaits

Komennon suorittamiseen meni aikaa lähes 12 sekuntia.
WireSharkin kaappaamien pakettien määrä.
$ sudo nmap -A 192.168.56.101

asdf

Komennon suorittamiseen meni 58 sekuntia.
WireSharkin kaappaamien pakettien määrä.

-A vie lähes viisi kertaa pidemmän ajan verrattuna -sV versioskannaukseen. Aikaero on huomattava vaikka komennot ovatkin hyvin erilaiset ja tarjoavat erilaista tietoa. Suuremmissa skannauksissa nyt sekunneissa havaittava ero kasvaa paljon pidempiin eroihin. Vaikka aikaero onkin lähes viisinkertainen on skannauksessa siirtyvien pakettien määrässä huomattavasti pienempi ero. Versioskannauksessa liikkui 2455 pakettia ja aggressiivisessa -A skannauksessa 4308. Ero on vain n. 1,7 kertainen.

d) Ninjojen tapaan. Piiloutuuko nmap-skannaus hyvin palvelimelta? Vinkkejä: Asenna Apache. Aja nmap-versioskannaus -sV omaan paikalliseen weppipalvelimeen. Etsi Apachen lokista tätä koskevat rivit. Wiresharkissa “http” on kätevä filtteri, se tulee siihen yläreunan “Apply a display filter…” -kenttään. Nmap-ajon aikana p laittaa packet tracing päälle. Vapaaehtoinen lisäkohta: jääkö Apachen lokiin jokin todiste nmap-versioskannauksesta?

Kalin mukana tulee Apache2 ja edellisen viikon tehtävien aikana vaihdoin palvelimen default-sivun pois.

Apache2 pyörii taustalla.

Ajoin versioskannauksen.

$ sudo nmap -sV localhost           
Starting Nmap 7.92 ( https://nmap.org ) at 2021-11-20 19:41 EET
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Packet Tracing enabled.
Service scan match (Probe GetRequest matched with GetRequest line 10510): 127.0.0.1:80 is http.  Version: |Apache httpd|2.4.51|(Debian)|
NSOCK INFO [6.4070s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 8 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49382 > 127.0.0.1:80 | CONNECT
NSOCK INFO [6.4070s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 16 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49384 > 127.0.0.1:80 | CONNECT
NSOCK INFO [6.4070s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 24 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49386 > 127.0.0.1:80 | CONNECT
NSE: TCP 127.0.0.1:49382 > 127.0.0.1:80 | 00000000: 47 45 54 20 2f 6e 6d 61 70 6c 6f 77 65 72 63 68 GET /nmaplowerch
00000010: 65 63 6b 31 36 33 37 34 33 30 30 37 30 20 48 54 eck1637430070 HT
00000020: 54 50 2f 31 2e 31 0d 0a 48 6f 73 74 3a 20 6c 6f TP/1.1  Host: lo
00000030: 63 61 6c 68 6f 73 74 0d 0a 55 73 65 72 2d 41 67 calhost  User-Ag
00000040: 65 6e 74 3a 20 4d 6f 7a 69 6c 6c 61 2f 35 2e 30 ent: Mozilla/5.0
00000050: 20 28 63 6f 6d 70 61 74 69 62 6c 65 3b 20 4e 6d  (compatible; Nm
00000060: 61 70 20 53 63 72 69 70 74 69 6e 67 20 45 6e 67 ap Scripting Eng
00000070: 69 6e 65 3b 20 68 74 74 70 73 3a 2f 2f 6e 6d 61 ine; https://nma
00000080: 70 2e 6f 72 67 2f 62 6f 6f 6b 2f 6e 73 65 2e 68 p.org/book/nse.h
00000090: 74 6d 6c 29 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e tml)  Connection
000000a0: 3a 20 63 6c 6f 73 65 0d 0a 0d 0a                : close    

NSOCK INFO [6.4080s] nsock_write(): Write request for 171 bytes to IOD #1 EID 35 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49384 > 127.0.0.1:80 | 00000000: 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 30 0d 0a GET / HTTP/1.0  
00000010: 0d 0a                                             

NSOCK INFO [6.4080s] nsock_write(): Write request for 18 bytes to IOD #2 EID 43 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49386 > 127.0.0.1:80 | POST /sdk HTTP/1.1
Content-Length: 441
Host: localhost
User-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)
Connection: close

<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><operationID>00000001-00000001</operationID></soap:Header><soap:Body><RetrieveServiceContent xmlns="urn:internalvim25"><_this xsi:type="ManagedObjectReference" type="ServiceInstance">ServiceInstance</_this></RetrieveServiceContent></soap:Body></soap:Envelope>
NSOCK INFO [6.4090s] nsock_write(): Write request for 613 bytes to IOD #3 EID 51 [127.0.0.1:80]
NSOCK INFO [6.4090s] nsock_trace_handler_callback(): Callback: WRITE SUCCESS for EID 35 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49382 > 127.0.0.1:80 | SEND
NSOCK INFO [6.4090s] nsock_trace_handler_callback(): Callback: WRITE SUCCESS for EID 43 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49384 > 127.0.0.1:80 | SEND
NSOCK INFO [6.4090s] nsock_trace_handler_callback(): Callback: WRITE SUCCESS for EID 51 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49386 > 127.0.0.1:80 | SEND
NSOCK INFO [6.4100s] nsock_read(): Read request from IOD #1 [127.0.0.1:80] (timeout: 7000ms) EID 58
NSOCK INFO [6.4100s] nsock_read(): Read request from IOD #2 [127.0.0.1:80] (timeout: 7000ms) EID 66
NSOCK INFO [6.4100s] nsock_read(): Read request from IOD #3 [127.0.0.1:80] (timeout: 7000ms) EID 74
NSOCK INFO [6.4100s] nsock_trace_handler_callback(): Callback: READ SUCCESS for EID 58 [127.0.0.1:80] (451 bytes)
NSE: TCP 127.0.0.1:49382 < 127.0.0.1:80 | 00000000: 48 54 54 50 2f 31 2e 31 20 34 30 34 20 4e 6f 74 HTTP/1.1 404 Not
00000010: 20 46 6f 75 6e 64 0d 0a 44 61 74 65 3a 20 53 61  Found  Date: Sa
00000020: 74 2c 20 32 30 20 4e 6f 76 20 32 30 32 31 20 31 t, 20 Nov 2021 1
00000030: 37 3a 34 31 3a 31 30 20 47 4d 54 0d 0a 53 65 72 7:41:10 GMT  Ser
00000040: 76 65 72 3a 20 41 70 61 63 68 65 2f 32 2e 34 2e ver: Apache/2.4.
00000050: 35 31 20 28 44 65 62 69 61 6e 29 0d 0a 43 6f 6e 51 (Debian)  Con
00000060: 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 32 37 31 tent-Length: 271
00000070: 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63 6c   Connection: cl
00000080: 6f 73 65 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 ose  Content-Typ
00000090: 65 3a 20 74 65 78 74 2f 68 74 6d 6c 3b 20 63 68 e: text/html; ch
000000a0: 61 72 73 65 74 3d 69 73 6f 2d 38 38 35 39 2d 31 arset=iso-8859-1
000000b0: 0d 0a 0d 0a 3c 21 44 4f 43 54 59 50 45 20 48 54     <!DOCTYPE HT
000000c0: 4d 4c 20 50 55 42 4c 49 43 20 22 2d 2f 2f 49 45 ML PUBLIC "-//IE
000000d0: 54 46 2f 2f 44 54 44 20 48 54 4d 4c 20 32 2e 30 TF//DTD HTML 2.0
000000e0: 2f 2f 45 4e 22 3e 0a 3c 68 74 6d 6c 3e 3c 68 65 //EN"> <html><he
000000f0: 61 64 3e 0a 3c 74 69 74 6c 65 3e 34 30 34 20 4e ad> <title>404 N
00000100: 6f 74 20 46 6f 75 6e 64 3c 2f 74 69 74 6c 65 3e ot Found</title>
00000110: 0a 3c 2f 68 65 61 64 3e 3c 62 6f 64 79 3e 0a 3c  </head><body> <
00000120: 68 31 3e 4e 6f 74 20 46 6f 75 6e 64 3c 2f 68 31 h1>Not Found</h1
00000130: 3e 0a 3c 70 3e 54 68 65 20 72 65 71 75 65 73 74 > <p>The request
00000140: 65 64 20 55 52 4c 20 77 61 73 20 6e 6f 74 20 66 ed URL was not f
00000150: 6f 75 6e 64 20 6f 6e 20 74 68 69 73 20 73 65 72 ound on this ser
00000160: 76 65 72 2e 3c 2f 70 3e 0a 3c 68 72 3e 0a 3c 61 ver.</p> <hr> <a
00000170: 64 64 72 65 73 73 3e 41 70 61 63 68 65 2f 32 2e ddress>Apache/2.
00000180: 34 2e 35 31 20 28 44 65 62 69 61 6e 29 20 53 65 4.51 (Debian) Se
00000190: 72 76 65 72 20 61 74 20 6c 6f 63 61 6c 68 6f 73 rver at localhos
000001a0: 74 20 50 6f 72 74 20 38 30 3c 2f 61 64 64 72 65 t Port 80</addre
000001b0: 73 73 3e 0a 3c 2f 62 6f 64 79 3e 3c 2f 68 74 6d ss> </body></htm
000001c0: 6c 3e 0a                                        l> 

NSOCK INFO [6.4100s] nsock_trace_handler_callback(): Callback: READ SUCCESS for EID 66 [127.0.0.1:80] (423 bytes)
NSE: TCP 127.0.0.1:49384 < 127.0.0.1:80 | 00000000: 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d HTTP/1.1 200 OK 
00000010: 0a 44 61 74 65 3a 20 53 61 74 2c 20 32 30 20 4e  Date: Sat, 20 N
00000020: 6f 76 20 32 30 32 31 20 31 37 3a 34 31 3a 31 30 ov 2021 17:41:10
00000030: 20 47 4d 54 0d 0a 53 65 72 76 65 72 3a 20 41 70  GMT  Server: Ap
00000040: 61 63 68 65 2f 32 2e 34 2e 35 31 20 28 44 65 62 ache/2.4.51 (Deb
00000050: 69 61 6e 29 0d 0a 4c 61 73 74 2d 4d 6f 64 69 66 ian)  Last-Modif
00000060: 69 65 64 3a 20 53 61 74 2c 20 32 30 20 4e 6f 76 ied: Sat, 20 Nov
00000070: 20 32 30 32 31 20 31 37 3a 34 30 3a 33 39 20 47  2021 17:40:39 G
00000080: 4d 54 0d 0a 45 54 61 67 3a 20 22 39 39 2d 35 64 MT  ETag: "99-5d
00000090: 31 33 62 65 33 64 39 62 32 66 36 22 0d 0a 41 63 13be3d9b2f6"  Ac
000000a0: 63 65 70 74 2d 52 61 6e 67 65 73 3a 20 62 79 74 cept-Ranges: byt
000000b0: 65 73 0d 0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 es  Content-Leng
000000c0: 74 68 3a 20 31 35 33 0d 0a 56 61 72 79 3a 20 41 th: 153  Vary: A
000000d0: 63 63 65 70 74 2d 45 6e 63 6f 64 69 6e 67 0d 0a ccept-Encoding  
000000e0: 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63 6c 6f 73 Connection: clos
000000f0: 65 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a e  Content-Type:
00000100: 20 74 65 78 74 2f 68 74 6d 6c 0d 0a 0d 0a 3c 21  text/html    <!
00000110: 44 4f 43 54 59 50 45 20 68 74 6d 6c 3e 0a 3c 68 DOCTYPE html> <h
00000120: 74 6d 6c 3e 0a 20 20 3c 68 65 61 64 3e 0a 20 20 tml>   <head>   
00000130: 20 20 3c 6d 65 74 61 20 63 68 61 72 73 65 74 3d   <meta charset=
00000140: 22 75 74 66 2d 38 22 3e 0a 20 20 20 20 3c 74 69 "utf-8">     <ti
00000150: 74 6c 65 3e 66 6f 6f 3c 2f 74 69 74 6c 65 3e 0a tle>foo</title> 
00000160: 20 20 3c 2f 68 65 61 64 3e 0a 20 20 3c 62 6f 64   </head>   <bod
00000170: 79 3e 0a 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 y>     <p>      
00000180: 20 68 65 6c 6c 6f 20 6e 6d 61 70 0a 20 20 20 20  hello nmap     
00000190: 3c 2f 70 3e 0a 20 20 3c 2f 62 6f 64 79 3e 0a 3c </p>   </body> <
000001a0: 2f 68 74 6d 6c 3e 0a                            /html> 

NSOCK INFO [6.4100s] nsock_trace_handler_callback(): Callback: READ SUCCESS for EID 74 [127.0.0.1:80] (451 bytes)
NSE: TCP 127.0.0.1:49386 < 127.0.0.1:80 | 00000000: 48 54 54 50 2f 31 2e 31 20 34 30 34 20 4e 6f 74 HTTP/1.1 404 Not
00000010: 20 46 6f 75 6e 64 0d 0a 44 61 74 65 3a 20 53 61  Found  Date: Sa
00000020: 74 2c 20 32 30 20 4e 6f 76 20 32 30 32 31 20 31 t, 20 Nov 2021 1
00000030: 37 3a 34 31 3a 31 30 20 47 4d 54 0d 0a 53 65 72 7:41:10 GMT  Ser
00000040: 76 65 72 3a 20 41 70 61 63 68 65 2f 32 2e 34 2e ver: Apache/2.4.
00000050: 35 31 20 28 44 65 62 69 61 6e 29 0d 0a 43 6f 6e 51 (Debian)  Con
00000060: 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 32 37 31 tent-Length: 271
00000070: 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63 6c   Connection: cl
00000080: 6f 73 65 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 ose  Content-Typ
00000090: 65 3a 20 74 65 78 74 2f 68 74 6d 6c 3b 20 63 68 e: text/html; ch
000000a0: 61 72 73 65 74 3d 69 73 6f 2d 38 38 35 39 2d 31 arset=iso-8859-1
000000b0: 0d 0a 0d 0a 3c 21 44 4f 43 54 59 50 45 20 48 54     <!DOCTYPE HT
000000c0: 4d 4c 20 50 55 42 4c 49 43 20 22 2d 2f 2f 49 45 ML PUBLIC "-//IE
000000d0: 54 46 2f 2f 44 54 44 20 48 54 4d 4c 20 32 2e 30 TF//DTD HTML 2.0
000000e0: 2f 2f 45 4e 22 3e 0a 3c 68 74 6d 6c 3e 3c 68 65 //EN"> <html><he
000000f0: 61 64 3e 0a 3c 74 69 74 6c 65 3e 34 30 34 20 4e ad> <title>404 N
00000100: 6f 74 20 46 6f 75 6e 64 3c 2f 74 69 74 6c 65 3e ot Found</title>
00000110: 0a 3c 2f 68 65 61 64 3e 3c 62 6f 64 79 3e 0a 3c  </head><body> <
00000120: 68 31 3e 4e 6f 74 20 46 6f 75 6e 64 3c 2f 68 31 h1>Not Found</h1
00000130: 3e 0a 3c 70 3e 54 68 65 20 72 65 71 75 65 73 74 > <p>The request
00000140: 65 64 20 55 52 4c 20 77 61 73 20 6e 6f 74 20 66 ed URL was not f
00000150: 6f 75 6e 64 20 6f 6e 20 74 68 69 73 20 73 65 72 ound on this ser
00000160: 76 65 72 2e 3c 2f 70 3e 0a 3c 68 72 3e 0a 3c 61 ver.</p> <hr> <a
00000170: 64 64 72 65 73 73 3e 41 70 61 63 68 65 2f 32 2e ddress>Apache/2.
00000180: 34 2e 35 31 20 28 44 65 62 69 61 6e 29 20 53 65 4.51 (Debian) Se
00000190: 72 76 65 72 20 61 74 20 6c 6f 63 61 6c 68 6f 73 rver at localhos
000001a0: 74 20 50 6f 72 74 20 38 30 3c 2f 61 64 64 72 65 t Port 80</addre
000001b0: 73 73 3e 0a 3c 2f 62 6f 64 79 3e 3c 2f 68 74 6d ss> </body></htm
000001c0: 6c 3e 0a                                        l> 

NSE: TCP 127.0.0.1:49382 > 127.0.0.1:80 | CLOSE
NSOCK INFO [6.4140s] nsock_iod_delete(): nsock_iod_delete (IOD #1)
NSOCK INFO [6.4140s] nsock_iod_new2(): nsock_iod_new (IOD #4)
NSOCK INFO [6.4140s] nsock_connect_tcp(): TCP connection requested to 127.0.0.1:80 (IOD #4) EID 80
NSE: TCP 127.0.0.1:49384 > 127.0.0.1:80 | CLOSE
NSOCK INFO [6.4140s] nsock_iod_delete(): nsock_iod_delete (IOD #2)
NSE: TCP 127.0.0.1:49386 > 127.0.0.1:80 | CLOSE
NSOCK INFO [6.4140s] nsock_iod_delete(): nsock_iod_delete (IOD #3)
NSOCK INFO [6.4150s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 80 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49388 > 127.0.0.1:80 | CONNECT
NSE: TCP 127.0.0.1:49388 > 127.0.0.1:80 | 00000000: 47 45 54 20 2f 48 4e 41 50 31 20 48 54 54 50 2f GET /HNAP1 HTTP/
00000010: 31 2e 31 0d 0a 48 6f 73 74 3a 20 6c 6f 63 61 6c 1.1  Host: local
00000020: 68 6f 73 74 0d 0a 55 73 65 72 2d 41 67 65 6e 74 host  User-Agent
00000030: 3a 20 4d 6f 7a 69 6c 6c 61 2f 35 2e 30 20 28 63 : Mozilla/5.0 (c
00000040: 6f 6d 70 61 74 69 62 6c 65 3b 20 4e 6d 61 70 20 ompatible; Nmap 
00000050: 53 63 72 69 70 74 69 6e 67 20 45 6e 67 69 6e 65 Scripting Engine
00000060: 3b 20 68 74 74 70 73 3a 2f 2f 6e 6d 61 70 2e 6f ; https://nmap.o
00000070: 72 67 2f 62 6f 6f 6b 2f 6e 73 65 2e 68 74 6d 6c rg/book/nse.html
00000080: 29 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63 )  Connection: c
00000090: 6c 6f 73 65 0d 0a 0d 0a                         lose    

NSOCK INFO [6.4150s] nsock_write(): Write request for 152 bytes to IOD #4 EID 91 [127.0.0.1:80]
NSOCK INFO [6.4150s] nsock_iod_new2(): nsock_iod_new (IOD #5)
NSOCK INFO [6.4150s] nsock_connect_tcp(): TCP connection requested to 127.0.0.1:80 (IOD #5) EID 96
NSOCK INFO [6.4150s] nsock_trace_handler_callback(): Callback: WRITE SUCCESS for EID 91 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49388 > 127.0.0.1:80 | SEND
NSOCK INFO [6.4150s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 96 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49390 > 127.0.0.1:80 | CONNECT
NSOCK INFO [6.4160s] nsock_read(): Read request from IOD #4 [127.0.0.1:80] (timeout: 7000ms) EID 106
NSE: TCP 127.0.0.1:49390 > 127.0.0.1:80 | 00000000: 47 45 54 20 2f 65 76 6f 78 2f 61 62 6f 75 74 20 GET /evox/about 
00000010: 48 54 54 50 2f 31 2e 31 0d 0a 48 6f 73 74 3a 20 HTTP/1.1  Host: 
00000020: 6c 6f 63 61 6c 68 6f 73 74 0d 0a 55 73 65 72 2d localhost  User-
00000030: 41 67 65 6e 74 3a 20 4d 6f 7a 69 6c 6c 61 2f 35 Agent: Mozilla/5
00000040: 2e 30 20 28 63 6f 6d 70 61 74 69 62 6c 65 3b 20 .0 (compatible; 
00000050: 4e 6d 61 70 20 53 63 72 69 70 74 69 6e 67 20 45 Nmap Scripting E
00000060: 6e 67 69 6e 65 3b 20 68 74 74 70 73 3a 2f 2f 6e ngine; https://n
00000070: 6d 61 70 2e 6f 72 67 2f 62 6f 6f 6b 2f 6e 73 65 map.org/book/nse
00000080: 2e 68 74 6d 6c 29 0d 0a 43 6f 6e 6e 65 63 74 69 .html)  Connecti
00000090: 6f 6e 3a 20 63 6c 6f 73 65 0d 0a 0d 0a          on: close    

NSOCK INFO [6.4160s] nsock_write(): Write request for 157 bytes to IOD #5 EID 115 [127.0.0.1:80]
NSOCK INFO [6.4160s] nsock_trace_handler_callback(): Callback: READ SUCCESS for EID 106 [127.0.0.1:80] (451 bytes)
NSE: TCP 127.0.0.1:49388 < 127.0.0.1:80 | 00000000: 48 54 54 50 2f 31 2e 31 20 34 30 34 20 4e 6f 74 HTTP/1.1 404 Not
00000010: 20 46 6f 75 6e 64 0d 0a 44 61 74 65 3a 20 53 61  Found  Date: Sa
00000020: 74 2c 20 32 30 20 4e 6f 76 20 32 30 32 31 20 31 t, 20 Nov 2021 1
00000030: 37 3a 34 31 3a 31 30 20 47 4d 54 0d 0a 53 65 72 7:41:10 GMT  Ser
00000040: 76 65 72 3a 20 41 70 61 63 68 65 2f 32 2e 34 2e ver: Apache/2.4.
00000050: 35 31 20 28 44 65 62 69 61 6e 29 0d 0a 43 6f 6e 51 (Debian)  Con
00000060: 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 32 37 31 tent-Length: 271
00000070: 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63 6c   Connection: cl
00000080: 6f 73 65 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 ose  Content-Typ
00000090: 65 3a 20 74 65 78 74 2f 68 74 6d 6c 3b 20 63 68 e: text/html; ch
000000a0: 61 72 73 65 74 3d 69 73 6f 2d 38 38 35 39 2d 31 arset=iso-8859-1
000000b0: 0d 0a 0d 0a 3c 21 44 4f 43 54 59 50 45 20 48 54     <!DOCTYPE HT
000000c0: 4d 4c 20 50 55 42 4c 49 43 20 22 2d 2f 2f 49 45 ML PUBLIC "-//IE
000000d0: 54 46 2f 2f 44 54 44 20 48 54 4d 4c 20 32 2e 30 TF//DTD HTML 2.0
000000e0: 2f 2f 45 4e 22 3e 0a 3c 68 74 6d 6c 3e 3c 68 65 //EN"> <html><he
000000f0: 61 64 3e 0a 3c 74 69 74 6c 65 3e 34 30 34 20 4e ad> <title>404 N
00000100: 6f 74 20 46 6f 75 6e 64 3c 2f 74 69 74 6c 65 3e ot Found</title>
00000110: 0a 3c 2f 68 65 61 64 3e 3c 62 6f 64 79 3e 0a 3c  </head><body> <
00000120: 68 31 3e 4e 6f 74 20 46 6f 75 6e 64 3c 2f 68 31 h1>Not Found</h1
00000130: 3e 0a 3c 70 3e 54 68 65 20 72 65 71 75 65 73 74 > <p>The request
00000140: 65 64 20 55 52 4c 20 77 61 73 20 6e 6f 74 20 66 ed URL was not f
00000150: 6f 75 6e 64 20 6f 6e 20 74 68 69 73 20 73 65 72 ound on this ser
00000160: 76 65 72 2e 3c 2f 70 3e 0a 3c 68 72 3e 0a 3c 61 ver.</p> <hr> <a
00000170: 64 64 72 65 73 73 3e 41 70 61 63 68 65 2f 32 2e ddress>Apache/2.
00000180: 34 2e 35 31 20 28 44 65 62 69 61 6e 29 20 53 65 4.51 (Debian) Se
00000190: 72 76 65 72 20 61 74 20 6c 6f 63 61 6c 68 6f 73 rver at localhos
000001a0: 74 20 50 6f 72 74 20 38 30 3c 2f 61 64 64 72 65 t Port 80</addre
000001b0: 73 73 3e 0a 3c 2f 62 6f 64 79 3e 3c 2f 68 74 6d ss> </body></htm
000001c0: 6c 3e 0a                                        l> 

NSOCK INFO [6.4160s] nsock_trace_handler_callback(): Callback: WRITE SUCCESS for EID 115 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49390 > 127.0.0.1:80 | SEND
NSE: TCP 127.0.0.1:49388 > 127.0.0.1:80 | CLOSE
NSOCK INFO [6.4170s] nsock_iod_delete(): nsock_iod_delete (IOD #4)
NSOCK INFO [6.4170s] nsock_read(): Read request from IOD #5 [127.0.0.1:80] (timeout: 7000ms) EID 122
NSOCK INFO [6.4170s] nsock_trace_handler_callback(): Callback: READ SUCCESS for EID 122 [127.0.0.1:80] (451 bytes)
NSE: TCP 127.0.0.1:49390 < 127.0.0.1:80 | 00000000: 48 54 54 50 2f 31 2e 31 20 34 30 34 20 4e 6f 74 HTTP/1.1 404 Not
00000010: 20 46 6f 75 6e 64 0d 0a 44 61 74 65 3a 20 53 61  Found  Date: Sa
00000020: 74 2c 20 32 30 20 4e 6f 76 20 32 30 32 31 20 31 t, 20 Nov 2021 1
00000030: 37 3a 34 31 3a 31 30 20 47 4d 54 0d 0a 53 65 72 7:41:10 GMT  Ser
00000040: 76 65 72 3a 20 41 70 61 63 68 65 2f 32 2e 34 2e ver: Apache/2.4.
00000050: 35 31 20 28 44 65 62 69 61 6e 29 0d 0a 43 6f 6e 51 (Debian)  Con
00000060: 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 32 37 31 tent-Length: 271
00000070: 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63 6c   Connection: cl
00000080: 6f 73 65 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 ose  Content-Typ
00000090: 65 3a 20 74 65 78 74 2f 68 74 6d 6c 3b 20 63 68 e: text/html; ch
000000a0: 61 72 73 65 74 3d 69 73 6f 2d 38 38 35 39 2d 31 arset=iso-8859-1
000000b0: 0d 0a 0d 0a 3c 21 44 4f 43 54 59 50 45 20 48 54     <!DOCTYPE HT
000000c0: 4d 4c 20 50 55 42 4c 49 43 20 22 2d 2f 2f 49 45 ML PUBLIC "-//IE
000000d0: 54 46 2f 2f 44 54 44 20 48 54 4d 4c 20 32 2e 30 TF//DTD HTML 2.0
000000e0: 2f 2f 45 4e 22 3e 0a 3c 68 74 6d 6c 3e 3c 68 65 //EN"> <html><he
000000f0: 61 64 3e 0a 3c 74 69 74 6c 65 3e 34 30 34 20 4e ad> <title>404 N
00000100: 6f 74 20 46 6f 75 6e 64 3c 2f 74 69 74 6c 65 3e ot Found</title>
00000110: 0a 3c 2f 68 65 61 64 3e 3c 62 6f 64 79 3e 0a 3c  </head><body> <
00000120: 68 31 3e 4e 6f 74 20 46 6f 75 6e 64 3c 2f 68 31 h1>Not Found</h1
00000130: 3e 0a 3c 70 3e 54 68 65 20 72 65 71 75 65 73 74 > <p>The request
00000140: 65 64 20 55 52 4c 20 77 61 73 20 6e 6f 74 20 66 ed URL was not f
00000150: 6f 75 6e 64 20 6f 6e 20 74 68 69 73 20 73 65 72 ound on this ser
00000160: 76 65 72 2e 3c 2f 70 3e 0a 3c 68 72 3e 0a 3c 61 ver.</p> <hr> <a
00000170: 64 64 72 65 73 73 3e 41 70 61 63 68 65 2f 32 2e ddress>Apache/2.
00000180: 34 2e 35 31 20 28 44 65 62 69 61 6e 29 20 53 65 4.51 (Debian) Se
00000190: 72 76 65 72 20 61 74 20 6c 6f 63 61 6c 68 6f 73 rver at localhos
000001a0: 74 20 50 6f 72 74 20 38 30 3c 2f 61 64 64 72 65 t Port 80</addre
000001b0: 73 73 3e 0a 3c 2f 62 6f 64 79 3e 3c 2f 68 74 6d ss> </body></htm
000001c0: 6c 3e 0a                                        l> 

NSE: TCP 127.0.0.1:49390 > 127.0.0.1:80 | CLOSE
NSOCK INFO [6.4170s] nsock_iod_delete(): nsock_iod_delete (IOD #5)
NSOCK INFO [6.4170s] nsock_iod_new2(): nsock_iod_new (IOD #6)
NSOCK INFO [6.4180s] nsock_connect_tcp(): TCP connection requested to 127.0.0.1:80 (IOD #6) EID 128
NSOCK INFO [6.4180s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 128 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49392 > 127.0.0.1:80 | CONNECT
NSE: TCP 127.0.0.1:49392 > 127.0.0.1:80 | 00000000: 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 30 0d 0a GET / HTTP/1.0  
00000010: 0d 0a                                             

NSOCK INFO [6.4180s] nsock_write(): Write request for 18 bytes to IOD #6 EID 139 [127.0.0.1:80]
NSOCK INFO [6.4180s] nsock_trace_handler_callback(): Callback: WRITE SUCCESS for EID 139 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49392 > 127.0.0.1:80 | SEND
NSOCK INFO [6.4180s] nsock_read(): Read request from IOD #6 [127.0.0.1:80] (timeout: 7000ms) EID 146
NSOCK INFO [6.4180s] nsock_trace_handler_callback(): Callback: READ SUCCESS for EID 146 [127.0.0.1:80] (423 bytes)
NSE: TCP 127.0.0.1:49392 < 127.0.0.1:80 | 00000000: 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d HTTP/1.1 200 OK 
00000010: 0a 44 61 74 65 3a 20 53 61 74 2c 20 32 30 20 4e  Date: Sat, 20 N
00000020: 6f 76 20 32 30 32 31 20 31 37 3a 34 31 3a 31 30 ov 2021 17:41:10
00000030: 20 47 4d 54 0d 0a 53 65 72 76 65 72 3a 20 41 70  GMT  Server: Ap
00000040: 61 63 68 65 2f 32 2e 34 2e 35 31 20 28 44 65 62 ache/2.4.51 (Deb
00000050: 69 61 6e 29 0d 0a 4c 61 73 74 2d 4d 6f 64 69 66 ian)  Last-Modif
00000060: 69 65 64 3a 20 53 61 74 2c 20 32 30 20 4e 6f 76 ied: Sat, 20 Nov
00000070: 20 32 30 32 31 20 31 37 3a 34 30 3a 33 39 20 47  2021 17:40:39 G
00000080: 4d 54 0d 0a 45 54 61 67 3a 20 22 39 39 2d 35 64 MT  ETag: "99-5d
00000090: 31 33 62 65 33 64 39 62 32 66 36 22 0d 0a 41 63 13be3d9b2f6"  Ac
000000a0: 63 65 70 74 2d 52 61 6e 67 65 73 3a 20 62 79 74 cept-Ranges: byt
000000b0: 65 73 0d 0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 es  Content-Leng
000000c0: 74 68 3a 20 31 35 33 0d 0a 56 61 72 79 3a 20 41 th: 153  Vary: A
000000d0: 63 63 65 70 74 2d 45 6e 63 6f 64 69 6e 67 0d 0a ccept-Encoding  
000000e0: 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63 6c 6f 73 Connection: clos
000000f0: 65 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a e  Content-Type:
00000100: 20 74 65 78 74 2f 68 74 6d 6c 0d 0a 0d 0a 3c 21  text/html    <!
00000110: 44 4f 43 54 59 50 45 20 68 74 6d 6c 3e 0a 3c 68 DOCTYPE html> <h
00000120: 74 6d 6c 3e 0a 20 20 3c 68 65 61 64 3e 0a 20 20 tml>   <head>   
00000130: 20 20 3c 6d 65 74 61 20 63 68 61 72 73 65 74 3d   <meta charset=
00000140: 22 75 74 66 2d 38 22 3e 0a 20 20 20 20 3c 74 69 "utf-8">     <ti
00000150: 74 6c 65 3e 66 6f 6f 3c 2f 74 69 74 6c 65 3e 0a tle>foo</title> 
00000160: 20 20 3c 2f 68 65 61 64 3e 0a 20 20 3c 62 6f 64   </head>   <bod
00000170: 79 3e 0a 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 y>     <p>      
00000180: 20 68 65 6c 6c 6f 20 6e 6d 61 70 0a 20 20 20 20  hello nmap     
00000190: 3c 2f 70 3e 0a 20 20 3c 2f 62 6f 64 79 3e 0a 3c </p>   </body> <
000001a0: 2f 68 74 6d 6c 3e 0a                            /html> 

NSE: TCP 127.0.0.1:49392 > 127.0.0.1:80 | CLOSE
NSOCK INFO [6.4190s] nsock_iod_delete(): nsock_iod_delete (IOD #6)
NSOCK INFO [6.4190s] nsock_iod_new2(): nsock_iod_new (IOD #7)
NSOCK INFO [6.4190s] nsock_connect_tcp(): TCP connection requested to 127.0.0.1:80 (IOD #7) EID 152
NSOCK INFO [6.4190s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 152 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49394 > 127.0.0.1:80 | CONNECT
NSE: TCP 127.0.0.1:49394 > 127.0.0.1:80 | 00000000: 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 31 0d 0a GET / HTTP/1.1  
00000010: 48 6f 73 74 3a 20 6c 6f 63 61 6c 68 6f 73 74 0d Host: localhost 
00000020: 0a 0d 0a                                           

NSOCK INFO [6.4190s] nsock_write(): Write request for 35 bytes to IOD #7 EID 163 [127.0.0.1:80]
NSOCK INFO [6.4190s] nsock_trace_handler_callback(): Callback: WRITE SUCCESS for EID 163 [127.0.0.1:80]
NSE: TCP 127.0.0.1:49394 > 127.0.0.1:80 | SEND
NSOCK INFO [6.4190s] nsock_read(): Read request from IOD #7 [127.0.0.1:80] (timeout: 7000ms) EID 170
NSOCK INFO [6.4190s] nsock_trace_handler_callback(): Callback: READ SUCCESS for EID 170 [127.0.0.1:80] (404 bytes)
NSE: TCP 127.0.0.1:49394 < 127.0.0.1:80 | 00000000: 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d HTTP/1.1 200 OK 
00000010: 0a 44 61 74 65 3a 20 53 61 74 2c 20 32 30 20 4e  Date: Sat, 20 N
00000020: 6f 76 20 32 30 32 31 20 31 37 3a 34 31 3a 31 30 ov 2021 17:41:10
00000030: 20 47 4d 54 0d 0a 53 65 72 76 65 72 3a 20 41 70  GMT  Server: Ap
00000040: 61 63 68 65 2f 32 2e 34 2e 35 31 20 28 44 65 62 ache/2.4.51 (Deb
00000050: 69 61 6e 29 0d 0a 4c 61 73 74 2d 4d 6f 64 69 66 ian)  Last-Modif
00000060: 69 65 64 3a 20 53 61 74 2c 20 32 30 20 4e 6f 76 ied: Sat, 20 Nov
00000070: 20 32 30 32 31 20 31 37 3a 34 30 3a 33 39 20 47  2021 17:40:39 G
00000080: 4d 54 0d 0a 45 54 61 67 3a 20 22 39 39 2d 35 64 MT  ETag: "99-5d
00000090: 31 33 62 65 33 64 39 62 32 66 36 22 0d 0a 41 63 13be3d9b2f6"  Ac
000000a0: 63 65 70 74 2d 52 61 6e 67 65 73 3a 20 62 79 74 cept-Ranges: byt
000000b0: 65 73 0d 0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 es  Content-Leng
000000c0: 74 68 3a 20 31 35 33 0d 0a 56 61 72 79 3a 20 41 th: 153  Vary: A
000000d0: 63 63 65 70 74 2d 45 6e 63 6f 64 69 6e 67 0d 0a ccept-Encoding  
000000e0: 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 74 65 Content-Type: te
000000f0: 78 74 2f 68 74 6d 6c 0d 0a 0d 0a 3c 21 44 4f 43 xt/html    <!DOC
00000100: 54 59 50 45 20 68 74 6d 6c 3e 0a 3c 68 74 6d 6c TYPE html> <html
00000110: 3e 0a 20 20 3c 68 65 61 64 3e 0a 20 20 20 20 3c >   <head>     <
00000120: 6d 65 74 61 20 63 68 61 72 73 65 74 3d 22 75 74 meta charset="ut
00000130: 66 2d 38 22 3e 0a 20 20 20 20 3c 74 69 74 6c 65 f-8">     <title
00000140: 3e 66 6f 6f 3c 2f 74 69 74 6c 65 3e 0a 20 20 3c >foo</title>   <
00000150: 2f 68 65 61 64 3e 0a 20 20 3c 62 6f 64 79 3e 0a /head>   <body> 
00000160: 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 68 65     <p>       he
00000170: 6c 6c 6f 20 6e 6d 61 70 0a 20 20 20 20 3c 2f 70 llo nmap     </p
00000180: 3e 0a 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 >   </body> </ht
00000190: 6d 6c 3e 0a                                     ml> 

NSE: TCP 127.0.0.1:49394 > 127.0.0.1:80 | CLOSE
NSOCK INFO [6.4190s] nsock_iod_delete(): nsock_iod_delete (IOD #7)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000066s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 999 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.4.51 ((Debian))

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.45 seconds

Apachen access.log tallentui tieto versioskannauksesta

$ cat /var/log/apache2/access.log
...
127.0.0.1 - - [20/Nov/2021:19:41:10 +0200] "GET / HTTP/1.0" 200 423 "-" "-"
127.0.0.1 - - [20/Nov/2021:19:41:10 +0200] "GET /nmaplowercheck1637430070 HTTP/1.1" 404 451 "-" "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)"
127.0.0.1 - - [20/Nov/2021:19:41:10 +0200] "GET / HTTP/1.0" 200 423 "-" "-"
127.0.0.1 - - [20/Nov/2021:19:41:10 +0200] "POST /sdk HTTP/1.1" 404 451 "-" "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)"
127.0.0.1 - - [20/Nov/2021:19:41:10 +0200] "GET /HNAP1 HTTP/1.1" 404 451 "-" "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)"
127.0.0.1 - - [20/Nov/2021:19:41:10 +0200] "GET /evox/about HTTP/1.1" 404 451 "-" "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)"
127.0.0.1 - - [20/Nov/2021:19:41:10 +0200] "GET / HTTP/1.0" 200 423 "-" "-"
127.0.0.1 - - [20/Nov/2021:19:41:10 +0200] "GET / HTTP/1.1" 200 404 "-" "-"

e) Mitkä ovat tavallisimmat tai kiinnostavimmat palvelut, joita UDP-skannauksella voisi löytää? (tässä alakohdassa vain vastaus viitteineen, ei tarvita testiä tietokoneella)

Yleisiä ja käytettyjä UDP-portteja ovat:

f) Miksi UDP-skannaus on hankalaa ja epäluotettavaa? Miksi UDP-skannauksen kanssa kannattaa käyttää –reason flagia? (tässä alakohdassa vain vastaus viitteineen, ei tarvita testiä tietokoneella)

UDP skannauksessa jokaiseen porttiin lähetetään, usein tyhjä, UDP paketti, eikä portti tällaisissa tilanteissa vastaa ollenkaan. Tämän vuoksi skannauksen tulos kyseiseen porttiin on “open|filtered”. Tällainen tulos ei juuri hyödytä. Sellaiset UDP-portit, joihin ei lähde tyhjää pakettia, voivat antaa tilakseen “open”. UDP-skannaus on myös hyvin hidasta verrattuna TCP-skannaukseen.

Vipu --reason antaa tarkempaa tietoa kohdekoneen antamasta vastauksesta kuten kohdeportin vastaanottamasta paketista. Kyseinen tieto annetaan myös -d debug-vivulla.

Aktiivista tiedustelua. Mihin tämä työkalu on tarkoitettu? Kokeile tätä työkalua omaan harjoitusmaaliin ja selitä tulokset:

h) ffuf (hakemistojen kokeilu riittää, vapaaehtoisena bonuksena muutakin)

Aluksi piti ottaa selvää mitä fuzzing tarkoittaa.

Fuzzing is the art of automatic bug detection. The goal of fuzzing is to stress the application and cause unexpected behavior, resource leaks, or crashes. 

The process involves throwing invalid, unexpected, or random data as inputs at a computer. Fuzzers repeat this process and monitor the environment until they detect a vulnerability. 

Threat actors use fuzzing to find zero-day exploits – this is known as a fuzzing attack. Security professionals, on the other hand, leverage fuzzing techniques to assess the security and stability of applications.

Nera Besic

Web-applikaatioiden stressitestaamista, bugien etsimistä ja nollapäivähaavoittuvuuksien löytämistä. Tein testisivun, jota voin ffufilla testata.

$ mkdir /home/sami/public_html
$ cd /home/sami/public_html
$ nano index.html
...
$ nano about.html
...
$ nano contact.html
...
$ nano login.html
...
$ sudo a2enmod userdir
$ sudo systemctl restart apache2.service
Testisivut

Seurasin Codingon Your First Directory Brute Force ohjeita.

Loin tiedoston ja listasin siihen sanoja, joita testissä käytetään. Tarkoituksena on löytää sivu, jolle vierailevan kävijän ei ole tarkoitus mennä ja jonne ei käyttöliittymässä ole suoraa linkkiä.

$ nano wordlist.txt 
user
admin
adminlogin
admin-panel
panel
login

Syötin ffufille kaksi argumenttia: -u kohdesivu ja -w polku sanalistaan. Avainsana FUZZ lisätään kohtaan, jota testataan.

$ ffuf -u http://localhost/~sami/FUZZ.html -w ./wordlist.txt

FFUZ löysi sanalistalta löytyvän sanan, joka johdattaa ylläpitäjän login-sivulle.

i) nikto

Niktolla testataan web-palvelimien haavoittuvuuksia, kuten vanhentuneita ja heikkoja versioita sekä palvelinten toleranssia haitallisia tiedostoja ja ohjelmia vastaan. Nikto myös testaa palvelinten konfiguroinnin mahdollisten virheiden varalta. Nikto tulee valmiiksi asennettuna Kalin mukana.

Yksinkertaisin Nikton käyttötapa on skannata sivusto kokonaisuudessaan vivulla -host.

$ nikto -host http://localhost/~sami

Nikto tulosti raportin löytämistään haavoittuvuuksista ja heikkouksista.

Nikton raportti

Yllätykseksi huomasin, että näinkin äärimmäisen pieni esimerkki testisivusto kätkee sisälleen monia huomautuksen arvoisia kohtia. Nikto mm. huomasi edellisen FFUF tehtävän aikana luoman login.html sivun, joka oikeassa hyökkäystilanteessa olisi hyökkääjän ensimmäisiä kohteita.

asdf

j) Pizza fantasia: jokin valitsemasi tiedustelutyökalu, esimerkiksi EyeWitness, wpscan, openvas tai jokin muu

cewl (custom world list generator) kerää ja listaa annetulta sivustolta sanat ja luo niille tiedoston. Tätä tiedostoa voidaan käyttää hyväksi salasanojen murtamiseen. cewlillä voidaan kerätä myös sähköpostiosoitteita, joita voidaan käyttää käyttäjäniminä brute force hyökkäyksissä. cewl tulee valmiiksiasennettuna Kalissa.

Lisäsin testisivulleni sisältöä puppulausegeneraattorilla ja katsoin lisää cewlistä videolta.

  • -m 4 minimissään nelikirjaimiset sanat
  • -w wordlist.txt kerätään sanat tiedostoon
  • kohde url
$ cewl -m 4 -w wordlist.txt http://localhost/~sami
cewlin output

Leave a Reply