– root@injetionsec:~#

RSMangler – manipulações de palavras

19.09.2015 (10:23 pm) – Filed under: Word List ::

RSMangler é outra tool interessante onde você passa um lista de palavras e é realizado várias manipulações, assim você usar no ncrack, hydra ou medusa para um bruteforce de alguma aplicação, abaixo um exemplo de sintaxe.

root@kali:~# rsmangler -f user –na –nb –eb –ing –punctuation –years – -C –pna –pnb –space -r -t -T -s > user_new

=)

Gerando username

18.09.2015 (1:09 pm) – Filed under: Word List ::

Script python que achei interessante para combinação de nomes e sobrenomes.

root@kali:~# ./pername.py [option] [filename|name]

w1w2

 

Com isso podemos enumerar os usuário para assim usarmos o ncrack,medusa ou hydra para realizar um brute force em alguma aplicação.

Fonte: https://www.sinister.ly

 

Cupp gerar passwords comuns

14.09.2015 (6:25 pm) – Filed under: Word List ::

Galera uma ferramenta que não vem nativa no kali e no backtrack, que achei interessante abordar é o Cupp ele gera senhas comuns com base na entrada que você passar como:

  • Nome
  • Aniversário
  • Nome do animal de estimação
  • Empresa
  • Interesses
  • Hobbies
  • e etc

Execute os seguintes comandos:

root@kali:~# git clone https://github.com/Mebus/cupp.git
root@kali:~# ./cupp.py

Ao final o Cupp gera uma lista de senhas onde podemos usar para verificar se a mesma e válida, a maioria das senhas comuns são : aniversários, profissão,rg,cpf, nomes, interesses, números de celulares e geralmente eventos da vida real da pessoa, é claro se você quiser algo mais complexo para gerar  um banco enorme de senhas recomendo crunch, esse deixaremos para abordar em outro post. =)

Cabeçalho do Pacote IPv4

12.09.2015 (12:11 pm) – Filed under: Redes ::

Galera a figura acima mostra um protocolo IPv4 onde define muitos campos diferentes no cabeçalho do pacote. Estes campos contêm valores binários que os serviços IPv4 usam como referência ao enviarem pacotes através da rede.

Características básicas do IPv4:

    • Sem conexão – Nenhuma conexão é estabelecida antes do envio dos pacotes de dados.
    • Melhor Esforço (não confiável) – Nenhum cabeçalho é usado para garantir a entrega dos pacotes.
    • Independente de Meios Físicos – Opera independentemente do meio que transporta os dados.

Versão – Contém o número da versão IP (4).

Comprimento do Cabeçalho (IHL) – Especifica o tamanho do cabeçalho do pacote.

Tipo de Serviço – esse campo contém um valor binário de 8 bits que é usado para determinar a prioridade de cada pacote, roteadores que processam esses pacotes podem ser configurado para decidir qual pacote será encaminhado com base no valor desse campo

Comprimento do Pacote – fornece o tamanho total do pacote em bytes, incluindo o cabeçalho e os dados.

Identificação – usado principalmente para identificar unicamente os fragmentos de um pacote IP original.

Flag Mais Fragmentos – A flag Mais Fragmentos (MF) é um único bit no campo Flag usado com o Deslocamento de Fragmentos na fragmentação e reconstrução de pacotes. O bit da flag Mais Fragmentos é configurado, o que significa que ele não é o último fragmento de um pacote. Quando um host de destino vê um pacote chegar com MF = 1, ele examina o Deslocamento de Fragmentos para ver onde este fragmento deve ser colocado no pacote reconstruído. Quando um host de destino recebe um quadro com MF = 0 e um valor diferente de zero no Deslocamento de Fragmentos, ele designa este fragmento como a última parte do pacote reconstruído. Um pacote não fragmentado possui todas as informações de fragmentação iguais a zero (MF = 0, deslocamento de fragmentos = 0).

Flag Não Fragmentar – A flag Não Fragmentar (DF) é um único bit no campo Flag que indica que a fragmentação do pacote não é permitida. Se o bit da flag Não Fragmentar for configurado, a fragmentação do pacote NÃO será permitida. Se um roteador precisar fragmentar um pacote para permitir que ele passe para a camada de enlace de dados e o bit DF estiver definido como 1, o roteador descartará o pacote.

Deslocamento de Fragmento – Um roteador pode precisar fragmentar um pacote ao encaminhá-lo de um meio físico para outro que tenha uma MTU menor. Quando ocorre a fragmentação, o pacote IPv4 usa o campo Deslocamento de Fragmento e a flag MF no cabeçalho IP para reconstruir o pacote quando ele chega ao host de destino. O campo deslocamento de fragmento identifica a ordem na qual o fragmento do pacote deve ser colocado na reconstrução.

Tempo de Vida – O Tempo de Vida (TTL) é um valor binário de 8 bits que indica o “tempo de vida” restante do pacote. O valor TTL diminui em pelo menos um a cada vez que o pacote é processado por um roteador (ou seja, a cada salto). Quando o valor chega a zero, o roteador descarta ou abandona o pacote e ele é removido do fluxo de dados da rede. Este mecanismo evita que os pacotes que não conseguem chegar a seus destinos sejam encaminhados indefinidamente entre roteadores em um loop de roteamento. Se os loops de roteamento tivessem permissão para continuar, a rede ficaria congestionada com os pacotes de dados que nunca chegariam a seus destinos. A diminuição do valor de TTL a cada salto assegura que ele chegue a zero e que o pacote com um campo TTL expirado seja descartado.

Protocolo – O valor binário de 8 bits indica o tipo de payload de dados que o pacote está carregando. O campo Protocolo possibilita que a camada de rede passe os dados para o protocolo apropriado das camadas superiores, veja alguns exemplos de valores:
– 01 ICMP
– 06 TCP
– 17 UDP
– 2 IGMP

Checksum do Cabeçalho – O campo de checksum é usado para a verificação de erros no cabeçalho do pacote.

Endereço IP de Origem – O Endereço IP de Origem contém um valor binário de 32 bits que representa o endereço do host de origem do pacote da camada 3.

Endereços IP de Destino – O Endereço IP de Destino contém um valor binário de 32 bits que representa o endereço do host de destino do pacote da camada 3.

Opções – Há uma provisão para campos adicionais no cabeçalho IPv4 para oferecer outros serviços, mas eles raramente são utilizados.

 

Referências
http://www.ietf.org/rfc/rfc0791.txt
Segurança e Prevenção Em Redes – Stephen Northcutt,Judy Novak,Donald Mclachlan
CCNA Exploration 4.0 – Módulo 2 – Capítulo 4
http://www.teleco.com.br/tutoriais/tutorialmplscam/pagina_2.asp

Permutando usando python, sed e awk

08.09.2015 (5:00 pm) – Filed under: Linux ::

Estava querendo gerar uma lista de possíveis permutações de user/pass em um  pentest que estava fazendo, como meu nível de programação e básico-intermediário, resolvi pesquisar, achei interessante uma abordagem em python

per1

mas á saída desse simples script gera:

per2

Agora é simples usarei o sed e o awk (é claro que demorou um pouco..heheh), mas nada que algumas pesquisas que me gerou  dúvidas não esclareceram, vamos ao comando enorme.

per3

A saída do novo arquivo é mostrado abaixo

per4

Meio que um “recurso técnico” quando se quer algo rápido e não entende tão bem de programação ..ehheheh

Referências/Leitura recomendada
http://stackoverflow.com/questions/8306654/finding-all-possible-permutations-of-a-given-string-in-python
http://sed.sourceforge.net/sed1line_pt-BR.html
http://www.sos-admins.com/programacao/bash/bash-retirar-linhas-em-branco
http://pt.stackoverflow.com/questions/27245/como-adicionar-quebra-de-linha-usando-sed
http://aurelio.net/sed/sed-HOWTO/sed-HOWTO-7.html
http://www.sos-admins.com/programacao/bash/bash-retirar-linhas-em-branco

Escaping Restricted Shell ‘security shell’

07.09.2015 (2:18 pm) – Filed under: Pentest ::

Quando realizamos pentest deparamos com formas de bypassar para termos privilégios ao sistema, recentemente esbarrei com o security shell (shell restrito) pesquisei mais sobre como escapar e executar comandos que permite listar,executar e ler e etc, ao “bypassar” essa restrição podemos :

  • ativar e desativar variáveis de ambiente como SHELL, PATH
  • alterar os diretórios
  • importar definições
  • usar operadores para redirecionar : ‘>’, ‘>|’, ‘<>’, ‘>&’, ‘&>’, e ‘>>’
  • e etc

Devemos reunir um pouco de informação, com o comando ‘env’ assim podemos entender o perfil e como está configurado.

es02

Depois de vermos onde o diretório PATH esta apontando, vamos listar o seguinte diretório  ‘ls /usr/local/bin’ para vermos quais comandos estão presentes no sistema, caso o comando ‘ls’ não esteja presente no sistema basta usar o ‘echo  /usr/local/bin/ * ‘

Se precisarmos teremos que exportar ‘export’ as  variáveis ​​ no shell, você pode simplesmente definir o de sua escolha como ( sh, bash, ksh, etc …).

Se você é capaz de copiar arquivos em seu PATH, então você vai ser capaz de ignorar a restrição barra. Você também pode escrever seu próprio script, basta copiar para o PATH, e executá-lo, podemos  tentar copiar os arquivos para seu diretório home e executá-los de lá, se você tentar executar algo ‘./’, irá falhar pois o shell é limitado é não permite o uso de uma barra, nosso objetivo e tentar executar o seguinte binário ‘tfc’, vejamos esse processo usando o vim.

es03

jason@knockknock:~$ vim

[esc] :set shell=/home/Jason/tfc __________ // de enter
[esc] :shell ____________________________  // de enter
[esc] :q! ________________________________// sair

es04

 

awk: podemos executar ‘awk’ e dentro dele uma shell.

jason@knockknock:~$  awk ‘BEGIN {system(“/home/jason/tfc “)}’

es05

Pode ser usado o find,tee ou outras linguagens

jason@knockknock:~$ find / -name feii -exec /bin/awk ‘BEGIN {system(“/bin/bash”)}’ \;
jason@knockknock:~$ echo “executando” | tee script.sh
python: exit_code = os.system(‘/bin/bash ‘) output = os.popen(‘/bin/bash ‘).read()
perl -e ‘exec “/bin/bash “;’
perl: exec “/bin/bash “;
ruby: exec “/bin/bash ”
lua: os.execute(‘/bin/bash ‘)
irb(main:001:0> exec “/bin/bash ”

Pode ser criado um link simbólico

es06

É isso ai galera ¬¬

Referências
Unix Shells: Bash, Fish, Ksh, Tcsh, Zsh : http://hyperpolyglot.org/unix-shells
Escaping Restricted Shell : http://securebean.blogspot.com.br/2014/05/escaping-restricted-shell_3.html
http://www.softpanorama.org/Scripting/Shellorama/restricted_shell.shtml https://www.securusglobal.com/community/2014/03/17/how-i-got-root-with-sudo/
Using sudo – part secuiry : http://aplawrence.com/Basics/sudo.html
https://en.wikipedia.org/wiki/Restricted_shell
http://www.unix.com/security/5796-restricted-user.html
http://pen-testing.sans.org/blog/2012/06/06/escaping-restricted-linux-shells
http://linuxshellaccount.blogspot.com.br/2008/05/restricted-accounts-and-vim-tricks-in.html