umgeher's changelog

pass

Password-store ou simplesmente pass e’ uma otima ferramenta para organizar e preservar seus passwords, inclusive OTP.

Companies spend millions of dollars on firewalls, encryption and secure access devices, and it’s money wasted; none of these measures address the weakest link in the security chain.

– Kevin Mitnick

O pass cria um arquivo pgp1 com o password ou o que deseja preservar usando uma arquitetura de diretorios. Otimo para utilizar o git para versionar e/ou fazer backups de forma praticas e conectar programas que precisam de sua senha, como por exemplo o msmtp2 e o mbsync3.

Instalacao

Recomendo voce sempre usar os pacotes do seu sistema operacional e/ou distro.

OpenBSD

pkg_add password-store

Debian

apt-get install pass

Uso

Antes de tudo, crie seu par de chaves PGP1.

init

Para iniciar sua arquitetura “pass” digite:

pass init

Ele vai criar toda a estrutura necessaria para comecar a guardar suas informacoes.

insert

Para inserir um password, use o comando insert.

pass insert email/meuEmail

Ele vai perguntar o password que voce deseja colocar no arquivo email/meuEmail.

generate

Para gerar um password, o que recomendo, use o comando generate.

pass generate site/minha-conta
The generated password for tmp is:
@kT2-5c~&#Ia}YL%U&"x6`A!5

Ele vai gerar e mostrar um password, como por exemplo @kT2-5c~&#Ia}YL%U&“x6`A!5.

Voce pode determinar que nao deseja chars especiais com o argumento -n, exemplo:

pass generate -n site/minha-conta
The generated password for tmp is:
92K530RI4xocCjZfcnb9CQNo9

E tambem voce pode dizer quantos chars voce deseja o password.

pass generate site/minha-conta 10
The generated password for tmp is:
Mj{"4GI0Y8

view

Para voce ver um password, apenas digite o nome dele.

pass site/minha-conta
Mj{"4GI0Y8

Voce ainda pode apenas digitar pass e ter uma visao da arquitetura do seu pass.

pass
Password Store
└── site
    └── minha-conta

find

Normalmente voce vai ter varios passwords na sua arquitetura. Quando isso acontecer, voce pode buscar o nome deles com o comando find.

pass find tm 
Search Terms: tm
└── tmp

mv

Para voce renomear um password, digite o comando mv seguido do nome atual e do novo nome.

pass mv tmp tmp2

rm

Para remover um password, apenas digite o comando rm seguido com o nome dele.

pass rm tmp2

Backup

Agora que voce tem todos os seus passwords guardados com PGP. Voce deve fazer backup deles.

Atencao: Lembre que voce deve guardar seu par de chaves PGP tambem!

git

O pass vem com um by-pass para o git. Voce pode iniciar o git com o comando.

pass git init

Depois que a estrutura do git e’ criada, o pass comeca a fazer commit de todas as modificacoes que voce fizer no pass. Logo, criar, renomear, editar e deletar passwords vao ser commitados no git local.

tar.gz

Caso voce nao tenha usado git ainda, voce pode simplesmente guardar o diretorio do seu pass.

tar -zcvf ~/pass.tar.gz ~/.password-store

Agora voce tem uma copia do seu pass. Guarde do modo que achar melhor.

SSH Wordle

Wordle… mas via ssh. =]

ssh sshwordle.daveroda.com

nmap

nmap (“Network Mapper”) e’ uma ferramenta para explorar e auditar networks.

“Good neighbors always spy on you to make sure you are doing well.”

– Pawan Mishra

TLTR

Como o nmap tem milhoes de combinacoes de configuracoes, vou apresentar as que mais uso e no final um resumo das configuracoes que conheco/uso. Recomendo que invista tempo e energia para ler o manual completo do nmap.

Target

Assuma <target> como um IP Address, Subnet ou hostname. Exemplos:

  • IP Address: 8.8.8.8
  • Subnet: 192.168.0.0/24
  • Hostname: umgeher.org

Dia a dia…

Para identificar um host, normalmente eu uso as seguinte configuracoes.

nmap -sV -sS -O <target>

Com isso ele devolve quais portas estao abertas ou filtradas, quantas estao fechadas. Nome e versao de cada servico que esta’ atras da porta descoberta. Alem da identificacao do sistema operacional.

Configuracoes

Alguns, para nao falar varias, configuracoes podem ser usadas em conjunto. E basicamente quase todas as configuracoes devem ser rodados com um superuser.

Aqui separei em tres categorias:

  • Discovery e Identificacao - sao as configuracoes para voce identificar e fazer discovery dos seus targets.
  • Performance - configuracoes de como o nmap vai se comportar com delay e agressividade dos scans.
  • Output - configuracoes de output

Discovery e Identificacao

Configuracoes para discovery e identificacoes de targets.

  • -6 - utiliza IPv6
  • -A - modo agressivo… o mesmo que usar -O, -sC, -sV e –traceroute
  • –dns-servers - informa enderecos dos DNS servers a serem utilizados
  • -e - informa a interface de rede a ser usada
  • -iL - “input from list”, use um arquivo como uma lista de targets
  • -O - ativa a identificacao do sistema operacional
  • -Pn - trata todos os targets como online
  • -PS - envia um packet com SYN flag para a porta definida, em caso de nao informar a porta, o padrao e’ a 80
  • -PU - envia um packet UDP para a porta definida, em caso de nao informar a porta, o padrao e’ a 40125
  • -sn - scan sem port ping
  • -sC - executa o scan usando o script default
  • -sV - executa a identificacao dos servicos em cada porta encontrada
  • –traceroute - ativa o modo traceroute

Performance

Configuracoes para controlar o tempo e velocidade dos scans.

  • -T0 - modo paranoico, envia o packet a cada 5 minutos. praticamente nao da’ para usar
  • -T1 - aguarda 15s para enviar cada packet
  • -T2 - aguarda 0.4s para enviar cada packet
  • -T3 - modo default do nmap
  • -T4 - forca o tempo de timeout para 1250ms
  • -T5 - forca o tempo de timeout para 300ms

Output

Configuracoes de output.

  • -oG - grep mode!
  • -oN - normal, o default do nmap
  • -oS - s|<rIp7 k1dd13
  • -oX - xml

Basicamente, se voce estiver apenas vendo no terminal, nao use opcao de output. Caso queria guardar o resultado, utilize -oG. Todas essas 4 opcoes precisam do nome do arquivo para fazer o storage. Exemplo:

nmap -A -oG result-nmap-grep <target>

Scripts

O nmap tem o rescurso de voce executar scripts. Vou escrever sobre eles no futuro. Mas um exemplo basico. Descobrir quais methods o HTTP Server aceita.

nmap -p80,443 --script http-methods --script-args httpmethods.test-all=true <target>

Curiosidades

Zine

O nmap foi publicado pela primeira vez na antiga e otima zine phrack, em 1997-09-01. O codigo fonte foi publicado na propria zine. Veja o artigo aqui. Nostalgia pura!

POP

Varios filmes, series e animes usam o nmap em cenas de “hacking”. O site oficial tem uma lista deles, caso queira ver.

mbsync

A alguns dias atras em um pvt…

hmm, como sugestao no seu post do pass, coloca como usar o pass no offlineimap kkk

estou usando outro, vou escrever, vai curtir mais

mbsync/isync e’ um programa para fazer sync de mailboxes. Simples e facil de usar.

.mbsyncrc

CopyArrivalDate yes
Create Both
Expunge Both
Remove Both
Sync All
SyncState *

IMAPAccount umgeher
Host meuHost
User meuUser
PassCmd "pass email/umgeher/me"
SSLType IMAPS
AuthMechs LOGIN

IMAPStore umgeher-remote
Account umgeher

MaildirStore umgeher-local
Path ~/mail/
Inbox ~/mail/inbox

Channel umgeher-drafts
Far :umgeher-remote:Drafts
Near :umgeher-local:drafts

Channel umgeher-inbox
Far :umgeher-remote:INBOX
Near :umgeher-local:inbox

Channel umgeher-sent
Far :umgeher-remote:Sent
Near :umgeher-local:sent

Group umgeher
Channel umgeher-drafts
Channel umgeher-inbox
Channel umgeher-sent

Meu arquivo de configuracao nao tem nada de mais, a unica coisa “diferente” e que recomendo e’ o uso do PassCmd. Com ele nao colocamos nosso password fixo no arquivo de configuracao. Podemos usar outro software para entregar o password ao mbsync. No meu caso eu uso o pass.

Mas poderia ser o gnupg1. Exemplo:

PassCmd "gpg --quiet --no-tty --for-your-eyes-only -d ~/.mbsync-password.pgp"

Assim voce pode ter o seu password guardado de forma segura e simples.

Obrigado ao Lucas por me sugerir mais um assunto.

wttr.in - clima/tempo no shell

Veja o clima no seu shell…

curl http://wttr.in/Bergen