Bash
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#!/bin/bash currentHosts="/etc/hosts" myHostsPart="/etc/hosts.my" newHosts="http://winhelp2002.mvps.org/hosts.txt" timeStamp=$(date '+%Y-%m-%d_%H-%M') log="/var/log/hosts-file-update" cp ${currentHosts} ${currentHosts}.${timeStamp}.bak wget ${newHosts} -O ${currentHosts}.${timeStamp} wgetstat=$? if [ ${wgetstat} -eq 0 ]; then cat ${myHostsPart} > ${currentHosts} cat ${currentHosts}.${timeStamp} >> ${currentHosts} echo "${timeStamp} ok" >> $log else rm -f ${currentHosts}.${timeStamp}.bak echo "${timeStamp} error, wget err code = ${wgetstat}" >> $log fi |
Powershell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$Log = "c:\Windows\System32\drivers\etc\hosts-update.log" $newHostsURL="http://winhelp2002.mvps.org/hosts.txt" $newHosts = "c:\Windows\System32\drivers\etc\HOSTS.new" $myHostsPart = "c:\Windows\System32\drivers\etc\HOSTS.my" $Hosts = "c:\Windows\System32\drivers\etc\HOSTS" $Timestamp = $([System.DateTime]::Now.ToString('yyyy-MM-dd--HH-mm')) Copy-Item "$Hosts" "$Hosts.$Timestamp.bak" $Client = New-Object System.Net.WebClient $Client.DownloadFile( $newHostsURL, "$newHosts.$Timestamp") $downStat = $? if ($downStat) { Get-Content $myHostsPart,"$newHosts.$Timestamp" | Out-File $Hosts -Encoding utf8 "$Timestamp ok" >> $Log } else { Remove-Item "$Hosts.$Timestamp.bak" -Force "$Timestamp error" >> $Log } |
SEP 11 definitions:
1 |
FOR /F "tokens=6 delims=\" %i IN ('reg query HKLM\SOFTWARE\Symantec\SharedDefs /f DEFWATCH_10') DO @echo %i |
Informations provided by Security Center:
1 |
Get-WmiObject -Class AntivirusProduct -Namespace root\SecurityCenter2 |
How to read productState: http://neophob.com/2010/03/wmi-query-windows-securitycenter2/
Detekce spuštěného a připojeného Skypu je v LAN poměrně snadná. Skype otvírá port TCP 80, takže k odhalení stačí síťový sken stanice (např. pomocí nmap) a analýza spuštěných procesů.
Příklad:
proskenujeme port 80 na stanici 192.168.1.10
E:\>nmap 192.168.1.10 -p 80 | findstr /i "open"
80/tcp open http
port je otevřený, může zde běžet webový server (u stanice neobvyklé), SQL server, Skype, atd.
na skenované stanici si lokálně zobrazíme aktivní připojení s portem 80
C:\>netstat -noa | findstr :80
TCP 0.0.0.0:80 0.0.0.0:0 NASLOUCHÁNÍ 3372
TCP 192.168.1.10:1339 204.9.163.162:80 CLOSE_WAIT 1268
poslední sloupec je PID, což je ProcessID procesu, který otevíra TCP 80 a je to skype.exe:
C:\>tasklist /fi "pid eq 3372"
Název procesu PID Název relace Číslo re Využití pamě
========================= ====== ================ ======== ============
Skype.exe 3372 RDP-Tcp#10 0 40496 kB
Celé toto řešení je optimální z hlediska rychlosti detekce, další způsob je hledat proces Skype.exe, což je pomalejší a musí bý splněno více prerekvizit (Domain Admin, RPC,…). Naproti tomu spuštěný a připojený Skype bude mít vždy vytvořený proces Skype.exe, a to i v případě, kdy orignální Skype.exe přejmenujete na Neco.exe.
Sken portu na více stanicích:for /f %%i in (workstations.txt) do (
echo %%i >> log.txt
nmap %%i -p 80 |findstr /i "open" >> log.txt
echo.>> log.txt
)