Ultima modifica da un moderatore:
1 INTRODUZIONE
In questa guida andremo ad illustrare cos'è e a cosa serve Termux:
Termux è un emulatore di terminale su ambiente Linux fruibile su Android, ha un suo packet manager per l'installazione di tool aggiuntivi molto simili ai medesimi disponibili per sistemi Linux e come quest'ultimo ha varie shell disponibili tra cui bash ,VIM , zsh ecc non richiede permessi root per l'utilizzo e permette di connettersi in remoto a client SSH oltre che ad avere a disposizione i più comuni tool (nmap, routersploit , SQLMap ecc) che troviamo in distro dedicate al pentest. Con questo emulatore è possibile utilizzare tool come SSh e FTP, scrivere degli script con Perl , ruby , nodeJS ma anche Python, C e PHP.
L'interfaccia è ridotto all'osso e minimale , non è altro che una schermata nera stile shell che permette di interagire con il proprio sistema , in ogni caso non è una shell vera e proprio ma un emulatore , i vari pacchetti installati e gli script salvati vengono salvati su di una cartella come fosse una macchina virtualizzata con Virtual Box o VMware. Supporta editor come Nano o vim e come Linux permette di interagire con i vari repository Git.
1.1 Quindi abbiamo una distro Linux in tasca?
Ovviamente no. Termux presenta della differenze non trascurabili da Linux, dovute alla sua natura limitata di emulatore Android:
In realtà questa parte di introduzione mi interessa poco ma va fatta per pro-forma , mi sono aiutato con il caro vecchio amico Google : Surfando la rete ho trovato pagine che dipingono Termux come una distro per pentest a tutti gli effetti , in qualche sito addirittura si azzarda a dire che "è più potente" ( potente? ) dei vari Kali , Parrot ecc. è vero che presenta delle funzionalità interessanti come il potersi collegare da remoto ad altri devices , ma teniamo presente che essendo un emulatore su uno smartphone presenta dei limiti dai più pratici come la scrittura (anche se c'è da dire che esiste la possibilità di collegare tastiere esterne tramite bluetooth) a quelli più tecnici come una scarsa flessibilità , un'inefficiente gestione degli aggiornamenti e una libreria git pesantemente limitata.
A differenza di linux tutto viene salvato in una comunissima cartella , dimenticatevi quindi le conosciute cartelle di sistema come /bin /etc /var /tmp La cartella dell'utente Termux si trova quindi nell'area che Android dedica all'app , che verrà eliminata in caso di disinstallazione come fosse una comunissima app, i pacchetti scaricati vengono locati in una cartella generata dalla variabile $PREFIX , la directory che fa riferimento a questa variabile non può essere modificata o spostata ad esempio in una memoria SD del telefono. Qui potremmo andare ad installare ed utilizzare tool come Metasploit , MariaDB o Mysql oppure Utilizzare webserver come Nginx o Apache.
1.2 Perché ha senso conoscerlo?
Termux è un ottimo strumento di esercizio per chi è alle prime armi e deve prendere familiarità con la shell di Linux o per i più esperti per fare
enumeration e scanning sempre e comunque in modo più approssimativo di una "normale" distro per il pentest, con l'ovvio vantaggio
però che è più probabile avere sempre con se uno smartphone che non un pc.
Ovviamente questo vale per tutti tranne per gli amici pentester Indiani che con Termux riescono a dire la loro (no fonte

Mi piacerebbe iniziare con questo primo capitolo illustrando alcune funzionalità caratteristiche di termux e prenderci mano con qualche settaggio,
più avanti se può avere senso mi piacerebbe andare a vedere l'utilizzo dei vari tool come nmap hhtrack ecc, datemi qualche feedback per capire se
può interessare o meno.
Ho dovuto cercare di essere il più sintetico possibile sicuramente potrebbe mancare qualche passaggio ma niente che non si possa risolvere con una ricerchina su google e un pizzico di acume. Io ho utilizzato termux su pc, ti consiglio di visitare il sito: https://termux.com/
2 COMANDI BASE
Direi di iniziare con i comandi Basi di Termux , per iniziare ad orientarci. per vedere su quale directory stiamo lavorando , lanciamo
$pwd
, come su linux $ clear
per pulire il terminale. per verificare l'utente in utilizzo il comando è $whoami
e per muoverci tra le directory utilizziamo $cd . .
& $ cd /
per esempio $ ls vogliamo entrare nella cartella "usr" quindi $ cd usr
, con $ ls
verifichiamo il contenuto della cartella per tornare indietro utilizziamo $ cd . .
Per avere una lista dei pacchetti fruibili
$apt list
per verificare il nome , la dimensione del file e altri dettagli utili utilizziamo
$apt show [nome del tool]
per procedere con l'installazione
$pkg install [nome del tool]
oppure $apt-get install [nome del tool]
per la gestione dei file all'interno della nostra directory :
- per copiare un file usiamo cp
- per spostare un file usiamo mv
- per vedere i contenuti di una directory ls
- per eliminare un file usiamo rm
per creare una nuova cartella
$ mkdir new.txt
, per spostare un file usiamo quindi $ mv test
Ora vediamo l'installazione dei pacchetti.
come prima cosa dobbiamo eseguire l'aggiornamento con
$ apt update && apt upgrade
Adesso che abbiamo visto i comandi basilari per l'utilizzo di termux, procediamo col vedere alcune operazioni che possiamo eseguire.
Iniziamo con qualcosa di semplice e funzionale.
3 POSIZIONE CON TERMUX
Con termux è possibile recuperare la posizione del nostro device in modo preciso , termux può trovare la posizione
attraverso il gps o il network , ovviamente deve essere acceso e teniamo presente che all'interno di un edificio potrebbe non funzionare
correttamente , mentre con network potrebbe richiedere del tempo per funzionare .
$ termux-location [-p provider] [-r request]
dove
- p provider per scegliere il metodo con la quale ricavare il posizionamento . possiamo scegliere tra : gps/network/passive
-r request la tipologia di richiesta che vogliamo mandare .possiamo scegliere tra: once/last/update di default si utilizza solitamente 'once'
$termux-location -h
si usa per aprire l'helper per visualizzare le opzioniun esempio :
$termux-location -p passive -r last
Con questo comando avremo la posizione in coordinate espressa per latitudine e longitudine , più altre specifiche secondarie.
4 INSTALLAZIONE LINGUAGGI DI PROGRAMMAZIONE
Come installare i linguaggi di programmazione su termux? E' molto semplice:
Proseguiamo con l'installare i pacchetti per l'utilizzo dei più comuni linguaggi di programmazione, questo ci servirà per poter utilizzare i vari script dedicati a termux per il pentest, o per poter comporne di nostri visto che termux supporta gli editor di testo che poi andremo a trattare.
Iniziamo con l'installare python
$ pkg install python
facciamo il check della versione di python installata
$ python --version
la maggior parte dei tool che utilizzo necessitano python2 , andiamo ad installarlo con
$ pkg install python2 ,
e per verificare la versione come prima
$python2 --version
Passiamo a php con
$pkg install php
e facciamo un check della versione installata con $php --version
Per installare perl
$pkg install perl
E facciamo un check della versione corrente in uso con
$ perl --version
Per installare Ruby
$pkg install ruby
E per fare il check della versione
$ruby --version
$pkg install clang
è la sintassi per installare i linguaggi C e C++ .Ultimo ma non meno importante il nostro migliore amico ovvero git con
$pkg install git
per poter scaricare e clonarerepository con git. Teniamo presente che il parco di tool scaricabili per termux è sensibilmente limitato rispetto a una reale distro linux,
questo insieme ad altri motivi fanno di termux un prodotto per esercizio piuttosto che reale pentesting.
5 TEXT EDITOR
con termux è possibile utilizzare degli editor di
testo per poter comporre brevi script , come su Linux andiamo
ad utilizzare uno dei più famosi , ovvero vim .
$ vi test.txt
per aprire vim su un file titolato test in formato txt.$ls
e vediamo il nostro file appena creato . per leggere il file appenacreato sul terminale digitiamo
$ cat test.txt
per salvare digitiamo enter , nell'ultima righa ( sotto il testo evidenziato )
digitiamo :wq per uscire e salvare .
se non abbiamo vim installato digitiamo
$ pkg install vim
vediamo il prossimo test editor , nano
installiamo con
$pkg install nano
per utilizzare nano con il nostro file digitiamo
$ nano test.txt
per uscire da nano premiamo ctrl + o , ci chiederà
come vogliamo salvare il file , e poi digitiamo Y per dargli l'Ok .
$ls
per vedere la locazione del nostro file txt , e come prima $ cat nomefile.txt
per vedere il contenuto direttamente su terminale6 SERVER APACHE SU TERMUX
Con termux possiamo andare a creare un server in locale con apache, adesso andiamo a vedere come.
Utilizziamo
$pkg install apache2
per lanciare la l'installazione.diamo un check della directory con
$pwd
subito dopo aver completato l'installazione .Ora cerchiamo la cartella htdocs , digitiamo
$ cd ..
per passare allivello superiore , e
$ls
per vedere i contenuti,dovrebbe esserci la cartella home e usr , digitiamo
$ cd usr/
per entrare nella cartella usr, $ls
e entriamo in sharecon
$cd share/
.$ls
e dovremo visualizzare tra le varie opzioni la cartella di apache2 quindi digitiamo $cd apache2/
e successivamente $ls
per mostrarne il contenuto.Ora abbiamo la cartella del nostro sito che solitamente è titolata default-site , quindi
$cd default-site
e $ls
per entraree a questo punto abbiamo il nostro foglio html per il front-end del nostro sito in locale.
lanciamo
$cat index.html
per estrapolarne il contenuto.Avviamo apache con
$apachectl start .
$ifconfig
per vedere il nostro ip , ora apriamo il browser del nostro smartphone e digitiamo il nostro ip seguito da ":8080"ed ecco il nostro sito in locale visualizzato sul browser del nostro cellulare.
7 TERMUX API
Per poter utilizzare Termux:api andiamo a installare i relativi pacchetti con
$pkg install termux-api
Installando API abbiamo accesso a una serie di funzionalità davvero carine , qui sotto elencate:
termux-battery-status
ci descrive lo stato della batteria , dalla carica alla temperatura.
termux-brightness
per settare la luminosità con una scala di valori che va da 0 a 255.
termux-call-log
mostra la cronologia delle nostre chiamate.
termux-camera-info
per vedere le specifiche tecniche delle fotocamere presenti.
termux-camera-photo
scatta una foto che verrà salvata in formato JPEG. Vogliamo farci un selfie ? con termux è possibile
scattiamo una foto da termux , dando come timer 1 secondo con
$termux-camera-photo -c 1 test-jpg
termux-contact-list
mostra la lista dei contatti della rubrica.
termux-dialog
Show a text entry dialog.
termux-download
Download a resource using the system download manager.
termux-fingerprint
Utilizza l'impronta digitale per l'autenticazione (ovviamente nei telefoni che la supportano).
termux-infrared-frequencies
per vedere le frequenze infrarossi supportato (se presenti).
termux-infrared-transmit
per trasmettere tramite infrarossi.
termux-location
per avere la posizione .
termux-media-player
per aprire file media.
termux-media-scan
per permettere a termux di poter accedere ai file presenti nella nostra galleria
termux-microphone-record
avvia una registrazione utilizzando il microfono presente nel telefono.
termux-notification
per mostrare notifiche di sistema.
termux-notification-remove
rimuove le notifiche di sistema.
termux-sensor
Per avere informazioni riguardo i sensori presenti e supportati.
termux-share
Condivisione di un file di testo
termux-sms-list
Visualizza la lista degli sms presenti.
termux-sms-send
per inviare un sms a un numero specifico.
termux-storage-get
Per prendere un file specifico
termux-telephony-call
per far partire una chiamata .
termux-telephony-cellinfo
informazioni davvero interessanti sulle celle vicine , sui ponti a cui ci appoggiamo ecc
termux-telephony-deviceinfo
Mostra le specifiche tecniche del nostro device.
termux-torch
per accendere la torcia .
termux-vibrate
Attivare la vibrazione.
termux-volume
Cambiare il volume degli speaker.
termux-wallpaper
per cambiare lo sfondo.
termux-wifi-connectioninfo
Mostra le specifiche della connessione wi-fi a cui siamo collegati.
termux-wifi-enable
accendere o spegnere il wi-fi.
termux-wifi-scaninfo
Mostra le recenti ricerche di connessione wi-fi.
8 CONCLUSIONI
Abbiamo visto una panomarica di Termux sulla funzionalità specifiche di questo emulatore e qualche settaggio utile ad improntare gli eventuali futuri argomenti , se cè interesse mi piacerebbe introdurre più avanti delle strumenti interessanti utili al pentest , già qui non vi ho fatto vedere molto a riguardo, ma per il momento se volete fare i lamer con Termux non vi lascio a mani vuote XD
$ pkg update -y
$ pkg install cmatrix
$ cmatrix
Buona vita e grazie per l'attenzione <3
Mr Pant
Mr Pant