Sure, you can do this with saved search macros. So, for the TX_SALES macro, you would do this:
host>=192.168.1.0 host<=192.168.1.63 srcip>=192.168.1.0 srcip<=192.168.1.63 dstip>=192.168.1.0 dstip<=192.168.1.63
It doesn't matter if you get any results back, go to "Result options..." and choose "Save Search" and use the name TX_SALES. Now, whenever you want to see those logs, you can do a search for your keyword (like Snort alert name, whatever) and then add $TX_SALES to the query, and it will use the macro to tack on those other filters to your search.
The other side of things is on reporting and output. You can use the "whois" transform to provide local org data. To do this, edit your /etc/elsa_web.conf file, go down to the area for "transforms," "whois," and "known_subnets" and fill out something along these lines:
"whois": {
"known_subnets": {
"192.168.1.0": {
"end": "192.168.1.63",
"org": "TX_SALES"
},
"known_orgs": {
"TX_SALES": {
"name": "TX_SALES",
"org": "TX_SALES",
"cc": "US",
"country": "United States",
"state": "TX",
"city": "Sometown"
}
}
}
Now, whenever you pipe results through the whois plugin, you'll get fields for "customer" which match the field being searched, which shows up like "dstip.customer=TX_SALES." This allows you to do proper reporting like this:
sig_msg:trojan groupby:srcip | whois | sum(srcip.customer)