new upstream release (3.3.0); modify package compatibility for Stretch
[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 "%2"=="" GOTO ERROR
12 IF /I "%3"=="" GOTO ERROR
13
14 :: Check for a valid IP
15 ECHO "%3" | %WINDIR%\system32\findstr.exe /R "\." >nul || GOTO ipv6
16
17 set prefixlength=32
18 set gateway=0.0.0.0
19 goto x
20
21 :ipv6
22 set prefixlength=128
23 set gateway=::
24
25 :x
26
27 IF /I "%1"=="add" GOTO ADD
28 IF /I "%1"=="delete" GOTO DEL
29
30 :ERROR
31 ECHO Invalid argument(s).
32 ECHO Usage: route-null.cmd ^(ADD^|DELETE^) user IP_Address
33 ECHO Example: route-null.cmd ADD - 1.2.3.4
34 EXIT /B 1
35
36 :: Adding IP to be null-routed.
37
38 :ADD
39 %WINDIR%\system32\route.exe ADD %3/%prefixlength% %gateway%
40 :: Log it
41 ECHO %DAT%%TIM% "%~f0" %1 %2 %3 >> "%OSSECPATH%active-response\active-responses.log"
42 GOTO EXIT
43
44 :DEL
45 %WINDIR%\system32\route.exe DELETE %3/%prefixlength%
46 ECHO %DAT%%TIM% "%~f0" %1 %2 %3 >> "%OSSECPATH%active-response\active-responses.log"
47
48 :EXIT /B 0: