Cityscape
Girl

Murtotestauksen perusteet

Haavoittuvuuksien tunnistaminen

Keskitaso
10 min

Seuraavaksi käydään läpi esimerkki kuinka haavoittuvuuksia voidaan tunnistaa skannatuista kohteista. Suoritetaan ensin samat kartoitusvaiheet kuin aiemmassa moduulissa. Käynnistä labra ja tee perässä.

Metasploit Harjoittelua

Tässä labrassa on useita eri haavoittuvia verkkopalveluita joita voit etsiä Metasploitilla.

Kartoitusvaihe

Seuraava vaihe on samanlainen kuin edellisessä moduulissa ja koostuu seuraavista komennoista.

# Tietokannan valmistelu
service postgresql start
msfdb init

# Metasploitin käynnistys
msfconsole

# Skannaus (käytämme -p- joka kertoo että skannataan kaikki portit)
db_nmap -p- <IP>
db_nmap -A -p- <IP>

Näiden jälkeen voimme tarkistaa, että meillä on näkyvyys kohteen avoimista porteista ja niissä kuuntelevista palveluista.

msf6 > services
Services
========

host       port  proto  name         state  info
----       ----  -----  ----         -----  ----
10.0.2.51  22    tcp    ssh          open   OpenSSH 4.7p1 Debian 8ubuntu1 protocol 2.0
10.0.2.51  25    tcp    smtp         open   Postfix smtpd
10.0.2.51  53    tcp    tcpwrapped   open
10.0.2.51  111   tcp    rpcbind      open   2 RPC #100000
10.0.2.51  139   tcp    netbios-ssn  open   Samba smbd 3.X - 4.X workgroup: WORKGROUP
10.0.2.51  445   tcp    0����)��u    open   Samba smbd 3.0.20-Debian workgroup: WORKGROUP
10.0.2.51  2121  tcp    ftp          open   ProFTPD 1.3.1
10.0.2.51  3306  tcp    mysql        open   MySQL 5.0.51a-3ubuntu5
10.0.2.51  3632  tcp    distccd      open   distccd v1 (GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4)

Haavoittuvuuksien tunnistaminen

Nyt voimme alkaa tunnistamaan potentiaalisia haavoittuvuuksia. Tähän prosessiin kuuluu usein julkisten lähteiden käyttäminen, kuten Exploit-DB sivusto. Ideana on verrata havaittuja palveluita tunnettuihin haavoittuvuuksiin ja etsiä korrelaatioita näiden väliltä. Yksinkertaisesti sanottuna, vertaamme skannattuja palveluita ja näiden versioita tiedossa oleviin haavoittuvuuksiin. Tähän on kuitenkin myös automaattisia lähestymistapoja kuten nmapin haavoittuvuus-skriptit, jotka etsivät kyseisistä palveluista tiedossa olevia haavoittuvuuksia. Näiden tarkkuus vaihtelee, mutta on hyvä tapa aloittaa haavoittuvuuksien kartoitus.

Suoritetaan haavoittuvuus-skannaus avoimeen porttiin 3632, jossa on distcc palvelu.

db_nmap -p3632 --script vuln <IP>

Tulosteesta näemme, että kyseisestä palvelusta löytyy vakava julkinen haavoittuvuus, joka mahdollistaa komentojen suorittamisen hyökkääjän toimesta.

[*] Nmap: Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-08 15:24 UTC
[*] Nmap: Nmap scan report for 10.0.2.51
[*] Nmap: Host is up (0.00018s latency).
[*] Nmap: PORT     STATE SERVICE
[*] Nmap: 3632/tcp open  distccd
[*] Nmap: | distcc-cve2004-2687:
[*] Nmap: |   VULNERABLE:
[*] Nmap: |   distcc Daemon Command Execution
[*] Nmap: |     State: VULNERABLE (Exploitable)
[*] Nmap: |     IDs:  CVE:CVE-2004-2687
[*] Nmap: |     Risk factor: High  CVSSv2: 9.3 (HIGH) (AV:N/AC:M/Au:N/C:C/I:C/A:C)
[*] Nmap: |       Allows executing of arbitrary commands on systems running distccd 3.1 and
[*] Nmap: |       earlier. The vulnerability is the consequence of weak service configuration.
[*] Nmap: |
[*] Nmap: |     Disclosure date: 2002-02-01
[*] Nmap: |     Extra information:
[*] Nmap: |
[*] Nmap: |     uid=1(daemon) gid=1(daemon) groups=1(daemon)
[*] Nmap: |
[*] Nmap: |     References:
[*] Nmap: |       https://distcc.github.io/security.html
[*] Nmap: |       https://nvd.nist.gov/vuln/detail/CVE-2004-2687
[*] Nmap: |_      https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-2687
[*] Nmap: Nmap done: 1 IP address (1 host up) scanned in 10.36 seconds

Voimme etsiä Metasploitista valmiita hyökkäysmoduuleja (exploitteja), joilla hyväksikäyttää haavoittuvuutta.

msf6 > search exploit distcc

Matching Modules
================

   #  Name                           Disclosure Date  Rank       Check  Description
   -  ----                           ---------------  ----       -----  -----------
   0  exploit/unix/misc/distcc_exec  2002-02-01       excellent  Yes    DistCC Daemon Command Execution

Voimme myös lukea lisää tietoja kyseisestä moduulista info komennolla.

msf6 > info exploit/unix/misc/distcc_exec

       Name: DistCC Daemon Command Execution
     Module: exploit/unix/misc/distcc_exec
   Platform: Unix
       Arch: cmd
 Privileged: No
    License: Metasploit Framework License (BSD)
       Rank: Excellent
  Disclosed: 2002-02-01

Provided by:
  [TEHTÄVÄ]

Available targets:
      Id  Name
      --  ----
  =>  0   Automatic Target

Check supported:
  Yes

Basic options:
  Name    Current Setting  Required  Description
  ----    ---------------  --------  -----------
  RHOSTS                   yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
  RPORT   3632             yes       The target port (TCP)

Payload information:
  Space: 1024

Description:
  This module uses a documented security weakness to execute
  arbitrary commands on any system running distccd.

References:
  https://nvd.nist.gov/vuln/detail/CVE-2004-2687
  OSVDB (13378)
  http://distcc.samba.org/security.html


View the full module info with the info -d command.

Voit kokeilla hyväksikäyttää haavoittuvuutta Metasploitin avulla ja katsoa saatko kohde koneen hallintaasi. On hyvä muistaa, ettei jokainen haavoittuvuus aina löydy valmiina Metasploitista eikä automaattiset lähestymistavat ole täydellisiä. Jos haluaa varminta tietoa, on järkevää ottaa Google käteen ja lähteä itse etsimään tietoa mahdollisista haavoittuvuuksista, mitä palveluissa voi olla. Tämä pitää varsinkin paikkansa, jos kyse on vähemmän tunnetuista palveluista tai todella uusista haavoittuvuuksista. Käymme myöhemmin kurssilla läpi, kuinka lisätä Metasploittiin uusia moduuleja, joita ei siinä oletuksena ole.

Kuka on rakentanut kyseisen distcc moduulin? - Näkyy provided kentässä.

hakatemia pro

Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.

Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.