<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    干貨 | 電子取證之提取本地PC所有的微信信息, 包括微信ID和手機號腳本

    VSole2022-09-20 06:58:24

    0X00 原理

    原理就是,讀取本地微信文件夾中的config目錄下的AccInfo.dat文件

    AccInfo.dat文件內容如下圖

    這個Dat文件中包含了

    手機號,微信ID,微信號,昵稱和城市,綁定郵箱等信息

    0X01 Python腳本處理

    自動化腳本

    腳本代碼來自:https://github.com/ecat-sec/wechat_info_collect

    喜歡的可以去點個star關注

    # -*- coding: utf-8 -*-
    import win32api
    import win32con
    import getpass
    import re
    import os
    import requests
    provinces = '''
    北京(BeiJing)
    上海(ShangHai)
    天津(TianJin)
    重慶(ChongQing)
    香港(XiangGang)
    澳門(Aomen)
    安徽(AnHui)
    福建(FuJian)
    廣東(GuangDong)
    廣西(GuangXi)
    貴州(GuiZhou)
    甘肅(GanSu)
    海南(HaiNan)
    河北(HeBei)
    河南(HeNan)
    黑龍江(HeiLongJiang)
    湖北(HuBei)
    湖南(HuNan)
    吉林(JiLin)
    江蘇(JiangSu)
    江西(JiangXi)
    遼寧(LiaoNing)
    內蒙古(NeiMengGu)
    寧夏(NingXia)
    青海(QingHai)
    陜西(ShanXi)
    山西(ShanXi)
    山東(ShanDong)
    四川(SiChuan)
    臺灣(TaiWan)
    西藏(XiZang)
    新疆(XinJiang)
    云南(YunNan)
    浙江(ZheJiang)
    '''
    cities = '''
    香港(XiangGang)
    澳門(AoMen)
    安慶(AnQing),亳州(BoZhou),蚌埠(BangBu),池州(ChiZhou),巢湖(ChaoHu),滁州(ChuZhou),阜陽(FuYang),合肥(HeFei),淮南(HuaiNan),淮北(HuaiBei),黃山(HuangShan),六安(LiuAn),馬鞍山(MaAnShan),宿州(SuZhou),銅陵(TongLing),蕪湖(WuHu),宣城(XuanCheng)
    福州(FuZhou),龍巖(LongYan),南平(NanPing),寧德(NingDe),莆田(PuTian),泉州(QuanZhou),三明(SanXing),廈門(XiaMen),漳州(ZhangZhou)
    潮州(ChaoZhou),東莞(DongGuan),佛山(FoShan),廣州(GuangZhou),河源(HeYuan),惠州(HuiZhou),江門(JiangMen),揭陽(JieYang),梅州(MeiZhou),茂名(MaoMing),清遠(QingYuan),深圳(ShenZhen),汕頭(ShanTou),韶關(ShaoGuan),汕尾(ShanWei),云浮(YunFu),陽江(YangJiang),珠海(ZhuHai),中山(ZhongShan),肇慶(ZhaoQing),湛江(ZhanXiang)
    北海(BeiHai),百色(BaiSe),崇左(ChongZuo),防城港(FangChengGang),桂林(GuiLi),貴港(GuiGang),賀州(HeZhou),河池(HeChi),柳州(LiuZhou),來賓(LaiBin),南寧(NanNing),欽州(QinZhou),梧州(WuZhou),玉林(YuLin)
    安順(AnShun),貴陽(GuiYang),六盤水(LiuPanShui),遵義(ZunYi)
    白銀(BaiYin),金昌(JinChang),嘉峪關(JiaYuGuan),酒泉(JiuQuan),蘭州(LanZhou),慶陽(QingYang),天水(TianShui),武威(WuWei),張掖(ZhangYe)
    海口(HaiKou),三亞(SanYa)
    保定(BaoDing),承德(ChengDe),滄州(CangZhou),邯鄲(HanDan),衡水(HengShui),廊坊(LangFang),秦皇島(QinHuangDao),石家莊(ShiJiaZhuang),唐山(TangShan),邢臺(XingTai),張家口(ZhangJiaKou)
    安陽(AnYang),焦作(JiaoZuo),開封(KaiFeng),洛陽(LuoYang),鶴壁(HeBi),漯河(LuoHe),南陽(NanYang),平頂山(PingDingShan),濮陽(PuYang),三門峽(SanMenXia),商丘(SHangQiu),新鄉(XinXiang),許昌(XuChang),信陽(XinYang),鄭州(ZhengZhou),周口(ZhouKou),駐馬店(ZhuMaDian)
    大慶(DaQing),哈爾濱(HaErBin),鶴崗(HeGang),黑河(HeiHe),雞西(JiXi),佳木斯(JiaMuSi),牡丹江(MuDanJiang),齊齊哈爾(QiQiHaEr),七臺河(QiTaiHe),綏化(SuiHua),雙鴨山(ShuangYaShan),伊春(YiChun)
    鄂州(E'Zhou),黃石(HuangShi),黃岡(HuangGang),荊州(JingZhou),荊門(JingMen),十堰(ShiYan),武漢(WuHan),襄陽(XiangYang),孝感(XiaoGan),咸寧(XianNing),宜昌(YiChang)
    長沙(ChangSha),常德(ChangDe),郴州(ChenZhou),衡陽(HengYang),懷化(HuaiHua),婁底(LouDi),邵陽(ShaoYang),湘潭(xiangTan),岳陽(YueYang),益陽(YiYang),永州(YongZhou),株洲(ZhuZhou),張家界(ZhangJiaJie)
    白山(BaiShan),白城(BaiCheng),長春(ChangChun),吉林(JiLin),遼源(LiaoYuan),四平(SiPing),松原(SongYuan),通化(TongHua)
    常州(ChangZhou),淮安(HuaiAn),連云港(LianYunGang),南京(NanJing),南通(NanTong),蘇州(SuZhou),宿遷(SuQian),泰州(TaiZhou),無錫(WuXi),徐州(XuZhou),鹽城(YanCheng),揚州(YangZhou),鎮江(ZhenJiang)
    撫州(FuZhou),贛州(GanZhou),景德鎮(JingDeZhen),九江(JiuJiang),吉安(JiAn),南昌(NanChang),萍鄉(PingXiang),上饒(ShangRao),新余(XinYu),鷹潭(YingTan),宜春(YiChun)
    鞍山(AnShan),本溪(BenXi),朝陽(ChaoYang),大連(DaLian),丹東(DanDong),撫順(FuShun),阜新(FuXin),葫蘆島(HuLuDao),錦州(JinZhou),遼陽(LiaoYang),盤錦(PanJin),沈陽(ShenYang),鐵嶺(TieLing),營口(YingKou)
    包頭(BaoTou),赤峰(ChiFeng),鄂爾多斯(E'ErDuoSi),呼和浩特(HuHeHaoTe),通遼(TongLiao),烏海(WuHai)
    固原(GuYuan),吳忠(WuZhong),銀川(YingChuan)
    西寧(XiNing)
    安康(AnKang),寶雞(BaoJi),漢中(HanZhong),商洛(ShangLuo),銅川(TongChuan),渭南(WeiNan),西安(Xi'An),延安(YaNan),咸陽(XianYang),榆林(YuLin)
    長治(ChangZhi),大同(DaTong),晉城(JinCheng),臨汾(LinFen),朔州(ShuoZhou),太原(TaiYuan),忻州(XinZhou),陽泉(YangQuan),運城(YunCheng)
    濱州(BinZhou),東營(DongYing),德州(DeZhou),菏澤(HeZe),濟南(JiNan),濟寧(JiNing),萊蕪(LaiWu),臨沂(LinYi),聊城(LiaoCheng),青島(QingDao),日照(RiZhao),泰安(TaiAn),濰坊(WeiFang),威海(WeiHai),煙臺(YanTai),淄博(ZiBo),棗莊(ZaoZhuang)
    巴中(BaZhong),成都(ChengDu),德陽(DeYang),達州(DaZhou),廣元(GuangYuan),廣安(GuangAn),瀘州(LuZhou),樂山(LeShan),綿陽(MianYang),眉山(MeiShan),內江(NeiJiang),南充(NanChong),攀枝花(PanZhiHua),遂寧(SuiNing),雅安(YaAn),宜賓(YiBin),自貢(ZiGong),資陽(Ziyang)
    高雄(GaoXiong),基隆(JiLong),嘉義(JiaYi),臺北(TaiBei),臺中(TaiZhong),新竹(XinZhu)
    拉薩(LaSa)
    克拉瑪依(KeLaMaYi),烏魯木齊(WuLuMuQi)
    保山(BaoShan),昆明(KunMing),玉溪(YuXi),昭通(ZhaoTong)
    杭州(HangZhou),湖州(HuZhou),嘉興(JiaXing),金華(JinHua),麗水(LiShui),寧波(NingBo),衢州(QuZhou),紹興(ShaoXing),臺州(TaiZhou),溫州(WenZhou),舟山(ZhouShan)'''
    # 獲取文件存儲位置
    reg_root = win32con.HKEY_USERS
    reg_path = ""
    key = win32api.RegOpenKey(reg_root, reg_path, 0)
    for item in win32api.RegEnumKeyEx(key):
    if len(item[0]) > 20 and "Classes" not in item[0]:
            sub_reg_path = item[0] + "\\SOFTWARE\\Tencent\\WeChat"try:
                key = win32api.RegOpenKeyEx(reg_root, sub_reg_path, 0)except Exception as e:
    continue
    try:
        value, key_type = win32api.RegQueryValueEx(key, 'FileSavePath')except Exception as e:
        value, key_type = win32api.RegQueryValueEx(key, 'InstallPath')    value = value + "\\locales\\WeChat Files\\"
    # print(value)
    # 文件保存路徑
    if value == "MyDocument:":
    # print("The default location of the file has not been changed")    username = getpass.getuser()
        file_path = "C:\\Users\\" + username + "\\Documents\\WeChat Files\\"# print(file_path)
    else:
        file_path = value
    # 獲取用戶文件
    try:
        file_list = os.listdir(file_path)
        file_list.remove("All Users")
        file_list.remove("Applet")
    except:
        print("\nfailed to find the path by the script")
        print("Please enter the path of your [WeChat Files]")
        print("You can find the path in your WeChat's setting")
        print("It looks like [x:\\\\xxx\\xxx\\WeChat Files]")    file_path = input("The path : ") + "\\"
        file_list = os.listdir(file_path)
        file_list.remove("All Users")
        file_list.remove("Applet")
    # info 未處理的精確結果
    def get_info(user_file_name):
    with open(file_path+user_file_name+"\\config\\AccInfo.dat", mode="r", encoding="ISO-8859-1") as f:# 處理raw數據
            raw_info = f.read()
            raw_info = raw_info[raw_info.find("wxid"):]
            info = ""
    for char in raw_info:
    if "\\" not in ascii(char):
                    info = info + str(char)
    else:
                    info = info + "`"
        info = set(info.split("`"))
    # 獲取微信id
    for misc in info:
    if "wxid" in misc:
                wxid = misc
        print("The wxid : " + wxid)
        info.remove(wxid)
    # 獲取城市
        province = ""
        city = ""
    for misc in info:
    if misc.lower() in provinces.lower() and len(misc) >= 2:
                province = misc
    if misc.lower() in cities.lower() and len(misc) >= 2:
                city = misc
    if province != "":
            info.remove(province)
    if city != "":
            info.remove(city)
    # 獲取微信號
    # 微信號長度限制為6-20位, 且只能以字母開頭
    for misc in info:
    if 6 < len(misc) < 20 and misc[0].isalpha() == True:
                wx = misc
        print("The wechat : " + wx)
        info.remove(wx)
    # 獲取手機號
    for misc in info:
            p_numbers = r"0?(13|14|15|17|18|19)[0-9]{9}"
            p = re.compile(p_numbers)
            numbers = re.search(p, misc)
    if numbers != None:
                number = numbers.group(0)
                info.remove(number)
    break
        print("The phone : " + number)
    # 獲取疑似郵箱, 郵箱參考性極低
    for misc in info:
    if "@" in misc and len(misc) > 3:
                email = misc
    break
    else:
                email = "--"
        print("The email maybe is : " + email)
    if email != "--":
            info.remove(email)
        print("The city : " + province + "--" + city)
    # 獲取使用過的小程序
    if flag == "yes":
            applet_list = []
            applet_path = file_path + user_file_name
            sub_applet_list = os.listdir(applet_path)
    if "Applet" in sub_applet_list:
                applet_path = file_path + user_file_name + "\\Applet"            sub_applet_list = os.listdir(applet_path)
    for applet_name in sub_applet_list:
    if "wx" in applet_name:
                        applet_list.append(applet_name)
            applet_search_url = r"https://mp.weixin.qq.com/cgi-bin/operate_appmsg?sub=search_weapp"        headers = {
    "Host": "mp.weixin.qq.com",
    "Connection": "close",
    "Content-Length": "39",
    "sec-ch-ua": "Not A;Brand",
    "Content-Type": "application/x-www-form-urlencoded",
    "charset": "UTF-8",
    "X-Requested-With": "XMLHttpRequest",
    "sec-ch-ua-mobile": "?0",
    "sec-ch ua-platform": "Windows",
    "Accept": "* / *",
    "Origin": "https://mp.weixin.qq.com",
    "Sec-Fetch-Site": "same-origin",
    "Sec-Fetch-Mode": "cors",
    "Sec-Fetch-Dest": "empty",
    "Referer": "https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit_v2&action=edit&isNew=1&type=77&token=" + token + "&lang=zh_CN","Accept-Encoding": "gzip, deflate",
    "Accept-Language": "zh - CN, zh",
    "Cookie": cookie
            }
            applets = []
    for key in applet_list:
                data = {
    "key": key,
    "token": token
                }
                req_json = requests.post(applet_search_url, headers=headers, data=data).json()            applets.append(req_json["items"][0]["weapp"]["nickname"])#print(req["items"][0]["weapp"]["nickname"])
            print("The applets : " + str(applets))
    # 獲取歷史頭像網址
        head_url = []
    for misc in info:
    if "http" in misc:
                head_url.insert(-1, misc)
    if head_url != []:
            print("The history_head_img : " + str(head_url))
    else:
            print("The history_head_img : --")
    for url in head_url:
            info.remove(url)
    # 雜項數據
        other_info = []
    for misc in info:
    if len(misc) > 30 or (len(misc) >= 2 and (misc.isdigit() == True or misc.isalpha()) == True):            other_info.insert(-1, misc)
        print("The other info : " + str(other_info))
        print("\n" + "--------------------------------------------")
    # 運行
    flag = input("Do you want to collect all applets (yes/no): ")if flag == "yes":
        cookie = input("Please enter your cookie: ")
        token = input("Please enter your token: ")
    else:
    pass
    print("============================================")
    for user_file_name in file_list:
    #try:
        get_info(user_file_name)
    #except:
    #print("Something wrong")
    print(" 1. The email is very unreliable, you can ignore it\n","2. There are only cities of the mainland\n",
    "3. The information in [The other info] is some ciphertext and abbreviation for region\n","4. There is some interference information in [The other info]")
    

    0X02    運行結果

    運行前記得安裝pywin32依賴:

    pip install pywin32 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
    

    運行結果:

    0X03    思路拓展

    1.其他語言改寫腳本,C#,C++,Go,Java都可以,就是讀取這個dat文件,然后正則匹配即可

    2.如果在目標機器上,可以直接把這個dat文件下載回來,然后在本地讀取取證即可

    3.也可以看了對方微信文件夾路徑后,代碼中寫死路徑,再打包編譯成exe,放到目標機器上運行輸出到txt,再下載回來也是可以的

    移動互聯網info
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    移動互聯網時代,我們的生活和工作深受 App 影響。伴隨移動 App 的廣泛應用,App 安全日益重要。本文介紹了 App 開發可能用到的安全測試工具。
    大數據安全研究
    2021-09-26 08:14:19
    隨著人工智能、云計算、移動互聯網和物聯網等技術的融合發展,傳統的基于邊界安全域和基于已知特征庫的網絡安全防護方式已經無法有效應對大數據環境下新的安全威脅。
    隨著移動生態的進一步成熟,車聯網的數據安全一事也被提上了日程,而未來若想在數據安全方面有所保證,隱私計算也許會成為移動生態發展的一個重要突破口。本篇文章里,作者就隱私計算一事做了分析,不妨來看一下。
    身份與訪問控制技術作為連接中樞,為智慧城市的安全連接、高效共享和集約化管理提供核心支撐能力,因此通過分析智慧城市建設的核心要素和面臨的挑戰,基于智慧城市萬物互聯、開放共享的背景,提出了以智能身份與訪問管理技術作為智慧城市安全底座的核心組件,為智慧城市建設提供端到端的全流程的可信數字身份服務。
    最近由于筆者所在的研發集團產品需要,需要支持高性能的大文件(大都數是4GB以上)的http上傳,并且要求支持http斷點續傳。筆者在以前的博客如何實現支持大文件的高性能HTTP文件上傳服務器已經介紹了實現大文件上傳的一些基本概念,其實非常簡單,這里在簡要歸納一下,方便記憶:
    網絡空間自身構造多元性、接入隨遇性、多域聯動性等特征使得針對其安全態勢的安全視角、內涵和要素需要不斷適應新的網絡形態的發展和變化。在分析了國內外網絡空間安全發展現狀的基礎上,指出當前網絡空間面臨的安全風險和挑戰;基于對網絡形態和網絡存在價值的理解,從網絡連接的觀察視角出發,引入安全熵的概念對基于連接的網絡空間安全問題展開分析和討論,提出了“D-I-D-E 網絡數據驅動環”的網絡空間整體安全理念,并
    網絡安全應急響應
    2022-07-21 10:18:08
    網絡安全應急響應就是要對網絡安全有清晰認識,有所預估和準備,從而在一旦發生突發網絡安全事件時,有序應對、妥善處理。實際上,我國網絡安全應急響應體系建設也是建立在原有應急響應體系基礎上的,并經過實踐不斷改進完善。2014年2月27日,習總書記在中央網絡安全與信息化領導小組成立的講話中指出“沒有網絡安全,就沒有國家安全”。
    作為全球數字轉型的領先國家,韓國將網絡安全作為發展國民經濟、穩定社會秩序、提高國際地位的重要政策著力點。從制度建設歷程、治理體系側重以及美韓同盟合作前景 3個維度,綜合分析了韓國網絡安全戰略的特征與走向。在制度建設維度上,外部網絡威脅的加劇與國內民眾意識的萌生共同促使韓國逐步完善網絡安全戰略。在治理體系維度上,軍隊與國情院二元主導機制帶來了一系列的內外部挑戰。在美韓合作維度上,尹錫悅的上臺預示著美
    加快推進個人信息保護立法,必須恪守“以人民為中心”的理念,構建“以人為本”的個人信息保護法律制度,提升人民群眾的獲得感、幸福感、安全感。
    一、發展動向熱訊
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类