izmjene licence
[ossec-hids.git] / active-response / win / route-null.cmd
1 :: Script to null route an ip address.
2 @ECHO OFF
3 ECHO.
4
5 :: Set some variables
6 FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET DAT=%%A %%B
7 FOR /F "TOKENS=1-3 DELIMS=:" %%A IN ("%TIME%") DO SET TIM=%%A:%%B:%%C
8
9 :: Check for required arguments
10 IF /I "%1"=="" GOTO ERROR
11 IF /I "%1"=="add" GOTO ADD
12 IF /I "%1"=="delete" GOTO DEL
13
14 :ERROR
15 ECHO Invalid argument(s).
16 ECHO Usage: route-null.cmd ^(ADD^|DELETE^) IPv4 Address 
17 ECHO Example: route-null.cmd ADD 1.2.3.4
18 EXIT /B 1
19
20
21 :: Adding IP to be null-routed. IP will be routed to local machine IP
22
23 :ADD
24 :: Check for a valid IP
25 ECHO "%2" | %WINDIR%\system32\findstr.exe /R "[0-2][0-9]*[0-9]*\.[0-2][0-9]*[0-9]*\.[0-2][0-9]*[0-9]*\.[0-2][0-9]*[0-9]*" >nul || ECHO Invalid IP && EXIT /B 2 
26 :: Extracts last ip address from ipconfig and routes to this address. Windows will not allow routing to 127.0.0.1
27 FOR /F "TOKENS=2* DELIMS=:" %%A IN ('%WINDIR%\system32\ipconfig.exe ^| %WINDIR%\system32\findstr.exe /R /C:"IPv*4* Address"') DO FOR %%B IN (%%A) DO SET IPADDR=%%B
28 %WINDIR%\system32\route.exe ADD %2 MASK 255.255.255.255 %IPADDR%
29 :: Log it
30 ECHO %DAT%%TIM% %~dp0%0 %1 - %2 >> "%OSSECPATH%active-response\active-responses.log"
31 GOTO EXIT
32
33 :DEL
34 ECHO "%2" | %WINDIR%\system32\findstr.exe /R "[0-2][0-9]*[0-9]*\.[0-2][0-9]*[0-9]*\.[0-2][0-9]*[0-9]*\.[0-2][0-9]*[0-9]*" >nul || ECHO Invalid IP && EXIT /B 2
35 %WINDIR%\system32\route.exe DELETE %2
36 ECHO %DAT%%TIM% %~dp0%0 %1 - %2 >> "%OSSECPATH%active-response\active-responses.log"
37
38 :EXIT /B 0: