☠HACKEANDO...
  • Primeiramente temos que estar ciente que vamos usar o linux, nao importa a distribuição, mas tem q ser linux pois usaremos o terminal dele para alguns hacks, os metodos funcionam em todos sistemas seja ele windows, linux, mac ou android! Tendo em mão e ja instalado seu sistema operacional, esteja ciente de que você precisa manter ele sempre atualizado, temos posts no fórum sobre isto e talgumas distribuiçoes de linux para download com nossas resenhas.
    ABAIXO ALGUNS DOS COMANDOS MAIS USADOS:
    Os comandos Linux para serem usados no terminal são inúmeros. Isso sem contar com as variações que existem de acordo com a distribuição instalada. Mas no geral, há comandos idênticos que podem ser aplicados independentemente se é Fedora, Debian e derivados, Arch ou Suse, entre outros. Quem usa Linux, sabe: é possível abrir mão do ambiente gráfico e fazer tudo pelo Terminal. Agora, conheça vários comandos que são muito usados, úteis ou curiosos. ----------------------Informação do Sistema----------------------------------- arch ? mostrar a arquitetura da máquina (1). uname -m ? mostrar a arquitetura da máquina (2). uname -r ? mostre a versão do kernel usada. uname -a ? mostrar a informação completa. lsb_release -a ? mostre a informação completa da distribuição. cat /etc/issue ? mostrar o nome da distribuição dmidecode -q ? mostre os componentes (hardware) do sistema. hdparm -i /dev/hda ? mostram as características de um disco rígido. hdparm -tT / dev/sda ? execute o teste de leitura em um disco rígido. cat / proc/cpuinfo ? mostrar informações da CPU. grep -c ^processor /proc/cpuinfo ? mostre o número de processadores. cat /proc/interrupts ? mostrar interrupções. cat /proc/meminfo ? verificar o uso da memória. cat /proc/swaps ? mostrar arquivos de troca. cat /proc/version ? mostre a versão do kernel. cat /proc/net/dev ? mostre adaptadores de rede e estatísticas. cat /proc/mounts ? mostrar o sistema de arquivos montado. lscpu ? mostrar informações sobre o microprocessador. lspci -tv ? mostrar dispositivos PCI. lsusb -tv ? mostrar dispositivos USB. lshw ? lista o hardware. discover ? lista o hardware. date ? mostrar a data do sistema. cal 2018 ? mostrar o calendário de 2011. cal 07 2018 ? mostrar o calendário para o mês de julho de 2011. date 041217002011.00 ? colocar (declarar, ajustar) data e hora. clock -w ? salvar as mudanças de data na BIOS. blkid ? mostrar informações (nome, etiqueta, tipo de partição) em dispositivos de bloco (discos rígidos, etc.) -------------------------------------Desligar, reiniciar ou encerrar sessão---------------------------------------------- shutdown -h now ? desligar o sistema (1). init 0 ? desligar o sistema (2). telinit 0 ?desligar o sistema (3). halt ?desligar o sistema (4). poweroff ?desligar o sistema (5). shutdown -h hours:minutes & ? desligamento programado do sistema. shutdown -c ? cancelar desligamento programado do sistema. shutdown -r now ? reiniciar (1). reboot ? reiniciar (2). logout ? encerrar sessão (1). skill nome_de_usuario ? encerrar sessão (2) ---------------------------Gerenciar arquivos e diretórios---------------------- cd ? ir ao diretório pessoal. cd /home ? mudar para o “/home”. cd .. ? retroceder um nivel. cd ../.. ? retroceder 2 niveis. cd ~user1 ? ir ao diretório user1. cd – ? ir (regresar) ao diretório anterior. pwd ? mostrar o caminho do diretório atual. ls ? listar o conteúdo de um diretório. ls -F ?listar o conteúdo de um diretório (diferenciando os diretorios com uma barra) ls -l ?listar o conteúdo de um diretório, mostrando os detalhes. ls -lh ?listar o conteúdo de um diretório, mostrando os detalhes (e o tamanho em formato “humanizado”). ls -a ?listar o conteúdo de um diretório, incluindo arquivos ocultos. ls *[0-9] ? listar os arquivos e pastas que contêm números. ls -laR | less ? listar recursivamente o conteúdo do diretório atual e todos os subdiretórios e arquivos, incluindo os ocultos, separados por página. tree ? mostrar os arquivos y pastas em forma de árvore, começando pela raiz.(1) lstree ?mostrar os arquivos y pastas em forma de árvore, começando pela raiz.(2) mkdir dir1 ? criar um diretório de nome ‘dir1’. mkdir dir1 dir2 ? criar dois diretórios de uma só vez (na localização atual). mkdir -p /tmp/dir1/dir2 ? criar uma estrutura de diretórios, caso não exista. rm file1 ? eliminar o arquivo ‘file1’. rm -f file1 ? eliminar o arquivo ‘file1’ em modo forçado. rmdir dir1 ? apagar o diretório ‘dir1’. rm -rf dir1 ? eliminar recursivamente e em modo forçado o diretório ‘dir1’ com todo o conteúdo. rm -rf dir1 dir2 ? apagar dois diretorios e seu conteúdo de forma recursiva. mv dir1 new_dir ? renomear ou mover um arquivo ou pasta (diretório). cp file1 destino/ ? copiar um arquivo para um destino escolhido. cp file1 file2 destino/ ? copiar de uma só vez dois arquivos a um mesmo diretório. cp file1 file2 ? copiar file1 em file2. cp dir /* . ? copiar todos os arquivos de um diretório dentro do diretório de trabalho atual. cp -a /tmp/dir1 . ? copiar um diretório dentro do diretório atual de trabalho. cp -a dir1 ?copiar um diretório. cp -a dir1 dir2 ? copiar dois diretórios ao mesmo tempo. ln -s file1 lnk1 ? criar um link simbólico para o arquivo ou diretório. ln file1 lnk1 ? criar um link (enlace) físicoao arquivo ou diretório. touch file1 ? atualizar a data de modificação de file1, ou criá-lo caso não exista. touch -t 0712250000 file1 ? modificar o tempo real (tempo de criação) de de um arquivo ou diretório. iconv -l ? listas de criptografia conhecidas. iconv -f fromEncoding -t toEncoding inputFile > outputFile ? cria uma nova forma do arquivo de entrada convertendo de fromEncoding para ToEncoding. --------------------------------Encontrar arquivos---------------------------------------------------- find / -name file1 ? buscar arquivo e diretório a partir da raiz do sistema. find / -user user1 ?buscar arquivos e diretórios pertencentes ao usuário “user1”. find /home/user1 -name \*.bin ?buscar arquivos com extensão ”. bin” dentro dodiretório / home/user1. find /usr/bin -type f -atime +100 ? buscar ficheros binarios no usados en los últimos 100 días. find /usr/bin -type f -mtime -10 ? buscar ficheros creados o cambiados dentro de los últimos 10 días. find / -name \*.rpm -exec chmod 755 ‘{}’ \; ? buscar ficheros con extensión ”.rpm” y modificar permisos. find . -type f -print0 | xargs -0 chmod 644 ? modificar recursivamente los permisos a todos los ficheros bajo el diretório actual.2) find / -xdev -name \*.rpm ? Buscar ficheros con extensión ‘.rpm’ ignorando los dispositivos removibles como cdrom, pen-drive, etc.… find . -maxdepth 1 -name *.jpg -print -exec convert “{}” -resize 80×60 “thumbs/{}” \; ? agrupar arquivos redimensionados en el diretório actual y enviarlos adiretórios en vistas de miniaturas (requiere convertir desde Imagemagick). find /tmp/dir1 -depth -regextype posix-extended -regex ‘.*(\s+|:+|\\+|>+|<+|”+|\*+|\?+|\|+).*’ -execdir rename ‘s/(\s+|:+|\\+|>+|<+|”+|\*+|\?+|\|+)/_/g’ “{}” \; ? renombrar recursivamente todos os diretórios y ficheros bajo /tmp/dir1, cambiando los espacios y otros caracteres extraños por guiones bajos. locate \*.ps ? encuentra ficheros con extensión ”.ps” ejecutados primeramente con el command updatedb. whereis halt ? mostrar la ubicación de un fichero binario, de ayuda o fuente. En este caso pregunta dónde está el comando halt. which comando ? mostrar la ruta completa a un comando. ---------------------Montando um sistema de arquivos-------------------------------- mount /dev/hda2 /mnt/hda2 ? montar um disco chamado hda2. Verifique primerio la existencia do diretório ‘/mnt/hda2’; caso não exista, deve criá-lo. umount /dev/hda2 ? desmontar um disco chamado hda2. (Antes é necessário sair do ponto ‘/mnt/hda2’. fuser -km /mnt/hda2 ? forçar a desmontagem quando el dispositivo está ocupado. umount -n /mnt/hda2 ? executar a desmontagem sem ler o arquivo /etc/mtab. Útil quandoo arquivo é somente leitura ou o disco está cheio. mount /dev/fd0 /mnt/floppy ? montar um disco flexivel (floppy). mount /dev/cdrom /mnt/cdrom ? montar um cdrom / dvdrom. mount /dev/hdc /mnt/cdrecorder ? montar um cd regravável ou um dvdrom. mount /dev/hdb /mnt/cdrecorder ?montar um cd regravável ou um dvdrom (um dvd). mount -t udf,iso9660 -o loop file.iso /mnt/cdrom ? montar um arquivo de imagen de um meio óptico (como un CD o DVD em formato ISO). mount -t vfat /dev/hda5 /mnt/hda5 ? montar um sistema de arquivos FAT32. mount -t ntfs-3g /dev/hda5 /mnt/hda5 ? montar un sistema de arquivos NTFS. mount /dev/sda1 /mnt/usbdisk ? montar usb pen-drive ou uma memória (sem especificar o tipo de sistema de arquivos). ------------------Espaço em disco------------------------- df -h ? mostrar uma lista das partições montadas. ls -lSr | more ? mostrar o tamanho dos arquivos e diretórios ordenados por tamanho. du -sh dir1 ? Estimar o espaço usado pelo diretório ‘dir1’. du -sk * | sort -nr ? mostrar em ordem descendente o tamanho dos arquivos e subdiretórios na localização atual, em KB. du -h –max-depth=1 | sort -nr ?mostrar em ordem descendente o tamanho de todos os subdiretórios na localização atual, usando unidades de medida adaptáveis du -k –max-depth=1 | sort -k1 -nr | awk ‘{printf “%.3f GiB\t%s\n”, $1/(1048576), $2}’ | less ?mostrar em ordem descendente o tamanho dos diretórios e arquivos, em GB. rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n ? mostrar o espaço usado pelos pacotes rpm instalados organizados por tamanho (Fedora, Redhat e derivados). dpkg-query -W -f=’${Package}\t${Installed-Size}\n’ | sort -k 2 -nr | grep -v deinstall | head -n 25 | awk ‘{printf “%.3f MB\t%s\n”, $2/(1024), $1}’ ? mostrar (no Debian ou derivados) uma lista com os 25 pacotes instalados que consomem mais espaço (em ordem descendente). ---------------------------------Usuários e grupos-------------------------- groupadd nome_do_grupo ? criar um novo grupo. groupdel nome_do_grupo ? apagar um grupo. groupmod -n novo_nome_do_grupo antigo_nome_do_grupo ? renomear um grupo. adduser usuario1 ? Criar um novo usuário. useradd -c “Nombre Apellido” -g admin -d /home/usuario1 -s /bin/bash usuario1 ?Criar um novo usuário pertencente ao grupo “admin”. useradd usuario1 ?Criar um novo usuário. userdel -r usuario1 ? apagar um usuário, eliminando seu diretório Home. usermod -c “Usuario de FTP” -g system -d /ftp/usuario1 -s /sbin/nologin usuario1 ? mudar os atributos de um usuário. usermod -aG plugdev,dialout,pip user1 ? agregar o usuário user1 a outros grupos existentes, para incrementar suas permissões (neste caso, acrescentar a posibilidade de conectar dispositivos, configurar e utilizar o modem) passwd ? mudar senha. passwd usuario1 ?mudar senha do ‘usuario1’ (somente executável como superusuário). chage -E 2018-12-31 user1 ? colocar uma validade para a senha de usuário. Neste caso, a chave expira em 31 de dezembro de 2018. pwck ? checar a sintaxe correta e o formato do arquivo ‘/etc/passwd’ e a existência de usuários. grpck ? checar a sintaxe correta e o formato do arquivo ‘/etc/group’e a existência de grupos. newgrp grupo1 ? registra um novo grupo para trocar o grupo predeterminado dos arquivos criados recentemente. Permissões de arquivos (“+” para adicionar e “-” para eliminar) ls -lh ? Mostrar permissões. ls /tmp | pr -T5 -W$COLUMNS ? dividir o terminal em 5 colunas. chmod ugo+rwx directory1 ? dar permissões de leitura ®, escrita (w) e execução(x) ao propietário (u), ao grupo (g) e a outros (o) sobre o diretório ‘directory1’. chmod go-rwx directory1 ? encerrar permissão de leitura ®, escritura (w) e execução (x) ao grupo (g) e otros (o) sobre o diretório ‘directory1’. chown user1 file1 ? mudar a posse de um arquivo. chown -R user1 directory1 ? mudar proprietário de um diretório e de todos os arquivos e diretórios contidos nele. chgrp group1 file1 ? mudar grupo de arquivos. chown user1:group1 file1 ? mudar usuário e o grupo propietário de um arquivo. find / -perm -u+s ? visualizar todosos arquivos do sistema com SUID configurado. chmod u+s /bin/file1 ? colocar o bit SUID em um arquivo binário. O usuario que abrir esse arquivo adquire os mesmos privilégios como dono do mesmo. chmod u-s /bin/file1 ? desabilitar o bit SUID em um arquivo binário. chmod g+s /home/public ? colocar um bit SGID em um diretório –igual ao SUID mas por diretório. chmod g-s /home/public ? desabilitar um bit SGID em um diretório. chmod o+t /home/public ? colocar um bit STIKY em um diretório. Permite que somente superusuários apaguem os arquivos. chmod o-t /home/public ? desabilitar um bit STIKY em um diretório. Atributos especiais em arquivos (usar “+” para colocar permissões y “-” para eliminar) chattr +a file1 ? permite escrever abrindo um arquivo somente no modo append. chattr +c file1 ? permite que um arquivo seja compactado/descompactado automaticamente. chattr +d file1 ? assegura que o programa ignore apagar os arquivos durante a cópia de segurança. chattr +i file1 ? converte o arquivo em imutável ou invariável, impedindo que seja eliminado, alterado, renomeado, nem aberto. chattr +s file1 ? permite que um arquivo seja fechado de forma segura. chattr +S file1 ? assegura que um arquivo seja modificado, e as trocas são escritas em modo synchronous como com sync. chattr +u file1 ? permite recuperar o conteúdo de um arquivo ainda que este tenha sido apagado. lsattr ? mostrar atributos especiais. --------------------------------Arquivos normais e compactados------------------ 7za a -mx=9 -ms=on -mhe=on -p arquivocomprimido diretório1 archivo1 archivo2 ? comprimir um diretório e dois arquivos no formato 7zip, com compressão máxima, e proteção por senha (a extensão 7z aparece automaticamente). 7za x arquivocomprimido.7z ? extrair um arquivo compactado em 7zip (7zip também permite descomprimir outros formatos, como por exemplo, zip). bunzip2 file1.bz2 ? descomprime um arquivo chamado ‘file1.bz2’. bzip2 file1 ? comprime um arquivo chamado ‘file1’. gunzip file1.gz ? descomprimeum arquivo chamado ‘file1.gz’. gzip file1 ? comprimeum arquivo chamado ‘file1’. gzip -9 file1 ? comprime com compressão máxima. rar a file1.rar test_file ? criar um arquivo rar chamado ‘file1.rar’. rar a file1.rar file1 file2 dir1 ? comprimir ‘file1’, ‘file2’ e ‘dir1’ simultaneamente. rar x file1.rar ? descomprimir arquivo rar. unrar x file1.rar ? descomprimir arquivo rar. tar -cvf archive.tar file1 ? criar um tarball descomprimido. tar -cvf archive.tar file1 file2 dir1 ? criar um arquivo contendo ‘file1’, ‘file2′ y’dir1’. tar -tf archive.tar ? mostrar os conteúdos de um arquivo. tar -xvf archive.tar ? extrair um tarball (se o arquivo também está compactado com gzip, bzip2 o xz, será descompactado automaticamente). tar -xvf archive.tar -C /tmp ? extrair um tarball en /tmp. tar -cjvf archive.tar.bz2 dir1 ? criar um tarball comprimido en bzip2. tar -xjvf archive.tar.bz2 ? descomprimir um arquivo tar que havia sido compactado em bzip2 tar -cJvf archive.tar.xz dir1 ? criar um tarball compactado em xz. XZ_OPT=-9e tar -cJvf archive.tar.xz dir1 ? criar um tarball compactado em xz (com máxima compressão). tar -xJvf archive.tar.xz ? descompactar um arquivo tar compactado em xz. tar -czvf archive.tar.gz dir1 ? criar um tarball compactado em gzip. tar -I pigz -cf archive.tar.gz dir1 ? criar um tarball compactado em gzip, mas utilizando pigz, que comprime em paralelo aproveitando todos os núcleos dos microprocesadores da equipe. GZIP=-9 tar -czvf archive.tar.gz dir1 ?criar um tarball compactado em gzip (com máxima compressão). tar -xzvf archive.tar.gz ? descompactar um arquivo tar compactado en gzip. zip file1.zip file1 ? criar um arquivo compactado em zip. zip -r file1.zip file1 file2 dir1 ? comprimir, em zip, vários arquivos e diretórios de forma simultânea. unzip file1.zip ? descompactar um arquivo zip. Pacotes rpm (Red Hat, Fedora e similares) rpm -ivh package.rpm ? instalar um pacote rpm. rpm -ivh –nodeeps package.rpm ? instalar um pacote rpm ignorando dependencias. rpm -U package.rpm ? atualizar um pacote rpm sem modificar a configuração dos arquivos. rpm -F package.rpm ? atualizarum pacote rpm somente se este está instalado. rpm -e package_name.rpm ? eliminar um pacote rpm. rpm -qa ? mostrar todos pacote rpm instalados no sistema. rpm -qa | grep httpd ? mostrar todos os pacotes rpm com o nome “httpd”. rpm -qi package_name ? obter informação em um paquete específico instalado. rpm -qg “System Environment/Daemons” ? mostar os pcotes rpm de um grupo software. rpm -ql package_name ? mostrar lista de arquivos dados por um pacote rpm instalado. rpm -qc package_name ? mostrar lista de configuração de arquivos dados por um pacote rpm instalado. rpm -q package_name –whatrequires ? mostrar lista de dependencias solicitada para um pacote rpm. rpm -q package_name –whatprovides ? mostar a capacidade dada por um pacote rpm. rpm -q package_name –scripts ? mostrar os scripts iniciados durante a instalação/eliminação. rpm -q package_name –changelog ? mostar o histórico de revisões de um pacote rpm. rpm -qf /etc/httpd/conf/httpd.conf ? verificar qual pacote rpm pertence a dado arquivo. rpm -qp package.rpm -l ? mostrar lista de arquivos dados por um pacote rpm que ainda não foi instalado. rpm –import /media/cdrom/RPM-GPG-KEY ? importar a assinatura digital da chave pública. rpm –checksig package.rpm ? verificar a integridade de um pacote rpm. rpm -qa gpg-pubkey ? verificar a integridade de todos os pcotes rpm instalados. rpm -V package_name ? conferir o tamanho dos arquivos, licenças, tipos, grupo, conferir resumo de MD5 e última modificação. rpm -Va ? checar todos os pacotes rpm instalados no sistema. Usar com cuidado. rpm -Vp package.rpm ? verificar um pacote rpm não instalado ainda. rpm2cpio package.rpm | cpio –extract –make-directories *bin ? extrair arquivo executável de um pacote rpm. rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm ? instalar um pacote construido a partir de uma fonte rpm. rpmbuild –rebuild package_name.src.rpm ? construir um pacote rpm a partir de uma fonte rpm. Atualizador de pacotes yum (Fedora, Redhat e derivados) yum install package_name ? descarregar e instalar um pacote rpm. yum localinstall package_name.rpm ? este instalará um RPM e tratará de resolver todas as dependencies para ti, usando teus repositórios. yum update ? atualizar todos os pacotes rpm instalados no sistema. yum update package_name ? modernizar/atualizar um pacote rpm. yum remove package_name ? eliminar um pacote rpm. yum list ? listar todos os pacotes instalados no sistema. yum search package_name ? Encontrar um pacotes no repositório rpm. yum clean packages ? limpar um caché rpm apagando os pacotes descarregados. yum clean headers ? eliminar todos os arquivos de encabeçamento que el sistema usa para resolver a dependência. yum clean all ? eliminar desde los paquetes caché y ficheros de encabezado. Gestão de pacotes deb (Debian, Ubuntu e derivados) dpkg -i pacote.deb ? instalar/atualizar um pacote. dpkg -r pacote ? eliminar um pacote deb do sistema. dpkg -l ? mostrar todos os pacotes deb instalados no sistema. dpkg -l | grep httpd ? mostrar todos os pacotes deb com o nome “httpd” dpkg -s pacote ? obter informação em um pacote específico instalado no sistema. dpkg -L pacote ? mostar lista de arquivos utilizados por um pacote instalado no sistema. dpkg -c pacote.deb ? mostrar conteúdo de um pacote (não necessariamente instalado). dpkg -S /bin/ping ? verificar a qual pacote pertence um dado arquivo. Atualizador de pacotes apt e aptitude (Debian, Ubuntu e derivados) apt-get install package_name ? instalar/atualizar um pacote deb. apt-cdrom install package_name ? instalar/atualizar um pacote deb a partir de um cdrom. apt-get update ? atualizar a lista de pacotes. apt-get upgrade ? atualizar todos os pacotes instalados. apt-get remove package_name ? eliminar um pacote deb do sistema. apt-get check ? verificar a correta resolução das dependências. apt-get clean ? limpar cache dos pacotes baixados. apt-cache search searched-package ? retorna lista de pacotes que correspondem a serie «paquetes buscados». aptitude search pacote ? busca um pacote pelo nome. aptitude search ~dpacote ? busca um pacote pela descripção. aptitude show pacote | less ? mostra informação sobre um pacote. aptitude install pacote1 pacote2 … ? instala vários pacotes com suas dependências e recomendações. aptitude -R install pacote ? instala um pacote com suas dependências, mas sem as recomendações. aptitude why pacote ? lista as razões pelas quais se deveria instalar o pacote. aptitude why-not pacote ? lista as razões pelas quais não se pode instalar o pacote. aptitude -rsvW install pacote ? simula a instalação de um pacote com suas dependências e recomendações, detalhando cada uma. aptitude remove pacote ? desinstala um pacote. aptitude purge pacote ? desinstala um pacote e o limpa do cache. aptitude clean ? limpa o cache de pacotes. apt-file -xi search ‘sql’ ? busca todos os pacotes que contenhan um arquivo ou diretório com a expressão sql (sem considerar maiúsculas ou minúsculas). --------------------------Ver o conteúdo de um arquivo-------------------------------- cat file1 ? ver os conteúdos de um arquivo desde a primeira linha. tac file1 ?ver os conteúdos de um arquivo desde a última linha. more file1 ? ver os conteúdos de um arquivo de maneira paginada. less file1 ? parecido com comando ‘more’ mas permite avançar, retroceder, e buscar (compatível com alguns comandos de vi). head -2 file1 ? ver as duas primeiras linhas de um arquivo (ou 10, se não se especifica a quantidade). tail -2 file1 ? ver as duas últimas linhas de um arquivo (ou 10, se não se especifica a quantidade). ------------------------Manipulação de texto------------------------------------- cat file1 file2 … | command <> file1_in.txt_or_file1_out.txt ? sintaxis geral para a manipulação de texto utilizando PIPE, STDIN y STDOUT. cat file1 | command( sed, grep, awk, grep, etc…) > result.txt ? sintaxis geral para manipular um texto de um arquivo e escrever o resultado em um novo. cat file1 | command( sed, grep, awk, grep, etc…) >> result.txt ?sintaxis geral para manipular um texto de um arquivo e adicionar resultado em um arquivo existente. grep Aug /var/log/messages ? buscar palavras “Aug” no arquivo ‘/var/log/messages’. grep ^Aug /var/log/messages ? buscar palavras que començan com “Aug” no arquivo ‘/var/log/messages’ grep [0-9] /var/log/messages ? selecionar todas as línhas do arquivo ‘/var/log/messages’ que contêm números. grep Aug -R /var/log/ ? buscar a cadeia “Aug” no diretório ‘/var/log’ e abaixo dele. sed ‘s/string1/string2/g’ exemplo.txt ? substituir em exemplo.txt todas las ocorrências de “string1” com “string2” sed ‘/^$/d’ ejemplo.txt ? eliminar todas las línhas em branco de exemplo.txt sed ‘/ *#/d; /^$/d’ exemplo.txt ? eliminar comentarios y líneas en blanco de ejemplo.txt echo ‘exemplo’ | tr ‘[:lower:]’ ‘[:upper:]’ ? converter “exemplo” de minúsculas a maiúsculas. sed -e ‘1d’ exemplo.txt ? elimina a primeira linha do arquivo exemplo.txt sed -n ‘/string1/p’ ? visualizar somente as línhas que contêm a palavra “string1”. sed -r ‘s/(cadeia1)(cadeia2)/\2\1/g’ ? utilizar expressões regulares extendidas para intercambiar a ordem de duas cadeias de texto, em todas as instancias que apareçam. ------------------------------Definir conversão de caracteres e arquivos----------------------------------- dos2unix filedos.txt fileunix.txt ? converter um formato de arquivo de texto do MSDOS para UNIX. unix2dos fileunix.txt filedos.txt ? converter um formato de arquivo de texto do MSDOS para UNIX. recode ..HTML < page.txt > page.html ? converter um arquivo de texto em html. recode -l | more ? mostrar todas as conversões de formato disponíveis. ------------------------------Análise de sistema de arquivos----------------------------------- badblocks -v /dev/hda1 ? Checar os blocos defeituosos no disco hda1. fsck /dev/hda1 ? reparar/checar a integridade do arquivo do sistema Linux no disco hda1. fsck.ext2 /dev/hda1 ? reparar/checar a integridade do arquivo do sistema ext 2 no disco hda1. e2fsck /dev/hda1 ? reparar/checar a integridade do arquivo do sistema ext 2 no disco hda1. e2fsck -j /dev/hda1 ?reparar/checar a integridade do arquivo do sistema ext 3 no disco hda1. fsck.ext3 /dev/hda1 ? reparar/checar a integridade do arquivo do sistema ext 3 no disco hda1. fsck.vfat /dev/hda1 ? reparar/checar a integridade do arquivo do sistema fat no disco hda1. fsck.msdos /dev/hda1 ?reparar/checar a integridade do arquivo do sistema dos no disco hda1. dosfsck /dev/hda1 ?reparar/checar a integridade do arquivo do sistema dos no disco hda1. ------------------------Formatar um sistema de arquivos---------------------------------- mkfs /dev/hda1 ? criar um arquivo de sistema tipo Linux na partição hda1. mke2fs /dev/hda1 ? criar um arquivo de sistema tipo Linux ext 2 em hda1. mke2fs -j /dev/hda1 ? criar um arquivo de sistema tipo Linux ext3 (periódico) na partição hda1. mkfs -t vfat 32 -F /dev/hda1 ?criar um arquivo de sistema FAT32 em hda1. fdformat -n /dev/fd0 ? formatar em disco flooply. mkswap /dev/hda3 ?criar um arquivo de sistema swap. ------------------Partição de sistema swap----------------- mkswap /dev/hda3 ? criar arquivo de sistema swap. swapon /dev/hda3 ? ativando uma nova partição swap. swapon /dev/hda2 /dev/hdb3 ? ativar duas partições swap. -------------------------Salvar---------------------------- dump -0aj -f /tmp/home0.bak /home ? backup completo do diretório ‘/home’. dump -1aj -f /tmp/home0.bak /home ? backup incremental do diretório ‘/home’. restore -if /tmp/home0.bak ? restaurando um backup interativamente. rsync -rogpav –delete /home /tmp ? sincronização entre diretórios. rsync -rogpav -e ssh –delete /home ip_address:/tmp ? rsync através do SSH. rsync -az -e ssh –delete ip_addr:/home/public /home/local ? sincronizar um diretório local com um diretório remoto através de ssh y de compressão. rsync -az -e ssh –delete /home/local ip_addr:/home/public ? sincronizar um diretório remoto com um diretório local através de ssh y de compressão. dd bs=1M if=/dev/hda | gzip | ssh [email protected]_addr ‘dd of=hda.gz’ ? fazer backup de um HD em um host remoto através de ssh. dd if=/dev/sda of=/tmp/file1 ? salvar o conteúdo de um HD em um arquivo. (neste caso o HD é “sda” e o arquivo “file1”). tar -Puf backup.tar /home/user ? backup incremental do diretório ‘/home/user’. tar -czv –exclude=/root/dir1/* -f /var/salvas/cfg_$(date +%F_%H%M).tgz /etc /root ? salvar os diretórios /etc y /root (excluindo o conteúdo do subdiretório /root/dir1/) em um arquivo comprimido, cujo nome contenha a data e hora atual. ( cd /tmp/local/ && tar c . ) | ssh -C [email protected]_addr ‘cd /home/share/ && tar x -p’ ? copiar o conteúdo de um diretório em um diretório remoto através de ssh. ( tar c /home ) | ssh -C [email protected]_addr ‘cd /home/backup-home && tar x -p’ ? copiar um diretório local em um diretório remoto através de ssh. tar cf – . | (cd /tmp/backup ; tar xf – ) ? copia local conservando as licenças e enlaces de um diretório a outro. find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents ? encontrar e copiar todos os arquivos com extensão ‘.txt’ de um diretório a outro. find ~/ -type f -not -iname ‘*.mp*’ -not \( -iregex ‘.*\.mozilla/.*’ -o -iregex ‘.*\.thumbnails/.*’ \) -prune -mtime 14 -print0 | xargs -0 tar -czf /var/salvas/myhome.tgz ? realizar backup de todos os arquivos do perfil de usuário modificados dentro dos últimos 14 dias, excetuando os arquivos mp3, mpg e similares, e os diretórios .mozilla/ y .thumbnails/. find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2 ? encontrar todos os arquivos com extensão ‘.log’ e fazer um arquivo bzip. dd if=/dev/hda of=/dev/fd0 bs=512 count=1 ? fazer uma cópia do MRB (Master Boot Record) para um disco floppy. dd if=/dev/fd0 of=/dev/hda bs=512 count=1 ? restaurar a cópia do MBR (Master Boot Record) salva no floppy. ------------------CDROM------------------------ cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force ? limpar ou apagar um cd regravável. mkisofs /dev/cdrom > cd.iso ? criar uma imagem iso de cdrom no disco. mkisofs /dev/cdrom | gzip > cd_iso.gz ? criar uma imagem comprimida iso de cdrom no disco. mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd ? criar uma imagem iso de um diretório. cdrecord -v dev=/dev/cdrom cd.iso ? queimar uma imagem iso. gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom – ? queimar uma imagem iso comprimida. mount -t udf,iso9660 -o loop cd.iso /mnt/iso ? montar uma imagem iso. cd-paranoia -B ? transformar canções de um cd a arquivos wav. cd-paranoia — ”-3” ?transformar as 3 primeiras canções de um cd a arquivos wav. cdrecord –scanbus ? escanear bus para identificar o canal scsi. dd if=/dev/hdc | md5sum ? fazer funcionar um md5sum em um dispositivo, como um CD. eject -v ? ejetar um meio ou disco, oferecendo informação adicional. ------------------Trabalho com a rede (LAN e WIFI)------------------ ifconfig eth0 ? mostrar a configuração de uma interface de rede Ethernet. ifup eth0 ? ativar a interface eth0. ifdown eth0 ? desabilitar a interface eth0. ifconfig eth0 192.168.1.1 netmask 255.255.255.0 ? configurar um endereço IP. ifconfig eth0 promisc ? configurar eth0 em modo promiscuo para obter os pacotes (sniffing). dhclient eth0 ? ativar a interface ‘eth0’ no modo dhcp. route -n ? mostrar tabela de rotas. route add -net 0/0 gw IP_Gateway ? configurar entrada predeterminada. ip route show | grep default | awk {‘print $3’} ? conhecer a porta de enlace predeterminada. route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 ? configurar rota estática para buscar a rede 192.168.0.0/16. route del 0/0 gw IP_gateway ? eliminar a rota estática. echo 1 > /proc/sys/net/ipv4/ip_forward ? ativar el redirecionamento de pacotes ip. hostname ? mostrar o nome do host do sistema. host www.example.com ? buscar o nome do host para direcionar o nome a um endereço ip (1). nslookup www.example.com ? buscar o nome do host para direcionar o nome a um endereço ip e vice versa (2). ip link show ? mostrar o estado de enlace de todas as interfaces. mii-tool eth0 ? mostrar o estado de enlace de eth0. ethtool eth0 ? mostrar as estatísticas da interface de rede eth0. netstat -tup ? mostrar todas as conexões de rede ativas e seus PID. netstat -tupl ? mostrar todos os serviços de escuta de rede no sistema e seus PID. netstat -punta ? mostrar todas as conexões ativas por endereço IP e porto. tcpdump tcp port 80 ? mostrar todo o tráfego HTTP. iwlist scan ? mostrar as redes sem fio. iwconfig eth1 ? mostrar a configuração de uma interface de rede sem fio. whois www.example.com ? buscar na base de dados Whois. iftop -nNP -i eth0 ? mostrar em tempo real as conexões abertas em eth0 e sua taxa de transferência. sockstat ? mostrar informação sobre as conexões abertas. arp-scan -l ? descubrir na rede os endereços IP e MAC. nm-tool ? mostra configuração de rede (no caso de usar Network Manager obtém o DNS). ----------------Redes de Microsoft Windows (Samba)--------------------------------- nbtscan ip_addr ? resolução de nome de rede bios. nmblookup -A ip_addr ? resolução de nome de rede bios. smbclient -L ip_addr/hostname ? mostrar ações remotas de um host em windows. -------------------Firewall (iptables)---------------------------------------- iptables -t filter -L ? mostrar todas as cadeias da tabela de filtro. iptables -t nat -L ? mostrar todas as cadeias da tabela nat. iptables -t filter -F ? limpar todas as regras da tabela de filtro. iptables -t nat -F ? limpar todas as regras da tabela nat. iptables -t filter -X ? apagar qualquer cadeia criada pelo usuário. iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT ? permitir as conexões telnet para entrar. iptables -t filter -A OUTPUT -p tcp –dport http -j DROP ? bloquear as conexões HTTP para sair. iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT ? permitir as conexões POP a uma cadeia de frente. iptables -t filter -A INPUT -p tcp -m multiport –dports 80,443,8080 -m state –state NEW -m limit –limit 4/sec –limit-burst 8 -j ACCEPT ? establecer um limite de 4 pedidos por segundo de novas conexões, com possíveis rajadas ocasionais (útil para políticas de negação padrão). iptables -t filter -A INPUT -p tcp -m multiport –dports 80,443,8080 -m state –state ESTABLISHED,RELATED -m connlimit ! –conlimit-above 6 -j ACCEPT ? establecer um limite de 6 conexões simultâneas por equipe ao servidor web (útil para políticas denegação padrão). iptables -t filter -A INPUT -j LOG –log-prefix “DROP INPUT” ? registrando una cadeia de entrada. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE ? configurar um PAT (Porto de Tradução de endereço) en eth0, ocultando os pacotes de saída forçada. (Indicado para links tipo ppp) iptables -t nat -A POSTROUTING -s 192.168.0.127 -o eth0 -j SNAT –to-source 169.158.158.169 ? rotear os pacotes desde 192.168.0.127 até outras redes por eth0 e designar-lhes um endereço ip externo. (Indicado para links tipo ADSL) iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22 ? redireccionar os pacotes de um host a outro. iptables -t nat -S ? Listar todas as regras ativas na tabela nat. iptables-save -c > archivo ? Salvar as regras num arquivo (incluindo os contadores de pacotes e bytes). iptables-restore -c < archivo ? Restaurar as regras de um arquivo (incluindo os contadores de pacotes e bytes). Segurança e criptografia base64 /home/arquivo > /home/arquivo-codificado ? codifica “arquivo” en ‘base64’ e o guarda em /home base64 -d /home/arquivo-codificado > /home/arquivo ? decodifica “arquivo-codificado” e o guarda em /home openssl req -x509 -nodes -days 3650 -newkey rsa:1024 -out /etc/millave.crt -keyout /etc/millave.key ? cria um certificado auto-assinado para codificar o tráfego web com SSL. htpasswd -c -m /etc/apache2/.htpasswd nomeusuario ? gera um arquivo ‘.htpasswd’ para proteger um site web com auntenticação. ------------------------Outros comandos úteis-------------------- apropos palavrachave ? mostrar uma lista de comandos que pertencem a palavras chaves de um programa; são úteis quando se sabe o que faz o programa mas se desconhece o nome do comando. man ping ? mostrar as páginas do manual on-line; por exemplo, em um comando ping, usar a opção ‘-k’ para encontrar qualquer comando relacionado. man -t ping | ps2pdf – ping.pdf ? converter as páginas do manual de comando ping em um arquivo pdf (para o qual é necessário haver instalado Ghostscript). mkbootdisk –device /dev/fd0 `uname -r` ? criar um floppy bootável. gpg -c file1 ? codificar um arquivo com chave de segurança GNU. gpg file1.gpg ? decodificar um arquivo com chave de segurança GNU. wget -r www.example.com ? baixar um site completo. wget -c www.example.com/file.iso ? baixar um arquivo com a possibilidade de de pausar a descarga e continuar mais tarde. echo ‘wget -c www.example.com/files.iso’ | at 09:00 ? Começar uma descarga a qualquer hora. Neste caso começaria às 9 horas. ldd /usr/bin/ssh ? mostrar as bibliotecas compartilhadas requeridas pelo programa ssh. alias hh=’history’ ? colocar um apelido para um comando. Neste caso, para invocar o histórico com hh. chsh ? mudar o comando Shell. chsh –list-shells ? é um comando adequado para saber se será preciso acessar remotamente em outro terminal. who -a ? mostrar quem está registrado, e imprimir hora do último sistema de importação, processos mortos, processos de registro de sistema, processos ativos produzidos por init, funcionamento atual e últimas mudanças do relógio do sistema. echo “128*1024*1024” | bc ? calcular no terminal o tamanho em bytes de 128 MiB. sudo !! ? executar como superusuario o último comando teclado. clear ? limpar a tela. umcomando > arquivodesaida.txt 2>&1 ? executa um comando e redireciona a saída de um arquivo, combinando tanto STDOUT como STDERR. umcomando >arquivodesaida.txt 2> arquivoerros.txt ? executa um comando, redireciona a saída (STDOUT) para um arquivo, e os erros (STDERR) para outro. umcomando | tee arquivodesaida.txt ? executa um comando, mostra a saída de tela e simultaneamente a escreve para um arquivo. Agora você tem a base de conhecimento para se tornar um hacker e também posso dizer que deste ponto em diante, você saberá como ser um hacker, o que um hacker precisa para agir, neste checkpoint, você terá a mentalidade de um hacker, pelo menos um hacker iniciante.