Бос сканерлеу - Idle scan

Ашық портта бос сканерлеу

The бос сканерлеу Бұл TCP портты қарап шығу жіберуден тұратын әдіс жалған пакеттер а компьютер[1] қандай қызметтер бар екенін білу үшін. Бұл желі трафигі өте баяу немесе мүлде жоқ (яғни ақпаратты жібермейтін немесе қабылдамайтын) басқа компьютерге еліктеу арқылы жүзеге асырылады. Бұл «деп аталатын бос компьютер болуы мүмкінзомби".[2]

Шолу

Бұл әрекетті жалпы арқылы жасауға болады бағдарламалық жасақтама желі коммуналдық қызметтер сияқты nmap және хп. Шабуыл жалған пакеттерді белгілі бір машинаға жіберуді көздейді мақсат басқаларының ерекше сипаттамаларын табу мақсатында зомби машина. Шабуыл күрделі, өйткені шабуылдаушы компьютер мен нысана арасында өзара байланыс болмайды: шабуылдаушы тек «зомби«компьютер.

Бұл пайдалану порт сканері және сенімді картограф ретінде екі мақсатта жұмыс істейді IP машиналар арасындағы қатынастар. Мақсатты жүйе «зомби«компьютер мен мінез-құлықтағы айырмашылықты әр түрлі» зомбилерді «қолданып, әр түрлі компьютерлерге мақсатпен берілген әр түрлі артықшылықтардың дәлелдерін байқауға болады.[3]

Бос сканерлеудің жалпы мақсаты - «мақсатты хостқа көрінбейтін күйде порт күйін тексеру».[4]

Шығу тегі

1998 жылы Сальваторе Санфилиппо («Антирез» тұтқасымен де танымал) ашқан,[5] жұмыссыз сканерлеуді көптеген адамдар қолданған қара қалпақ мақсатты компьютердегі шабуылға дайындық кезінде ашық порттарды жасырын анықтау үшін «хакерлер». Ол бастапқыда аталғанымен мылқау сканерлеу, термин бос сканерлеу 1999 жылы 16-биттік сәйкестендіру өрісінің (IPID) тұжырымдамасының дәлелі жарияланғаннан кейін ұсынылды бос тұру, Филипп Альмейда (aka LiquidK).[6] Сканерлеудің бұл түріне келесі сілтеме жасалуы мүмкін зомбиге сканерлеу; барлық номенклатуралар шабуылға қатысқан компьютерлердің бірінің сипатына байланысты.

TCP / IP негіздері

Жобалау және пайдалану ғаламтор негізделеді Internet Protocol Suite, әдетте TCP / IP деп те аталады. IP - бұл негізгі хаттама Интернет қабаты Internet Protocol Suite бағдарламасында және дереккөздерді дереккөзден жеткізу міндеті бар хост тағайындалған хостқа тек олардың негізінде мекен-жайлары. Осы мақсатта IP-де датаграмма үшін адрестеу әдістері мен құрылымдары анықталады инкапсуляция. Бұл байланыссыз протокол және пакеттердің берілуіне негізделген. Берілген дереккөзден алынған әрбір IP-дестеде IP-дата-графты ерекше анықтайтын идентификатор болады.[түсіндіру қажет ]

TCP бір компьютердегі бағдарламадан екінші компьютердегі басқа бағдарламаға байт ағынының сенімді, реттелген жеткізілуін қамтамасыз етеді. TCP - бұл негізгі Интернет қосымшалары, мысалы, сенетін протокол Дүниежүзілік өрмек, электрондық пошта, және файлдарды тасымалдау. Осы қосымшалардың әрқайсысы (веб-сервер, электрондық пошта сервері, FTP-сервер) а деп аталады желілік қызмет. Бұл жүйеде желілік қызметтер екі компоненттің көмегімен анықталады: хост адресі және порт нөмірі. Бір хостта 65536 нақты және қолданылатын порт нөмірлері бар. Көптеген қызметтер әдепкі бойынша шектеулі сандар диапазонын пайдаланады және қызмет үшін әдепкі порт нөмірі әрдайым қолданылады.

Кейбір порт сканерлері берілген хостта ең көп таралған порт нөмірлерін немесе осал қызметтермен жиі байланысты порттарды ғана сканерлейді. Қараңыз: TCP және UDP порт нөмірлерінің тізімі.

Порттағы сканерлеу нәтижесі әдетте үш санаттың біріне жинақталады:

  • Ашық немесе Қабылданды: Хост портта қызмет тыңдап жатқанын білдіретін жауап жіберді.
  • Жабық немесе Теріске шығарылды немесе Тыңдамаймын: Хост портқа қосылыстардан бас тартылатындығын білдіретін жауап жіберді.
  • Сүзгі, Түсірілді немесе Тыйым салынған: Хосттан жауап болмады.

Ашық порттар олардың екі осалдығын ұсынады әкімшілер сақ болу керек:

  1. Қызмет көрсетуге жауап беретін бағдарламамен байланысты қауіпсіздік пен тұрақтылыққа қатысты мәселелер - Ашық порттар.
  2. Байланысты қауіпсіздік пен тұрақтылыққа қатысты мәселелер операциялық жүйе хостта жұмыс істейтін - ашық немесе жабық порттар.

Сүзілген порттар осалдығын көрсетуге бейім емес. Жергілікті желідегі хостты a брандмауэр оның әкімшісі орнатқан ережелерге сәйкес сүзгілер пакеттер. Бұл хосттарға қызмет көрсетуден бас тарту және алдын-алу үшін жасалады ену IP-протокол - бұл желілік деңгейдің тарату протоколы.

Негізгі механика

Бос тұрған сканерлеу болжамды мүмкіндіктерді пайдаланады IP тақырыбынан сәйкестендіру өрісінің мәні: берілген дереккөзден алынған әрбір IP-пакетте түпнұсқа IP-диаграмманың фрагменттерін ерекше анықтайтын идентификатор бар; хаттаманы іске асыру осы міндетті өріске мәндерді, әдетте, белгіленген мән (1) өсімімен тағайындайды. Жіберілген дестелер ретімен нөмірленгендіктен, сіз алатын екі десте арасында қанша пакет жіберілетінін айта аласыз.

Шабуыл жасаушы алдымен кезекті және болжамды реттік нөмірі бар хостты іздейді (IPID). Соңғы нұсқалары Linux, Solaris, OpenBSD, және Windows Vista зомби ретінде қолайлы емес, өйткені IPID патчтармен енгізілген[7] IPID-ді рандомизациялады.[1] Осы кезеңде пайдалануға таңдалған компьютерлер «зомби» деп аталады.[2]

Сәйкес зомби табылғаннан кейін келесі қадам зомбиге еліктеп, мақсатты жүйенің берілген қызметімен (портымен) TCP байланысын орнатуға тырысу керек. Бұл SYN жіберу арқылы жүзеге асырылады пакет мақсатты компьютерге, зомбиден IP мекенжайын алдау, яғни зомби IP мекенжайына тең бастапқы мекен-жайы бар.

Егер мақсатты компьютердің порты ашық болса, ол зомбиге оралған SYN / ACK пакетімен жауап беріп, қызметке қосылуды қабылдайды.

Содан кейін зомби-компьютер мақсатты компьютерге RST дестесін жібереді (байланысты қалпына келтіру үшін), өйткені ол бірінші кезекте SYN дестесін жібермеген.

Зомбиге RST пакетін жіберу керек болғандықтан, ол IPID-ді көбейтеді. Қаскүнем мақсатты порттың ашық екендігін осылай біледі. Шабуылдаушы зомбиге басқа пакетті жібереді. Егер IPID тек бір қадамға көбейтілсе, онда қаскүнем белгілі бір порттың жабылғанын біледі.

Әдіс зомбидің басқа өзара әрекеттесуі жоқ деп болжайды: егер шабуылдаушының зомбимен бірінші әрекеттесуі мен RST хабарламасынан басқа екінші өзара әрекеттесуінің арасында басқа себептермен хабарлама жіберілсе, онда жалған оң.

Бос сканерлеудің бірінші кезеңі
Бос сканерлеудің екінші кезеңі

Зомби хостын табу

Бос сканерлеуді орындаудағы бірінші қадам - ​​сәйкес зомби табу. Ол IP идентификациялық пакеттерді біртіндеп ғаламдық (хост үшін емес, ол байланысатын) негізінде тағайындауы керек. Ол бос болуы керек (сондықтан сканерлеу атауы), өйткені бөгде трафик өзінің IP идентификаторының реттілігін жоғарылатады, сканерлеу логикасын шатастырады. Төмен кешігу шабуылдаушы мен зомби арасында, ал зомби мен нысана арасында сканерлеу соғұрлым жылдам жүреді.[8]
Порт ашық болған кезде IPID 2-ге көбейетінін ескеріңіз.
1. Нысанаға шабуылдаушы -> SYN, зомбиге мақсат -> SYN / ACK, зомби -> RST (IPID өсімі 1)
2. Енді шабуылдаушы зомбиді нәтиже үшін тексеруге тырысады. Attacker to Zombie -> SYN / ACK, Zombie to Attacker -> RST (IPID өсімі 1)
Сонымен, бұл процесте IPID 2-ге артады.

Бос сканерлеуге тырысқанда, құралдар (мысалы, nmap) ұсынылған зомбиді тексереді және онымен кез-келген мәселелер туралы хабарлайды. Егер біреу жұмыс істемесе, басқасын көріңіз. Интернет хосттары жеткілікті, осылайша зомбиге үміткерлерді табу қиын, сондықтан қарапайым тәсіл - а пинг сыпыру кейбір желілер. Бастапқы мекен-жайға жақын немесе мақсатты жерге жақын жерде желіні таңдау жақсы нәтиже береді. Әрбір қол жетімді хостты пайдалана отырып, сканерлеу нәтижелерінен жұмыс жасайтын нәтиже шыққанға дейін бос сканерлеуге тырысуға болады. Әдеттегідей, біреудің машиналарын күтпеген мақсаттарда, мысалы, бос сканерлеуде пайдаланбас бұрын, рұқсат сұраған жөн.

Қарапайым желілік құрылғылар көбінесе керемет зомбилер жасайды, өйткені олар жиі пайдаланылмайды (бос) және IP-трафикті анықтауға осал қарапайым желілік стектермен құрастырылған.

Қолайлы зомбиді анықтау кезінде алғашқы жұмыстар қажет болады, ал жақсыларын қайта қолдана беруге болады. Сонымен қатар, ұқсас бос сканерлеу үшін зомби хосттары ретінде жоспарланбаған мемлекеттік веб-қызметтерді пайдалану бойынша зерттеулер жүргізілді. Пайдаланушы ұсынған кезде осы қызметтердің кейбірінің шығыс байланысын орындау тәсілін пайдалану кедейлердің бос сканерлеуіне айналуы мүмкін.[9]

Хпинг қолдану

Бос сканерлеудің hping әдісі бос сканерлеудің төмен деңгейлі мысалын ұсынады. Бұл мысалда мақсатты хост (172.16.0.100) бос хосттың көмегімен сканерленеді (172.16.0.105). Әр сценарийдің қалай орындалатынын көру үшін ашық және жабық порт тексеріледі.

Алдымен, бос тұрған хосттың бос екендігіне көз жеткізіп, hping2 көмегімен пакеттерді жіберіңіз және id сандарының біртіндеп өсуін қадағалаңыз. Егер идентификатор нөмірлері ретсіз көбейсе, хост бос емес немесе ОЖ-де болжамды IP идентификаторы жоқ.

[root @ localhost hping2-rc3] # ./hping2 -S 172.16.0.105HPING 172.16.0.105 (eth0 172.16.0.105): S жиынтығы, 40 тақырып + 0 деректер байтыlen = 46 ip = 172.16.0.105 ttl = 128 id = 1371 sport = 0 flags = RA seq = 0 win = 0 rtt = 0.3 mslen = 46 ip = 172.16.0.105 ttl = 128 id = 1372 sport = 0 flags = RA seq = 1 win = 0 rtt = 0.2 mslen = 46 ip = 172.16.0.105 ttl = 128 id = 1373 sport = 0 flags = RA seq = 2 win = 0 rtt = 0.3 mslen = 46 ip = 172.16.0.105 ttl = 128 id = 1374 sport = 0 flags = RA seq = 3 win = 0 rtt = 0.2 mslen = 46 ip = 172.16.0.105 ttl = 128 id = 1375 sport = 0 flags = RA seq = 4 win = 0 rtt = 0.2 mslen = 46 ip = 172.16.0.105 ttl = 128 id = 1376 sport = 0 flags = RA seq = 5 win = 0 rtt = 0.2 mslen = 46 ip = 172.16.0.105 ttl = 128 id = 1377 sport = 0 flags = RA seq = 6 win = 0 rtt = 0.2 mslen = 46 ip = 172.16.0.105 ttl = 128 id = 1378 sport = 0 flags = RA seq = 7 win = 0 rtt = 0.2 mslen = 46 ip = 172.16.0.105 ttl = 128 id = 1379 sport = 0 flags = RA seq = 8 win = 0 rtt = 0.4 ms

Ашық деп күткен порттағы мақсатты хостқа жалған SYN пакетін жіберіңіз. Бұл жағдайда порт 22 (ssh) тексеріліп жатыр.

# hping2 — бұрмалаушылық 172.16.0.105 -S 172.16.0.100 -б 22 -c 1HPING 172.16.0.100 (eth0 172.16.0.100): S жиынтығы, 40 тақырып + 0 деректер байты--- 172.16.0.100 ст. Статистикалық ---1 пакет жіберілді, 0 пакет алынды, пакеттің 100% жоғалуысапар / мин / орта = максимум = 0,0 / 0,0 / 0,0 мс

Біз пакетті бұрмалап жібергендіктен, біз жауап алмадық және үміт 100% пакеттің жоғалуы туралы есеп берді. Мақсатты хост бос хостқа syn / ack пакетімен тікелей жауап берді. Енді идентификатор нөмірінің артқанын тексеру үшін бос тұрған хостты тексеріңіз.

# hping2 -S 172.16.0.105 -б 445 -c 1HPING 172.16.0.105 (eth0 172.16.0.105): S жиынтығы, 40 тақырып + 0 деректер байтыlen = 46 ip = 172.16.0.105 ttl = 128 DF id = 1381 sport = 445 flags = SA seq = 0 win = 64320 rtt = 0.3 ms--- 172.16.0.105 статистикалық статистика ---1 пакет трамвитке жіберілді, 1 пакет алынды, 0% пакеттің жоғалуысапар / мин / орта / максимум = 0,3 / 0,3 / 0,3 мс

Прокси хосттар id = 1379-дан id = 1381-ге дейін артқанына назар аударыңыз. 1380 пайдаланылмаған хост бірінші пакетпен мақсатты хосттың syn / ack дестесіне жауап берген кезде жұмсалды.

Жабылған портты қайта тексеріп, сол процестерді орындаңыз. Міне, біз 23 портты (телнет) тексеріп жатырмыз.

# hping2 -S 172.16.0.105 -б 445 -c 1; hping2 - алдау 172.16.0.105 -S 172.16.0.100 -б 23 -c 1; hping2 -S 172.16.0.105 -б 445 -c 1HPING 172.16.0.105 (eth0 172.16.0.105): S жиынтығы, 40 тақырып + 0 деректер байтыlen = 46 ip = 172.16.0.105 ttl = 128 DF id = 1382 sport = 445 flags = SA seq = 0 win = 64320 rtt = 2.1 ms--- 172.16.0.105 статистикалық статистика ---1 пакет трамвитке жіберілді, 1 пакет алынды, 0% пакеттің жоғалуысапар / мин / орта / максимум = 2,1 / 2,1 / 2,1 мсHPING 172.16.0.100 (eth0 172.16.0.100): S жиынтығы, 40 тақырып + 0 деректер байты--- 172.16.0.100 ст. Статистикалық ---1 пакет трамвитке жіберілді, 0 пакет алынды, пакеттің 100% жоғалуысапар / мин / орта = максимум = 0,0 / 0,0 / 0,0 мсHPING 172.16.0.105 (eth0 172.16.0.105): S жиынтығы, 40 тақырып + 0 деректер байтыlen = 46 ip = 172.16.0.105 ttl = 128 DF id = 1383 sport = 445 flags = SA seq = 0 win = 64320 rtt = 0.3 ms--- 172.16.0.105 статистикалық статистика ---1 пакет трамвитке жіберілді, 1 пакет алынды, 0% пакеттің жоғалуысапар / мин / орта / максимум = 0,3 / 0,3 / 0,3 мс

Назар аударыңыз, бұл жолы порт жабық болғандықтан идентификатор көбейген жоқ. Біз жалған пакетті мақсатты хостқа жіберген кезде, ол жұмыс істемейтін хостқа id есептегішін көбейтпейтін бірінші пакетпен жауап берді.

Nmap пайдалану

Пайдаланушының ең бірінші жасайтыны - лайықты зомби табу Жергілікті желі:

Зомбиге үміткерлер желісінде портты қарап шығу және ОЖ сәйкестендіру (nmap -O параметрі) тек зингті іздеу емес, жақсы зомбиді таңдауға көмектеседі. Тиісті режим (-v) қосулы болған кезде, ОЖ анықтау IP идентификаторының дәйектілігін қалыптастыру әдісін анықтайды және «IP идентификаторының реттілігін генерациялау: өсім» сияқты жолды басып шығарады. Егер тип өсімшеленген немесе сынған аз-ендианты қосымша ретінде берілсе, машина жақсы зомбиге үміткер болады. Бұл әлі де оның жұмыс істейтіндігіне кепілдік бермейді, өйткені Solaris және басқа да жүйелер олар байланысқан әрбір хост үшін жаңа IP идентификатор тізбегін жасайды. Үй иесі де тым бос болмауы мүмкін. ОЖ-ны анықтау және ашық порттар тізімі сонымен қатар жұмыс істемейтін жүйелерді анықтауға көмектеседі.

Зомбиге үміткерлерді анықтаудың тағы бір тәсілі - хостқа қарсы ipidseq NSE сценарийін жүргізу. Бұл сценарий хостты IP идентификаторын құру әдісін жіктеу үшін тексереді, содан кейін ОЖ анықтау сияқты IP идентификаторының жіктелуін басып шығарады. Көптеген NSE сценарийлері сияқты, ipidseq.nse парағын көптеген хосттарға қарсы жүргізуге болады, бұл барлық хосттарды іздеу кезінде қолайлы хосттарды іздеу кезінде тағы бір жақсы таңдау болады.

nmap -v -O -sS 192.168.1.0/24

Бұл nmap-ке пинг сыпырып, берілген IP ауқымындағы барлық хосттарды көрсетуді ұсынады. Зомби тапқаннан кейін, сіз жалған пакеттерді жібересіз:

nmap -P0 -p -sI <зомби IP> <мақсатты IP>

Кескіндерді қатар қою осы екі кезеңді де сәтті сценарийде көрсетеді.

Тиімділік

Қазір көптеген Операциялық жүйелер бұл шабуылда қолданылмайтын болса да, Кейбір танымал жүйелер әлі де осал;[1] бос сканерлеуді әлі де тиімді ету. Сәтті сканерлеу аяқталғаннан кейін, шабуылдаушының мақсатты жерінде IP мекен-жайы болмайды брандмауэр немесе Интрузияны анықтау жүйесі журнал. Тағы бір пайдалы мүмкіндік - брандмауэрді айналып өту мүмкіндігі, өйткені зомби компьютерінен мақсатты сканерлеп жатырсыз,[10] шабуылдаушыға қарағанда қосымша құқықтарға ие болуы мүмкін.

Сондай-ақ қараңыз

Ескертулер

  1. ^ а б c Эриксон, Джон (1977). Қанау өнерін бұзу. Сан-Франциско: NoStarch Press. б. 264. ISBN  1-59327-144-1.
  2. ^ а б «Бос сканерлеу дегеніміз не? | ICterra ақпараттық-коммуникациялық технологиялар». 2017-02-01. Алынған 2020-09-09.
  3. ^ Ұлым, До (2017-12-01). «Бос жүрісті / зомбиді сканерлеуге кіріспе • енуді сынау». Пенетрациялық тестілеу. Алынған 2020-09-09.
  4. ^ Трапикин, Роман (қыркүйек 2015). «Интернетті кім сканерлеп жатыр?» (PDF). Семантикалық ғалым. Алынған 9 қыркүйек 2020.
  5. ^ Санфилиппо, Сальваторе (1998-12-18). «жаңа tcp сканерлеу әдісі». Алынған 2010-09-28.
  6. ^ Филипп Альмейда (aka LiquidK) (1999-12-03). «бос тұрған (ip.id portscanner)». Алынған 2010-11-09.
  7. ^ Санфилиппо, Сальваторе (1999-10-26). «болжамды ip-> id патч». Алынған 2010-09-28.
  8. ^ Гордон «Федор» Лион (2010). «Nmap желісін сканерлеу 5-тарау. Портты сканерлеу әдістері мен алгоритмдері». Insecure.Com LLC. Алынған 2010-09-28.
  9. ^ Мартин «олемоуди» Обиолс (2011). «Жоспарланбаған мемлекеттік қызметтерді пайдаланатын зомбиге сканерлеу». (Дерлік) Техникалық бұзу блогы жоқ. Архивтелген түпнұсқа 2011-03-20. Алынған 2011-03-16.
  10. ^ Гордон «Федор» Лион (2010). «Nmap желісін сканерлеу 15-тарау. Nmap анықтамалық нұсқаулығы». Insecure.Com LLC. Алынған 2010-09-28.

Сыртқы сілтемелер