Compilare WPScan 2.9.4-dev su Debian Jessie

Per chi come me si ritrova WPScan alla versione 2.9.2 e vuole aggiornarla all’ultima versione attuale, quindi alla 2.9.4-dev (anche se l’ultima versione stabile è la 2.9.3), e quindi con nuove funzionalità, lo può fare con meno sbattimenti rispetto a prima per quanto riguarda la versione di Ruby, la versione consigliata dal team di WPScan è l’ultima stabile, cioè la 2.4.2.

Mi riferisco a questo articolo, che oramai è da considerare obsoleto: https://www.freenixsecurity.net/it/2017/04/14/wpscan-come-trovare-vulnerabilita-in-wordpress/

La guida in questione è ancora su Debian Jessie, perchè su Stretch sto ancora risolvendo dei piccoli grandi problemi in modo da poter sfornare le distro. L’unica distro derivata da Debian Stretch attualmente è SparkyLinux.

Il mio obiettivo su Stretch è quello di riportare i nomi dei device di rete com’erano una volta e gestirli esattamente come prima, con il famoso file /etc/udev/rules.d/70-persistent-net.rules che eliminandolo resettava i nomi dei device di rete, e ci permetteva di passare la nostra distro customizzata da un PC (o un Raspberry Pi) ad un altro rigenerando e riattivando le unità di rete come se niente fosse. Ma in questo parleremo in un altro articolo, anche perchè ci sto ancora lavorando.

Prima aggiorniamo il sistema, non fa mai male. Ho un amico che dice sempre che non gli funziona niente, viene a casa mia e scopro che ha oltre 250 aggiornamenti da fare, aggiorniamo il sistema e quasi sempre tutti i problemi svaniscono, vabbè, lasciamo stare, digitiamo quindi:

Per chi ha effettuato l’installazione citata nell’articolo precedente deve prima seguire questi passaggi, liberandosi dei pacchetti ruby2.3, ruby2.3-dev, e dei repository di Ruby provenienti da Ubuntu Trusty, chiavi GPG comprese. (è inutile avere chiavi GPG di Repository inutilizzati)

Iniziamo eliminando i pacchett ruby2.3, ruby2.3-dev e libruby2.3 digitando:

Adesso possiamo eliminare il Repository di Ubuntu Trusty, che, se avete seguito la scritta precedentemente scritta da me, è in /etc/apt/sources.list.d/ruby.list , digitiamo quindi:

Finalmente possiamo eliminare la chiave del repository di Ubuntu Trusty digitando:

Adesso aggiorniamo l’elenco delle chiavi GPG eliminando automaticamente quelle scadute o non valide:

Adesso aggiorniamo gli indici dei Repository dato che abbiamo eliminato quelli di Ubuntu Trusty:

Adesso eliminiamo la cartella del vecchio WPScan, nel mio caso è in /home/davenull/ , quindi digitiamo:

Da adesso in poi, per chi sta effettuando una Fresh Install, e quindi non ha mai installato WPScan, può seguire il tutorial.

I requisiti di WPScan 2.9.3 sono questi, ma son gli stessi anche per la 2.9.4-dev:
Ruby >= 2.1.9 – Recommended: 2.4.2
Curl >= 7.21 – Recommended: latest – FYI the 7.29 has a segfault
RubyGems – Recommended: latest
Git

Per quanto riguarda “curl” non preoccupatevi perchè Debian usa sempre versioni stabili dei propri programmi (o quasi, poi vi spiegherò in un altro tutorial.

Per vedere la versione di un programma installato è semplicissimo, ad esempio per “curl” basta digitare:

e l’output su Debian Jessie sarà:
curl 7.38.0 (x86_64-pc-linux-gnu) libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API SPNEGO NTLM NTLM_WB SSL libz TLS-SRP

Quindi basta installare il curl dei Repository.

Rubygems (noto anche col nome di gems) è il package manager di Ruby, un pò come “pip” per Python, ma a differenza di pip non vi fa buttare il sangue con le dipendenze, scusate l’espressione ma “pip” mi ha fatto perdere nottate intere per cose assurde.

Rubygems risolve le dipendenze e può aggiornarsi all’ultima versione senza scaricare ne compilare nulla a mano, ed è quello che faremo successivamente con un semplicissimo comando.

Installiamo quindi dai Repository di Debian Jessie le dipendenze di WPScan che è possibile installare, alcune vanno compilate, ma non spaventatevi. Digitiamo quindi:

Adesso avendo installato i pacchetti ruby e ruby-dev, abbiamo a disposizione il suo package manager, RubyGems, detto anche “gems”, ma non è all’ultima versione. Non dobbiamo compilarlo tranquilli, c’è un comando dentro gems che ci permette di portarlo all’ultima versione, digitiamo quindi:

Ed il gioco è fatto, abbiamo RubyGems alla versione 2.6.13.

Adesso passiamo all’ultima versione di Ruby, e lo installiamo grazie ad un utilissimo strumento da poco inventato chiamato RVM, che sta appunto per Ruby enVironment Manager che serve proprio a questo, ha al suo interno svariate versioni di Ruby. Quindi addio Repository esterni o assurdità del genere.

Installiamo quindi nella home scarichiamo l’installer, la chiave di cifratura di RVM, ed installiamolo:

La verifica del certificato “asc” potrebbe dare problemi, ma non proccupatevi, il file è attendibile.

Questo è il sito ufficiale di RVM: http://rvm.io/

E qui potete chattare in maniera criptata direttamente con il creatore del programma: https://keybase.io/mpapis

Torniamo a noi, installiamo RVM con l’installer scaricato precedentemente:

In pratica viene installato lato utente, ed è sconsigliata la multiutenza. E’ ancora un programma nuovo e sperimentale, ma molto, molto utile, perchè ci permette di installare qualsiasi versione di Ruby.

Per non avviare l’ultimo comando digitato ogni volta che dobbiamo usare RVM ci conviene aggiungerlo al file bashrc dell’utente digitanto:

Adesso installiamo Ruby 2.4.2 da utente, e digitiamo la password di sudo quando ce la chiede, proprio come fa Rubygems:

Se volete anche la documentazione di ruby installatela digitando:

Per impostare Ruby 2.4.2 di default digitiamo:

Adesso torniamo nella home dell’utente (nel mio caso davenull) e finalmente scarichiamo il Repository di WPScan 2.9.4-dev da git:

Per chi non lo sapesse bundler è paragonabile a make, da le istruzioni per la compilazione e l’installazione di un programma, in questo caso in Ruby.

E l’ultimo passo lo conosciamo, finalmente installiamo wpscan digitando:

Per avviare wpscan il comando è sempre il solito. Posizionatevi all’interno della cartella di wpscan e digitate:

Ed ecco il famoso output:

Noterete un pò di opzioni in più rispetto alla versione precedente.

Ah non dimenticatevi di effettuare periodicamente l’update delle vulnerabilità con il comando:

Buon Penetration Testing, e non fate danni!!!



4 Replies to “Compilare WPScan 2.9.4-dev su Debian Jessie”

Leave a comment