cha03_用python取證調(diào)查

0x01 讀取注冊表獲取mac地址

運(yùn)行環(huán)境 win10 vscode
讀取注冊表還是要用管理員的重绷,所以vscode不能直接運(yùn)行汉矿,去cmd里去執(zhí)行

首先吐槽涡扼,這個代碼很多縮進(jìn)不太規(guī)范...可能也許是印刷問題吧...運(yùn)行過程中也有很多小問題....但思路還都是很好的
python2 獲取堆棧錯誤信息

# -*- coding: UTF-8 -*-
from _winreg import *
import traceback


def val2addr(val):
    # print val
    addr = ""
    for ch in val:
        # print ord(ch)
        addr += ("%02x"%ord(ch)) #這里做了修改肩榕,不然處理\x會有問題
        addr += ":" #這里做了修改匾效,書上那一長串replace不起作用...直接這樣寫陆盘,暴力簡單
        # print "addr is : " + addr
    return addr[0:17]

def printnets():
    net = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged" #這里加r普筹,不用轉(zhuǎn)義其中的“\"符號
    # print(net)  可以輸出測試一下
    key = OpenKey(HKEY_LOCAL_MACHINE, net)
    MAC_dict = {} #把最后倒出來的放到字典里
    print '\n [*] networks you have joined'
    for i in range(100): 
        try:
            # print i
            # print type(key) pyKEY
            guid = EnumKey(key,i)
            # print type(guid) string
            netKey = OpenKey(key,str(guid))
            (n, addr, t) = EnumValue(netKey,5)
            # 這樣寫的意義是tuple多元賦值,打印出來看一下就明了了
            # all_addr = EnumValue(netKey,5)
            # print type(all_addr) tuple 
            (n, name, t) = EnumValue(netKey,4)
            # all_name = EnumValue(netKey,4)
            # print all_addr
            # print all_name
            #打印出來會很明了隘马,name的類型是unicode u'test_wifi'這樣太防,直接輸出報錯
            netName = name.encode('unicode-escape').decode('string_escape')
            macAddr = val2addr(addr)
            print '[+]' + netName + ' ' + macAddr
            MAC_dict[netName]= macAddr
            
            CloseKey(netKey)
        except Exception,e:
            print e
            print traceback.format_exc()
            print "something wrong"
            break
    print MAC_dict

printnets()

最后貼一個定位
定位
抓一下上述url的包,找到接口酸员。requests走起

本來想直接把上面的代碼覆蓋了蜒车,想了想重新貼一下吧。
測試完成幔嗦,最終代碼

# -*- coding: UTF-8 -*-
from _winreg import *
import traceback
import requests
import os

MAC_dict = {}

# unicode解碼后亂碼酿愧,cmd界面要改一下編碼
os.system('chcp 65001')

# MAC地址格式化成xx:xx這樣
def val2addr(val):
    # print val
    addr = ""
    for ch in val:
        # print ord(ch)
        addr += ("%02x"%ord(ch))
        addr += ":"
        # print "addr is : " + addr
    return addr[0:17]

# 通過接口分析物理地址,獲取返回的json的數(shù)據(jù)
def GetAddr(macAddr):
    # print MAC_dict
    url = "https://met.red/h/location/getWifiInfo"
    postdata = {'bssid':''}
    # print "no"
    # print bssid
    postdata['bssid']=macAddr
    r = requests.post(url,data=postdata)
    # 獲取返回的json數(shù)據(jù)(dict)邀泉,text返回str型
    Real_Addr = r.json()
    if(Real_Addr['code']==0):
        return Real_Addr['data']['address'].encode('utf-8')
    else:
        return "sorry can not find this address"

# 從注冊表中讀取WIFI名字和MAC地址
def main():
    net = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged"
    # print(net)
    key = OpenKey(HKEY_LOCAL_MACHINE, net)
    print '\n [*] networks you have joined.Start Analysis'
    for i in range(1,12):
        try:
            # print i
            # print type(key) pyKEY
            guid = EnumKey(key,i)
            # print type(guid) string
            netKey = OpenKey(key,str(guid))
            # 這樣寫的意義是tuple多元賦值嬉挡,打印出來看一下就明了了
            (n, addr, t) = EnumValue(netKey,5)
            # all_addr = EnumValue(netKey,5)
            # print type(all_addr) tuple 
            (n, name, t) = EnumValue(netKey,4)
            # all_name = EnumValue(netKey,4)
            #打印出來會很明了,name的類型是unicode u'test_wifi'這樣汇恤,直接輸出報錯
            # print all_addr
            # print all_name
            netName = name.encode('utf-8').replace(' ','')
            macAddr = val2addr(addr)
            Real_addr=GetAddr(macAddr)
            print ' [+] ' + netName + ' [^] ' + macAddr + ' [^] ' + Real_addr
            MAC_dict[netName]= macAddr
            
            CloseKey(netKey)
        except Exception,e:
            print e
            print traceback.format_exc()
            print "something wrong"
            break
    
    # print MAC_dict

if __name__ == '__main__':
    main()

結(jié)果圖:


結(jié)果圖.png

結(jié)果分析:
應(yīng)該只可以解析出私人的WIFI那種棘伴,比如家庭。校園網(wǎng)無法定位屁置,也可能是接口不好

擴(kuò)展:
根據(jù)手機(jī)連接WIFI的模式焊夸,你連接過的會記住密碼,手機(jī)中應(yīng)該也存儲著這樣的信息蓝角,可以讀取阱穗,然后進(jìn)行分析。

python獲取手機(jī)WIFI的MAC地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末使鹅,一起剝皮案震驚了整個濱河市揪阶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌患朱,老刑警劉巖鲁僚,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異裁厅,居然都是意外死亡冰沙,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門执虹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拓挥,“玉大人,你說我怎么就攤上這事袋励〗钠。” “怎么了当叭?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長盖灸。 經(jīng)常有香客問我蚁鳖,道長,這世上最難降的妖魔是什么赁炎? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任才睹,我火速辦了婚禮,結(jié)果婚禮上甘邀,老公的妹妹穿的比我還像新娘琅攘。我一直安慰自己,他們只是感情好松邪,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布坞琴。 她就那樣靜靜地躺著,像睡著了一般逗抑。 火紅的嫁衣襯著肌膚如雪剧辐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天邮府,我揣著相機(jī)與錄音荧关,去河邊找鬼。 笑死褂傀,一個胖子當(dāng)著我的面吹牛忍啤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播仙辟,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼同波,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了叠国?” 一聲冷哼從身側(cè)響起未檩,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎粟焊,沒想到半個月后冤狡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡项棠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年悲雳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沾乘。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡怜奖,死狀恐怖浑测,靈堂內(nèi)的尸體忽然破棺而出翅阵,到底是詐尸還是另有隱情歪玲,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布掷匠,位于F島的核電站滥崩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏讹语。R本人自食惡果不足惜钙皮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望顽决。 院中可真熱鬧短条,春花似錦、人聲如沸才菠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赋访。三九已至可都,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蚓耽,已是汗流浹背渠牲。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留步悠,地道東北人签杈。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像鼎兽,于是被迫代替她去往敵國和親芹壕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349