Besinnliches ...

Alle anderen Themen ...

Moderator: ModerationP

Besinnliches ...

Beitragvon Fennek » 21. Dez 2019, 15:06

Hallo,

auf einer mit Herrn Stevens verbundenen Seite (https://www.sans.org/reading-room/white ... unt_manage)

gab es ein Tipp die Sicherheit in SOHO zu erhöhen: Die Windows-Events können auch DNS-Anfragen loggen.

Zum Testen habe ich 3-4 Seiten aufgerufen.

Nach knapp 10 Minute hatte das Log-File ca 1MB.

Der Versuch einer Auswertung mit RegEx ergab:

Code: Alles auswählen
# Powershell
# nur als Amin, von Hand kopieren geht aber
Set-Location 'C:\Windows\System32\winevt\Logs\' #Microsoft-Windows-DNS-Client%4Operational.evtx'

#copy-item 'C:\Windows\System32\winevt\Logs\Microsoft-Windows-DNS-Client%4Operational.evtx' 'c:\users\xxxx\desktop' -Force -

Get-WinEvent -Path 'C:\users\xxxx\desktop\Microsoft-Windows-DNS-Client%4Operational.evtx' | Export-Csv 'C:\Users\xxxx\Desktop\DNS_Query.csv' -UseCulture -Encoding Unicode

$Data = Import-Csv 'C:\users\xxxx\desktop\DNS_Query.csv' -Delimiter ";" -Encoding Unicode

$Out = @()
$Url = @()
$all = @()

foreach ($m in $Data.message) {
   
    $m = $m.Replace('"', ' ')
    $m = $m.Replace(',', ' ')
    $m = $m.Replace('-', '_')
    $m = $m.Replace('192.168.178.1', ' ')
    $m = $m.Replace('wurde eine Antwort für den Namen', ' ')
    $m = $m.Replace('wurde eine DNS_Abfrage für den Namen', ' ')
    $m = $m.Replace('zeigt', ' ')
    $m = $m.Trim()

    $Out += [regex]::Match($m, '(?is)\s.www.*?(?=\s)').value
    $url += [regex]::Match($m, '\s.\w+\.\w+\.\w+.\s').value
    $url += [regex]::Match($m, '\s.\w+\.\w+\.\w+.\w+.\s').value
    $all += [regex]::Match($m, '\s\w+\..*?\.com|\s\w+\..*?\.net|\s\w+\..*?\.org').value
}
$out = $Out | sort -Unique
$Out
$url = $url | sort -Unique
$url
$all = $all | sort -Unique
$all


Das Pattern ist "quick &dirty" und sicher verbesserungsfähig. Jedenfalls wurden folgen DNS-Anfragen gestellt:

Code: Alles auswählen
  www.bing.com
  www.clever_excel_forum.de
  www.msftconnecttest.com
  www.msftncsi.com
  www.office_loesung.de
  www.win_10_forum.de

  a771.dscq.akamai.net 
  connectivitycheck.gstatic.com 
  content_signature_2.cdn.mozilla.net 
  cs9.wac.phicdn.net 
  d2k03kvdk5cku0.cloudfront.net 
  d2nxq2uap88usk.cloudfront.net 
  fonts.googleapis.com 
  isc.sans.edu 
  login.live.com 
  looocation.services.mooozilla.com
  looocation.services.mooozilla.com 
  nav.smartscreen.microsoft.com 
  ocsp.int_x3.letsencrypt.org 
  safebrowsing.googleapis.com 
  settings_win.data.microsoft.com 
  spoc.norton.com 
  status.rapidssl.com 
  wpad.fritz.box 
  www.bing.com 
  www.clever_excel_forum.de 
  www.msftconnecttest.com 
  www.msftncsi.com 
  www.office_loesung.de 
  www.win_10_forum.de 
 cs9.wac.phicdn.net 
 isc.sans.edu 
 looocation.services.mooozilla.com 
 www.clever_excel_forum.de 
 www.office_loesung.de 
 www.win_10_forum.de 

 a771.dscq.akamai.net
 blocklists.settings.services.mozxxxilla.com
 connectivitycheck.gstatic.com
 content_signature_2.cdn.mozilla.net
 cs9.wac.phicdn.net
 d2k03kvdk5cku0.cloudfront.net
 d2nxq2uap88usk.cloudfront.net
 firefox.settings.services.mozilla.com
 fonts.googleapis.com
 login.live.com
 looocation.services.mooozilla.com
 nav.smartscreen.microsoft.com
 ocsp.int_x3.letsencrypt.org
 ocsp.int_x3.letsencrypt.org  (Typ: 1  Option: 2392538375938048) wurde  0  zurückgegeben. Ergebnisse: type:  5 ocsp.int_x3.le
tsencrypt.org.edgesuite.net
 ocsp.int_x3.letsencrypt.org  (Typ: 1  Schnittstellenindex: 0  Netzwerkindex: 0) wurde  0  zurückgegeben. Ergebnisse: type: 
5 ocsp.int_x3.letsencrypt.org.edgesuite.net
 ocsp.int_x3.letsencrypt.org  ist abgeschlossen. Typ: 28  Abfrageoptionen: 2392538375938048  Status: 0. Ergebnisse: type:  5
ocsp.int_x3.letsencrypt.org.edgesuite.net
 safebrowsing.googleapis.com
 settings_win.data.microsoft.com
 spoc.norton.com
 status.rapidssl.com
 www.bing.com
 www.msftconnecttest.com
 www.msftncsi.com


Ein Auszählen wie häufig http://www.bing.com bzw http://www.msftconnecttest.com im Protokoll auftauchten, war nicht möglich, nach dem ersten Eindruck aber sehr häufig.

Jedenfalls gibt es einen Eindruck von der Datensammelleidenschaft von Microsoft. "cs9.wac.phicdn.net" tauchte in der Liste auch oft auf, diese URL ist allerdings im Router auf die Black-List gesetzt wegen Verdacht auf Werbe-Tracking. Für Windows-Live (login.live.com) hat ich die Credentials gelöscht (CMDKey), da ich es niemals nutzen möchte.

Findet jemand bessere Ansätze für die Analyse?

Frohe Weihnachten

======================

Verbesserte Version: Der Ordner "\documents\Privacy\" muss existieren

Code: Alles auswählen
     # Self-elevate the script if required
    if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) {
     if ([int](Get-CimInstance -Class Win32_OperatingSystem | Select-Object -ExpandProperty BuildNumber) -ge 6000) {
      $CommandLine = "-File `"" + $MyInvocation.MyCommand.Path + "`" " + $MyInvocation.UnboundArguments
      Start-Process -FilePath PowerShell.exe -Verb Runas -ArgumentList $CommandLine
      Exit
     }
    }

    copy-item 'C:\Windows\System32\winevt\Logs\Microsoft-Windows-DNS-Client%4Operational.evtx' 'c:\users\xxxx\desktop' -Force
Start-Sleep 2

    Get-WinEvent -Path C:\users\xxxx\desktop\Microsoft-Windows-DNS-Client%4Operational.evtx | Export-Csv 'C:\Users\xxxx\Desktop\DNS_Query.csv' -UseCulture -Encoding Unicode

$Data = Import-Csv 'C:\users\xxxx\desktop\DNS_Query.csv' -Delimiter ";" -Encoding Unicode

$Out = @()
$Out += " Von " + $Data[0].TimeCreated
$Out += "  Bis " + $Data[$Date.count-1].TimeCreated
foreach ($m in $Data.message) {
$Out += [regex]::Match($m, '(?is)".*?(?=")').value
$Out[$Out.count-1] = $Out[$Out.count-1].replace('"', '')
}

$Out = $Out | sort -Unique
$Out | Out-File 'C:\Users\xxxx\Documents\Privacy\DNS-Events.txt' -Append default
Benutzeravatar
Fennek
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 726
Registriert: 12. Feb 2016, 18:56

Zurück zu Offtopic (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste