#1 Le 30/03/2010, à 09:58
- Phoenixian
[RESOLU] Commande BASH - New et Old
Bonjour !
Je me casse un peu la tête pour une petite chose. Voici un exemple du fichier que je veux traiter :
[///] Modified active rules: [///]
-> Modified active in backdoor.rules (1):
old: alert tcp $HOME_NET 1024: -> $EXTERNAL_NET any (msg:"BACKDOOR fkwp 2.0 runtime detection - connection attempt server-to-client"; flow:from_server,established; flowbits:isset,fkwp_conn_cts; content:"FAI"; depth:3; nocase; metadata:policy security-ips drop; reference:url,www.spywareguide.com/product_show.php?id=815; classtype:trojan-activity; sid:6031; rev:3;)
new: alert tcp $HOME_NET 1024: -> $EXTERNAL_NET any (msg:"BACKDOOR fkwp 2.0 runtime detection - connection attempt server-to-client"; flow:from_server,established; flowbits:isset,fkwp_conn_cts; dsize:>50; content:"FAI"; depth:3; nocase; metadata:policy security-ips drop; reference:url,www.spywareguide.com/product_show.php?id=815; classtype:trojan-activity; sid:6031; rev:4;)
-> Modified active in dns.rules (1):
old: alert udp $EXTERNAL_NET 53 -> $HOME_NET any (msg:"DNS large number of NXDOMAIN replies - possible DNS cache poisoning"; byte_test:1,&,2,3; byte_test:1,&,1,3; byte_test:1,&,128,2; threshold:type threshold, track by_src, count 200, seconds 30; metadata:policy balanced-ips alert, policy security-ips alert, service dns; reference:cve,2008-1447; reference:cve,2009-0233; reference:url,www.kb.cert.org/vuls/id/800113; reference:url,www.microsoft.com/technet/security/bulletin/MS09-008.mspx; classtype:misc-attack; sid:13948; rev:3;)
new: alert udp $EXTERNAL_NET 53 -> $HOME_NET any (msg:"DNS large number of NXDOMAIN replies - possible DNS cache poisoning"; byte_test:1,&,2,3; byte_test:1,&,1,3; byte_test:1,&,128,2; detection_filter:track by_src, count 200, seconds 30; metadata:policy balanced-ips drop, policy security-ips drop, service dns; reference:cve,2008-1447; reference:cve,2009-0233; reference:url,www.kb.cert.org/vuls/id/800113; reference:url,www.microsoft.com/technet/security/bulletin/MS09-008.mspx; classtype:misc-attack; sid:13948; rev:4;)
-> Modified active in dos.rules (1):
old: alert tcp $EXTERNAL_NET any -> $HOME_NET 50000 (msg:"DOS IGM DB2 database server SQLSTT denial of service attempt"; flow:to_server, established; content:"|24 14|"; content:"|D0|"; within:1; distance:-8; byte_test:1, &, 4, 0, relative; metadata:policy balanced-ips drop, policy security-ips drop; reference:cve,2009-0173; classtype:denial-of-service; sid:16364; rev:2;)
new: alert tcp $EXTERNAL_NET any -> $HOME_NET 50000 (msg:"DOS IBM DB2 database server SQLSTT denial of service attempt"; flow:to_server, established; content:"|24 14|"; content:"|D0|"; within:1; distance:-8; byte_test:1, &, 4, 0, relative; metadata:policy balanced-ips drop, policy security-ips drop; reference:cve,2009-0173; classtype:denial-of-servrence:cve,2003-0719; reference:nessus,12205; reference:url,www.microsoft.com/technet/security/bulletin/MS04-011.mspx; classtype:attempted-admin; sid:2517; rev:20;)
new: alert tcp $EXTERNAL_NET any -> $HOME_NET 993 (msg:"IMAP PCT Client_Hello overflow attempt"; flow:to_server,established; flowbits:isnotset,sslv2.server_hello.request; flowbits:isnotset,sslv3.server_hello.request; flowbits:isnotset,tlsv1.server_hello.request; content:"|01|"; depth:1; offset:2; byte_test:2,>,0,5; byte_test:2,!,0,7; byte_test:2,!,16,7; byte_test:2,>,20,9; content:"|8F|"; depth:1; offset:11; byte_test:2,>,32768,0,relative; metadata:policy security-ips drop, service imap; reference:bugtraq,10116; reference:cve,2003-0719; reference:nessus,12205; reference:url,www.microsoft.com/technet/security/bulletin/MS04-011.mspx; classtype:attempted-admin; sid:2517; rev:21;)ice; sid:16364; rev:3;)
-> Modified active in imap.rules (3):
old: alert tcp $EXTERNAL_NET any -> $HOME_NET 993 (msg:"IMAP PCT Client_Hello overflow attempt"; flow:to_server,established; flowbits:isnotset,sslv2.server_hello.request; flowbits:isnotset,sslv3.server_hello.request; flowbits:isnotset,tlsv1.server_hello.request; content:"|01|"; depth:1; offset:2; byte_test:2,>,0,5; byte_test:2,!,0,7; byte_test:2,!,16,7; byte_test:2,>,20,9; content:"|8F|"; depth:1; offset:11; byte_test:2,>,32768,0,relative; metadata:policy connectivity-ips drop, policy security-ips drop, service imap; reference:bugtraq,10116; reference:cve,2003-0719; reference:nessus,12205; reference:url,www.microsoft.com/technet/security/bulletin/MS04-011.mspx; classtype:attempted-admin; sid:2517; rev:20;)
new: alert tcp $EXTERNAL_NET any -> $HOME_NET 993 (msg:"IMAP PCT Client_Hello overflow attempt"; flow:to_server,established; flowbits:isnotset,sslv2.server_hello.request; flowbits:isnotset,sslv3.server_hello.request; flowbits:isnotset,tlsv1.server_hello.request; content:"|01|"; depth:1; offset:2; byte_test:2,>,0,5; byte_test:2,!,0,7; byte_test:2,!,16,7; byte_test:2,>,20,9; content:"|8F|"; depth:1; offset:11; byte_test:2,>,32768,0,relative; metadata:policy security-ips drop, service imap; reference:bugtraq,10116; reference:cve,2003-0719; reference:nessus,12205; reference:url,www.microsoft.com/technet/security/bulletin/MS04-011.mspx; classtype:attempted-admin; sid:2517; rev:21;)
Je voudrais une commande sur permet de m'afficher seulement les lignes commençant par " new:" et par " old:". Or, je n'arrive pas à le faire en une seule commande. Voici où j'en suis :
cat /var/log/snort/oinkmaster.log |grep " new:" > fichier
cat /var/log/snort/oinkmaster.log |grep " old:" > fichier
Or je voudrais que les new et old s'affiche l'un en dessou de l'autre pour chaque ligne.
Comment faire pour dire à grep que l'on veut afficher new: et old: à la fois ?
Merci !
Dernière modification par Phoenixian (Le 31/03/2010, à 08:38)
Hors ligne
#2 Le 30/03/2010, à 12:34
- AnsuzPeorth
Re : [RESOLU] Commande BASH - New et Old
Bjr,
Le cat est inutile, grep accepte un fichier en argument.
Sinon, regarde l'option R de grep ou egrep (c'est identique), cela te permettra d'utiliser les ER.
Cherches un peu (forum programmation par exemple, les derniers posts en parle des ER justement !), si tu trouves pas, moi ou un autre te donnera la solution
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#3 Le 30/03/2010, à 12:41
- ChRiiS
Re : [RESOLU] Commande BASH - New et Old
Salut Phoenixian,
Tout simplement :
egrep "(old|new)" ton_fichier > sortie
[edit] Arf grillé, et de manière didactique en plus [/edit]
Dernière modification par ChRiiS (Le 30/03/2010, à 12:41)
Hors ligne
#4 Le 30/03/2010, à 12:47
- AnsuzPeorth
Re : [RESOLU] Commande BASH - New et Old
Je ne voulais pas donner la réponse ... Et pour être plus précis, l'ER n'est pas necessaires (mais ca permet de bien differencier les choses, sinon on se perds vite entre les ER, le bash & co)
grep 'old\|new' fichier
fonctionne aussi !
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#5 Le 30/03/2010, à 12:53
- Phoenixian
Re : [RESOLU] Commande BASH - New et Old
Merci énormément !!!
Hors ligne
#6 Le 30/03/2010, à 12:57
- Totor
Re : [RESOLU] Commande BASH - New et Old
Bjr,
[..]
Sinon, regarde l'option R de grep ou egrep (c'est identique), cela te permettra d'utiliser les ER.
[..]
1. ce n'est pas l'option -R mais -E
2. grep exploite déjà les ER. l'option -E (ou le dérivé egrep) permet l'utilisation des Expressions Relationnelles Etendues (ERE).
Dernière modification par Totor (Le 30/03/2010, à 12:57)
-- Lucid Lynx --
Hors ligne
#7 Le 30/03/2010, à 13:09
- AnsuzPeorth
Re : [RESOLU] Commande BASH - New et Old
AnsuzPeorth a écrit :Bjr,
[..]
Sinon, regarde l'option R de grep ou egrep (c'est identique), cela te permettra d'utiliser les ER.
[..]1. ce n'est pas l'option -R mais -E
2. grep exploite déjà les ER. l'option -E (ou le dérivé egrep) permet l'utilisation des Expressions Relationnelles Etendues (ERE).
Oupsss, dsl, je le savais en plus ...! E pour Egrep ...! Je me demande à quoi je pensais
Ahhhh, vi, -r c'est pour sed !
(en ce moment je sais pas où j'ai ma tête !)
EDIT: L'option -R de grep, je m'en sers quand je cherches un item dans plusieurs fichiers d'un dossier ...!
Dernière modification par AnsuzPeorth (Le 30/03/2010, à 13:16)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#8 Le 31/03/2010, à 08:14
- Phoenixian
Re : [RESOLU] Commande BASH - New et Old
Merci encore, mais j'ai de nouveau une question.
Toujours en se basant sur le fichier tout en haut, je voudrais isoler cette partie "sid:<numero>". J'ai bien cherché avec la commande cut, mais le soucis c'est que la champ sid ne se trouve pas toujours à la même position suivant les lignes.
Je vois peut être une solution avec un compteur sur une commande cut, puis un echo (tant que la chaine de caract n'est pas sid:*, on continue) mais je trouve trouve cela très très lourd !
Y a-t-il une suite de commande simple pour isoler "sid:<numero>" ?
Merci de votre aide !
Hors ligne
#9 Le 31/03/2010, à 08:34
- credenhill
Re : [RESOLU] Commande BASH - New et Old
hello
$ grep -o "sid:[0-9]*" fichier
sid:6031
sid:6031
sid:13948
sid:13948
sid:16364
sid:2517
sid:2517
sid:16364
sid:2517
$
En ligne
#10 Le 31/03/2010, à 08:38
- Phoenixian
Re : [RESOLU] Commande BASH - New et Old
Wow merci pour l'efficacité et la rapidité
Hors ligne