Guest User

Untitled

a guest
Feb 6th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. import random
  2. from ldap3 import Connection, Server, NTLM, ALL, ALL_ATTRIBUTES
  3.  
  4. def get_ldap_grp_members(
  5. ldap_conn,
  6. group_name,
  7. search_base,
  8. attr_name='sAMAccountName'
  9. ):
  10. res = []
  11. ldap_conn.search(search_base, "(&(CN={}))".format(group_name))
  12. for cn in ldap_conn.entries:
  13. ldap_conn.search(search_base,
  14. '(memberOf={})'.format(cn.entry_dn),
  15. attributes=[ALL_ATTRIBUTES])
  16. #print("parsing: [{}]".format(cn.entry_dn))
  17. res.extend([x.entry_attributes_as_dict.get(attr_name)[0]
  18. for x in ldap_conn.entries])
  19. return list(set(res))
  20.  
  21. # list of Windows Domain Controller servers
  22. ldap_srv_list = ["dc1.company.com","dc2.company.com","dc3.company.com"]
  23. ldap_srv = Server(random.choice(ldap_srv_list), get_info=ALL)
  24.  
  25. user=r'DOMAIN_NAMEwindows_login'
  26. pwd='windows_password'
  27.  
  28. c = Connection(ldap_srv, user=user, password=pwd, authentication=NTLM, auto_bind=True)
  29.  
  30. users = get_ldap_grp_members(c, 'AD_group_name', search_base='dc=server,dc=com')
  31.  
  32. users = get_ldap_grp_members(c, 'Group*Admin*', search_base='dc=server,dc=com')
  33.  
  34. import win32net
  35. import win32netcon as netcon
  36. group_name = "bestgroup.local"
  37. level = 10
  38. print win32net.NetUserEnum(group_name, level, netcon.FILTER_NORMAL_ACCOUNT)
Add Comment
Please, Sign In to add comment