Pitone

Python per hackerare, costruire uno scanner per porte

Python per hackerare, costruire uno scanner per porte

Python per l'hacking: crea uno scanner di porte in 13 righe con Python

Diventare un penetration tester non è solo essere in grado di sfruttare un determinato target all'istante.  Usare gli strumenti pentest di altre persone non renderà qualcuno un grande hacker. In realtà, coloro che hanno la dipendenza per fare affidamento sugli strumenti sono generalmente bollati come script kiddies. Ogni campo di competenza deve avere dei livelli, è anche chiamato un processo, non ultimo il campo dell'hacking. Come recita la seguente citazione popolare, "Non sono nate leggende, le leggende sono fatte". Non si tratta del talento, ma del set di abilità.

Nel seguente articolo, impareremo a conoscere l'implementazione di un linguaggio di programmazione nel campo dell'hacking. Chi non conosce il linguaggio di programmazione Python? Sì, certo che lo sai già. Python è stato creato per scopi generali, come lo sviluppo di applicazioni desktop con la sua GUI, lo sviluppo web e include l'hacking o i test di penetrazione. Python ha una comunità attiva (alcuni di loro sono pazzi, a.K.un fanatico) e Python ha anche ricchi moduli di libreria.

Python è diventato anche il mio linguaggio di programmazione preferito da quando conoscevo il campo dei test di penetrazione. Non lo amo solo per scontato. Tuttavia, per qualche ragione, in sostanza, Python è un linguaggio di programmazione meno complesso e più efficiente. Quello che voglio dire è che è quasi vicino al linguaggio umano, non è vero?? Da un punto di vista principiante come il mio, il tasso di leggibilità di Python è folle in.

Ok, abbastanza per sopravvalutare Python. Ora spiegherò il punto di questo articolo. Qui impareremo a creare un semplice port scanner con verbosità con solo 13 linee. (mi piace 13). Qui non batteremo il “port scanner king” NMap, invece, lo scopo di questo è capire come funziona uno strumento in modo tale da produrre ciò che vogliamo, in questo caso per vedere se le porte su un target sono aperti o no. D'altra parte ci sono altri vantaggi, i.e. quando ad un certo punto ci troviamo di fronte a una condizione in cui quando vogliamo eseguire la scansione delle porte del router che non può connettersi a Internet e non abbiamo strumenti. Questo sarà ovviamente più facile se possiamo realizzare noi stessi il port scanner. Citazione dalla citazione sopra. Ho aggiunto: "Gli hacker non usano strumenti, creano strumenti"

Facciamolo con la pratica, apri il tuo editor di testo preferito. Non perdere tempo utilizzando un IDE con funzionalità avanzate per eseguire semplici script. Basta essere efficienti. Preferisco Gedit, piuttosto che l'editor di testo Kali Linux predefinito, Leafpad. Per una ragione, Gedit supporta l'evidenziazione del colore per vari linguaggi di programmazione. Digita il seguente testo nel tuo editor di testo.

presa di importazione
calzino = presa.presa (presa).AF_INET, presa.SOCK_STREAM)

Nella riga 1 dobbiamo importare il socket del modulo per utilizzare la funzione socket(). Nella riga 2 creiamo un oggetto socket con la sintassi:

presa.socket (socket_family, socket_kind)

Socket_family potrebbe essere: AF_INET, AF_INET6, AF_UNIX, AF_NETLINK, AF_TIPC, AF_BLUETOOTH e AF_ALG.

Socket_kind le opzioni sono SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, SOCK_RDM, ecc. Noi usiamo SOCK_STREAM perché comunicheremo attraverso il protocollo TCP.

Per saperne di più sul modulo socket, visita la documentazione ufficiale di socket su https://docs.pitone.org/3/libreria/socket.html

Continuiamo il programma con le seguenti righe:
https://analytics.Google.com/analytics/web/#realtime/rt-content/a2559550w156331077p157923904/

target = input ("[+] Inserisci l'IP di destinazione: ")

Chiediamo all'utente di inserire un IP di destinazione, poiché stiamo usando AF_INET per creare presa.

def scanner (porta):
provare:
calzino.connect((target, porta))
ritorna Vero
tranne:
ritorno Falso

Nelle prossime righe sopra, definiamo scanner() funzione. Nel scanner() noi usiamo provare sintassi per assicurarci di non generare errori in caso di problemi. Cerchiamo di stabilire una connessione per l'IP di destinazione e la sua porta. La variabile della porta viene passata alla funzione come mostrato di seguito.

per portNumber nell'intervallo (1.100):
print("Porta di scansione", portNumber)
se scanner (numeroporta):
print('[*] Port', portNumber, '/tcp','è aperto')

Questo ciclo for sopra, è per scorrere una serie di porte che andremo a scansionare. La sintassi di gamma() la funzione è, range (inizia da x, ferma prima di x). Quindi nella riga 10 effettueremo la scansione di 100 porte, ovvero dalla porta 1 a 99. Usiamo una chiamata al metodo di stampa per dire quale porta viene effettivamente scansionata. Quindi restituiamo il tipo booleano, True o False. chiama il nostro scanner() funzione che tenta di stabilire una connessione alla porta fornita; se è ritorna falso (il tentativo di connessione è fallito).  Se ritorna Vero (connessione riuscita) quindi vai alla riga successiva. Che visualizza un messaggio che indica che questa determinata porta è Aperto. Questo ciclo si fermerà una volta che avremo scansionato la porta 99.

Quindi, per concludere, il nostro port scanner di 13 righe di codice dovrebbe assomigliare a questo:

Bene, ora è il momento di testarlo, vediamo come funziona. Salvalo come scanner.pi. Nel caso in cui andremo a scansionare le porte aperte del nostro router nell'intervallo tra 1 e 99. Fidati di me, questo non sarà fantastico rispetto a NMap, concentrati solo sul nostro obiettivo che ho menzionato sopra.

IP di destinazione : 192.168.1.1

La sintassi per richiamare scanner.pi è:

~# scanner python3.pi

Poiché non abbiamo impostato il nostro ambiente di script nella prima riga, quindi dobbiamo chiamare l'interprete Python, ho usato python3 anziché la sua versione inferiore.

E l'output non di fantasia dovrebbe essere simile a questo:

IN CONCLUSIONE

Sì, riusciamo a costruire da zero un semplice port scanner usando Python solo in 13 righe. Riusciamo a raggiungere il nostro obiettivo, e ora sappiamo come funzionano le cose, giusto?. Anche se non ti ho detto se c'è un ragazzo che ha creato il modulo NMap-python, non saresti sorpreso. Questo modulo è fondamentalmente in grado di eseguire il comando NMap usando il linguaggio di programmazione Python.

Oh sì, se ti stai chiedendo dov'è la parte di hacking con la semplice scansione delle porte? Hmm... Beh, cosa fa un hacker come bersaglio se non ha idea del bersaglio stesso?. Ricordi Fasi o Cicli di Penetration Test?? In caso contrario, potrebbe essere necessario leggere l'articolo qui:

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

Come aumentare gli FPS in Linux?
FPS sta per Fotogrammi al secondo. Il compito dell'FPS è misurare il frame rate nelle riproduzioni video o nelle prestazioni di gioco game. In parole ...
I migliori giochi di laboratorio dell'app Oculus
Se possiedi un visore Oculus, devi essere informato sul sideloading. Il sideloading è il processo di installazione di contenuti non archiviati sul vis...
I 10 migliori giochi da giocare su Ubuntu
La piattaforma Windows è stata una delle piattaforme dominanti per i giochi a causa dell'enorme percentuale di giochi che si stanno sviluppando oggi p...