pentest

View on GitHub

Home | Start | H1 | H2 | Lunch | H3 | 🐍🥣🦈 | H4 | 4real | H5 | MI6 | H6 | se7en | H7 | End | Dev doc | + |

H4 Tiedustelua

Aktiivinen tiedustelu (Active Recon)

Tehtävänanto: https://terokarvinen.com/2021/penetration-testing-course-2021-autumn/#h4-tiedustelua

Sisällysluettelo

z) Tiivistä

€ Santos et al: The Art of Hacking

https://learning.oreilly.com/videos/the-art-of/9780135767849/9780135767849-SPTT_04_00/

nmap -sT -t4 --open -p80,443 192.168.3.0/24
cat ip_list.txt
./EyeWitness.py --web -f ip_list.txt

Lyon 2009: Nmap Network Scanning: Chapter 1. Getting Started with Nmap

https://nmap.org/book/nmap-overview-and-demos.html Gordon Lyon aka Fyodor Vaskovich on kirjoittanut tuon menestyneen kirjan lisäksi nmapin.

Tapahtumaympäristö

Äänekäs skanni

Flägien selitteet

Tulokset, ensimmäinen kone

Nmap scan report for fw.corp.avataronline.com (6.209.24.1)
(The 65530 ports scanned but not shown below are in state: filtered)
PORT     STATE  SERVICE    VERSION
22/tcp   open   ssh        OpenSSH 3.7.1p2 (protocol 1.99)
| ssh-hostkey: 1024 7c:14:2f:92:ca:61:90:a4:11:3c:47:82:d5:8e:a9:6b (DSA)
|_2048 41:cf7d:839d:7f66:0ae1:8331:7fd4:5a97:5a (RSA)
|_sshv1: Server supports SSHv1
53/tcp   open   domain     ISC BIND 9.2.1
110/tcp  open   pop3       Courier pop3d
113/tcp  closed auth
143/tcp  open   imap       Courier Imap 1.6.X - 1.7.X
3128/tcp open   http-proxy Squid webproxy 2.2.STABLE5
Device type: general purpose
Running: Linux 2.4.X|2.5.X
OS details: Linux Kernel 2.4.0 - 2.5.20
Uptime 3.134 days

Ensimmäisen koneen analyysi

Tulokset, toinen kone

Nmap scan report for dhcp-23.corp.avataronline.com (6.209.24.23)
(The 65526 ports scanned but not shown below are in state: closed)
PORT      STATE    SERVICE       VERSION
135/tcp   filtered msrpc
136/tcp   filtered profile
137/tcp   filtered netbios-ns
138/tcp   filtered netbios-dgm
139/tcp   filtered netbios-ssn
445/tcp   open     microsoft-ds  Microsoft Windows XP microsoft-ds
1002/tcp  open     windows-icfw?
1025/tcp  open     msrpc         Microsoft Windows msrpc
16552/tcp open     unknown
Device type: general purpose
Running: Microsoft Windows NT/2K/XP
OS details: Microsoft Windows XP Professional RC1+ through final release

Host script results:
|_nbstat: NetBIOS name: TRACYD, NetBIOS user: <unknown>,  NetBIOS MAC: 00:20:35:00:29:a2:7f (IBM)
|_smbv2-enabled: Server doesn't support SMBv2 protocol
| smb-os-discovery:  
|   OS: Windows XP (Windows 2000 LAN Manager)
|_  Name: WORKGROUP\JOHND

Toisen koneen analyysi

Muu analyysi

Lopputulos

Matrix

Takaisin todellisuuteen

Lyon 2009: Nmap Network Scanning: Chapter 15

https://nmap.org/book/man.html Silmäile (ei tarvitse lukea kokonaan, 40 liuskaa pitkä)

Port Scanning Basics

https://nmap.org/book/man-port-scanning-basics.html opettele, mitä tarkoittavat: open, closed, filtered; muuten vain silmäily

Port Scanning Techniques

https://nmap.org/book/man-port-scanning-techniques.html (opettele, mitä ovat: -sS -sT -sU; muuten vain silmäily)

Man Nmap

Silmäile (ei tarvitse lukea kokonaan)

a) - m) Tee ja raportoi: Nmap

https://nmap.org/book/man-port-scanning-techniques.html 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öydy 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.

Alkutoimet

Käynnistetään harjoitteluympäristö: VB Host-only virtuaaliverkon koneet hyökkääjä Kali ja kohdemaalit NullByte ja Metasploitable2, ja katsotaan käynnistettäessä että kaikilla käytössä vain Host-only adapterit. Pingataan hyökkääjällä Googlea että ollaan varmasti irti Internetistä:

┌──(kali㉿kali)-[~]
└─$ ping 8.8.8.8      
ping: connect: Network is unreachable

tmux

https://www.man7.org/linux/man-pages/man1/tmux.1.html

Asennettuna valmiiksi Kalissa. Otetaan terminaalin monistaja tmux (terminal multiplexer) käyttöön:

tmux
#ctrl+b avaa alakulmaan komentokehotteen, bindataan ctrl+b viimeksikäytettyyn ikkunaan: 
:bind-key C-b last-window

Control+b

tmux komennot annettaan ctrl+b + komento, esim. kaikki pikanäppäinkomennot näkee ctrl+b ja ?, tai esim. sen hetkinen ikkuna jaetaan kahtia ctrl+b ja !. Komentoja on kymmenittäin, ne voi katsoa man tmux tai tmuxissa ctrl+b ja ? tai esim. ylläolevasta linkistä. Oleellista on että CTRL + b aktivoi tmuxin. Tmuxin voi myös splitata useaan rinnakkaiseen paneliin kuten terminaattorin, joka vaikuttaa tärkeältä tekemisen ymmärrettävyyden kannalta alkuvaiheessa itselleni. Splittaillaan Kalin terminaali neljään lohkoon tmuxilla, ctrl+b ja jakaa terminaalin vertikaalisesti, ctrl+b ja % horisontaalisesti, ja ctrl+b ja o vaihtaa paneelien välillä, ctrl+b ja ; palaa edelliseen paneeliin.

tmux panels.PNG

WireShark

https://www.wireshark.org/download/docs/Wireshark%20User%27s%20Guide.pdf

WireShark on asennettuna Kaliin sekä GUI että komentoriviversiona tshark. Käynnistetään WireShark GUI koska se vaikuttaa helpommalta hahmottaa aluksi. Ylläoleva PDF-manuaali vaikuttaa myös hyvältä verkkosivudokumentaatioihin verrattuna, selaimessa aukeavassa PDF:ssä mukavampi typografia ja laajeneva sivunavi, sekä koko 300+ sivuinen dokkari auki jos tarvitsee hakea jotain spesifiä findilla.

Avataan WireShark ja kaapataan “any” rajapinnasta. WireSharkin default on eth0, mutta meidän pitää kaapata sisäverkon liikennettä joten se ei sovellu. Huomataan heti alkuun että Kali lähettää DHCP requestin 192.168.233.2 koneelle joka vastaa DHCP ACK. Muistan että tuo kone oli yksi niistä netdiscovery skannauksen löytämistä. Kyseessä on siis ilmeisesti verkon DHCP-palvelin. Lisäksi ilman manuaalisesti generoitua liikennettä siellä näkyy menevän myös ARP verkkokysely kahdesta lähteestä jotka alkavat PcsCompu_. ARP-kyselyt kohdistuvat 192.168.233.2 DHCP palvelimeen.

Nauhoitus & skannaus

Että kaikkien tmux paneelien komennot ja tulosteet tulisivat nauhalle todennäköisesti nauhoitus olisi pitänyt aloittaa ennen multiplexaamista. Nauhoitetaan paneelien tulosteet omikseen kekseliäästi panel1-4 tiedostoihin, paneelit ylhäältä alas ja vasemmalta oikealle ja numeroiden (tässä järjestykssä tmux vaihtaa paneeleita ctrl+b ja o, koskan tässä järjestyksessä olin ne varmasti jakanut): script -fa panel1 jne.

John the Ripper harjoitusta tehdessä seurasin surullista opetusvideota missä opettajan piti tehdä jatkuvasti komentoja uudestaan koska hän ei tallentanut komentojen tulosteita mihinkään. Joskus huono esimerkki on vähintään yhtä opettavainen kuin hyvä.

Katsotaan toimiiko logiikka kuten ajattelin, ajetaan panel4:ssä ls | less ja nähdään että home-kansioon on tullut neljä uutta tiedostoa, mutta tsekataan onko niissä sama sisältö cat panel1 ja cat panel4. Panel1 tiedostoon ei ole tullut panel4:ssä ajettuja tiedostoja. Panel4 puolestaan menee ikuiseen looppiin koska se tulostaa sisältönsä ja lisää tulosteen sisältöön ja tulostaa sisältönsä ja lisää tulosteen sisältöön jne… whooops. Tapetaan se, tuhotaan se ja tehdään uusi samanniminen tiedosto ja aloitetaan alusta, koska logiikka toimi.

Sillä välin WS:ssä on lähtenyt ICMPv6 Router Solicitation MAC-osoitteesta toiseen, dokumentoin mahdollisia jatkoajatuksia varten.

Alright, tarkistetaan skannailtava verkko: nmap 192.168.233.0-255 -oA initialscan verkkopeite -255 muodossa ihan huvin ja urheilun kannalta. Avataan initialscannin tulokset cat initialscan.nmap | less.

Verkon asukkaat

a) nmap TCP connect scan -sT

https://nmap.org/book/man-port-scanning-techniques.html

Aloitetaan viimein harjoitukset. Luetaan mitä jo tiivistettiin TCP connect skannista:

Jatketaan skanneja tmuxin neljännessä paneelissa. Skannataan oletettua DHCP-palvelinta 192.168.233.2, DHCP käyttää tosin UDP-protokollaa, mutta kokeillaan.

$ nmap -sT 192.168.233.2
Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-20 08:22 EST
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 0.08 seconds

ja WireSharkissa:

10	507.231050340	192.168.233.5	192.168.233.2	TCP	76	50080 → 80 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM=1 TSval=963567443 TSecr=0 WS=128
11	507.231258921	192.168.233.2	192.168.233.5	ICMP	72	Destination unreachable (Protocol unreachable)
12	507.231314500	192.168.233.5	192.168.233.2	TCP	76	58774 → 443 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM=1 TSval=963567444 TSecr=0 WS=128
13	507.231404349	192.168.233.2	192.168.233.5	ICMP	72	Destination unreachable (Protocol unreachable)

Eli kohdetta ei tavoiteta ja Nmap ja WireShark antavat saman tuloksen.

No kokeillaan sitten jotain “järkevämpää”, skannataan Nullbyte 192.168.233.6 samalla tavalla. Nonniin, skannattavia porttejahan oli defaulttina se 1000 nmapissa ja siltä WireSharkin tulokset kieltämättä näyttävätkin. Selataan tulosten alkuun ja löydetään sieltä TCP-handshake HTTP:lle. Kokeillaan sama komento nyt porttispesifisti http 80 porttiin. Klikataan punaista neliötä WS:ssa ja lopetataan nauhoitus ja aloitetaan uusi klikkaamalla sinistä hain evää. Continue without saving menee without sanomattakin.

ws connect scan.PNG

Skannaus

nmap -sT 192.168.233.6 -p 80 -oA nmapConnectScan1

Tulokset

Nmap

│┌──(kali㉿kali)-[~]
│└─$ nmap -sT 192.168.233.6 -p 80 -oA nmapConnectScan1
│Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-20 08:42 EST
│Nmap scan report for 192.168.233.6
│Host is up (0.00061s latency).
│PORT   STATE SERVICE
│80/tcp open  http
│Nmap done: 1 IP address (1 host up) scanned in 13.09 seconds

WS

GUI WS:n tulosten järkevä tekstimuodossa copy-pastaaminen vaikuttaa sen verran työläältä että käytetään screenshottia.

Analyysi

Neljätoista riviä, joista porttiin 80 kohdistunut odotettu TCP-handshake tapahtuu riveillä 1, 3 ja 5.

  1. Kali lähettää TCP-yhteydenoton Nullbytelle [SYN]
  2. Vaikka spesifioin portin 80 nmap lähettää WS:n tokalla rivillä myös 443 TCP-handshaken ekan vaiheen [SYN]. Arvailua: tämä liittynee johonkin nmapin varmistukseen jos http-yhteydenotto ei mene läpi kokeilee kenties https:ää?
  3. Sitten Nullbyte vastaa ekaan porttiin 80 tulleeseen kyselyyn** [SYN, ACK]
  4. Porttiin 40296 RST, ACK Kalista Nullbyteen (???)
  5. Sitten Kali lähettää ACK eli kolmivaiheisen TCP-kättelyn vikan vaiheen Nullbytelle [ACK]
  6. RST, ACK Kalista Nullbytelle (???)
  7. ARP
  8. ARP
  9. ARP
  10. ARP
  11. TCP handshake käänteisesti Nullbytestä Kalille [SYN]
  12. -“- [SYN, ACK]
  13. -“- [ACK]
  14. RST, ACK Kalista Nullbytelle (???)

Rivit 4, 6 ja 14 jotka ovat RST, ACK Kalista Nullbyteen tai toistepäin, on värjätty punasella. ARP-kyselyt välissä on pinkillä. HTTPS-porttiin lähtenyt TCP eka vaihe on harmaalla. Ja varsinaiset TCP-handhaket vihreällä. Analyzy –> Expert Information värikoodit löytyvät kyllä manuaalista, mutta varsinaista selitystä näille pakettien väreille ei heti löydy.

Klikkaamalla WS:ssä yksittäisiä paketteja avautuu 3-5 pudotusvalikkoa paketista riippuen:

Nämä ovat OSI-layerin tai TCP/IP-pinon kerroksia. Alimpana on Ethernet-frame ja ylimpänä TCP-paketti. Linux cooked capture ja VSS Monitoring Ethernet trailer vaativat lähempää tutustumista.

Sama sudona

Muistetaan tässä vaiheessa että komennot piti ajaa sudona, kokeillaan uudestaan muuttuvatko tulokset (kyllä muuttuvat, kaikilta osin):

sudo nmap -sT 192.168.233.6 -p 80 -oA nmapConnectScan2

Tulokset & analyysi

Nmap

│┌──(kali㉿kali)-[~]
│└─$ sudo nmap -sT 192.168.233.6 -p 80 -oA nmapConnectScan2
│Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-20 10:50 EST
│Nmap scan report for 192.168.233.6
│Host is up (0.00039s latency).
│PORT   STATE SERVICE
│80/tcp open  http
│MAC Address: 08:00:27:FF:7E:C8 (Oracle VirtualBox virtual NIC)
│Nmap done: 1 IP address (1 host up) scanned in 13.18 seconds

Eli toisin kuin sudottomassa versiossa saadaan MAC-osoite.

WireShark

6 riviä aiempaan 14:sta verrattuna.

ws sudo connect scan.PNG

  1. Ensin ARP-kysely MAC-osoitteesta alkuosa PcsCompu_ joka on yhteistä kaikille VB-verkon laitteille ja loppuosa ifconfigin perusteella meikämandoliinon.
  2. Sitten vastaus yllä näkyvästä MAC-osoitteesta että ip kuuluu tälle laitteelle.
  3. Sitten TCP handshake, tässä hyökkääjä Kali terve [SYN]
  4. Terve tässä kohde Nullbyte, sain viestisi [SYN, ACK]
  5. Kali kuittaa [ACK]
  6. Vikalla rivillä jälleen [RST, ACK] Kalilta Nullbytelle, joka tarkoittaa että TCP sessio päättyy.

b) nmap TCP SYN scan -sS

Luetaan jälleen omat muistiinpanot ekana:

Aloitetaan tällä kertaa heti sudona ja yhteen porttiin. Eli sama maali kuin edellisessä, miten tulokset eroavat kiinnostaa.

sudo nmap -sS 192.168.233.6 -p 80 -oA nmapSynScan1

Nmap

Nmapin tulokset vastaavat täysin yhteydenottoskannauksen vastaavia, saamme portin tilan ja siellä pyörivän palvelun ja kohteen MAC-osoitteen, aikaakin kului suurinpiirtein saman verran, molemmat n. 13s.

WireShark

WS:n tulokset ovat riville 4 saakka samanlaisia, eli

c) nmap ping sweep -sn

https://linuxhint.com/nmap_ping_sweep/

Ping sweeppejähän ollaan tehty jo monta kertaa, tehdään sama uudestaan WireSharkilla seuraten mutta yhteen osoitteeseen ja analysoidaan tulokset.

Nmap

│┌──(kali㉿kali)-[~]
│└─$ sudo nmap -sn 192.168.233.6 -oA nmapSweep1
│[sudo] password for kali: 
│Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-20 11:44 EST
│Nmap scan report for 192.168.233.6
│Host is up (0.00083s latency).
│MAC Address: 08:00:27:FF:7E:C8 (Oracle VirtualBox virtual NIC)
│Nmap done: 1 IP address (1 host up) scanned in 13.14 seconds

WireShark

WireSharkissa näkyy vain aiemmista kohdista tuttu ARP-kysely Kalilta johon Nullbyte vastaa.

Samma på hel lokal nät

Tulokset olivat niin epäjännittäviä että tehdään sama uudestaan koko aliverkolle, kesto n. 15 sek.

│┌──(kali㉿kali)-[~]
│└─$ sudo nmap -sn 192.168.233.6-255 -oA nmapSweep2
│Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-20 11:52 EST
│Nmap scan report for 192.168.233.6
│Host is up (0.00024s latency).
│MAC Address: 08:00:27:FF:7E:C8 (Oracle VirtualBox virtual NIC)
│Nmap scan report for 192.168.233.7
│Host is up (0.00026s latency).
│MAC Address: 0A:00:27:00:00:08 (Unknown)
│Nmap done: 250 IP addresses (2 hosts up) scanned in 14.95 seconds

No nyt rupesi jännittämään: Metasploitablea ei löydy .3:sta ja uusi .7 osoite ilmestynyt. The. What. Hups, väärä osoiteavaruus! verkon loppu .6-255 –> oikeaan .0-255 muotoon ja uudestaan. Maksaisikohan tällainen pieni nro-virhe tosimaailmassa testausta suorittaessa työpaikan, vapauden ja paljon rahaa? Ehkäpä siirrytään takaisin käyttämään aliverkkopeitteitä CIDR-notaatiossa ipv4/n.

Nmap

Kokeillaan uudestaan:

│Nmap scan report for 192.168.233.2
│Host is up (0.00046s latency).
│MAC Address: 08:00:27:AA:79:EC (Oracle VirtualBox virtual NIC)
│Nmap scan report for 192.168.233.3
│Host is up (0.00025s latency).
│MAC Address: 08:00:27:9E:70:CB (Oracle VirtualBox virtual NIC)
│Nmap scan report for 192.168.233.6
│Host is up (0.0013s latency).
│MAC Address: 08:00:27:FF:7E:C8 (Oracle VirtualBox virtual NIC)
│Nmap scan report for 192.168.233.7
│Host is up (0.00019s latency).
│MAC Address: 0A:00:27:00:00:08 (Unknown)
│Nmap scan report for 192.168.233.5
│Host is up.
│Nmap done: 256 IP addresses (5 hosts up) scanned in 28.07 seconds

Tulokset ovat kiinnostavia koska -sn flägillä nmap kykenee löytämään DHCP-palvelimen (192.168.233.2) ja tuntemattoman .7 palvelimen jota jo ennätimme kauhistella ylempänä. Tämähän vastaa netdiscovery komennon tuloksia, että nyt löytyy näitä VB:n ja sisäverkon toimintaan liittyviä palvelimia päällä olevien kolmen virtuaalikoneen lisäksi.

WireShark

WS näkyy 520 riviä ARP-kyselyitä. Vastauksia lukuunottamatta sourcena on Kali. Host 192.168.233.7 pyydetään kertomaan monta kertaa ja monta kertaa se myös kuittaa itsensä Kalille.

d) nmap don’t ping -Pn

No ping sweep skannaa portit mutta ei tarkista onko ne verkossa eikä pingaa niitä eikä odota vastauksia. Koska kokeilee portteja ajetaan vain Metasploitablea vastaan.

nmap -Pn 192.168.233.3 -oA nmapNoPing2 

Vastauksena saadaan terminaalissa tuttu listaus toistakymmentä Metasploitable2:sen palveluja open statuksella, mutta WireSharkin 2025 riviä ovat kiinnostavampia.

e) nmap version detection -sV

esimerkki yhdestä palvelusta yhdessä portissa riittää

Version tunnistus. Palataan Nullbyten skannailuun ja ajetaan Nullbyten http:tä vastaan, jonka versio on edellisissä skanneissa jäänyt tunnistamatta.

Nmap

│┌──(kali㉿kali)-[~]
│└─$ sudo nmap -sV 192.168.233.6 -p 80 -oA nmapVdetect1
│[sudo] password for kali: 
│Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-20 15:45 EST
│Nmap scan report for 192.168.233.6
│Host is up (0.00037s latency).
│PORT   STATE SERVICE VERSION
│80/tcp open  http    Apache httpd 2.4.10 ((Debian))
│MAC Address: 08:00:27:FF:7E:C8 (Oracle VirtualBox virtual NIC)
│Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
│Nmap done: 1 IP address (1 host up) scanned in 19.92 seconds

WireShark

ws version detection.PNG

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

Skannataan jälleen Metasploitablea koska siellä enempi portteja auki.

│└─$ sudo nmap 192.168.233.3 -p1-100 -oA nmapPortSel1     
│Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-20 16:07 EST
│Nmap scan report for 192.168.233.3
│Host is up (0.00036s latency).
│Not shown: 94 closed ports
│PORT   STATE SERVICE
│21/tcp open  ftp
│22/tcp open  ssh
│23/tcp open  telnet
│25/tcp open  smtp
│53/tcp open  domain
│80/tcp open  http
│MAC Address: 08:00:27:9E:70:CB (Oracle VirtualBox virtual NIC)│
│Nmap done: 1 IP address (1 host up) scanned in 13.24 seconds

Skannaa selvästi vain portit 100 asti koska loput Metasploitablen tunnistetut portit puuttuvat listasta. WS alkaa jälleen ARP-kyselyllä. Nmap ei tee kyselyitä järjestyksessä yhdestä sataan vaan täysin mielivaltaisesti, todennäköisesti palveluiden yleisyyteen perustuen. Ensin tervehditään 80, sitten 23, 25, 21, 22 ja 53. Kaikki yleisiä tuttuja portteja.

Haetaan vahvistusta hypoteesille kysymällä 5 suosituinta porttia:

│└─$ sudo nmap 192.168.233.3 --top-ports 5 -oA nmapTopPorts5
│Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-20 16:16 EST
│Nmap scan report for 192.168.233.3
│Host is up (0.00035s latency).
│PORT    STATE  SERVICE
│21/tcp  open   ftp
│22/tcp  open   ssh
│23/tcp  open   telnet
│80/tcp  open   http
│443/tcp closed https
│MAC Address: 08:00:27:9E:70:CB (Oracle VirtualBox virtual NIC)
│Nmap done: 1 IP address (1 host up) scanned in 13.23 seconds

Eli sama listaus https:ää lukuuntottamatta, mutta sehän on 443 joka on enemmän kuin 100. Joten selvästi hypoteesi piti paikkansa, portteja tervehditään suosituimmuusjärjestyksessä.

WS tuottaa 20 riviä ja alkaa ARP-keselyllä ja sisältää myös ARP-kyselyn DHCP-palvelimelle 192.168.233.2 ja DHCP-paketin DHCP-palvelimelle ja takaisin. Ajetaan sama komento uudestaan onko kyseessä ihan tarkoituksenmukainen toiminto. Nyt tuo DHCP-pakettien lähettely uupuu joten se oli vain ilmeisesti sattuma nauhoituksessa, ARP-kyselyt pysyvät samoina.

Loput paketit ovat TCP-paketteja [SYN], [SYN, ACK], [RST, ACK] ja [RST ] mutta ei pelkkä [ACK] ja tästä voimme päätellä että TCP-kättelyä ei saateta loppuun.

Kaikki portit

Vielä lopuksi skannataan kaikki Metasploitablen portit:

sudo nmap 192.168.233.3 -p- -oA nmapAllPorts

Tulokset ovat mielenkiintoisia sillä jos katsotaan 1000 tunnetuinta porttia skannaukset Metasploitablelle ja verrataan tuloksia huomataan että avonaisia portteja löytyy vielä enemmän kuin aluksi skannattiin. WireShark kertoo että paketteja on lähetetty skannauksessa yli 13 tuhatta.

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) https://www.digitalocean.com/community/tutorials/understanding-ip-addresses-subnets-and-cidr-notation-for-networking

Aloitetaan uusi työpäivä. Päästetään Kali tässä vaiheessa nettiin ipcalcin hakemiseksi muiden koneiden ja host-only verkkokortin ollessa pois päältä. Aiemmin ollaan käytetty verkkopalveluita ip:den laskemiseen mutta katsotaan tarjoaako ipcalc jotain uutta. Ollaan myös jo kokeiltu kantapään kautta että väärä ip-osoite mutta verkkomaski CIDR-notaatiossa antaa nmapilla samat tulokset kuin oikea alku- ja loppuosoite, mutta väärä alkuosoite ei. Joten pääteltiin että turvallisempaa käyttää CIDR-notaatiota jos tekee virheen IP:ssä.

sudo apt-get update
sudo apt-get install ipcalc -y

Ja sitten Kali irti netistä. Katsotaan että kaikilla koneilla on host-only adapteri käytössä ja käynnistetään jälleen Kali ja kohteet Nullbyte & Metasploitable. Ei vara venettä kaada ping 8.8.8.8 unreachable hyvä.

Eli ilmeisesti tarkoitus tässä tehtävässä on vain laskea verkko eikä käyttää sitä nmapilla. Lasketaan verkko neljällä tavalla (päädyttiin kokeilemaan useampaa, tulokset alla): oikein ja väärin sekä CIDR-notaatiolla että alku- ja loppuosoitteella.

Oikein verkkomaski CIDR-notaatiolla

└─$ ipcalc 192.168.233.0/24                                                                                                                                           
Address:   192.168.233.0        11000000.10101000.11101001. 00000000
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   192.168.233.0/24     11000000.10101000.11101001. 00000000
HostMin:   192.168.233.1        11000000.10101000.11101001. 00000001
HostMax:   192.168.233.254      11000000.10101000.11101001. 11111110
Broadcast: 192.168.233.255      11000000.10101000.11101001. 11111111
Hosts/Net: 254                   Class C, Private Internet

Väärin verkkomaski CIDR-notaatiolla

Tulokset ovat samat komento ja Address pl. mutta verkon koko ja min ja max pysyvät samoina.

└─$ ipcalc 192.168.233.5/24
Address:   192.168.233.5        11000000.10101000.11101001. 00000101
... # samat tulokset

Väärin verkkomaski desimaalimuodossa 255.255.255.0

Sama tulos ylläolevaan komennon muoto pl.

└─$ ipcalc 192.168.233.5/255.255.255.0
... # samat tulokset

Oikein alku- ja loppuosoitteella

Huomataan että ipcalc ei hyväksy nmapin hyväksymää muotoa: 192.168.233.0-255. Ipcalc haluaa oikean alku- ja loppuosoitteen, joka kuulostaa turvallisemmalta kuin seuraavat n-osoitetta mikä ilmeisesti on nmapin logiikka? Koeillaan:

└─$ ipcalc 192.168.233.0 192.168.233.255
INVALID NETMASK
INVALID MASK1:   192.168.233.255

Binääri ja hexadesimaalimuodossa

Ei, selviää että ipcalc laskee verkkomaskeja, ja tarvitsee verkkomaskin, ei ip-rangea. Verkkomaski voitaisiin varmaan antaa ipcalcille vielä ainakin binäärimuodossa ja mahdollisesti hexadesimaaleina https://www.pawprint.net/designresources/netmask-converter.php. Kokeillaan. Binääri ei mene läpi yhteen pötköön eikä pisteillä eroteltuna, mutta hexadesimaalit toimivat: ipcalc 192.168.233.0/0xffffff00, tulokset samat kuin yllä.

Nmap & WS

Vilkaistaan vielä mitä nmap todella tekee kun sille antaa väärän ip-rangen.

└─$ nmap 192.168.233.5-255                     
Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-21 06:43 EST
Nmap scan report for 192.168.233.5
Host is up (0.00096s latency).
All 1000 scanned ports on 192.168.233.5 are closed
Nmap scan report for 192.168.233.6
Host is up (0.0010s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
80/tcp  open  http
111/tcp open  rpcbind
777/tcp open  multiling-http
Nmap done: 251 IP addresses (2 hosts up) scanned in 16.33 seconds

Ensin se tekee ARP-kyselyitä ja aloittaa kuten arvattiin seuraavana tulevasta koneesta 192.168.233.6. Katsotaan mikä on viimeinen kysely, sen pitäisi olla että pysyisimme omalla verkkoalueellamme aiempien tulosten HostMax: 192.168.233.254. Ja se se vaikuttaa olevan nopealla silmäilyllä.

ip range 255.PNG

Luetaan vielä nmapin ip-rangeista mitä -255 todella tarkoittaa: https://nmap.org/book/man-target-specification.html

CIDR notation is short but not always flexible enough. For example, you might want to scan 192.168.0.0/16 but skip any IPs ending with .0 or .255 because they may

be used as subnet network and broadcast addresses. Nmap supports this through octet range addressing. Rather than specify a normal IP address, you can specify a

comma-separated list of numbers or ranges for each octet. For example, 192.168.0-255.1-254 will skip all addresses in the range that end in .0 or .255, and

192.168.3-5,7.1 will scan the four addresses 192.168.3.1, 192.168.4.1, 192.168.5.1, and 192.168.7.1. Either side of a range may be omitted; the default values are

0 on the left and 255 on the right. Using - by itself is the same as 0-255, but remember to use 0- in the first octet so the target specification doesn’t look like

a command-line option. Ranges need not be limited to the final octets: the specifier 0-255.0-255.13.37 will perform an Internet-wide scan for all IP addresses

ending in 13.37. This sort of broad sampling can be useful for Internet surveys and research.

Kyseessä siis octet range addressing joka skippaa kaikki .0 ja .255 osoitteet kun ip-range annetaan muodossa 192.168.233.0-255. Eli alkuperäinen oletus että skannasimme oman rangemme yli oli väärä.

h) nmap output files -oA foo

Mihin kukin tiedostotyyppi sopii?

Tätähän ollaan käytetty paljon ja tosiaan ennätettiin jo nmapin dokumentaatiosta lukea että tiedostot ovat normal, grepable ja xml ja tiedostotyypit .nmap, .gnmap ja .xml. Arvataan että gnmap on tiedon etsintään ja xml tiedon esittämiseen. Luetaan dokumentaatio: https://nmap.org/book/man-output.html

XML-muoto on ohjelmistojen parsereille ja käännettävissä HTML:ksi ja vietävissä tietokantoihin. Nmapissa on oikeasti viisi tiedostomuotomahdollisuutta mutta interaktiivinen jää hämäräksi ja viidettä en nopealla silmäilyllä löytänyt. Grepablessa on eniten informaatiota riveittäin ja normal output on se mitä ollaan ite käytetty josta virallisessa dokumentaatiossa sanotaan seuraavaa:

sCRiPt KiDDi3 0utPUt for users who consider themselves <-r4d

Noice. Ei mitään hajua mitä loppuosa tarkoittaa mutta se on varmaan tarkoituskin. Pysytään tässä tiedostomuodossa, se on selvästi meikäläisen tarpeisiin riittävä.

i) nmap version scanning -sV

Tämä versioskannaushan jo käytiin ainakin teorian tasolla läpi, tarkastetaan omat muistiinpanot. Jeps, sekä teoriassa (Lyon 2009 alaotsikot Flägien selitteet ja Port Scanning Techniques) että käytännössä (Tee ja raportoi: Nmap ja alakohta e) nmap version detection -sV).

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

Tämä myös esiteltiin mielestäni teoriassa, tarkastetaan muistiinpanot. Alaotsikosta “Flägien selitteet” löytyy:

Katsotaan Nmap tuloste -A flägillä Nullbyteä vastaan:

└─$ nmap 192.168.233.6 -A -oA aggressiveScan                                                                    2 ⨯
Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-21 07:34 EST
Nmap scan report for 192.168.233.6
Host is up (0.00088s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE VERSION
80/tcp  open  http    Apache httpd 2.4.10 ((Debian))
|_http-server-header: Apache/2.4.10 (Debian)
|_http-title: Null Byte 00 - level 1
111/tcp open  rpcbind 2-4 (RPC #100000)
| rpcinfo: 
|   program version    port/proto  service
|   100000  2,3,4        111/tcp   rpcbind
|   100000  2,3,4        111/udp   rpcbind
|   100000  3,4          111/tcp6  rpcbind
|   100000  3,4          111/udp6  rpcbind
|   100024  1          34001/udp6  status
|   100024  1          34349/udp   status
|   100024  1          43950/tcp   status
|_  100024  1          60877/tcp6  status
777/tcp open  ssh     OpenSSH 6.7p1 Debian 5 (protocol 2.0)
| ssh-hostkey: 
|   1024 16:30:13:d9:d5:55:36:e8:1b:b7:d9:ba:55:2f:d7:44 (DSA)
|   2048 29:aa:7d:2e:60:8b:a6:a1:c2:bd:7c:c8:bd:3c:f4:f2 (RSA)
|   256 60:06:e3:64:8f:8a:6f:a7:74:5a:8b:3f:e1:24:93:96 (ECDSA)
|_  256 bc:f7:44:8d:79:6a:19:48:76:a3:e2:44:92:dc:13:a2 (ED25519)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

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

Saatiin jopa rpcinfo jollaista ei ole aiemmin nähty, joka kertoo portissa olevista ohjelmista, ja SSH-hostkey eri muodoissa (DSA, RSA, ECDSA, ED25519)

WireSharkissa puolestaan 2500 riviä paketteja. Aggressiivinen verrattuna yli 100 kertaa pienimpiin pakettimääriin toisilla flägeillä.

k) nmap ajonaikaiset toiminnot

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

Katsotaan man nmap: runtime interaction ja kohdat:

RUNTIME INTERACTION
       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.

       v / V
           Increase / decrease the verbosity level

       d / D
           Increase / decrease the debugging Level

       p / P
           Turn on / off packet tracing

       ?
           Print a runtime interaction help screen

Väärin yrittämistä

Statuksesta manuaalissa ei ollut mainintaa. Kokeillaan jollakin isolla skannilla jossa kestää vähän aikaa. Rämpytetään ajon aikana ctrl+v, saadaan:

└─$ nmap 192.168.233.0/24 -A -oA aggNet1       
Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-21 07:50 EST
Stats: 0:00:02 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
Ping Scan Timing: About 32.62% done; ETC: 07:50 (0:00:04 remaining)
Stats: 0:00:04 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
Parallel DNS resolution of 3 hosts. Timing: About 0.00% done
Stats: 0:00:05 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
Parallel DNS resolution of 3 hosts. Timing: About 0.00% done
Stats: 0:00:08 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
Parallel DNS resolution of 3 hosts. Timing: About 0.00% done
Stats: 0:00:12 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
Parallel DNS resolution of 3 hosts. Timing: About 0.00% done
Stats: 0:00:12 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
Parallel DNS resolution of 3 hosts. Timing: About 0.00% done
Stats: 0:00:13 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
Parallel DNS resolution of 3 hosts. Timing: About 0.00% done
Stats: 0:00:22 elapsed; 253 hosts completed (3 up), 3 undergoing Service Scan
Service scan Timing: About 42.31% done; ETC: 07:50 (0:00:08 remaining)
#... lisää rivejä lopuksi

wc -l aggNet1.nmap kertoo että yhteensä 145 riviä tuotti tämä skanni ja tiedosto avaamalla cat aggNet1.nmap | less näyttää ettei tuo ajon aikainen verbositeetin kasvattaminen tallennu tuloksiin.

Kokeillaan uudestaan ctrl+d:llä:

└─$ nmap 192.168.233.0/24 -A -oA aggNet1
Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-21 07:56 EST
Stats: 0:00:01 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
Ping Scan Timing: About 15.23% done; ETC: 07:56 (0:00:11 remaining)
Stats: 0:00:03 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
Ping Scan Timing: About 79.39% done; ETC: 07:56 (0:00:01 remaining)
# ...etc 

Näyttää täysin samalta. Hmm. Kokeillaan sitten ctrl+p. Tällä kertaa älytään käyttää isoa P:tä, eli shift+p…

Oikein yrittämistä

└─$ nmap 192.168.233.0/24 -A -oA aggNet2
Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-21 07:59 EST
Packet Tracing disabled.
Packet Tracing disabled.
# ...etc, kunnes älytään iskea pikku p
Packet Tracing enabled.
NSOCK INFO [64.1690s] nsock_trace_handler_callback(): Callback: READ TIMEOUT for EID 5722 [192.168.233.3:2121]
NSE: TCP 192.168.233.5:41426 > 192.168.233.3:2121 | CLOSE
NSOCK INFO [64.1780s] nsock_iod_delete(): nsock_iod_delete (IOD #181)
NSOCK INFO [64.1780s] nsock_iod_new2(): nsock_iod_new (IOD #183)
NSOCK INFO [64.1780s] nsock_connect_ssl(): SSL connection requested to 192.168.233.3:2121/tcp (IOD #183) EID 5753
NSOCK INFO [65.1800s] nsock_trace_handler_callback(): Callback: SSL-CONNECT TIMEOUT for EID 5753 [192.168.233.3:2121]
NSE: TCP 192.168.233.5:41430 > 192.168.233.3:2121 | CONNECT
NSE: TCP 192.168.233.5:41430 > 192.168.233.3:2121 | CLOSE
NSOCK INFO [65.1800s] nsock_iod_delete(): nsock_iod_delete (IOD #183)
NSOCK INFO [65.1800s] nsock_iod_delete(): nsock_iod_delete: SSL shutdown failed ((null)) on NSI 183
NSOCK INFO [65.2310s] nsock_iod_new2(): nsock_iod_new (IOD #184)
NSOCK INFO [65.2310s] nsock_connect_tcp(): TCP connection requested to 192.168.233.3:5432 (IOD #184) EID 5760
NSOCK INFO [65.2320s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 5760 [192.168.233.3:5432]
NSE: TCP 192.168.233.5:53300 > 192.168.233.3:5432 | CONNECT
NSE: TCP 192.168.233.5:53300 > 192.168.233.3:5432 | 00000000: 00 00 00 08 04 d2 16 2f                                /
# ... etc * 

Okei, kokeillaan uudestaan verbose oikein:

└─$ nmap 192.168.233.0/24 -A -oA aggNetVerbose1
Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-21 08:03 EST
Verbosity Decreased to 0.
Verbosity Decreased to 0.
Verbosity Decreased to 0.
Verbosity Increased to 1.
Verbosity Increased to 2.
Verbosity Increased to 3.
Verbosity Increased to 4.
Completed Ping Scan at 08:03, 3.11s elapsed (256 total hosts)
Initiating Parallel DNS resolution of 3 hosts. at 08:03
Completed Parallel DNS resolution of 3 hosts. at 08:04, 13.02s elapsed
DNS resolution of 3 IPs took 13.03s. Mode: Async [#: 1, OK: 0, NX: 0, DR: 3, SF: 0, TR: 9, CN: 0]
Nmap scan report for 192.168.233.0 [host down]
Nmap scan report for 192.168.233.1 [host down]
Nmap scan report for 192.168.233.2 [host down]
Nmap scan report for 192.168.233.4 [host down]
Nmap scan report for 192.168.233.7 [host down]
Nmap scan report for 192.168.233.8 [host down]
# ... etc * ad nauseam 

Nyt kun verbositeettia oli oikeasti kasvatettu, myös rivejä tallennettuun tiedostoon tuli yli kolminkertainen määrä: 485. Kun tiedoston printtaa cat aggNetVerbose1.nmap | less näkyy että siellä on kaikki sama materiaali ‘Nmap scan report…’ riviltä lähtien kuin mitä terminaalissakin nähtiin.

Kokeillaan se debug oikein: shift+d. Kestää yli minuutin ja tavaraa tulee debug-level 5:lla aivan jäätävästi. 10998 riviä tallentuu tiedostoon. Siitä debuggailemaan.

Kokeillaan vielä se mainittu status s vaikka sitä ei löytynyt manuskasta. Aina kun ajon aikana painaa s nmap vastaa mitä tekemässä:

#... etc
Parallel DNS resolution of 3 hosts. Timing: About 0.00% done
Stats: 0:00:15 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
Parallel DNS resolution of 3 hosts. Timing: About 0.00% done
Stats: 0:00:26 elapsed; 253 hosts completed (3 up), 3 undergoing Service Scan
Service scan Timing: About 88.46% done; ETC: 08:16 (0:00:01 remaining)
Stats: 0:00:27 elapsed; 253 hosts completed (3 up), 3 undergoing Service Scan
Service scan Timing: About 88.46% done; ETC: 08:16 (0:00:01 remaining)
#... etc

l) sudo nmap

Miten nmap toiminta eroaa, jos sitä ajaa ilman sudoa? Suorita ja analysoi esimerkki.

Tämä tehtiin ensimmäisessä vaiheessa, kts. kohta a) nmap TCP connect scan -sT.

m) nmap vertailu

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

Molemmat komennothan on jo ajettu ja analysoitu (-sV kohdassa e), -A kohdassa j)) , aloitetaan vertailemalla niiden raportoituja tuloksia. Maalina olisi pitänyt käyttää Metasploitablea, mutta olen käyttänyt molemmissa harjoituksissa Nullbyteä, joten toivottavasti se kelpaa. Huomataan kuitenkin kauhuksi että kaikki päivän harjoitukset ja myös -A flägi on tehty ilman sudoa. Ajetaan se uudestaan, kaapattujen pakettien määrä WireSharkissa ei vähene, vaan on edelleen se n. 2500. -sV flägi on kuitenkin alkuperäisessä testissä ajettu vain yhtä porttia vastaan, joten sekin joudutaan ajamaan uudestaan.

sudo nmap -sV 192.168.233.6 -oA aggDiff2 tuottaa 2157 pakettia WS:ssa, joten hieman vähemmän liikennettä kuin -A. Molemmat kuitenkin tuhansittain paketteja.

-sV

└─$ sudo nmap -sV 192.168.233.6 -oA aggDiff2     
Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-21 08:29 EST
Stats: 0:00:07 elapsed; 0 hosts completed (0 up), 1 undergoing ARP Ping Scan
Parallel DNS resolution of 1 host. Timing: About 0.00% done
Nmap scan report for 192.168.233.6
Host is up (0.00097s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE VERSION
80/tcp  open  http    Apache httpd 2.4.10 ((Debian))
111/tcp open  rpcbind 2-4 (RPC #100000)
777/tcp open  ssh     OpenSSH 6.7p1 Debian 5 (protocol 2.0)
MAC Address: 08:00:27:FF:7E:C8 (Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

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

-A

└─$ sudo nmap 192.168.233.6 -A -oA aggDiff1       
[sudo] password for kali: 
Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-21 08:26 EST
Nmap scan report for 192.168.233.6
Host is up (0.00043s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE VERSION
80/tcp  open  http    Apache httpd 2.4.10 ((Debian))
|_http-server-header: Apache/2.4.10 (Debian)
|_http-title: Null Byte 00 - level 1
111/tcp open  rpcbind 2-4 (RPC #100000)
| rpcinfo: 
|   program version    port/proto  service
|   100000  2,3,4        111/tcp   rpcbind
|   100000  2,3,4        111/udp   rpcbind
|   100000  3,4          111/tcp6  rpcbind
|   100000  3,4          111/udp6  rpcbind
|   100024  1          34001/udp6  status
|   100024  1          34349/udp   status
|   100024  1          43950/tcp   status
|_  100024  1          60877/tcp6  status
777/tcp open  ssh     OpenSSH 6.7p1 Debian 5 (protocol 2.0)
| ssh-hostkey: 
|   1024 16:30:13:d9:d5:55:36:e8:1b:b7:d9:ba:55:2f:d7:44 (DSA)
|   2048 29:aa:7d:2e:60:8b:a6:a1:c2:bd:7c:c8:bd:3c:f4:f2 (RSA)
|   256 60:06:e3:64:8f:8a:6f:a7:74:5a:8b:3f:e1:24:93:96 (ECDSA)
|_  256 bc:f7:44:8d:79:6a:19:48:76:a3:e2:44:92:dc:13:a2 (ED25519)
MAC Address: 08:00:27:FF:7E:C8 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.43 ms 192.168.233.6

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

Vertailu

Aggressive optiolla saadaan traceroute, palvelimen käyttämät avaimet ssh-portissa ja rpcinfo portista 111. Todella pintapuolisesti analysoiden: -A on äänekkäämpi ja perusteellisempi ja hieman kookkaampi kestoltaan ja pakettimääriltään.

d)[sic] 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?

Apachen varmaan voi asentaa Kalille samaan virtuaalikoneeseen nmapin kanssa, en näe mitään etua asentaa uutta masiinaa tätä tehtävää varten. Suljetaan koneet ja etsitään ohje Apachen asentamiseksi: https://terokarvinen.com/2008/install-apache-web-server-on-ubuntu-4/.

Päästetään Kali nettiin asennuksen ajaksi.

sudo apt-get update
sudo apt-get install apache2 -y
# otetaan Kali pois netistä ja host-only 

Otetaan FF:ssa force https pois päältä: https://stackoverflow.com/posts/54559584/revisions. Käynnistetään apache ja katsotaan että se on oikeasti päällä:

sudo service apache2 restart
sudo systemctl status apache2  
firefox "http://localhost"

Apachen default page aukeaa selaimessa. Sitten pitää selvittää missä sen logi-tiedostot sijaitsevat. https://blog.codeasite.com/how-do-i-find-apache-http-server-log-files/

Apache loggaa kaikki requestit. Debianin/Kalin logi löytyy /var/log/apache2/access.log. Jaetaan terminaali tmux ctrl+b ja “ ja ruvetaan loggaamaan logitiedostoa reaaliajassa toisessa paneelissa, näyttää defaulttina vikat 10 riviä.

└─$ sudo tail -f /var/log/apache2/access.log 
[sudo] password for kali: 
::1 - - [21/Nov/2021:09:00:49 -0500] "GET / HTTP/1.1" 200 3380 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
::1 - - [21/Nov/2021:09:00:50 -0500] "GET /icons/openlogo-75.png HTTP/1.1" 200 6040 "http://localhost/" "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
::1 - - [21/Nov/2021:09:00:50 -0500] "GET /favicon.ico HTTP/1.1" 404 487 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"

Vaihdetaan ctrl+b ja o toiseen paneeliin skannausta varten ja käynnistetään WS. Huomataan että kyllä access.logiin tulee materiaalia ja meidän ip, mutta toisaalta koska apache ja skannaaja käyttää samaa ip:tä esimerkissä on hankala suoraan sanoa kummasta kyse.

apache scan.PNG

e) - f)[sic] Tee ja raportoi: UDP-skannaus

e)[sic] Tavallisimmat/kiinnostavimmat UDP-palvelut

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

Aiemmin tiivistelmässä alakohdassa “Port Scanning Techniques” tuli esiin että mm. palvelut DNS(Domain Name Server, 53), SNMP(Simple Network Management Protocol, 161/161) ja DHCP(Dynamic Host Configuration Protocol, 67/68) käyttävät UDP:tä. Lisäksi esim. NTP (Network Time Protocol, 123) ja Xbox Network Gaming Service (88) käyttävät UDP:tä.

Top 10 UDP porttia ovat pienimmästä suurimpaan: 53, 67, 123, 135, 137-138, 161, 445, 631, 1434

f)[sic] UDP-skannauksen hankaluus ja epäluotettavuus

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)

Myös tähän kysymykseen ennätettiin aloittaa vastausta “Port Scanning Techniques” otsikon alla:

Stackexchangesta poimittua jatkoa:

Lisää Nmapissa UDP:n käytöstä: https://nmap.org/book/scan-methods-udp-scan.html

h) - j)[sic] Tee ja raportoi: muita aktiivisen tiedustelun työkaluja

h)[sic] ffuf

Lähdekoodi: https://github.com/ffuf/ffuf Ohjeita: https://codingo.io/tools/ffuf/bounty/2020/09/17/everything-you-need-to-know-about-ffuf.html hakemistojen kokeilu riittää

Katsotaan ensin orientoiva video: https://www.youtube.com/watch?v=iLFkxAmwXF0. Tallennetaan muistiinpanot:

sudo apt update
sudo apt install ffuf
ffuf -h
nano wordlist # admin test test123 panel
# SecLists listojen hakemiseen
ffuf -u http://localhost -w ./wordlist
ffuf -u http://localhost -w ./wordlist -recursion
ffuf -u http://localhost -w ./wordlist -recursion -e .bak
ffuf -u http://localhost/W1 -w ./wordlist:W1 -e .bak

Koska video sukeltaa syvemmälle toiminnallisuuksiin katsotaan toinen video josta toivottavasti selviäisi paremmin mistä on kyse: https://www.youtube.com/watch?v=aN3Nayvd7FU

Okei, palataan takaisin ekaan videoon.

ffuf -u http://localhost/FUZZ -w ./wordlist -s | tee ./outfile.txt

Ja luetaan sitten Basic Usage: What is Directory Brute Forcing? Okei, aloitetaan viimein. Ja SecLists

sudo apt-get install ffuf
sudo apt -y install seclists

SecLists ei ole Kalissa valmiina joten ne pitää ladata netistä. Se on 385MB paketti. Testiesimerkki ffufissa tehdään codingoa vastaan verkossa, se tuntuu vähän kiusalliselta joten otetaan Kali pois verkosta ja kokeillaan jos keksittäisiin soveltaa omia koneita vastaan virtuaalisessa omassa sisäverkossa. Katsotaan wc -l ..small-txt ja huomataan että siinäkin on jo 87664 riviä eli salasanaa. Käytetään sitä.

Ajetaan ffuf Nullbyteä vastaan pienimmällä ja turvallisimmalla small.txt listalla ja printataan tulokset ffuftest.txt

└─$ ffuf -u 192.168.233.6 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-small.txt -o ffuftest.txt 
Encountered error(s): 1 errors occurred.
        * Keyword FUZZ defined, but not found in headers, method, URL or POST data.

hmmm.. https://github.com/ffuf/ffuf/issues/227 Saattaa olla että käytetyttä sanalistassa on ongelma. Kokeillaan selättämiseksi omaa sanalistaa. Ei ole siitä kiinni, sama ongelma. Kyseessähän on tosiaan url, joten kokeillaan kohteena Metasploitablea. Puuttui /FUZZ kohdeurlin lopusta.

└─$ ffuf -u http://192.168.233.3/FUZZ -w ./wordlist.txt                                                        1 ⨯

        /'___\  /'___\           /'___\       
       /\ \__/ /\ \__/  __  __  /\ \__/       
       \ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\      
        \ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/      
         \ \_\   \ \_\  \ \____/  \ \_\       
          \/_/    \/_/   \/___/    \/_/       

       v1.3.1 Kali Exclusive <3
________________________________________________

 :: Method           : GET
 :: URL              : http://192.168.233.3/FUZZ
 :: Wordlist         : FUZZ: ./wordlist.txt
 :: Follow redirects : false
 :: Calibration      : false
 :: Timeout          : 10
 :: Threads          : 40
 :: Matcher          : Response status: 200,204,301,302,307,401,403,405
________________________________________________

test                    [Status: 301, Size: 318, Words: 21, Lines: 10]
:: Progress: [4/4] :: Job [1/1] :: 0 req/sec :: Duration: [0:00:00] :: Errors: 0 ::

Okei, kokeillaan sitten sitä small.txt tiedostoa.

ffuf -u 192.168.233.3/FUZZ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-small.txt -o ffuftest.txt

joka tuottaa 87664 erroria. Ermm. Palataan asiaan syssymmällä tunnin esimerkkien jälkeen.

i)[sic] nikto

https://www.kali.org/tools/nikto/

Nikto is a pluggable web server and CGI scanner written in Perl, using rfp’s LibWhisker to perform fast security or informational checks.

Features:

Easily updatable CSV-format checks database

Output reports in plain text or HTML

Available HTTP versions automatic switching

Generic as well as specific server software checks

SSL support (through libnet-ssleay-perl)

Proxy support (with authentication)

Cookies support

Ok.

sudo apt install nikto
nikto -h
nikto -host 192.168.233.3 
- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP:          192.168.233.3
+ Target Hostname:    192.168.233.3
+ Target Port:        80
+ Start Time:         2021-11-21 12:28:50 (GMT-5)
---------------------------------------------------------------------------
+ Server: Apache/2.2.8 (Ubuntu) DAV/2
+ Retrieved x-powered-by header: PHP/5.2.4-2ubuntu5.10
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type
+ Uncommon header 'tcn' found, with contents: list
+ Apache mod_negotiation is enabled with MultiViews, which allows attackers to easily brute force file names. See http://www.wisec.it/sectou.php?id=4698ebdc59d15. The following alternatives for 'index' were found: index.php
+ Apache/2.2.8 appears to be outdated (current is at least Apache/2.4.37). Apache 2.2.34 is the EOL for the 2.x branch.
+ Web Server returns a valid response with junk HTTP methods, this may cause false positives.
+ OSVDB-877: HTTP TRACE method is active, suggesting the host is vulnerable to XST
+ /phpinfo.php: Output from the phpinfo() function was found.
+ OSVDB-3268: /doc/: Directory indexing found.
+ OSVDB-48: /doc/: The /doc/ directory is browsable. This may be /usr/doc.
+ OSVDB-12184: /?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000: PHP reveals potentially sensitive information via certain HTTP requests that contain specific QUERY strings.
+ OSVDB-12184: /?=PHPE9568F36-D428-11d2-A769-00AA001ACF42: PHP reveals potentially sensitive information via certain HTTP requests that contain specific QUERY strings.
+ OSVDB-12184: /?=PHPE9568F34-D428-11d2-A769-00AA001ACF42: PHP reveals potentially sensitive information via certain HTTP requests that contain specific QUERY strings.
+ OSVDB-12184: /?=PHPE9568F35-D428-11d2-A769-00AA001ACF42: PHP reveals potentially sensitive information via certain HTTP requests that contain specific QUERY strings.
+ OSVDB-3092: /phpMyAdmin/changelog.php: phpMyAdmin is for managing MySQL databases, and should be protected or limited to authorized hosts.
+ Server may leak inodes via ETags, header found with file /phpMyAdmin/ChangeLog, inode: 92462, size: 40540, mtime: Tue Dec  9 12:24:00 2008
+ OSVDB-3092: /phpMyAdmin/ChangeLog: phpMyAdmin is for managing MySQL databases, and should be protected or limited to authorized hosts.
+ OSVDB-3268: /test/: Directory indexing found.
+ OSVDB-3092: /test/: This might be interesting...
+ OSVDB-3233: /phpinfo.php: PHP is installed, and a test script which runs phpinfo() was found. This gives a lot of system information.
+ OSVDB-3268: /icons/: Directory indexing found.
+ OSVDB-3233: /icons/README: Apache default file found.
+ /phpMyAdmin/: phpMyAdmin directory found
+ OSVDB-3092: /phpMyAdmin/Documentation.html: phpMyAdmin is for managing MySQL databases, and should be protected or limited to authorized hosts.
+ OSVDB-3092: /phpMyAdmin/README: phpMyAdmin is for managing MySQL databases, and should be protected or limited to authorized hosts.
+ 8726 requests: 0 error(s) and 27 item(s) reported on remote host
+ End Time:           2021-11-21 12:29:18 (GMT-5) (28 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested

Eli nikto käyttää default porttina http:tä (80) ja kerää kaikenlaista infoa verkkosivusta ja sen palvelimesta.

j)[sic] Pizza fantasia

jokin valitsemasi tiedustelutyökalu, esimerkiksi EyeWitness, wpscan, openvas tai jokin muu.

Että saadaan tehtävät kunnialla ajoissa maaliin, täytetään fantasiapizza jo edellisviikolla tehdyllä Legionilla. Katsotaan jos muiden kurssien jälkeen jää aikaa vielä jatkaa tämän viikon harjoitusta palautusajan jo päätyttyä mutta ennen seuraavaa tuntia, kuten viime viikolla John the Ripperin kanssa.

Nessus

EDIT: Jatketaan harjoitusta palautusajan jälkeen ennen tuntia. Valitaan Tenablen Nessus-haavoittuvuusskanneri joka on siis oma VM koska se löytyi tästä mielenkiintoisesta dokumentista, missä asennetaan myös Kali ja Metasploitable: https://www.exploit-db.com/docs/english/44040-the-easiest-metasploit-guide-you%E2%80%99ll-ever-read.pdf. Täällä on enemmän asiaa Nessuksesta yleisesti, mikä, miksi, miten, kenelle: https://www.cs.cmu.edu/~dwendlan/personal/nessus.html

Nessus Network Monitor, Tenable.sc, Log Correlation Engine, Tenable.ot, Tenable Virtual Appliances, and Web Application Scanning now require authentication to download.

Via dolorosa, Nessuksen asentaminen

Nessus installation finished.PNG

Nessuksen käyttö

ping 8.8.8.8
# Käynnistä nessus
/bin/systemctl start nessusd.service # annetaan sudo pw
firefox "https://localhost:8834/" # kirjaudutaan luoduilla tunnareilla

Nessus käyttää GUI:ta.

nessus scan.PNG

nessus metasoloitable.PNG

Nessus settinhs.PNG

Kohdennetun skannin tulokset

Metasploitablen skannauksessa kesti 6 minuuttia, eli huomattavasti nmap aggressiivisimpiakin skanneja kauemmin.

nessus metasploitable vulnerabilities.PNG

nessus remedies.PNG

Nessus VPR top.PNG Nessus VPR click.PNG

Yhteenvetona ihan jännittävä lisä. WireSharkilla työkalun toiminnan seuraaminen jäi vielä seuraavaan kertaan.