Python

Python for Hacking, bygg en havneskanner

Python for Hacking, bygg en havneskanner

Python for Hacking: Bygg en havneskanner i 13 linjer med Python

Å bli en penetrasjonstester er ikke bare å kunne utnytte visse mål umiddelbart.  Å bruke andres penteste verktøy vil ikke gjøre noen til en god hacker. Egentlig er de som er avhengige av å stole på verktøy, vanligvis stemplet som script-kiddies. Hvert fagfelt må ha nivåer, det kalles også en prosess, ikke minst er hackingfeltet. Som følgende populære sitat lyder: "Ingen sagn ble født, sagn blir laget". Det handler ikke om ens talent, men om ferdighetene.

I den følgende artikkelen vil vi lære om implementeringen av et programmeringsspråk innen hacking. Hvem vet ikke om Python-programmeringsspråk? Ja, selvfølgelig vet du det allerede. Python er opprettet for generelle formål, slik desktop applikasjonsutvikling med GUI, webutvikling, og inkludert hacking eller penetrasjonstesting. Python har et aktivt samfunn (som noen av dem er sinnssyke, a.k.en fanatiker) og python har også rike biblioteksmoduler.

Python har også blitt mitt favoritt programmeringsspråk siden jeg kjente feltet penetrasjonstesting. Jeg elsker det ikke bare for gitt. Av en eller annen grunn er imidlertid python et mindre komplekst og mer effektivt programmeringsspråk. Det jeg mener med det er at det er nesten nær menneskelig språk, er det ikke det? Fra et nybegynnersynspunkt som mitt, er Pythons lesbarhetsrate sinnssyk.

Ok, nok til å overdrive python. Nå vil jeg forklare poenget med denne artikkelen. Her vil vi lære å lage en enkel portskanner med ordlighetsgrad med bare 13 linjer. (jeg liker 13). Her skal vi ikke slå "port scanner king" NMap, i stedet er målet med dette å forstå hvordan et verktøy fungerer på en slik måte at det produseres det vi ønsker, i dette tilfellet for å se om portene på et mål er åpne eller ikke. På den annen side er det andre fordeler, dvs.e. når vi på et tidspunkt står overfor en tilstand der når vi vil gjøre portskanning av ruteren som ikke kan koble til Internett, og vi ikke har noen verktøy. Dette blir selvfølgelig lettere hvis vi kan lage havneskanneren selv. Sitat fra ovenstående tilbud. Jeg la til: "Hackere bruker ikke verktøy, de lager verktøy"

La oss gjøre det med øvelse, åpne favoritt teksteditoren din. Ikke kast bort tiden din ved å bruke IDE med høyt utvalg for å gjøre enkle skript. Bare vær effektiv. Jeg foretrekker Gedit, i stedet for den ferdigbygde Kali Linux tekstredigerer, Leafpad. På grunn av en grunn støtter Gedit fargemarkering for forskjellige programmeringsspråk. Skriv inn følgende tekst i tekstredigeringsprogrammet.

importkontakt
sokk = stikkontakt.stikkontakt (stikkontakt.AF_INET, stikkontakt.SOCK_STREAM)

I linje 1 må vi importere modulstikkontakten for å kunne bruke stikkontakten (). I linje 2 lager vi et sokkelobjekt med syntaksen:

stikkontakt.stikkontakt (socket_family, socket_kind)

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

Socket_kind alternativene er SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, SOCK_RDM, osv. Vi bruker SOCK_STREAM fordi vi kommuniserer gjennom TCP-protokollen.

For å finne ut mer om socket-modul, vennligst besøk den offisielle dokumentasjonen for socket på https: // docs.python.org / 3 / bibliotek / stikkontakt.html

La oss fortsette programmet med følgende linjer:
https: // analyse.Google.no / analytics / web / # realtime / rt-content / a2559550w156331077p157923904 /

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

Vi ber brukeren legge inn en mål-IP, siden vi bruker AF_INET for å lage stikkontakt.

def skanner (port):
prøve:
sokk.koble til ((mål, port))
returner True
unntatt:
returner Falsk

I de neste linjene ovenfor definerer vi skanner () funksjon. I skanner () vi bruker prøve syntaks for å sikre at vi ikke kaster feil hvis det oppstod problemer. Vi prøver å opprette en forbindelse for å målrette IP og dens port. Portvariabel overføres til funksjonen som vist nedenfor.

for portNumber innen rekkevidde (1100):
skriv ut ("Skanneport", portNumber)
hvis skanner (portNumber):
print ('[*] Port', portNumber, '/ tcp', 'er åpen')

Dette for loop ovenfor, er å gjenta gjennom en serie porter vi skal skanne. Syntaksen til område() funksjon er, rekkevidde (start fra x, stopp før x). Så i linje 10 vil vi skanne 100 porter, som er port 1 til 99. Vi bruker en utskriftsmetodesamtale for å fortelle hvilken port som nå faktisk skannes. Så returnerer vi boolsk type, sant eller usant. Det kaller vårt skanner () funksjon som prøver å koble til den medfølgende porten; hvis det er retur Falsk (forsøket på å koble mislyktes).  Hvis den kommer tilbake ekte (forbindelsessuksess), og gå deretter til neste linje. Som viser en melding som indikerer at denne bestemte porten er Åpen. Denne sløyfen stopper når vi skannet port 99.

Så for å avslutte, bør vår 13 linjer portskanner med kode se slik ut:

Greit, nå er det tid for å teste det, la oss se hvordan det fungerer. Lagre det som skanneren.py. I tilfelle vi skal skanne etter våre egne routeråpnede porter i området mellom 1 og 99. Stol på meg, dette vil ikke være fancy å sammenligne med NMap, bare fokuser på vårt mål jeg nevnte ovenfor.

Mål-IP: 192.168.1.1

Syntaksen for å ringe ut skanneren.py er:

~ # python3-skanner.py

Fordi vi ikke satte skriptmiljøet vårt i første linje, må vi derfor ringe Python-tolken, jeg brukte python3 i stedet for den nedre versjonen.

Og den ikke-fancy produksjonen skal se slik ut:

FOR Å KONKLUDERE

Ja, vi lykkes med å bygge en enkel portskanner fra bunnen av ved hjelp av python bare i 13 linjer. Vi lykkes med å nå målet vårt, og nå vet vi hvordan ting fungerer, ikke sant?. Selv fortalte jeg deg ikke at hvis det er en fyr som laget NMap-python-modul, ville du ikke bli overrasket. Denne modulen er i utgangspunktet i stand til å kjøre NMap-kommandoen ved hjelp av python-programmeringsspråk.

Oh yeah, hvis du lurer på hvor er hacking-delen med bare å gjøre portskanning? Hmm ... Vel, hva retter et hacker seg mot hvis de ikke har noe peiling på selve målet. Husker du penetrasjonstestfaser eller sykluser? Hvis ikke, må du kanskje lese artikkelen her:

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

OpenTTD vs Simutrans
Å lage din egen transportsimulering kan være morsom, avslappende og ekstremt fristende. Derfor må du sørge for at du prøver så mange spill som mulig f...
OpenTTD Tutorial
OpenTTD er et av de mest populære forretningssimuleringsspillene der ute. I dette spillet må du lage en fantastisk transportvirksomhet. Du begynner im...
SuperTuxKart for Linux
SuperTuxKart er en flott tittel designet for å gi deg Mario Kart-opplevelsen gratis på Linux-systemet ditt. Det er ganske utfordrende og morsomt å spi...