利用_winreg模块在注册表中分析无线访问热点
_winreg.OpenKey(key, sub_key, res, sam) key是一个已经打开的键,或者是HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_PERFORMANCE_DATA、HKEY_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地址:
#coding=utf-8
from _winreg import * def va12addr(val):
addr=""
for ch in val:
addr += ("%02x " %ord(ch))
addr = addr.strip(' ').replace(" ",":")[0:17]
return addr def printNets():
net ="SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged"
key = OpenKey(HKEY_LOCAL_MACHINE,net, 0, KEY_READ | KEY_WOW64_64KEY)
#我用的是32-bit Python on 64-bit Windows,所以要加KEY_READ | KEY_WOW64_64KEY这一参数,否则运行失败
print '\n[+] Networks You have Joined.'
for i in range(100):
try:
guid = EnumKey(key,i)
#print guid
netKey = OpenKey(key,str(guid))
# for i in range(1,6):
# print EnumValue(netKey,i)
(n,name,t) = EnumValue(netKey,1)
(n,addr,t) = EnumValue(netKey,5)
macAddr = va12addr(addr)
netName = str(name)
print '[+] '+netName +' '+macAddr
CloseKey(netKey)
except Exception ,e:
print e
pass def main():
printNets()
if __name__=='__main__':
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
利用_winreg模块在注册表中分析无线访问热点的更多相关文章
- java如何操作注册表(Preferences类)(在windows的注册表中保存、读取)
我们经常需要将我们的程序运行中的一些信息(比如在选项对话框中的设置)记录下来,以做便再次运行的时候不用再重写填写这些数据.这对改善软件的人机可用性方面是很有用的.比如:数据库监控.日志工具,JDBMo ...
- 用javascript技术读取注册表中软件安装位置并启动本地软件
1.首先读取注册表中本地软件安装的位置,如果未安装则无就跳转到下载页面. 2.启动软件,关闭页面. 3.如报错提示. <SCRIPT language=javascript> <! ...
- 在注册表中无Python3.5安装路径的情况下安装pywin32-
当安装pywin32出现Python Version 3.5 required which was not found in the registry的时候表面注册表中没有Python3.5的安装路径 ...
- UAC在注册表中的对应位置
UAC在注册表中的对应位置 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System 相关键值设置: U ...
- usb由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备
在设备管理器的usb设备的属性中,显示提示“由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备”.注册表坏了.经过查询,解决方法如下: 方法:打开注册表编辑器(开始--& ...
- NSIS:在注册表中记录安装路径以便重装或升级时读取
原文 NSIS:在注册表中记录安装路径以便重装或升级时读取 在NSIS中,这个功能是非常有用的,可以避免用户把程序安装到多个位置的尴尬. 第1步:在“安装目录选择页面”前面加入以下代码: 1 !def ...
- 注册表中LEGACY残留项的清理技巧
http://bbs.kafan.cn/thread-889517-1-1.html 注册表中LEGACY残留项的清理技巧 2.Windows Vista系统 Windows XP系统下的修改权限的方 ...
- 将字符串存储到注册表中,长度一定是 strlen(text) + 1
参考:https://docs.microsoft.com/en-us/windows/desktop/sysinfo/registry-value-types 将字符串存储到注册表中,长度参数一定要 ...
- 在注册表中查看Windows10系统激活密钥的方法
1 2 3 4 5 6 7 分步阅读 百度经验:jingyan.baidu.com 激活Windows10系统(非自己使用激活密钥激活的系统)以后,我们不一定清楚激活密钥是什么.如果想查看自己电脑 ...
随机推荐
- github学习(一)
初识github篇. 一.什么是github: GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub. g ...
- 游戏UI框架设计(四) : 模态窗体管理
游戏UI框架设计(四) --模态窗体管理 我们在开发UI窗体时,对于"弹出窗体"往往因为需要玩家优先处理弹出小窗体,则要求玩家不能(无法)点击"父窗体",这种窗 ...
- x86主机搭建家庭智能路由系统 ---- Proxmox虚拟化实现一机多用
Proxmox VE简介 Proxmox VE(Proxmox Virtual Environment) 是一款完全开源虚拟化管理平台,可以管理QEMU/KVM虚拟机和LXC容器.事实上它只是一个前端 ...
- html表单 2017-03-10PM
在写表单之前补充一点:网页名以及属性的值命名都不能用中文,尽量用英文或拼音. html表单特写 1.表单格式 <form method="get/post" action=& ...
- Solr commit 策略测试
已知Solr 的Commit策略: 服务器端: 1)AutoCommit 2)AutoSoftCommit 客户端 Commit 本次我测试了客户端关闭Commit的情况下,服务器端Commit策略的 ...
- Https握手协议以及证书认证
1. 什么是https Https = http + 加密 + 认证 https是对http的安全强化,在http的基础上引入了加密和认证过程.通过加密和认证构建一条安全的传输通道.所以https可以 ...
- 【Troubleshooting Case】Unable to delete Exchange database?
在我们日常邮件系统运维管理或实施部署变更中,经常会遇到,删除Exchange 数据库DB时,提示无法删除. ------------------– Microsoft Exchange Error - ...
- (16)IO流之输入字节流FileInputStream和输出字节流FielOutputStream
IO流技术解决的问题:设备与设备之间的传输问题,内存-->硬盘,硬盘-->内存,等等 IO流技术 如果按照数据的流向划分可以划分为:输入流和输出流 输入输出的标准是以程序为参考物的,如果流 ...
- 【记录】iOS10 点击推送栏的问题
之前做的一个用户点击 推送栏然后处理相应事件是在这里面处理的 - (void)application:(UIApplication *)application didReceiveRemoteNoti ...
- Build your own linino system 编译你自己的linino系统
懒癌犯了,先简单写过程,之后有时间再补上每一步的理由吧.对着来一遍,有bug请留言,我会尝试回答.(づ ̄ 3 ̄)づ ------------------------------------------ ...