Advertisement
Guest User

Untitled

a guest
Aug 26th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.30 KB | None | 0 0
  1. #!/usr/bin/env python
  2. from __future__ import print_function
  3. from circuits import Component, Debugger
  4. from circuits.core.handlers import handler
  5. from resilient_circuits.actions_component import ResilientComponent, ActionMessage
  6. from pprint import pprint
  7. import os
  8. import re
  9. import json
  10. import lxml.etree
  11. import time
  12. import logging
  13. import random
  14. import requests
  15. import datetime
  16. from requests.auth import HTTPBasicAuth
  17. import co3 as resilient
  18. from json import JSONDecoder, JSONEncoder
  19. LOG = logging.getLogger(__name__)
  20. class paloaltoComponent(ResilientComponent):
  21. def __init__(self, opts):
  22. super(paloaltoComponent,self).__init__(opts)
  23. self.options = opts.get('paloalto', {})
  24. LOG.debug(self.options)
  25. self.channel = "actions." + self.options.get("queue","paloalto")
  26. @handler()
  27. def _paloalto(self,event, *args, **kwargs):
  28. if not isinstance(event, ActionMessage):
  29. return
  30. else:
  31. print('BBBBBBBBBBBBBBBBBB')
  32. artifact = event.message["artifact"]
  33. print('3')
  34. inc_id = artifact["inc_id"]
  35. print('4')
  36. art_id = artifact["id"]
  37. print('5')
  38. art_val = artifact["value"]
  39. print('6')
  40. URL="https://172.16.60.14"
  41. print('7')
  42. session = requests.session()
  43. print('8')
  44. res = session.post(URL + '/api/?type=keygen&user=Resilient&password=Passw0rd!!', verify=False,timeout=60)
  45. print('9')
  46. print(res.text)
  47. temp=res.text
  48. root=lxml.etree.fromstring(temp)
  49. key = root.find('result/key')
  50. print(key.text)
  51. xpath_value='/config/devices/entry[@name=\'localhost.localdomain\']/vsys/entry[@name=\'vsys1\']/address/entry[@name=\''+str(art_val)+'\']'
  52. xpath_value='/config/devices/entry/vsys/entry[@name=\'vsys1\']/address/entry[@name=\'xmltest addr\']'
  53. xpath_value="/config/devices/entry/vsys/entry/rulebase/security/rules/entry[@name='rule1']"
  54. print('>> '+xpath_value)
  55. element_value='<to><member>any</member></to><from><member>any</member></from><source><member>any</member></source><destination><member>'+str(art_val)+'</member></destination><source-user><member>any</member></source-user><category><member>any</member></category><application><member>any</member></application><service><member>application-default</member></service><hip-profiles><member>any</member></hip-profiles><action>deny</action>'
  56. element_value='<source><member>any</member></source><destination><member>'+str(art_val)+'</member></destination><service><member>application-default</member></service><application><member>any</member></application><action>deny</action><source-user><member>src-user</member></source-user><option><disable-server-response-inspection>yes</disable-server-response-inspection></option><negate-source>yes</negate-source><negate-destination>yes</negate-destination><disabled>no</disabled><log-start>no</log-start><log-end>no</log-end><description>description</description><from><member>any</member></from><to><member>any</member></to>'
  57.  
  58. #wall> /api/?key=apikey&type=config&action=set&key=keyvalue&xpath=xpath-value&element=element-value
  59. addnewsecurityrule = session.post(URL+'/api/?type=config&action=set&key='+key.text+'&xpath='+xpath_value+'&element='+element_value,verify=False)
  60. print(addnewsecurityrule.text)
  61. commit = session.post(URL + '/api/?type=commit&key='+key.text+'&cmd=<commit><force></force></commit>',verify=False)
  62. print(commit.text)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement