[ pt en ]

Pagina pessoal do Luciano

Todos os programas realizados por mim, quando falta de outra indicação, estão disponibilizados sob a licença GPL da GNU, versão 2.

Coisas que fiz:

ipconf
IPConf ajuda a configurar uma firewall.
Novas ligacoes serao permitidas se o par ip:porta destino corresponder numa lista de ligacoes permitidas.
Existem listas para ligacoes de entrada, de saida, e de encaminhamento, assim como distincao entre ligacoes UDP e TCP.

topo

webpam.tar.gz
WebPam fornece um sistema para configuração remota via Web do serviço PAM. Tem várias características interessantes: não se usam ficheiros temporários; as alterações são apenas aplicadas no final da operação; tem ajuda on-line com informação sobre PAM; e apenas permite definir módulos no sítio certo! :)
Este programa foi realizado como um trabalho para a cadeira de Administração de Sistemas do curso de LESI da Universidade do Minho, conjuntamente com o meu colega Ricardo Costa.
Este programa é libertado sob o domínio público.

topo

bash-2.05b-loghist.patch
Este é um pequeno patch para fazer com que a bash envie para o syslog os comandos executados pelos utilizadores.

Versoes:

Para usar:

As opções de compilação e configuração existentes são as seguintes:

topo

randfile.c
Este programa retorna um ficheiro escolhido aleatoriamente entre os disponíveis numa determinada directoria. O programa tanto pode retornar um ficheiro diferente de cada vez que esse ficheiro seja aberto, ou então assim que passe um determinado período de tempo.

Modo genérico de chamar o programa: randfile -<tipo> [<ciclos>] <ficheiro destino> <directoria com os ficheiros originais>
Ciclos indica o número de vezes que o programa deve retornar um ficheiro aleatório até sair.
Tipos de funcionamento:

topo

ptun.c & predir.c
O programa ptun cria um túnel tcp/ip através de uma proxy até um servidor qualquer, dentro das limitações de configuração da proxy.
O programa predir permite que o servidor que receba essas ligações as reenvie para outros serviços ou outros servidores.
Este último torna-se necessário quando a proxy está configurada para permitir CONNECT apenas a servidores HTTPS (porta 443), e nesse caso basta colocar o predir com as devidas opções num servidor à escuta nessa porta, e já se pode usar a proxy para ligações a outros serviços no mesmo servidor ou em servidores diferentes.

Como usar:

  1. Compilar
    • cc -o ptun ptun.c
    • cc -o predir predir.c
  2. Executar
    • ptun: servidor:porta [ porta_local [ proxy [ porta_da_proxy [ serviço (do predir) ] ] ] ]
    • predir: nome_serviço:servidor:porta ....
      apenas é necessário especificar ou o nome de serviço ou o servidor ou a porta, os valores por omissão nesse caso depende do parâmetro fornecido.
      Para mais informação, veja o cabeçalho do código dos programas.

topo

rootjail-0.1.tar.gz
RootJail foi criado para ajudar a criar root jails. Essas jaulas caracterizam-se por um programa correr sem acesso ao sistema de ficheiros do resto do sistema.
A criação dessas jaulas está restrita ao super-utilizador, e portanto qualquer programa que queira usar essa característica de segurança adicional terá que ser arrancado com permissões de super-utilizador, mas se permanecer com privilégios de super-utilizador poderá facilmente sair da sua "jaula". Mudar então um programa para que corra dentro da jaula sem permissões de super-utilizador não é então coisa trivial. Também não é assim muito difícil, mas com este programa fica mais fácil: basta especificar a directoria onde se encontra o programa, sob que utilizador se quer que o programa corra, e o comando para executar, e o programa depois trata dos passos todos para criar a jaula, perder os privilégios, e executar o programa. Adicionalmente, o RootJail também verifica se o programa saiu, e nesse caso volta a executá-lo, com algumas preocupações de DoS.
Para mais informação, veja o README.

topo

xcorner.c
Xcorner é um simples e jeitoso programa para executar comandos quando o cursor do rato é deslocado para um canto do ecrã.
Os comandos podem ser executados normalmente, ou dentro de uma janela do gnome-terminal (GNOME), konsole (KDE) ou xterm (X).
Para informação sobre como especificar essas opções, que comando definir a que canto e outras opções veja o cabeçalho do código fonte.

topo

inb-0.1.0.tar.gz
O melhor jogo de estratégia é, quanto a mim, o StarCraft. Mas um problema que se impunha era como jogar em Multiplayer com outras pessoas que não estivessem ligadas à nossa rede física sem usar a Battle.Net.
Para resolver esse problema implementei o INB, ou InterNetworkBridge, que não é mais que uma bridge transparente (dispositivo que interconecta duas ou mais redes físicas de forma transparente, formando assim uma única rede lógica), com a característica de não estar limitado a redes físicas directamente ligadas ao servidor, mas poder usar ligações TCP/IP normais (modem, cabo ou xDSL, frame relay, HDLC, etc.).
Detalhes sobre como compilar e executar e considerações sobre segurança estão descritos na documentação que vem com a fonte no pacote.

topo

squash-dgux-x86.c
Este é um programa genérico para explorar vulnerabilidades de programas no Unix da Data General (DGUX) e assim obter privilégios adicionais.
O código assembly que será carregado no programa vulnerável encontra-se descrito neste ficheiro e as vulnerabilidades que já foram descobertas neste aqui.
A advisory que enviei para a Bugtraq pode ser encontrada na Security Focus, na Security Team e na Security Tracker.

topo

plug.c
Este é um daemon semelhante ao predir acima: fica à escuta numa dada porta e redirecciona as ligações a essa porta a outra porta ou servidor.
Tem também a característica de permitir registar os dados transmitidos em cada ligação.

topo

Antiguidades
Aqui encontrará alguns programas meus há muito criados e que no decorrer do tempo foram perdendo bits e bytes e partes, e tornaram-se obsoletos...
Por exemplo, um mini-howto sobre como mudar o ProFTPd para que funcionasse em chroot perdeu o patch necessário, e ainda bem pois o ProFTPd já suporta chroots por directorias e utilizadores, e alguns problemas de segurança no ProFTPd foram corrigidos...
As antiguidades são: autologin, chrooted proftpd, halt.com, hexd.c, stat.c, play.bas.

topo

(c) 2002, Luciano Rocha (Chave Pública GPG)