Python

Python til hacking, bygg en havnescanner

Python til hacking, bygg en havnescanner

Python til hacking: Byg en havnescanner i 13 linjer med Python

At blive en penetrationstester er ikke bare at være i stand til at udnytte et bestemt mål med det samme.  Brug af andres penteste værktøjer vil ikke gøre nogen til en god hacker. Faktisk er de, der er afhængige af at stole på værktøjer, normalt stemplet som script-kiddies. Hvert ekspertisefelt skal have niveauer, det kaldes også en proces, ikke mindst inden for hacking. Som det følgende populære citat lyder: "Ingen legender blev født, legender er lavet". Det handler ikke om ens talent, men om færdighederne.

I den følgende artikel vil vi lære om implementeringen af ​​et programmeringssprog inden for hacking. Hvem kender ikke til Python-programmeringssprog? Ja, selvfølgelig ved du det allerede. Python er oprettet til generelle formål, såsom desktop applikationsudvikling med sin GUI, webudvikling og inklusive hacking eller penetrationstest. Python har et aktivt samfund (som nogle af dem er sindssyge, a.k.en fanatiker) og python har også rige biblioteksmoduler.

Python er også blevet mit foretrukne programmeringssprog, siden jeg kendte området for penetrationstest. Jeg elsker det ikke kun for givet. Af en eller anden grund er python i det væsentlige et mindre komplekst og mere effektivt programmeringssprog. Hvad jeg mener med det er, at det næsten er tæt på menneskeligt sprog, er det ikke det? Fra et nybegynderperspektiv som mit er Pythons læsbarhedsgrad sindssyg.

Ok, nok til at overdrive python. Nu vil jeg forklare pointen med denne artikel. Her lærer vi at oprette en simpel port scanner med ordligheden med kun 13 linjer. (jeg kan godt lide 13). Her vil vi ikke slå NMAP for "port scanner king", men målet med dette er at forstå, hvordan et værktøj fungerer på en sådan måde, at vi producerer det, vi ønsker, i dette tilfælde for at se om havne på et mål er åbne eller ej. På den anden side er der andre fordele, dvs.e. når vi på et eller andet tidspunkt står over for en tilstand, hvor når vi ønsker at lave havnescanning af routeren, der ikke kan oprette forbindelse til internettet, og vi ikke har nogen værktøjer. Dette bliver selvfølgelig lettere, hvis vi selv kan gøre havnescanneren. Citat fra ovenstående tilbud. Jeg tilføjede, "Hackere bruger ikke værktøjer, de opretter værktøjer"

Lad os gøre det med øvelse, åbn din yndlings teksteditor. Spild ikke din tid ved at bruge en højt udstyret IDE til at lave simpel scripting. Bare vær effektiv. Jeg foretrækker Gedit snarere end den forudbyggede Kali Linux teksteditor, Leafpad. På grund af en grund understøtter Gedit farvefremhævning til forskellige programmeringssprog. Skriv følgende tekst i din teksteditor.

importstik
sok = stikkontakt.stikkontakt (stikkontakt.AF_INET, stikkontakt.SOCK_STREAM)

I linje 1 skal vi importere modulstik for at kunne bruge socket () -funktionen. I linje 2 opretter vi et socket-objekt med syntaksen:

stikkontakt.stikkontakt (socket_family, socket_kind)

Socket_family kunne være: AF_INET, AF_INET6, AF_UNIX, AF_NETLINK, AF_TIPC, AF_BLUETOOTH og AF_ALG.

Socket_kind muligheder er SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, SOCK_RDM osv. Vi bruger SOCK_STREAM fordi vi kommunikerer via TCP-protokol.

For at finde ud af mere om sokkelmodul, besøg den officielle dokumentation for sokkel på https: // docs.python.org / 3 / bibliotek / stikkontakt.html

Lad os fortsætte programmet med følgende linjer:
https: // analyse.google.com / analytics / web / # realtime / rt-content / a2559550w156331077p157923904 /

target = input (“[+] Indtast mål-IP:“)

Vi beder brugeren om at indtaste en mål-IP, da vi bruger AF_INET for at oprette stikkontakt.

def scanner (port):
prøve:
sok.tilslut ((mål, port))
returner sandt
undtagen:
returner Falsk

I de næste linjer ovenfor definerer vi scanner () fungere. I scanner () vi bruger prøve syntaks for at sikre, at vi ikke kaster nogen fejl, hvis der opstod problemer. Vi forsøger at oprette forbindelse til målretning mod IP og dens port. Portvariabel overføres til funktionen som vist nedenfor.

for portNumber inden for rækkevidde (1.100):
print ("Scanning port", portNumber)
hvis scanner (portNumber):
print ('[*] Port', portNumber, '/ tcp', 'er åben')

Dette for loop ovenfor er at gentage gennem en række porte, vi skal scanne. Syntaksen for rækkevidde() funktion er, rækkevidde (start fra x, stop før x). Så i linje 10 scanner vi 100 porte, hvilket er port 1 til 99. Vi bruger et udskrivningsmetodeopkald til at fortælle, hvilken port der nu faktisk scannes. Så returnerer vi boolsk type, sand eller falsk. Det kalder vores scanner () funktion, der forsøger at oprette forbindelse til den leverede port; hvis det er returnerer Falsk (forsøget på at oprette forbindelse mislykkedes).  Hvis det vender tilbage Rigtigt (forbindelses succes), gå derefter til næste linje. Hvilket viser en meddelelse om, at denne bestemte port er Åben. Denne sløjfe stopper, når vi scannede port 99.

Så for at afslutte, skal vores 13-linjers portscanner med kode se sådan ud:

Okay nu er det tid til at teste det, lad os se, hvordan det fungerer. Gem det som scanner.py. Hvis vi skal scanne efter vores egne routeråbnede porte i området mellem 1 og 99. Stol på mig, dette vil ikke være fancy at sammenligne med NMap, bare fokuser på vores mål, jeg nævnte ovenfor.

Mål-IP: 192.168.1.1

Syntaksen, der skal kaldes ud scanner.py er:

~ # python3-scanner.py

Fordi vi ikke indstillede vores scriptmiljø i første linje, er vi derfor nødt til at kalde Python-tolken, jeg brugte python3 snarere end dens lavere version.

Og den ikke-fancy output skal se sådan ud:

AFSLUTNINGSVIS

Ja, det lykkes os at bygge en simpel port scanner fra bunden ved hjælp af python kun i 13 linjer. Det lykkes os at nå vores mål, og nu ved vi, hvordan tingene fungerer, rigtigt?. Selv jeg fortalte dig ikke, hvis der er en fyr, der lavede NMap-python-modul, ville du ikke blive overrasket. Dette modul er dybest set i stand til at køre NMap-kommandoen ved hjælp af python-programmeringssprog.

Åh ja, hvis du spekulerer på, hvor er hackedelen med bare at lave havnescanning? Hmm ... Nå, hvad målretter et hacker sig så hvis de ikke har nogen anelse om selve målet. Kan du huske Penetration Testing Phases or Cycles? Hvis ikke, skal du muligvis læse artiklen her:

https: // linuxhint.com / kali-linux-tutorial /

Shadow of the Tomb Raider til Linux-vejledning
Shadow of the Tomb Raider er den tolvte tilføjelse til Tomb Raider-serien - en action-adventure-spilfranchise oprettet af Eidos Montreal. Spillet blev...
Sådan styrkes FPS i Linux?
FPS står for Billeder i sekundet. FPS's opgave er at måle billedhastigheden i videoafspilninger eller spiloptræden. I enkle ord betegnes antallet af u...
Top Oculus App Lab-spil
Hvis du er Oculus-headset-ejer, skal du være opmærksom på sideloading. Sideladning er processen med at installere ikke-butiksindhold på dit headset. S...