<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
If snort see two packets in a TCP flow with
first packet has “login” or “Initial” in payload, destination port is 3399;and second packet has a “IPv4Address:Port”string(E.g. 123.45.6.7:8080) in payload. destination port is 3399;output an alert with msg “bot founded” and sid 1000001
題目要求檢測包含兩個包的特定流,需要通過設定標記位,即flowbits來實現。另外,題目中均要求檢測特定的字串或模式,所以還需要在pcre欄位中通過正規表示式實現。
匹配特定字串
pcre:"/login|Initial/";
正規表示式的兩端需要加上限界符/
。
設定標誌位,同時不發出警報。
flowbits:set,login_Initial;flowsbits:noalert;
2.2.1 匹配模式IPv4Address:Port
IPv4Address
IPv4地址使用點分十進位制表示時,分為4組,每組的範圍均為[0,255]。即從0.0.0.0到255.255.255.255。
我們先分析單獨一組的特點:
區間 | 限制 | 表示 |
---|---|---|
0~99 | 沒有任何限制 | d{1,2} |
100~199 | 後兩位也沒有任何限制 | 1d{2} |
200~249 | 十位限制在0~4,個位沒有限制 | 2[0-4]d |
250~255 | 個位限制在0~5 | 25[0-5] |
可以發現表格中前兩種情況可以合併為1?d{1,2}
,所以可以用25[0-5]|2[0-4]d|1?d{1,2}
來匹配0~255;
將其作為一個分組,再考慮到.
,我們可以寫出如下正規表示式匹配IPv4地址:
((25[0-5]|2[0-4]d|1?d{1,2}).){3}(25[0-5]|2[0-4]d|1?d{1,2})
值得說明的是:
這裡我們認為數位前出現填充0
的情況與非填充狀態等價:
如:192.01.00.1
等價於192.1.0.1
。
這種情況下才能使用d{1,2}
,因為可能會出現00
的情況。
正規表示式的短路性質:
當|
運運算元分隔的多個表示式有一個匹配成功時,該表示式之後的表示式將不會繼續匹配。
如:A|B|C|D
,B
匹配成功了,將不會再看C
和D
。
所以上面匹配IPv4地址時,我們單獨一個分組寫成25[0-5]|2[0-4]d|1?d{1,2}
而不是1?d{1,2}|2[0-4]d|25[0-5]
。
後者匹配255
時,只會匹配到25
和5
,而不會匹配到255
:
同樣後者構造的正規表示式去匹配255.255.255.255
,只會匹配到255.255.255.25
,缺少最後一個5
:
因為它匹配到最後一組的25
時就判定匹配成功,直接跳到末尾,結束匹配。而前面幾組255
正確匹配的原因是:如果只匹配25
,發現剩下的5
和.
不匹配,之後會進行回溯,繼續檢查後面的條件,發現255
匹配成功且.
也匹配成功,不再回溯。
埠號的範圍是0~65535,我們同樣可以分成不同的區間來匹配埠號。
區間 | 限制 | 表示 |
---|---|---|
0~9999 | 沒有任何限制 | d{1,4} |
10000~59999 | 後四位沒有任何限制 | [1-5]d{4} |
60000~64999 | 千位限制在0~4,後三位沒有任何限制 | 6[0-4]d{3} |
65000~65499 | 百位限制在0~4,後兩位沒有任何限制 | 65[0-4]d{2} |
65500~65529 | 十位限制在0~4,個位沒有任何限制 | 655[0-2]d |
65530~65535 | 個位限制在0~5 | 6553[0~5] |
同樣,我們可以將表格前兩種情況合併為[1-5]?d{1,4}
。結合上面提到的短路性質,我們可以寫出最終用於匹配埠號的正規表示式:
6553[0-5]|655[0-2]d|65[0-4]d{2}|6[0-4]d{3}|[1-5]?d{1,4}
2.2.2 檢查標誌位
flowbits:isset,bot_founded;
通過上述分析,我們可以寫出如下檢測規則:
alert tcp any any -> any 3399 (pcre:"/login|Initial/";flowbits:set,login_Initial;flowbits:noalert;sid:1000000) alert tcp any any -> any 3399 (msg:"bot founded";pcre:"/((25[0-5]|2[0-4]d|1?d{1,2}).){3}(25[0-5]|2[0-4]d|1?d{1,2}):(6553[0-5]|655[0-2]d|65[0-4]d{2}|6[0-4]d{3}|[1-5]?d{1,4})/";flowbits:isset,bot_founded;sid:1000001)
到此這篇關於Snort中pcre和正規表示式的使用的文章就介紹到這了,更多相關Snort pcre 正規表示式使用內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45