Jump to content

Fernando Mercês

Administradores
  • Content Count

    619
  • Joined

  • Last visited

  • Country

    Brazil

Everything posted by Fernando Mercês

  1. Problema nenhum, brother. To testando porque tenho interesse mesmo. Pode certamente ser utilizado para fins maliciosos, se funcionar. Como você testou? Aqui não rolou localmente, mesmo com hxxp.
  2. Precisava deixar essa dica de um jogo que tenho jogado uns 5 min. por dia, todo dia, chamado Elevate. Trata-se de um brain trainer mas é preciso saber (ou estar estudando) inglês, único idioma disponível até o momento. Tem jogos de lógica, fala, escrita, matemática, todos muito bons! Não é um app para aprender inglês e sim melhorar as técnicas de comunicação e raciocínio. É de graça para jogar uma vez por dia até 3 treinos diferentes. Eu to curtindo muito e já tô quase aprendendo a fazer conta de dividir por 2 dígitos haha! Uma alternativa é o Luminosity e este sim tem em Português mas não joguei pra ver como é (não consigo me livrar do Elevate! haha). Abraços!
  3. Interessante, mas eu abri no browser um arquivo HTML com o seguinte conteúdo, cliquei no link e deu erro, como "esperado": <html> <body> <a href="httx://www.google.com">Google</a> </body> </html> O Safari mostra um erro e o Chrome estranhamente não faz nada (nem segue o link). Fiz algo errado? Abraços!
  4. Que dúvida interessante. Eu não sou "o desenvolvedor", mas imagino que a melhor forma seria o sistema 2 ter um plugin que puxasse os dados. Se tiver uma interface pra criar plugins nele, seria legal. Caso não tenha, então talvez seja mais rápido criar um script que conecte no banco do sistema 1 (SQL Server no seu caso) e insira as informações do jeito que você precisa no banco do sistema 2 (MySQL server). Para isso você vai precisar: Entender como os dados estão organizados no SQL Server do sistema 1. Entender como uma tarefa (ou o que você quer criar) é criado pelo sistema 2 no MySQL. Criar um script/programa que leia os dados necessários no SQL Server do sistema 1 e insira os dados no MySQL do sistema 2. Se topar o desafio de fazer (e, na boa, se isso é algo do seu trabalho eu dou a maior força pra você fazer e mostrar know-how), eu sugiro usar a filosofia do baby steps do XP (eXtreme Programming), que basicamente consiste em dividir seu problema em vários problemas menores, resolver um, testar e só passar para outro quando este estiver funcionando. Por exemplo: Conectar no SQL Server. Fazer um SELECT lá e exibir o resultado na tela. Filtrar seu SELECT para pegar o que você quer e imprimir o resultado na tela. Conectar no MySQL. Inserir uma tarefa. Transformar o que vem do SQL Server numa tarefa (parsing) e imprimir na tela. Inserir a tarefa no MySQL, ao invés de imprimir na tela. Como disse, não sou a melhor pessoa pra isso. Outros membros podem sugerir soluções muito melhores, mas eu faria meio que isso se fosse o meu caso, pelo menos com o conhecimento que tenho sobre o assunto atualmente, que é pouco. Tentaria Python ou talvez C# (sei lá, em ambiente Windows gosto de usar as coisas da própria Microsoft, que geralmente funcionam bem). Abraço!
  5. Ah, não me venha com gas e AT&T syntax :-D Acho que o pior é usar a int 0x80. Queria fazer uma versão nova. =)
  6. Fernando Mercês

    WinREPL

    Conheci hoje esse debugger que achei interessante pra simular código no Windows. Achei interessante a abordagem se o objetivo é estudar, simular algo ou rodar um shellcode (claro, nada que não dê pra fazer com o OllyDbg por exemplo). Ele não é pra debugar processos, mas pra assemblar diretamente o que precisar ser executado. No exemplo só fiz uma continha envolvendo os registradores EAX e EBX. Tem umas funções legais tipo alocar memória (comando .allocate) e pegar os enedereços de exports da kernel32.dll, mas não achei muito útil visto que teríamos que criar os argumentos "na mão" e não suporta inserir strings tipo "texto", então teria que ser os bytes hexa dos ASCII equivalentes. Mas de qualquer forma, é melhor que estudar Assembly pelo DEBUG do DOS! haha Alguma outra ideia do que fazer com ele? https://github.com/zerosum0x0/WinREPL
  7. 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!
  8. 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!
  9. É 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/
  10. Após baixar e compilar o regldg: $ regldg 'ca[gps]ado' cagado capado casado
  11. $ 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
  12. $ mkdir -p um/diretorio/la/na/pqp $ cd !$ $ ping site.com.br $ nc !$ 80
  13. Você ainda usa o comando touch? Se liga na dica do Júlio Neves (se você curte shell, precisa conhecer esse cara!): $ > arquivo
  14. 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:
  15. # apt-get install python python-pip # pip install odfpy $ csv2ods -i arquivo.csv -o planilha.ods Veja mais sobre a ODFPY.
  16. 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
  17. 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
  18. trap '' 2 # ou INT echo "Pressione [Ctrl+C] pra testar..." sleep 20 trap 2
  19. // 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 */
  20. $ for i in *; do file "$i" | grep -Fqw "ELF" && rm "$i"; done
  21. # 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
  22. 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
×
×
  • Create New...