Jump to content

Fernando Mercês

Administradores
  • Content Count

    681
  • Joined

  • Last visited

Everything posted by Fernando Mercês

  1. until
    Debian Day é um dia para comemorar o aniversário do Debian. Onde as pessoas podem festejar da forma que mais lhe agradar em suas cidades. Este evento ocorre simultaneamente em várias cidades do mundo. Quer saber em quais cidades esse evento acontece? Veja aqui: https://wiki.debian.org/DebianDay/2017 E aqui: https://wiki.debian.org/DebianDay/2017/Brasil/SaoPaulo Inscrições e agenda no Meetup!
  2. No próximo domingo, 13 de Agosto lançaremos este portal de conteúdo, onde a comunidade vai ter uma área para discutir projetos e assuntos relacionados à tecnologia e segurança junto com a gente!
  3. É preciso ter o Node.js instalado pra usar essa: $ git clone https://github.com/devongovett/regexgen.git $ cd regexgen $ npm install regenerate jsesc $ node bin/cli.js casado cagado capado /ca[gps]ado/ $ node bin/cli.js 3300-4455 3300-4400 /3300\-44(?:00|55)/ $ node bin/cli.js 'Feliz 2015' 'feliz 2016' 'ferrou 2017' /fe(?:rrou 2017|liz 2016)|Feliz 2015/
  4. Após baixar e compilar o regldg: $ regldg 'ca[gps]ado' cagado capado casado
  5. $ date +'%s' 1433497577 # Convertendo Epoch para hora atual $ date -d @1433497577 Fri Jun 5 05:46:17 EDT 2015 # De novo, mas agora usando UTC $ date -d @1433497577 -u Fri Jun 5 09:46:17 UTC 2015 # No OS X $ date -ur 1433497577 Fri Jun 5 09:46:17 UTC 2015 # 18h15 do dia 3 de janeiro de 1980 para Epoch $ date -d '1980-01-03 18:15:00' +%s 315789300
  6. $ mkdir -p um/diretorio/la/na/pqp $ cd !$ $ ping site.com.br $ nc !$ 80
  7. Você ainda usa o comando touch? Se liga na dica do Júlio Neves (se você curte shell, precisa conhecer esse cara!): $ > arquivo
  8. Dica: O projeto bashacks ajuda a fazer tais cálculos de maneira muito mais rápida. $ echo $((0xa)) 41 # hexa para caractere $ echo -e "\x41" A # decimal pra hexa $ printf "%x\n" 32 20 # string para caracteres hexa $ echo -n "Fernando" | hd 00000000 46 65 72 6e 61 6e 64 6f |Fernando| # caracteres hexa para string $ echo -e "\x46\x65\x72\x6e\x61\x6e\x64\x6f" Fernando Pode-se usar também o comando bc: # No bc, ibase significa "input base", ou seja, base da entrada. E obase, "output base", base da saída. Então é só se divertir: $ bc -q obase=2 255 11111111 ibase=10 obase=16 10 A obase=8 ibase=16 A 12 # one-liner de hexa para binário $ echo "ibase=16; obase=2; FF" | bc 11111111# função para converter decimal para binário $ function dec2bin { echo "obase=2;$1" | bc; } $ dec2bin 127 1111111 E mais, temos um vídeo sobre ele no canal Papo Binário:
  9. # apt-get install python python-pip # pip install odfpy $ csv2ods -i arquivo.csv -o planilha.ods Veja mais sobre a ODFPY.
  10. Esta é uma maneira antiga de usar as chamas de sistemas do Linux, mas ainda funciona e tem fins didáticos :-) ; # apt install nasm ; $ nasm -f elf32 hello.asm ; $ ld -m elf_i386 -o hello hello.o ; $ ./hello section .rodata ; seção .rodata do ELF, onde ficam os dados somente-leitura msg: db "Mente Binária", 10 ; nossa string que será impressa, seguida de um \n len: equ $-msg ; "$" significa "aqui" -> posição atual menos posição do texto. len terá o tamanho da string. section .text ; seção .text do ELF, onde fica o código global _start ; faz o label "_start" visível ao linker (ld) _start: mov edx,len ; arg3 da syscall write(), quantidade de bytes para imprimir (tamanho) mov ecx,msg ; arg2, pointeiro para o endereço da string mov ebx,1 ; arg1, em qual file descriptor (fd) escrever. 1 é stdout mov eax,4 ; 4 é o código da syscall write() int 0x80 ; interrupção 0x80 do kernel (executa a syscall apontada em eax) mov ebx,0 ; arg1 da syscall exit(). 0 significa execução com sucesso mov eax,1 ; 1 é o código da syscall exit() int 0x80 ; executa a syscall apontada em eax, que vai sair do programa
  11. Para ver o filesystem: # fdisk -ul file.img Criar um loop device:(o tamanho do setor pode variar entre os sistemas de arquivos): # losetup -fs file.img -o $((START_SECTPR*512)) Montar o device recém-criado: # mount -o loop /dev/loop0 /mnt
  12. trap '' 2 # ou INT echo "Pressione [Ctrl+C] pra testar..." sleep 20 trap 2
  13. // Código em C int i = 3232235521; printf("%d.%d.%d.%d\n", (>>24) & 0xff, (i>>16) & 0xff, (i>>8) & 0xff, i > 0xff); /* Saída: 192.168.0.1 */
  14. $ for i in *; do file "$i" | grep -Fqw "ELF" && rm "$i"; done
  15. # date -s MMDDHHmmAAAA Ou via NTP: # apt-get install ntpdate # Debian-based # ntpdate ntp.cais.rnp.br Enviar a data do sistema para o BIOS (embora seja recomendável deixar a data do BIOS em UTC): # hwclock --systohc
  16. Pá-pum, quem precisar no iptables: 1. Compartilhar uma conexão IPv4 de Internet, admitindo que eth0 é a interface conectada ao roteador/modem: # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # echo 1 > /proc/sys/net/ipv4/ip_forward 2. Redirecionar o tráfego de entrada na porta TCP 81 para um host específico, no caso, 192.168.0.100 (útil para acesso externo de servidores de câmeras, por exemplo): # iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 81 -j DNAT --to-destination 192.168.0.100 3. Redirecionar o tráfego entrante numa interface interna (útil quando temos um proxy escutando na porta 3128): # iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
  17. Com ajuda da expansão do shell, é possível criar rapidamente cópias de arquivo, por exemplo: $ cp arquivo.conf{,.old} $ cp arquivo.conf{,.`date +%Y%m%d`} O primeiro comando cria uma cópia de um arquivo adicionando a extensão .old. Já o segundo, com um sufixo de data da cópia.
  18. Às vezes num servidor Unix o comando watch não está disponível. Vi um administrador simulando-o assim: $ while :; do netstat -na; sleep 2; done Achei criativo. :-)
  19. Se precisar de uma conexão segura e tiver acesso SSH a um servidor de confiança, pode usar o cliente do SSH para fechar um túnel: ssh -ND 9999 usuario@host A opção -N faz o servidor não aceitar comandos (afinal você não quer mexer nele, só utilizá-lo como túnel). Já a opção -D 9999 define uma porta local para você direcionar o navegador futuramente (SOCKS v5 será localhost:9999 nas configurações de proxy do navegador).
  20. Se você estiver numa máquina Linux e precisar montar manualmente um compartilhamento de rede Windows, o comando abaixo monta um compartilhamento chamado "dados" de um servidor com IP 192.168.0.1 no diretório /mnt. As credenciais de domínio usadas são "admin" e senha "1234": # mount -t smbfs //192.168.0.1/dados /mnt -o username=admin,password=1234
  21. until
    A H2HC, o evento hacker mais importante da cena brasileira está em sua 14ª edição, onde a apresentação de pesquisas na área de segurança rola solta. Palestrantes internacionais e nacionais soltam o verbo e o evento ainda conta com a trilha "University" onde a regra é ser didático, mostrar como fazer algo, no estilo mini-oficina mesmo. Mais informações em https://www.h2hc.com.br/h2hc/pt/
  22. Quando você está num diretório e quer alterar as permissões de todos os arquivos "abaixo" na árvore de diretórios para, por exemplo, 0644 e de todos os subdiretórios para 0755: $ find . -type f -exec chmod 0644 {} \; $ find . -type d -exec chmod 0755 {} \; Para uma extensão específica: $ find . -type f -name '*.php' -exec chmod 0644 {} \; Para tipos específicos de arquivos, dá uma olhada na função findmime() do bashacks.
  23. Este comando é útil quando não estamos em sistemas que possuem o comando dos2unix, que converte arquivos de texto com terminadores de linha no formato do MS-DOS/Windows para o formato do Unix/Linux. Este "problema" normalmente acontece quando editamos um arquivo de configuração de algum software num ambiente Windows e depois tentamos usá-lo no ambiente Linux. O comando é: $ tr -d \\r < dosfile > unixfile O segredo está nos terminadores de linha. Enquanto no MS-DOS/Windows são usados dois caracteres, o \r e o \n, no Linux somente o \n é usado, por isso pedimos ao tr para deletar (opção -d) os caracteres \r, o que manterá os \n em seus devidos lugares.
  24. Fernando Mercês

    Roadsec Rio

    O Roadsec é um grande festival de tecnologia e segurança que roda o Brasil. Estaremos na edição do Rio de Janeiro para gravação do Papo Binário e também apresentando. Nos vemos lá? Mais informações em http://roadsec.com.br/riodejaneiro2017/
×
×
  • Create New...