#012iso.3.6.1.2.1.1.3.0 15:1:47:08.58#011iso.3.6.1.6.3.1.1.4.1.0 iso.3.6.1.4.1.9.9.383.0.1#011iso.3.6.1.4.1.9.9.383.1.1.1.0 6822393729640#011iso.3.6.1.4.1.9.9.383.1.1.2.0 "07 DE 04 0A 0B 2C 0E 00 "#011iso.3.6.1.4.1.9.9.383.1.1.3.0 "07 DE 04 0A 07 2C 0E 00 "#011iso.3.6.1.4.1.9.9.383.1.1.4.0 "IPS-SENSOR-01"#011iso.3.6.1.4.1.9.9.383.1.2.2.0 2147516416#011iso.3.6.1.4.1.9.9.383.1.2.3.0 "Heartbleed"#011iso.3.6.1.4.1.9.9.383.1.2.4.0 "OpenSSL Information Disclosure"#011iso.3.6.1.4.1.9.9.383.1.2.5.0 4187#011iso.3.6.1.4.1.9.9.383.1.2.6.0 0#011iso.3.6.1.4.1.9.9.383.1.2.7.0 "S785"#011iso.3.6.1.4.1.9.9.383.1.2.13.0 0#011iso.3.6.1.4.1.9.9.383.1.2.14.0 "iBCRX+m57XRkOtzSnz0MSIw/CJWscqWUKqhEjadJYMWue6yLZAgTFpc8+LuL#012H/4o5rulPzbm1D9tQZ2tnoY/qfwSZ3H1VE2Wt2/rwUHcjVaKjGue9I0FdGZN#012JgpdbIcOOiBxB0T0JJ0qsqAzTMO37pf6GNOcByoHVgcgubBM2x148331MWSP#012O4hROt/p8Zpk8ZmNBIfUwy4yA0ByxPANY4e+ixHoPOe0aJGk1GUthnyAhKn8#012ztzv/kfCXHyPH5X7DBXTTXYZN+Xv6vnWYJV3tojoaOIpv6shRYLjeg84qeO5#012vY3P0uXwcYSCj1YY4rdgQpQvL8PkOxYDAgAEDgAAAA=="#011iso.3.6.1.4.1.9.9.383.1.2.15.0 "FgMCANwBAADYAwJTQ1uQnZtyC7wMvCuSqEiXz705BMwWCoUDkJ93BDPU3gAA#012ZsAUwArAIsAhADkAOACIAIfAD8AFADUAhMASwAjAHMAbABYAE8ANwAMACsAT#012wAnAH8AeADMAMgCaAJkARQBEwA7ABAAvAJYAQcARwAfADMACAAUABAAVABIA#012CQAUABEACAAGAAMA/wEAAEkACwAEAwABAgAKADQAMgAOAA0AGQALAAwAGAAJ#012AAoAFgAXAAgABgAHABQAFQAEAAUAEgATAAEAAgADAA8AEAARACMAAAAPAAEB#012GAMCAAMBQAAYAwIAAwFAAA=="#011iso.3.6.1.4.1.9.9.383.1.2.16.0 "192.168.1.1:51716"#011iso.3.6.1.4.1.9.9.383.1.2.17.0 "osIdSource=\"unknown\" osRelevance=\"relevant\" osType=\"unknown\" 10.10.10.1:443"#011iso.3.6.1.4.1.9.9.383.1.2.21.0 "InterfaceAttributes: context=\"single_vf\" physical=\"Unknown\" backplane=\"PortChannel0/0\" ; "#011iso.3.6.1.4.1.9.9.383.1.2.25.0 70#011iso.3.6.1.4.1.9.9.383.1.2.26.0 5#011iso.3.6.1.4.1.9.9.383.1.2.27.0 6#011iso.3.6.1.4.1.9.9.383.1.2.42.0 70#011iso.3.6.1.4.1.9.9.383.1.2.49.0 "vs0"#011iso.3.6.1.4.1.9.9.383.1.3.1.0 "high"
<sd:evIdsAlert eventId="6821065810849" vendor="Cisco" severity="informational" cid:alarmTraits="2147483648"> <sd:originator> <sd:hostId>IPS-SENSOR-01</sd:hostId> <cid:appName>sensorApp</cid:appName> <cid:appInstanceId>27106</cid:appInstanceId> </sd:originator> <sd:time offset="240" timeZone="GMT+04:00">1392668796044445000</sd:time> <sd:signature description="TCP Drop - Segment out state order" id="1330" cid:version="S642" cid:type="anomaly" cid:created="20050304"> <cid:subsigId>17</cid:subsigId> <cid:sigDetails>TCP segment is out of state order</cid:sigDetails> </sd:signature> <sd:interfaceGroup>vsx</sd:interfaceGroup> <sd:vlan>302</sd:vlan> <sd:participants> <sd:attacker> <sd:addr cid:locality="Inside">192.168.0.1</sd:addr> <sd:port>443</sd:port> </sd:attacker> <sd:target> <sd:addr cid:locality="AS_Inside">10.10.10.1</sd:addr> <sd:port>24479</sd:port> <cid:os idSource="learned" type="windows-nt-2k-xp" relevance="relevant" /> </sd:target> </sd:participants> <sd:actions> <cid:snmpTrapRequested>true</cid:snmpTrapRequested> </sd:actions> <cid:riskRatingValue targetValueRating="medium" attackRelevanceRating="relevant">25</cid:riskRatingValue> <cid:threatRatingValue>25</cid:threatRatingValue> <cid:interface>ge0_3</cid:interface> <cid:protocol>tcp</cid:protocol> </sd:evIdsAlert>
Aug 20 14:21:35 MSK: %IPS-4-SIGNATURE: Sig:15002 Subsig:1 Sev:50 [192.168.1.1:1066 -> 10.10.10.1:5938] RiskRating:30
Mar 3 11:15:24 MSK: %IPS-4-SIGNATURE: Sig:11020 Subsig:0 Sev:25 BitTorrent Client Activity [192.168.1.1:62809 -> 10.10.10.1:6881] VRF:NONE RiskRating:25
<sd:evIdsAlert eventId="139779925140" vendor="Cisco" severity="informational"> <sd:originator> <sd:hostId>IOS-IPS-ROUTER</sd:hostId> </sd:originator> <sd:time offset="0" timeZone="UTC">1397799251079951920</sd:time> <sd:signature description="Jabber Activity" id="11204" version="S588"> <cid:subsigId>0</cid:subsigId> <cid:sigDetails>jabber:</cid:sigDetails> </sd:signature> <cid:protocol>tcp</cid:protocol> <cid:riskRatingValue>25</cid:riskRatingValue> <sd:participants> <sd:attacker> <sd:addr>192.168.1.1</sd:addr> <sd:port>61208</sd:port> </sd:attacker> <sd:target> <sd:addr>10.10.10.1</sd:addr> <sd:port>5222</sd:port> </sd:target> <sd:vrf_name>NONE</sd:vrf_name> </sd:participants> <sd:actions /> <cid:interface>Fa0/1</cid:interface> <cid:vrf_name>NONE</cid:vrf_name> </sd:evIdsAlert>
donotlogtraps no printeventnumbers yes ignoreauthfailure yes authCommunity log,execute public traphandle default /usr/sbin/snmptthandler
if $programname == 'snmptrapd' \ then /var/log/snmptrapd & ~
Apr 18 16:01:59 prelude-server snmptrapd[11106]: 2014-04-18 16:01:59 10.0.0.1 [UDP: [10.0.0.1]:60457->[192.168.0.1]]:#012iso.3.6.1.2.1.1.3.0 24:12:04:52.86#011iso.3.6.1.6.3.1.1.4.1.0 iso.3.6.1.4.1.9.9.383.0.1#011iso.3.6.1.4.1.9.9.383.1.1.1.0 6822393753725#011iso.3.6.1.4.1.9.9.383.1.1.2.0 "07 DE 04 13 16 01 3B 00 "#011iso.3.6.1.4.1.9.9.383.1.1.3.0 "07 DE 04 13 12 01 3B 00 "#011iso.3.6.1.4.1.9.9.383.1.1.4.0 "IPS-SENSOR-01"#011iso.3.6.1.4.1.9.9.383.1.2.2.0 2147516416#011iso.3.6.1.4.1.9.9.383.1.2.3.0 "[ \\x26=?.]/etc/passwd[ \\x26=?]"#011iso.3.6.1.4.1.9.9.383.1.2.4.0 "Unix Password File Access Attempt"#011iso.3.6.1.4.1.9.9.383.1.2.5.0 3201#011iso.3.6.1.4.1.9.9.383.1.2.6.0 1#011iso.3.6.1.4.1.9.9.383.1.2.7.0 "S238"#011iso.3.6.1.4.1.9.9.383.1.2.13.0 0#011iso.3.6.1.4.1.9.9.383.1.2.15.0 "R0VUIC9uZXdzL2luZGV4LnBocD9FTEVNRU5UX0lEPS4uLy4uLy4uLy4uLy4u#012Ly4uLy4uLy4uLy4uL2V0Yy9wYXNzd2QgSFRUUC8xLjENCkhvc3Q6IA=="#011iso.3.6.1.4.1.9.9.383.1.2.16.0 "192.168.1.1:22238"#011iso.3.6.1.4.1.9.9.383.1.2.17.0 "osIdSource=\"unknown\" osRelevance=\"relevant\" osType=\"unknown\" 10.10.10.1:80"#011iso.3.6.1.4.1.9.9.383.1.2.21.0 "InterfaceAttributes: context=\"single_vf\" physical=\"Unknown\" backplane=\"PortChannel0/0\" ; "#011iso.3.6.1.4.1.9.9.383.1.2.25.0 65#011iso.3.6.1.4.1.9.9.383.1.2.26.0 5#011iso.3.6.1.4.1.9.9.383.1.2.27.0 6#011iso.3.6.1.4.1.9.9.383.1.2.42.0 65#011iso.3.6.1.4.1.9.9.383.1.2.49.0 "vs0"#011iso.3.6.1.4.1.9.9.383.1.3.1.0 "medium"
[format=Cisco-IPS] time-format = "%b %d %H:%M:%S" prefix-regex = "^(?P<timestamp>.{15}) (?P<hostname>\S+) (?:(?P<process>\S+?)(?:\[(?P<pid>[0-9]+)\])?: )?" file = /var/log/snmptrapd
regex=snmptrapd; include = cisco-ips.rules;
##### # Copyright (C) 2013 Vladimir Lapshin <vmlapshin at gmail dot com> # Copyright (C) 2013 lei_wulong # # This file is part of the Prelude-LML program. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. # ##### #<<ALERT<< #SIG POOL: 5000-5039 regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.4(?:\.0)? "(.+)".011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.5(?:\.0)?; \ id=5000; \ classification.text=$1; \ assessment.impact.description=This event was generated by the Cisco IPS; \ classification.reference(0).origin=vendor-specific; \ classification.reference(0).meaning=ips_id; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.[23]\.1(?:\.0)? "(info|low|medium|high)(rmational)?"; \ id=5001; \ assessment.impact.severity=$1; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.(?:17(?:\.0)? "osIdSource=\\+?"(\S+?)\\+?" osRelevance=\\+?"(\S+?)\\+?" osType=\\+?"(\S+?)\\+?)?" (?:0\.0\.0\.0 \[)?([\w:]+?|\d+?\.\d+?\.\d+?\.\d+?)(?:\])?(?::([\d\,]+?))?"; \ id=5002; \ target(0).node.address(0).category=ipv4-addr; \ target(0).node.address(0).address=$4; \ target(0).service.port=$5; \ target(0).service.portlist=$5; \ additional_data(0).type=string; \ additional_data(0).meaning=osIdSource:; \ additional_data(0).data=$1; \ additional_data(1).type=string; \ additional_data(1).meaning=osRelevance:; \ additional_data(1).data=$2; \ additional_data(2).type=string; \ additional_data(2).meaning=osType:; \ additional_data(2).data=$3; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.5(?:\.0)? (\d+).011iso.3.6.1.4.1.9.9.383.1.2.6(?:\.0)? (\d+); \ id=5003; \ classification.reference(0).origin=vendor-specific; \ classification.reference(0).meaning=ips_id; \ classification.reference(0).name=$1.$2; \ classification.reference(0).url=http://tools.cisco.com/security/center/viewIpsSignature.x?signatureId=$1&signatureSubId=$2; \ additional_data(>>).type=string; \ additional_data(-1).meaning=Cisco Signature Template:; \ additional_data(-1).data=http://tools.cisco.com/security/center/viewIpsSignature.x?signatureId=$1&signatureSubId=$2; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.13(?:\.0)? (\d+); \ id=5004; \ target(0).node.address(0).vlan_name=$1; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.16(?:\.0)? "(?:0\.0\.0\.0 \[)?([\w:]+?|\d+?\.\d+?\.\d+?\.\d+?)(?:\])?(?::(\d+?))?"; \ id=5005; \ source(0).node.address(0).category=ipv4-addr; \ source(0).node.address(0).address=$1; \ source(0).service.port=$2; chained; silent; #ANOMALY DETECTION regex=011iso.3.6.1.4.1.9.9.383.1.2.16(?:\.0)? "[\d\.\:]+"\#011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.21(?:\.0)? ".\s+adExtraData: numDestIps=\d+\S currentThreshold=\d+\S protocol=\d+; \ id=5006; \ target(0).node.address(0).category=ipv4-addr; \ target(0).node.address(0).address=0.0.0.0; \ target(0).service.port=0; \ target(0).service.portlist=0; \ additional_data(0).type=string; \ additional_data(0).meaning=osIdSource:; \ additional_data(0).data=unknown; \ additional_data(1).type=string; \ additional_data(1).meaning=osRelevance:; \ additional_data(1).data=unknown; \ additional_data(2).type=string; \ additional_data(2).meaning=osType:; \ additional_data(2).data=unknown; chained; silent; regex=\[UDP: \[([^\]]+)\]:\d+->\[[^\]]+\]\]:.012iso\.3\.6\.1\.2\.1\.1\.3\.0 \d?\d?\d?:?\d\d:\d\d:\d\d\.\d\d.011iso\.3\.6\.1\.6\.3\.1\.1\.4\.1\.0 iso\.3\.6\.1\.4\.1\.9\.9\.383\.0\.1.011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.1\.1 \d+.011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.1\.2 "[\d\w\s]+".011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.1\.3 "[\d\w\s]+".011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.1\.4 "(\S+)".011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.1 "(info|low|medium|high)(?:rmational)?".011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.2 \d+.011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.3 "([^"]+)"#011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.4 "([^"]+)".011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.5 (\d+).011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.6 (\d+).011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.7 "[^"]+".011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.12 \d+.011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.13 \d+.011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.16 "([^"]+)".011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.21 "\.\s+adExtraData: numDestIps=(\d+). currentThreshold=(\d+). protocol=(\d+) . ".011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.25 \d+.011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.26 \d+.011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.27 \d+.011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.2\.42 \d+; \ id=5030; \ revision=1; \ classification.text=$5; \ classification.reference(0).origin=vendor-specific; \ classification.reference(0).name=$6.$7; \ classification.reference(0).meaning=ips_id; \ classification.reference(0).url=http://tools.cisco.com/security/center/viewIpsSignature.x?signatureId=$6&signatureSubId=$7; \ assessment.impact.severity=$3; \ assessment.impact.type=other; \ assessment.impact.description=$4; \ source(0).node.address(0).category=ipv4-addr; \ source(0).node.address(0).address=$8; \ target(0).node.address(0).category=ipv4-addr; \ target(0).node.address(0).address=0.0.0.0; \ analyzer(0).node.address(0).address=$1; \ analyzer(0).node.name=$2; \ analyzer(0).manufacturer=Cisco; \ analyzer(0).class=IPS; \ analyzer(0).name=Cisco IPS; \ last; #>>ALERT>> #<<ERROR<< #SIG POOL: 5040-5079 regex=011iso.3.6.1.4.1.9.9.383.1.3.1 "(\w+)"; \ id=5040; \ classification.text=IPS $1 message; \ classification.reference(0).origin=vendor-specific; \ additional_data(0).type=string; \ additional_data(0).meaning=$1:; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 1#; \ id=5041; \ classification.reference(0).name=errAuthenticationTokenExpired; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 2#; \ id=5042; \ classification.reference(0).name=errConfigCollision; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 3#; \ id=5043; \ classification.reference(0).name=errInUse; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 4#; \ id=5044; \ classification.reference(0).name=errInvalidDocument; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 5#; \ id=5045; \ classification.reference(0).name=errLimitExceeded; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 6#; \ id=5046; \ classification.reference(0).name=errNotAvailable; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 7#; \ id=5047; \ classification.reference(0).name=errNotFound; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 8#; \ id=5048; \ classification.reference(0).name=errNotSupported; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 9#; \ id=5049; \ classification.reference(0).name=errPermissionDenied; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 10#; \ id=5050; \ classification.reference(0).name=errSyslog; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 11#; \ id=5051; \ classification.reference(0).name=errSystemError; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 12#; \ id=5052; \ classification.reference(0).name=errTransport; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 13#; \ id=5053; \ classification.reference(0).name=errUnacceptableValue; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 14#; \ id=5054; \ classification.reference(0).name=errUnclassified; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.2 15#; \ id=5055; \ classification.reference(0).name=errWarning; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.3 "(A global correlation update failed: Receive HTTP response failed \[\S+\].012Messages, like this one, in the category - Reputation update failure - were logged \d+ times in the last \d+ seconds\.|No installable auto update package found on server|SNMP could not get statistical value\.|error getting config)"; \ id=5070; \ assessment.impact.severity=info; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.3 "(autoUpdate successfully selected a package \S+ from the cisco\.com locator service, however, package download failed: .+|AutoUpdate exception: Receive HTTP response failed \[\S+\])"; \ id=5071; \ assessment.impact.severity=low; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.3\.3 "(Target system does not have a valid license to process the config with the version \S+)"; \ id=5072; \ assessment.impact.severity=med; chained; silent; #>>ERROR>> #<<MESSAGE TYPE<< #SIG POOL: 5080-5089 optgoto=5000-5006; regex=011iso\.3\.6\.1\.6\.3\.1\.1\.4\.1\.0 iso\.3\.6\.1\.4\.1\.9\.9\.383\.0\.1; \ id=5080; \ classification.text=IPS alert message; \ assessment.impact.description=This event was generated by the Cisco IPS; \ classification.reference(0).origin=vendor-specific; \ classification.reference(0).meaning=ips_id; \ assessment.impact.severity=high; chained; silent; optgoto=5040-5055; optgoto=5070-5072; regex=011iso\.3\.6\.1\.6\.3\.1\.1\.4\.1\.0 iso\.3\.6\.1\.4\.1\.9\.9\.383\.0\.2; \ id=5081; \ classification.text=IPS system message; \ assessment.impact.description=This event was generated by the Cisco IPS; \ classification.reference(0).origin=vendor-specific; \ classification.reference(0).meaning=ips_id; \ assessment.impact.severity=high; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.1\.1(?:\.0)? (\d+); \ id=5082; chained; silent; regex=011iso\.3\.6\.1\.4\.1\.9\.9\.383\.1\.1\.4(?:\.0)? "([\w\d-]+)"; \ id=5083; \ analyzer(0).node.name=$1; \ analyzer(0).name=Cisco IPS; \ analyzer(0).manufacturer=Cisco; \ analyzer(0).class=IPS; chained; silent; ### TURN OFF FLOOD ### regex=.012iso\.3\.6\.1\.2\.1\.1\.3\.0 (\S+).011iso\.3\.6\.1\.6\.3\.1\.1\.4\.1\.0 iso.3\.6\.1\.4\.1\.9\.9\.138\.2\.0\.1(?:\.0)?.011iso\.3\.6\.1\.4\.1\.9\.9\.138\.1\.3\.3\.1\.3(?:\.0)? (\d+).011iso\.3\.6\.1\.4\.1\.9\.9\.138\.1\.3\.3\.1\.4(?:\.0)? (\d+).011iso\.3\.6\.1\.4\.1\.9\.9\.138\.1\.3\.3\.1\.5(?:\.0)? (\d+).011iso\.3\.6\.1\.4\.1\.9\.9\.138\.1\.3\.3\.1\.6(?:\.0)? (\d+); silent; last; #>>MESSAGE TYPE>> #<<MAIN RULE<< #SIG POOL: 5090-5099 optgoto=5080-5083; regex=snmptrapd\[\d+\]: \d+-\d+-\d+ \d+:\d+:\d+ \d+.\d+.\d+.\d+ \[UDP: \[(\d+\.\d+\.\d+\.\d+)]:\d+->\[(\d+.\d+.\d+.\d+)\]\]:; \ classification.text=snmp unknown message; \ classification.reference(0).origin=vendor-specific; \ id=5090; \ revision=1; \ assessment.impact.severity=high; \ assessment.impact.type=other; \ assessment.impact.description=This event was generated by snmptrapd; \ source(0).node.address(0).address=$1; \ analyzer(0).node.address(0).address=$2; \ last; #>>MAIN RULE>> #EOF
# # Copyright (C) 2013 lei_wulong # # This file is part of the Prelude-LML program. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. # ##### ##RULES FOR CISCO IOS-IPS### ## id pool = [580-599] regex=Subsig\:\d+\s+Sev\:25; \ id=580; \ assessment.impact.severity=info; \ silent regex=Subsig\:\d+\s+Sev\:50; \ id=581; \ assessment.impact.severity=low; \ silent regex=Subsig\:\d+\s+Sev\:75; \ id=582; \ assessment.impact.severity=medium; \ silent regex=Subsig\:\d+\s+Sev\:100; \ id=583; \ assessment.impact.severity=high; \ silent ### For IOS 12.4(11)### regex=(\d+\.\d+\.\d+\.\d+)\s+\d+\:\s+(.+?)\:.+?\%IPS-4-SIGNATURE\: Sig\:(\d+)\s+Subsig\:(\d+)\s+Sev\:(\d+)\s+\[([\d\.]+)\:(\d+)\s+\-\>\s+([\d\.]+)\:(\d+)\]\s+RiskRating\:(\d+); \ classification.text=$3.$4; \ classification.reference(0).origin=vendor-specific; \ classification.reference(0).meaning=cisco_id; \ classification.reference(0).name=$3.$4; \ classification.reference(0).url=http://tools.cisco.com/security/center/viewIpsSignature.x?signatureId=$3&signatureSubId=$4; \ id=584; \ revision=2; \ analyzer(0).name=Cisco IPS; \ analyzer(0).manufacturer=Cisco; \ analyzer(0).class=IPS; \ analyzer(0).node.address(0).address=$1; \ analyzer(0).node.name=$2; \ assessment.impact.type=other; \ source(0).node.address(0).category=ipv4-addr; \ source(0).node.address(0).address=$6; \ target(0).node.address(0).category=ipv4-addr; \ target(0).node.address(0).address=$8; \ source(0).service.port=$7; \ target(0).service.port=$9; \ additional_data(0).type=integer; \ additional_data(0).meaning=Signature Severity; \ additional_data(0).data=$5; \ additional_data(1).type=integer; \ additional_data(1).meaning=Risk Rating; \ additional_data(1).data=$10; \ ###FOR IOS 15.1 ### regex=(\d+\.\d+\.\d+\.\d+)\s+\d+\:\s+(.+?)\:.+?\%IPS-4-SIGNATURE\: Sig\:(\d+)\s+Subsig\:(\d+)\s+Sev\:(\d+)\s+(.+?)\s+\[([\d\.]+)\:(\d+)\s+\-\>\s+([\d\.]+)\:(\d+)\]\s+VRF\:(.+?)\s+RiskRating\:(\d+); \ classification.text=$6; \ classification.reference(0).origin=vendor-specific; \ classification.reference(0).meaning=cisco_id; \ classification.reference(0).name=$3.$4; \ classification.reference(0).url=http://tools.cisco.com/security/center/viewIpsSignature.x?signatureId=$3&signatureSubId=$4; \ id=585; \ revision=2; \ analyzer(0).name=Cisco IPS; \ analyzer(0).manufacturer=Cisco; \ analyzer(0).class=IPS; \ analyzer(0).node.address(0).address=$1; \ analyzer(0).node.name=$2; \ assessment.impact.type=other; \ source(0).node.address(0).category=ipv4-addr; \ source(0).node.address(0).address=$7; \ target(0).node.address(0).category=ipv4-addr; \ target(0).node.address(0).address=$9; \ source(0).service.port=$8; \ target(0).service.port=$10; \ additional_data(0).type=integer; \ additional_data(0).meaning=Signature Severity; \ additional_data(0).data=$5; \ additional_data(1).type=integer; \ additional_data(1).meaning=Risk Rating; \ additional_data(1).data=$12; \ additional_data(2).type=string; \ additional_data(2).meaning=VRF; \ additional_data(2).data=$11; \ last;
# # Copyright (C) 2014 Vladimir Lapshin <vmlapshin at gmail dot com> # Copyright (C) 2014 lei_wulong # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. # import re from PreludeCorrelator.pluginmanager import Plugin from PreludeCorrelator.context import Context import time import subprocess localtime = time.localtime() timestamp = time.strftime('%d %b %H:%M:%S', localtime) print str(timestamp) + ' HeartBleed plugin (correlator) INFO: Starting...' class heartbleed(Plugin): def run(self, idmef): if not idmef.match('alert.classification.text', re.compile('^OpenSSL Information Disclosure$|^Other security event$')): return addr = idmef.Get('alert.target(*).node.address(*).address') if not addr: return port = idmef.Get('alert.target(0).service.port') if not port: port='443' script = str('python2.6 /etc/prelude-correlator/heartbleed.py ') + str(addr).strip('[\'\']') + str(' -p ') + str(port) print script PIPE = subprocess.PIPE p = subprocess.Popen(script, shell=True, stdin=PIPE, stdout=PIPE, stderr=subprocess.STDOUT, close_fds=True) while True: s = p.stdout.readline() if not s: break if re.findall('server is vulnerable', s): ctx = Context(("HEART_BLEED", addr), update=True, idmef=idmef) ctx.Set("alert.classification.text", "HeartBleed vulnerability detected") ctx.Set("alert.correlation_alert.name", "HeartBleed vulnerability detected") ctx.Set("alert.assessment.impact.severity", "high") ctx.Set("alert.classification.reference(0).origin", "vendor-specific") ctx.Set("alert.classification.reference(0).name", "CVE-2014-0160") ctx.alert() ctx.destroy() print 'Vulnerable!' return
if idmef.match("alert.source(0).node.address(0).address", re.compile("0\.0\.0\.0")) # <- Prelude-Correlator addr return
Source: https://habr.com/ru/post/220449/
All Articles