Alterando Os Parâmetros Do Kernel Em Tempo Real Com O Systcl

| Comments

O kernel, em se tratando de sistemas operacionais, é o núcleo e componente mais importante da maioria dos computadores. Basicamente, serve de ponte entre os aplicativos e o processamento real de dados feito a nível de hardware. É ele o responsável por gerenciar os recursos do sistema, podendo oferecer uma camada de abstração de nível mais baixo para os recursos, como processadores e dispositivos de entrada/saída, que os softwares aplicativos devem controlar para realizar sua função. Com o GNU/Linux não é diferente. O núcleo Linux (Linux Kernel) forma a estrutura do sistema operacional GNU/Linux.

Como é de se esperar, o kernel possui diversos parâmetros configurados que definirão as características do seu sistema, controle de dispositivos, módulos, drivers, etc. Por vezes faz-se necessário alterar algum parâmetro do kernel para alguma tarefa ou rotina específica, portanto que tal ganhar tempo e alterar um ou mais parâmetros do kernel on the fly?!

O comando sysctl pode ajudar nesta tarefa. Ele ajuda a configurar os parâmetros do kernel em tempo de execução.

Para listar os atuais parâmetros de seu kernel digite:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 [kalib@tuxcaverna ~]$ sysctl -a
  
 abi.vsyscall32 = 1
 debug.exception-trace = 1
 dev.cdrom.autoclose = 1
 dev.cdrom.autoeject = 0
 dev.cdrom.check_media = 0
 dev.cdrom.lock = 1
 dev.hpet.max-user-freq = 64
 dev.mac_hid.mouse_button2_keycode = 97
 dev.mac_hid.mouse_button3_keycode = 100
 dev.mac_hid.mouse_button_emulation = 0
 dev.scsi.logging_level = 0
 fs.aio-max-nr = 65536
 fs.aio-nr = 41192
 fs.binfmt_misc.status = enabled
 fs.dentry-state = 177183        161128  45      0       0       0
 fs.dir-notify-enable = 1
 fs.epoll.max_user_watches = 1209446
 fs.file-max = 586836
 fs.file-nr = 8992       0       586836
 fs.inode-nr = 96800     290
 fs.inotify.max_user_watches = 8192
 fs.lease-break-time = 45
 kernel.sched_cfs_bandwidth_slice_us = 5000
 kernel.sched_child_runs_first = 0
 kernel.version = #1 SMP PREEMPT Fri Jan 31 10:22:54 CET 2014
 kernel.watchdog = 1
 kernel.watchdog_thresh = 10
 kernel.yama.ptrace_scope = 1
 net.core.bpf_jit_enable = 0
 net.core.busy_poll = 0
 net.ipv4.cipso_cache_bucket_size = 10
 net.ipv4.conf.all.accept_local = 0

O retorno deste comando é bastante extenso, portanto colei aqui apenas algumas linhas aleatórias de meu resultado.

Para alterar temporariamente um parâmetro, utilize o parâmetro -w do sysctl, indicando a variável que deseja alterar e o novo valor que será utilizado para a mesma.

1
 [kalib@tuxcaverna ~]$ sysctl -w {nome-da-variável=valor}

No caso acima a(s) alteração(ões) será(ão) perdida(s) após a reinicialização do sistema.

Caso deseje realizar alterações permanentes, edite o arquivo /etc/sysctl.conf e em seguida aplique suas modificações com o parâmetro -p do sysctl.

1
 [kalib@tuxcaverna ~]$ sysctl -p

Desta forma, após a reinicialização suas modificações permanecerão ativas.

Happy Hacking!

BlackArch Linux - Uma Nova Distribuição Para Pentesters

| Comments

Uma boa novidade para os profissionais de segurança: BlackArch! Para quem, assim como eu, gosta de como as coisas funcionam no Arch Linux essa é uma notícia particularmente boa, visto que o BlackArch não se trata realmente de uma nova distribuição, mas sim de uma extensão para o Arch Linux. Como assim? Bom, você possui duas opções para utilizar o BlackArch, sendo uma delas como uma distribuição completa, através de um Live CD, por exemplo, e a outra como uma extensão (um repositório de pacotes) para o Arch Linux, onde você poderá apenas inserir um repositório em sua já existente distribuição Arch Linux e ter acesso ao conjunto de ferramentas do BlackArch.

O BlackArch, atualmente, possui suporte para as arquiteturas i686 e x86_64, com previsão de suporte para ARM em breve (Sim, meu RaspBerry poderá se tornar uma ferramenta para pentests). No mais, o BlackArch hoje possui mais de 600 ferramentas, estando este número crescendo constantemente, e utiliza grupos modulares de pacotes, facilitando a instalação dos mesmos.

A ISO Live trás diversos gerenciadores de janelas ou ambientes gráficos, como o dwm, Fluxbox, Openbox, Awesome, Wmii, i3 e Spectrwm. É claro, ele também trás um instalador capaz de instalar a partir do fonte.

Dentre as ferramentas existentes estão: 3proxy, 42zip, acccheck, aesfix, against, airflood, airoscript, bluepot, blueprint, braces, bss, bully, cisco-ocs, cmospwd, dbd, dc3dd, deblaze, dhcpig, enumiax, fakedns, … Vocẽ não espera que eu liste todos os mais de 600, certo?

Configurando como um Repositório Não-Oficial

Se você já possui o Arch Linux instalado e deseja apenas inserir o BlackArch como um repositório em sua distro, execute os seguintes comandos como root, os quais servirão para assinar os pacotes: (Se você não possui o Arch Linux instalado e/ou simplesmente deseja rodar o Live CD ou instalar o mesmo por completo, seja em uma máquina física ou virtual, siga para a seção Instalando o BlackArch Linux utilizando a Live-ISO)

1
2
3
4
5
6
7
8
9
10
11
 # wget -q http://blackarch.org/keyring/blackarch-keyring.pkg.tar.xz{,.sig}

 # gpg --keyserver hkp://pgp.mit.edu --recv 4345771566D76038C7FEB43863EC0ADBEA87E4E3

 # gpg --keyserver-o no-auto-key-retrieve --with-f blackarch-keyring.pkg.tar.xz.sig

 # pacman-key --init

 # rm blackarch-keyring.pkg.tar.xz.sig

 # pacman --noc -U blackarch-keyring.pkg.tar.xz

Em seguida, adicione as seguintes linhas ao seu arquivo /etc/pacman.conf:

1
2
  [blackarch]
  Server = <mirror_site>/$repo/os/$arch

Substitua <mirror_site> por um mirror de sua escolha, preferencialmente um dos mirrors oficiais contidos neste link.

Uma vez que você tenha seguido os passos acima, execute:

1
 $ sudo pacman -Syyu

Instalando os pacotes

Agora que você já preparou o terreno assinando e configurando o repositório do Black Arch, basta instalar os pacotes em seu Arch Linux.

Para listar todas as ferramentas disponíveis, execute:

1
 $ sudo pacman -Sgg | grep blackarch | cut -d' ' -f2 | sort -u

Para instalar todas as ferramentas, execute:

1
 $ sudo pacman -S blackarch

Para instalar uma categoria de ferramentas, execute:

1
 $ sudo pacman -S blackarch-<categoria>

Para ver as categorias existentes no BlackArch, execute:

1
 $ sudo pacman -Sg | grep blackarch

Instalando o BlackArch Linux utilizando a Live-ISO

Antes de mais nada, baixe a ISO a partir do site oficial.

Em seguida, dê boot na ISO e instale o script de instalação do BlackArch:

1
 $ sudo pacman -S blackarch-install-scripts

Agora, basta instalar:

1
 # blackarch-install

Happy Hacking!

Dica - Escondendo Seu Endereço De Email Ao Divulgar Seu Endereço De Email

| Comments

Da mesma forma que alguns animais só conseguem sobreviver utilizando-se de sua capacidade e/ou técnica de camuflar-se, misturando-se assim ao ambiente, para enganar seus predadores naturais, as pessoas do mundo atual praticamente precisam adotar as mesmas técnicas para manter seus endereços de email livres de um turbilhão de emails indesejados com propagandas de viagra, dicas para crescimento peniano, irregularidades em seu CPF, problemas em sua conta bancária, etc, etc.

Um dos métodos mais simples e mais utilizado é substituir a @ por alguma outra coisa, como por exemplo:

fulanoEMgmail.com fulanoAThotmail.com

Mas existem aqueles que podem preferir levar isto à um nível mais elevado. Que tal fazer de uma forma mais geek?

O Linux pode lhe ajudar a fazer isto de forma inusitada, porém eficiente e confiável. Para nosso exemplo, vamos assumir que utilizaremos o email fulano@marcelocavalcante.net.

Experimente o seguinte comando:

1
 $ echo fulano@marcelocavalcante.net | tr a-z@. n-za-m.@

O retorno será algo como:

1
 shynab.zneprybpninypnagr@arg

Ilegível, certo? Parabéns, você acaba de “camuflar” ou “esconder” o seu email. Este é o seu endereço de email. Como divulgar ele para que alguém possa entendê-lo? Bom, ao invés de divulgar um endereço de email, voê vai divulgar um comando, da seguinte forma:

echo shynab.zneprybpninypnagr@arg | tr a-z@. n-za-m.@

Desta forma, quem copiar este comando e o executar em um terminal Linux, terá o seguinte resultado:

1
2
 $ echo shynab.zneprybpninypnagr@arg | tr a-z@. n-za-m.@
 fulano@marcelocavalcante.net

*Desta forma você evitar que robôs ou scanners saiam vasculhando seu endereço de email indexando conteúdos aleatórios pela internet e assim, reduzindo assim as chances de o seu endereço de email cair em listas de SPAM.fff

Legal, certo?!

Happy Hacking!