Re: snort dns Preprocessor
rohan dora <[email protected]>
| Newsgroups | gmane.comp.security.ids.snort.devel |
|---|---|
| Message-ID | <CAMY0C_4N6qUZdP1qchU1emX89cwfaDzSA=J2KyXzMHP9GE7mFA@mail.gmail.com> |
Its very nice ,appreciable of you,for so much inputs and efforts. I am in serious dilemma as to why my code isn't functioning properly(I am using *snort 2.9.8.0 on ubuntu 14.04 32 bit*). *Steps I took furthure.* *1. *I ran snort in Sniffer mode (./snort -vd) and i noticed that all DNS queries,responses are captured by snort. *2. *Then,I added 2 rules in local.rules(uncommented local.rules in snort.conf) to alert, when DNS queries are sent and When DNS responses arrive from/to my machine. And I found that alerts are working only for DNS responses(alerting on console). (Command used for running snort::sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth1 ,this is the command i use all the time) *Rules Used::* alert udp any 53 -> $HOME_NET any (msg:"dns_from_server";GID:2; sid:10000002; rev:002; ) alert udp $HOME_NET any -> any 53 (msg:"dns_from_client";GID:21; sid:100000021; rev:0021; ) Thanks a ton On Mon, May 9, 2016 at 4:34 PM, Seshaiah Erugu (serugu) <[email protected]> wrote: > Hi Rohan, > > > > I added the following code in ProcessDNS function and replayed the > attached pcap. I can see the count. > > > > diff -d -u -r1.77.10.1 spp_dns.c > > --- spp_dns.c 13 Apr 2016 15:55:53 -0000 1.77.10.1 > > +++ spp_dns.c 9 May 2016 11:02:48 -0000 > > @@ -1426,6 +1426,8 @@ > > uint8_t known_port = 0; > > uint8_t direction = 0; > > SFSnortPacket* p; > > + > > + static int REQ_COUNT = 0; > > #ifdef TARGET_BASED > > int16_t app_id = SFTARGET_UNKNOWN_PROTOCOL; > > #endif > > @@ -1574,6 +1576,12 @@ > > return; > > } > > > > + if ( direction == DNS_DIR_FROM_CLIENT ) > > + { > > + REQ_COUNT++; > > + _dpd.logMsg("\n \n \n DNS QUERY COUNT:%d \n \n \n \n > ",REQ_COUNT); > > + } > > + > > if (direction == DNS_DIR_FROM_SERVER) > > { > > ParseDNSResponseMessage(p, dnsSessionData); > > > > > > > > > > Thanks, > > Seshaiah Erugu. > > > > *From:* rohan dora [mailto:[email protected]] > *Sent:* Saturday, May 07, 2016 7:09 PM > > *To:* Seshaiah Erugu (serugu) <[email protected]> > *Cc:* [email protected]; [email protected] > *Subject:* Re: [Snort-devel] snort dns Preprocessor > > > > Thanks Seshaiah,i have checked that too,as per your suggestion. > > However,it is never printing REQUEST . > > Does snort capture the packets that are sent out from the same machine ,it > is running(I have only 1 interface ,eth0),if so,then is it ignoring the DNS > requests or what could be the issue? > > Thanks a lot > > > > On Sat, May 7, 2016 at 6:51 PM, Seshaiah Erugu (serugu) <[email protected]> > wrote: > > Hi Rohan, > > > > > > Can you try with the packet direction flag ? Please print REQUEST if > packet direction is from CLIENT. > > > > > > Thanks, > > Seshaiah Erugu. > > > > *From:* rohan dora [mailto:[email protected]] > *Sent:* Friday, May 06, 2016 4:47 PM > *To:* Seshaiah Erugu (serugu) <[email protected]> > *Cc:* [email protected]; [email protected] > *Subject:* Re: [Snort-devel] snort dns Preprocessor > > > > Thanks Seshaiah, i have added code(Simple if condition) in ProcessDns to > track DNS query. > > > > p = (SFSnortPacket*) packetPtr; > > > > if(p->src_port==53) printf("DNS Response\n"); > > if(p->dst_port==53) printf("DNS Request\n"); > > > > After adding , i do make,make install and then use nslookup to issue a DNS > query. > > > > However, i never see "DNS Request" printed on console. > > > > So how will we track the DNS requests,because i think snort is handling > packet sniffing/capture part(user needn't look for it). > > > > Please correct me if i am going wrong. > > > > > > > > > > On Fri, May 6, 2016 at 11:16 AM, Seshaiah Erugu (serugu) <[email protected]> > wrote: > > Hi Rohan, > > > > As you said, currently DNS preprocessor inspecting/tracking responses from > DNS server. > > If you want to track DNS queries from client to server, you can add code > in spp_dns.c (PrcoessDNS function). > > > > > > Thanks, > > Seshaiah Erugu. > > > > *From:* rohan dora [mailto:[email protected]] > *Sent:* Friday, May 06, 2016 10:15 AM > *To:* [email protected]; [email protected] > *Subject:* [Snort-devel] snort dns Preprocessor > > > > Hell0 all, > > I was browsing through the code of *DNS Dynamic preprocessor*(*spp_dns.c*) > of Snort 2.9.1. > > *Objective* > > To count the number of DNS Queries that are made by my machine to DNS > server(may be local/Remote doesn't matter). > > *Problem* > > Right now, DNS Dynamic preprocessor is able to track responses that are > coming from DNS server to my machine,*however it is not able to track/see > the DNS queries that my machine makes*. > > I know that DNS Preprocessor is meant for analysing the responses of > Remote server,But i added some code(Some if conditions,print statements) to > track DNS queries. > > Anyone ,having ideas what could be the problem or is this the right > approach(modifying code in spp_dns.c) ? > > Thanks > > > > > > > ------------------------------------------------------------------------------ Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to work are irked by the imposition of MDM restrictions. Mobile Device Manager Plus allows you to control only the apps on BYO-devices by containerizing them, leaving personal data untouched! https://ad.doubleclick.net/ddm/clk/304595813;131938128;j _______________________________________________ Snort-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/snort-devel Archive: http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel Please visit http://blog.snort.org for the latest news about Snort!