利用_winreg模块在注册表中分析无线访问热点

 _winreg.OpenKey(key, sub_key, res, sam)     key是一个已经打开的键,或者是HKEY_CLASSES_ROOTHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERSHKEY_PERFORMANCE_DATAHKEY_CURRENT_CONFIG这些中的一个。

 

_winreg.EnumKey(key, index        枚举键,key is an already open key, or any one of the predefined HKEY_* constants.index is an integer that identifies the index of the key to retrieve.

 

 _winreg.EnumValue(key, index)       枚举一个一打开的注册表键值,返回元组

 

for i in range(1,6):
     print EnumValue(netKey,i)
'''
输出结果:
('Description', u'xiaoming', 1)
('Source', 8, 4)
('DnsSuffix', u'workgroup', 1)
('FirstNetwork', u'xiaoming', 1)
('DefaultGatewayMac', '\xb0\xd5\x9d0\x94\xa2', 3)
'''

 

 提取无线访问热点名称及Mac地址:

 1 #coding=utf-8
 2 from _winreg import *
 3 
 4 def va12addr(val):
 5     addr=""
 6     for ch in val:
 7         addr += ("%02x " %ord(ch))
 8     addr = addr.strip(' ').replace(" ",":")[0:17]
 9     return addr
10 
11 def printNets():
12     net ="SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged"
13     key = OpenKey(HKEY_LOCAL_MACHINE,net, 0, KEY_READ | KEY_WOW64_64KEY)
    #我用的是32-bit Python on 64-bit Windows,所以要加KEY_READ | KEY_WOW64_64KEY这一参数,否则运行失败
14 print '\n[+] Networks You have Joined.'                   15 for i in range(100): 16 try: 17 guid = EnumKey(key,i) 18 #print guid 19 netKey = OpenKey(key,str(guid)) 20 # for i in range(1,6): 21 # print EnumValue(netKey,i) 22 (n,name,t) = EnumValue(netKey,1) 23 (n,addr,t) = EnumValue(netKey,5) 24 macAddr = va12addr(addr) 25 netName = str(name) 26 print '[+] '+netName +' '+macAddr 27 CloseKey(netKey) 28 except Exception ,e: 29 print e 30 pass 31 32 def main(): 33 printNets() 34 if __name__=='__main__': 35 main()

 运行结果:

[+] Networks You have Joined.

[+] xiaoming b0:d5:9d:30:94:a2
[+] ahu.portal 48:fd:8e:30:5e:d6
[+] asdfghjkl e8:cd:2d:23:10:f7
[+] qizi? c2:14:3d:da:e1:07

 

参考资料:Violent Python A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers ,TJ O'Connor

    http://stackoverflow.com/questions/28128446/how-do-i-use-python-to-retrieve-registry-values

转载于:https://www.cnblogs.com/lovealways/p/6554510.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值