Fake access point

A quem quer conhecer e explorar um pouco o mundo sem fio, há um script bem simples de usar: o wifiphisher.

Basta clonar o projeto do Github:

$ git clone https://github.com/sophron/wifiphisher.git

Em seguida (no Ubuntu) instalar uns pacotes adicionais:

$ sudo apt-get install python-scapy tcpdump isc-dhcp-server hostapd

E rodar o script:

$ sudo python wifiphisher.py

Fonte: http://tuxdiary.com/2015/01/07/wifiphisher/

Macchanger

Este programa permite mudar o MAC Address de uma placa de rede, cada vez que ela é ativada. A instalação e modo de uso são bem fáceis.

Para instalar:

$ sudo apt-get install macchanger

Depois, alguns ajustes, como ativar a variável ENABLE_ON_POST_UP_DOWN e definir a interface na variável ENABLE_INTERFACES:

$ sudo nano /etc/default/macchanger

Em seguida, é só reativar a interface de rede.

Fonte: https://help.ubuntu.com/community/AnonymizingNetworkMACAddresses

Imagens gigantescas na web

Um grande amigo e eu encaramos um desafio de exibir uma imagem gigante na web. Depois de uma não breve pesquisa ele encontrou o projeto http://openseadragon.github.io que viabilizou a aplicação web.

Mas ainda tínhamos o desafio de converter a imagem. Pra isso usamos o imagemagick. O primeiro desafio foi redimensionar a imagem.

Usamos o comando convert. No Linux, por padrão usa a pasta /tmp para gerar seus arquivos temporários. Nesse caso tivemos que usar a variável de sessão IMAGICK_TMPDIR para indicar uma partição com espaço suficiente.

O resultado foi o seguinte:

export IMAGICK_TMPDIR=/var/cache

Após isso redimensionamos a imagem:

convert arquivo.png -resize 20%

Por fim, pudemos rodar o programa necessário que separa as imagens em partes e permitem ser visualizadas na web, através do OpenSeaDragon:

magick-slicer.sh arquivo.png

Monitorando integridade de arquivos

Um amigo pediu colaboração para monitorar a integridade de arquivos usando MD5. Seu desejo era executar periodicamente um script para checar os arquivos e alertá-lo via e-mail caso algum dos arquivos fosse alterado. Pra resolver isso, usando uma conta do gmail, fizemos um pequeno script python:

#!/usr/bin/python
# ref: http://stackoverflow.com/questions/1131220/get-md5-hash-of-big-files-in-python
import hashlib, smtplib

def getfilehash(filename):
  md5=hashlib.md5()
    with open(filename,'rb') as f:
    for chunk in iter(lambda: f.read(8192), b''):
      md5.update(chunk)
    return md5.hexdigest()

def notify(filename):
  sender="[email protected]"
  recipient="[email protected]"
  headers="\r\n".join(["From: "+sender, "To: "+recipient, "Subject: ALERT: File "+filename+" owned", "MIME-Version: 1.0", "Content-Type: text/html"])
  m=smtplib.SMTP("smtp.gmail.com", 587)
  m.ehlo()
  m.starttls()
  m.ehlo()
  m.login(sender, "your password")
  m.sendmail(sender, recipient, headers)

# use "md5sum /path/file" to get your md5 hash and paste here
files=[
  ["/etc/passwd", "hash_do_etc_passwd"],
  ["/etc/shadow", "hash_do_etc_shadow"],
  ["/usr/bin/ssh", "hash_do_usr_bin_ssh"]
]

for file in files:
  hashtest=getfilehash(file[0]);
  if file[1]!=hashtest:
    notify(file[0])

Em seguida, acrescentamos o script no crontab…

*/5 * * * * /path/filemon.py

…e aguardamos as notificações! 😀

Tem alguma contribuição? Comente para compartilhar!