Python

Python voor hacken, bouw een poortscanner

Python voor hacken, bouw een poortscanner

Python voor hacken: bouw een poortscanner in 13 regels met Python

Een penetratietester worden, is niet alleen in staat zijn om direct een bepaald doelwit te exploiteren.  Het gebruik van de pentest-tools van andere mensen zal iemand geen geweldige hacker maken. Eigenlijk worden degenen die afhankelijk zijn van tools, meestal bestempeld als scriptkiddies. Elk expertisegebied moet niveaus hebben, het wordt ook wel een proces genoemd, niet de minste daarvan is het gebied van hacking. Zoals het volgende populaire citaat luidt: "Er zijn geen legendes geboren, legendes worden gemaakt". Het gaat niet om iemands talent, maar om de vaardigheden.

In het volgende artikel zullen we leren over de implementatie van een programmeertaal op het gebied van hacking. Wie kent de programmeertaal Python niet?? Ja, natuurlijk weet je het al. Python is gemaakt voor algemene doeleinden, zoals de ontwikkeling van desktoptoepassingen met zijn GUI, webontwikkeling en inclusief hacking of penetratietests. Python heeft een actieve gemeenschap (waarvan sommigen krankzinnig zijn, a.k.een fanaticus) en python heeft ook rijke bibliotheekmodules.

Python is ook mijn favoriete programmeertaal geworden sinds ik het gebied van penetratietesten kende. Ik hou er niet zomaar van. Om de een of andere reden is python in wezen echter een minder complexe en efficiëntere programmeertaal. Wat ik daarmee bedoel, is dat het bijna in de buurt komt van de menselijke taal, nietwaar?? Vanuit een beginnend oogpunt zoals het mijne, is de leesbaarheid van Python krankzinnig.

Ok, genoeg om python te overdrijven. Nu zal ik het punt van dit artikel uitleggen. Hier zullen we leren een eenvoudige poortscanner te maken met breedsprakigheid met slechts 13 regels. (ik hou van 13). Hier gaan we de "poortscannerkoning" NMap niet verslaan, in plaats daarvan is het doel om te begrijpen hoe een tool werkt op een manier om te produceren wat we willen, in dit geval om te zien of de poorten op een doel zijn open of niet. Aan de andere kant zijn er andere voordelen, i.e. wanneer we op een gegeven moment worden geconfronteerd met een toestand waarbij we poortscanning van de router willen uitvoeren die geen verbinding met internet kan maken en we geen tools hebben. Dit gaat natuurlijk makkelijker als we de poortscanner zelf kunnen maken. Citaat uit het bovenstaande citaat:. Ik voegde eraan toe: "Hackers gebruiken geen tools, ze maken tools"

Laten we het doen met oefening, open je favoriete teksteditor. Verspil geen tijd met het gebruik van een IDE met veel functies om eenvoudige scripts uit te voeren. Wees gewoon efficiënt. Ik geef de voorkeur aan Gedit, in plaats van de vooraf gebouwde Kali Linux-teksteditor, Leafpad. Om één reden ondersteunt Gedit kleurmarkering voor verschillende programmeertalen. Typ de volgende tekst in uw teksteditor.

stopcontact importeren
sok = sok.stopcontact (stopcontact).AF_INET, stopcontact.SOCK_STREAM)

In regel 1 moeten we module-socket importeren om de socket()-functie te gebruiken. In regel 2 maken we een socket-object met de syntaxis:

stopcontact.socket (socket_family, socket_kind)

Socket_familie zou kunnen: AF_INET, AF_INET6, AF_UNIX, AF_NETLINK, AF_TIPC, AF_BLUETOOTH en AF_ALG.

Socket_kind opties zijn SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, SOCK_RDM, enz. We gebruiken SOCK_STREAM omdat we communiceren via het TCP-protocol.

Ga voor meer informatie over socketmodule naar de officiële documentatie van socket op https://docs.Python.org/3/bibliotheek/socket.html

Laten we het programma voortzetten met de volgende regels:
https://analyse.google.com/analytics/web/#realtime/rt-content/a2559550w156331077p157923904/

doel = invoer ("[+] Voer doel-IP in: ")

We vragen de gebruiker om een ​​doel-IP in te voeren, aangezien we gebruik maken van AF_INET socket maken.

def scanner(poort):
proberen:
sok.verbinden((doel, poort))
retourneer True
behalve:
retourneer False

In de volgende regels hierboven definiëren we scanner() functie. In scanner() we gebruiken proberen syntaxis om ervoor te zorgen dat we geen fouten genereren als er problemen zijn opgetreden. We proberen verbinding te maken met het doel-IP en zijn poort. Poortvariabele wordt doorgegeven aan de functie zoals hieronder getoond:.

voor poortnummer in bereik (1.100):
print("Scanpoort", poortnummer)
als scanner (poortnummer):
print('[*] Poort', poortnummer, '/tcp','is open')

Deze for-lus hierboven is om een ​​reeks poorten te doorlopen die we gaan scannen. De syntaxis van bereik() functie is, bereik (start vanaf x, stop voor x). Dus in regel 10 zullen we 100 poorten scannen, dat is poort 1 tot 99. We gebruiken een afdrukmethode-aanroep om te vertellen welke poort nu daadwerkelijk wordt gescand. Dan retourneren we Booleaans type, True of False. Het noemt onze scanner() functie die verbinding probeert te maken met de meegeleverde poort; als het een retour is niet waar (de poging om verbinding te maken is mislukt).  Als het terugkeert waar (verbinding succesvol) ga dan naar de volgende regel. Die een bericht weergeeft dat aangeeft dat deze bepaalde poort is Open. Deze lus stopt zodra we poort 99 . hebben gescand.

Dus om af te ronden, zou onze 13-regelige poortscanner van code er als volgt uit moeten zien:

Oké, nu tijd om het te testen, laten we eens kijken hoe het werkt. Bewaar het als scanner.py. Voor het geval we naar onze eigen router gaan scannen, geopende poorten in het bereik tussen 1 en 99. Geloof me, dit zal niet mooi zijn in vergelijking met NMap, concentreer je gewoon op ons doel dat ik hierboven heb genoemd.

Doel-IP: 192.168.1.1

De syntaxis om uit te roepen scanner.py is:

~# python3-scanner.py

Omdat we onze scriptomgeving niet in de eerste regel hebben ingesteld, dus we moeten de Python-interpreter aanroepen, ik gebruikte python3 in plaats van de lagere versie.

En de niet-fancy output zou er als volgt uit moeten zien:

TOT SLOT

Ja, het is ons gelukt om vanaf het begin een eenvoudige poortscanner te bouwen met python in slechts 13 regels. We slagen erin om ons doel te bereiken, en nu weten we hoe het werkt, toch?. Zelfs ik heb je niet verteld of er een man is die de NMap-python-module heeft gemaakt, het zou je niet verbazen. Deze module kan in principe de NMap-opdracht uitvoeren met behulp van de programmeertaal Python.

Oh ja, als je je afvraagt ​​​​waar is het hackgedeelte met alleen poortscannen?? Hmm... Nou, wat richt een hacker zich dan als ze geen idee hebben van het doelwit zelf?. Herinnert u zich penetratietestfasen of cycli?? Als dat niet het geval is, moet u het artikel mogelijk hier lezen:

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

Beste spellen om te spelen met handtracking
Oculus Quest introduceerde onlangs het geweldige idee van handtracking zonder controllers. Met een steeds toenemend aantal games en activiteiten die f...
OSD-overlay tonen in Linux-apps en -games op volledig scherm
Het spelen van games op volledig scherm of het gebruik van apps in de modus volledig scherm zonder afleiding kan u afsnijden van relevante systeeminfo...
Top 5 Game Capture-kaarten
We hebben allemaal gezien en genoten van streaming gameplays op YouTube. PewDiePie, Jakesepticye en Markiplier zijn slechts enkele van de beste gamers...