Importante saber utilizar programas em linha de comando para realizar algumas operações de download.
O comando wget, que usaremos extensivamente, baixa arquivos usando os protocolos HTTP/HTTPS e FTP. Abaixo mostra o uso do wget junto com a opção -O para salvar o arquivo de destino com um nome diferente na máquina local:
wget -O baseti.zip http://www.vim.org/scripts/download_script.php?src_id=7701
Outro exemplo:
wget -O report_wget.pdf https://www.offensive-security.com/reports/penetration-testing-sample-report-2013.pdf
E ainda podemos iniciar um download em segundo plano usando a opção -b:
wget -b http://www.vim.org/scripts/download_script.php?src_id=7701
Podemos juntar várias opções e usar o comando que aprendemos acima o `watch`. Vamos baixar uma imagem ISO grande do Ubuntu com o wget, colocando o download em segundo plano , renomeando e depois vermos o andamento com o comando watch:
cd /tmp
wget -b -O ubuntu.iso https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
watch ls -lh
curl é uma ferramenta para transferir dados de ou para um servidor usando uma série de protocolos, incluindo IMAP/S, POP3/S, SCP, SFTP, SMB/S, SMTP/S, TELNET, TFTP e outros. Um PenTester pode usar isso para baixar ou carregar arquivos e criar solicitações complexas. Seu uso mais básico é muito semelhante ao wget:
curl -o ubuntu.iso https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
axel é um acelerador de download que transfere um arquivo de um servidor FTP ou HTTP por meio de múltiplas conexões. Esta ferramenta tem uma vasta gama de recursos, mas o mais comum é -n, que é usado para especificar o número de múltiplas conexões a serem usadas. No exemplo a seguir, também estamos usando a opção -a para um indicador de progresso mais conciso e -o para especificar um nome de arquivo diferente para o arquivo baixado.
Exemplos:
- Baixando de forma simples um arquivo:
axel https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
O axel irá iniciar o download do arquivo, e irá exibir o progresso no terminal. Por padrão ele divide o arquivo em 3 partes, mas podemos mudar essa opção usando o -n. Por exemplo, se você quiser dividir o arquivo em 6 partes, execute:
axel -n 6 https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Vamos juntar um monte de opções para acelerar o download:
axel -a -n 20 -o ubuntu-20-04.iso https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Vamos lá! No exemplo acima, também estamos usando a opção -a para um indicador de progresso mais conciso e -o para especificar um nome de arquivo diferente para o arquivo baixado.
O git é um sistema de controle de versão distribuído de código aberto que permite gerenciar alterações no código-fonte e rastrear histórico de modificações. Com ele, é possível colaborar com diversas pessoas, manter versões diferentes do projeto e reverter alterações quando necessário.
Muitos projetos de segurança e ferramentas são usadas usando o git para controle de versão e documentação. Primeiro instalar o git, se não estiver instalado:
apt install git
Agora fazer o download de um HIDS chamado OSSEC:
git clone https://github.com/ossec/ossec-hids.git
Simples não? Vamos ver na prática: