Resumo dos métodos comuns de teste de penetração

1. Processo de infiltração

 

  1. coletar mensagem

  2. Verificação de Vulnerabilidade/Ataque de Vulnerabilidade

  3. escalonamento de privilégios, manutenção de privilégios

  4. limpeza de registro

coletar mensagem

Geralmente, a varredura de portas e a varredura de vulnerabilidades são executadas primeiro para obter vulnerabilidades exploráveis. Use mais mecanismos de pesquisa

varredura de porta

Com autorização, use diretamente as ferramentas de varredura de portas, como nmap, masscan e escreva scripts py para obter portas abertas diretamente e obter informações de banner do lado do servidor. Introdução ao uso da verificação de porta Python https://thief.one/2018/05/17/1/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io Script de verificação de porta baseado em Powershell no Windows.

https://github.com/BornToBeRoot/PowerShell_IPv4PortScanner/tree/master/Scripts

varredura de vulnerabilidade

Use o scanner de urso polar, Nessus, awvs e outras ferramentas de varredura ausentes para escanear diretamente o alvo, e você pode ver diretamente o host sobrevivente e a vulnerabilidade do host.

2. Ataque de vulnerabilidade

Se você usar apenas a varredura de portas para encontrar portas abertas, precisará encontrar o CVE correspondente no banco de dados de vulnerabilidades (consultebug, ExploitDB) após obter as informações do banner e, em seguida, verificar se a vulnerabilidade existe. As verificações de segurança geralmente tentam encontrar todas as vulnerabilidades, tanto quanto possível, e avaliam e reparam os riscos das vulnerabilidades. Para invasão, concentre-se apenas na execução remota de código de alto risco e nas vulnerabilidades de divulgação de informações confidenciais que podem ser exploradas diretamente. Para verificação de vulnerabilidade, você pode encontrar o POC e EXP com o número CVE correspondente, verificar o código de exploração no ExploitDB, ver bug ou pesquisar no github para verificação de vulnerabilidade relacionada ou ferramentas de utilização.

2.1 Aplicação Web

Você pode procurar vulnerabilidades diretamente, como injeção, upload, execução de código, inclusão de arquivo, script entre sites, etc., para atacar. Geralmente, o AWVS pode ser usado para verificar diretamente as vulnerabilidades comuns.

2.1.2 Middleware da Web

(1)Tomcat

Tomcat é um subprojeto da organização de software Apache Jakarta. Tomcat é um contêiner JSP/Servlet. É uma implementação padrão de especificações JSP e Servlet desenvolvida com base no JSWDK (Java Server Web Development Kit) da Sun. Usar o Tomcat pode ser uma experiência as últimas especificações de JSP e Servlet.

  • Número da porta: 8080

  • Método de ataque:

    • Senha padrão, senha fraca, blasting, tomcat5 tem duas funções por padrão: tomcat e role1. Entre eles, as senhas padrão das contas tomcat e role1 são tomcat. Senhas fracas geralmente existem em versões abaixo de 5.

    • Implante o arquivo backdoor de guerra em segundo plano de gerenciamento

    • Vulnerabilidades de execução remota de código

  • referência:

    • https://paper.seebug.org/399/

    • http://www.freebuf.com/column/159200.html

    • http://liehu.tass.com.cn/archives/836

    • http://www.mottoin.com/87173.html

(2) Jboss

É um servidor de aplicativos J2EE executando EJB. É um projeto de código aberto e segue a especificação J2EE mais recente. Desde o início do projeto JBoss, ele evoluiu de um contêiner EJB para um sistema operacional Web baseado em J2EE (sistema operacional para web), que incorpora a tecnologia mais recente na especificação J2EE.

  • Porta: 8080

  • Método de ataque:

    • senha fraca, explosão

    • Gerenciar backdoor de guerra de implantação em segundo plano

    • desserialização

    • execução remota de código

  • referência:

    • http://www.vuln.cn/6300

    • http://mobile.www.cnblogs.com/Safe3/archive/2010/01/08/1642371.html

    • https://www.zybuluo.com/websec007/note/838374

    • https://blog.csdn.net/u011215939/article/details/79141624

(3)WebLogic

WebLogic é um Application Server produzido pela Oracle Corporation nos Estados Unidos. Mais precisamente, é um middleware baseado na arquitetura JAVAEE. WebLogic é um servidor de aplicações Java para desenvolvimento, integração, implantação e gerenciamento de aplicações Web distribuídas em larga escala, aplicações de rede e aplicativos de banco de dados. Introduza as funções dinâmicas do Java e a segurança do padrão Java Enterprise no desenvolvimento, integração, implantação e gerenciamento de aplicativos de rede de grande escala.

  • Porta: 7001, 7002

  • Método de ataque:

    • Senha fraca, blasting, senha fraca geralmente é weblogic/Oracle@123 ou weblogic

    • Gerenciar backdoor de guerra de implantação em segundo plano

    • SSRF

    • Vulnerabilidades de desserialização

    • weblogic_uac

  • referência:

    • https://github.com/vulhub/vulhub/tree/master/weblogic/ssrf

    • https://blog.gdssecurity.com/labs/2015/3/30/weblogic-ssrf-and-xss-cve-2014-4241-cve-2014-4210-cve-2014-4.html

    • https://fuping.site/2017/06/05/Weblogic-Vulnerability-Verification/

    • https://bbs.pediy.com/thread-224954.htm

(4) WebSphere

Um conjunto de ferramentas típicas de desenvolvimento de aplicativos de comércio eletrônico e ambiente operacional da IBM Corporation.

  • Porta: Porta padrão: 908*; o primeiro aplicativo é 9080, o segundo é 9081; o console é 9090

  • Método de ataque:

    • Explosão de login do console

    • Muitos consoles intranet websphere têm senhas fracas/senhas padrão, e você pode usar senhas como admin/admin e webshpere/webshpere para efetuar login. Depois de efetuar login no console por meio dessa senha, você pode implantar o pacote war para obter o WEBSHELL.

    • desserialização

    • Divulgação arbitrária de arquivo

  • referência:

    • https://loudong.sjtu.edu.cn/?keyword=WebSphere&serverity=%E9%AB%98%E5%8D%B1

    • http://www.fr1sh.com/wooyun_1/bug_detail.php?wybug_id=wooyun-2013-036803

    • https://gist.github.com/metall0id/bb3e9bab2b7caee90cb7

(5) Glassfish

2.1.3 Estrutura da Web

(1) Struts2

O Struts2 é uma estrutura elegante e extensível para criar aplicativos da Web Java prontos para empresas. De fato, existem muitas brechas. Toda vez que uma brecha importante é exposta, a plataforma é roubada.

  • Vulnerabilidades exploráveis

    • S2-046 CVE-2017-5638 Suportes 2.3.5-2.3.31, Suportes 2.5-2.5.10

    • S2-045 CVE-2017-5638 Suportes 2.3.5-2.3.31, Suportes 2.5-2.5.10

    • S2-037 CVE-2016-4438 Suportes 2.3.20-2.3.28.1

    • S2-032 CVE-2016-3081 Suportes 2.3.18-2.3.28

    • S2-020 CVE-2014-0094 Suportes 2.0.0-2.3.16

    • S2-019 CVE-2013-4316 Suportes 2.0.0-2.3.15.1

    • S2-016 CVE-2013-2251 Suportes 2.0.0-2.3.15

    • S2-013 CVE-2013-1966 Suportes 2.0.0-2.3.14

    • S2-009 CVE-2011-3923 Suportes 2.0.0-2.3.1.1

    • S2-005 CVE-2010-1870 Suportes 2.0.0-2.1.8.1

  • referência:

    • https://github.com/hktalent/myhktools

    • https://github.com/Lucifer1993/struts-scan

    • https://github.com/SecureSkyTechnology/study-struts2-s2-054_055-jackson-cve-2017-7525_cve-2017-15095

(2) Estrutura de mola

Spring Framework é uma estrutura de aplicativo Java/Java EE full-stack (full-stack) de software livre, lançada na forma do contrato de licença de software livre Apache License 2.0 e também possui uma versão portada na plataforma .NET. O Spring Framework fornece um método de desenvolvimento simples, que evitará um grande número de arquivos de propriedade e classes auxiliares que podem fazer com que o código subjacente se torne complicado e confuso.

  • Vulnerabilidades exploráveis

    • CVE-2010-1622

    • CVE-2018-1274

    • CVE-2018-1270

    • CVE-2018-1273

    • desserialização

    • travessia de diretório

  • referência

    • http://www.inbreak.net/archives/377

    • https://www.secpulse.com/archives/71762.html

    • http://www.open-open.com/news/view/1225d07

    • https://xz.aliyun.com/t/2261

    • https://xz.aliyun.com/t/2252

2.1.4 Servidor Web

    • IIS : Servidor WWW para Windows

      • Porta: 80

      • Método de ataque:

        • IIS, com WebDAV ativado, você pode visualizar diretamente os arquivos PUT do servidor

        • Vulnerabilidade de enumeração de nome de arquivo curto

        • execução remota de código

        • vulnerabilidade de escalonamento de privilégio

        • brechas de análise

      • referência: 

      • https://masterxsec.github.io/2017/06/07/IIS-write-%E6%BC%8F%E6%B4%9E%E5%88%A9%E7%94%A8/

      • http://www.freebuf.com/articles/4908.html

      • https://www.anquanke.com/post/id/85811

    • Apache

      • Porta: 80

      • Método de ataque:

        brechas de análise

        travessia de diretório

    • NginxGenericName

      • Porta: 80

      • Método de ataque:

        • brechas de análise

        • travessia de diretório

        • CVE-2016-1247: É necessário obter a permissão de operação do host, e o invasor pode substituir o arquivo de log por um link suave de qualquer arquivo, para realizar a escalação de privilégio e obter o privilégio de root do servidor.

        • referência:

          • https://www.seebug.org/vuldb/ssvid-92538

    • lighttpd

      • Porta: 80

      • Método de ataque:

        • travessia de diretório

2.2 Sistemas comuns de operação e manutenção

Geralmente, é dividido em ferramentas relacionadas à implantação automatizada e monitoramento de operação e manutenção. As vulnerabilidades podem ser obtidas por meio de mecanismos de pesquisa, pesquisas no github, pesquisas no ExploitDB e avisos de segurança no site oficial. Um problema comum com aplicativos de uso geral na intranet são as senhas fracas.Se um administrador pode efetuar login em vários sistemas, as contas e senhas para esses sistemas são basicamente as mesmas.

2.2.1 Gitlab

O GitLab é um aplicativo de código aberto desenvolvido em Ruby on Rails que implementa um repositório de projetos auto-hospedado que pode ser acessado por meio de uma interface web para projetos públicos ou privados.

  • Vulnerabilidades exploráveis:

    • Vulnerabilidade de leitura arbitrária de arquivo

    • Vulnerabilidade inesperada de divulgação de token de usuário

    • vulnerabilidade de execução de comando

  • referência:

    • http://blog.knownsec.com/2016/11/gitlab-file-read-vulnerability-cve-2016-9086-and-access-all-user-authentication-token/

    • http://rinige.com/index.php/archives/577/

2.2.2 Jenkins

Jenkins é um software aplicativo de integração e entrega contínua de plataforma cruzada, que facilita a entrega contínua e estável de novas versões de software e melhora a eficiência do seu trabalho. A ferramenta DevOps também torna mais fácil para os desenvolvedores incorporar alterações em um projeto e usar uma ampla variedade de técnicas de teste e implantação.

  • Vulnerabilidades exploráveis:

    • Vulnerabilidades de execução remota de código

    • Vulnerabilidades de desserialização

    • Vulnerabilidade de acesso não autorizado

    • Explosão de entrada de login

  • referência

    • https://www.cnblogs.com/backlion/p/6813260.html

    • https://www.anquanke.com/post/id/86018

    • https://paper.seebug.org/199/

2.2.3 Marionete

A Puppet Enterprise é especializada em gerenciamento de infraestrutura como código (IAC), um tipo de processo de provisionamento de infraestrutura de TI no qual os sistemas são construídos, gerenciados e configurados automaticamente usando código em vez de processos com script. Como é um código, todo o processo é facilmente repetível. O Puppet facilita o controle de versão, testes automatizados e entrega contínua para uma resposta mais rápida a problemas ou bugs.

  • Vulnerabilidades exploráveis, poucos PoCs públicos

    • desserialização

    • execução de comando remoto

2.2.4 Ansible

Ansible é uma ferramenta de configuração e gerenciamento para implantação e configuração de software orientado ao cliente, compatível com Unix, Linux e Windows. Ele usa JSON e YAML, não IAC, e não requer nenhum agente de nó para instalar. Ele está disponível em sistemas internos via OpenStack, bem como no Amazon EC2.

  • Vulnerabilidades exploráveis

    • execução remota de código

2.2.5 Nagios

Nagios é um sistema de computador de código aberto e ferramenta de monitoramento de rede, que pode efetivamente monitorar o status do host do Windows, Linux e Unix, configurações de rede como switches e roteadores, impressoras, etc. Quando o status do sistema ou do serviço é anormal, um alarme por e-mail ou SMS é enviado para notificar o pessoal de operação e manutenção do site na primeira vez, e uma notificação normal por e-mail ou SMS é enviada após a restauração do status.

  • Vulnerabilidades exploráveis

    • execução de código

    • SQLiName

  • referência

    • http://www.bugku.com/thread-87-1-1.html

    • http://www.mottoin.com/93936.html

2.2.6 Zabbix

O Zabbix é um poderoso sistema de monitoramento distribuído de código aberto que pode exibir os dados fornecidos por SNMP, JMXe .Zabbix AgentWEB GUI

  • Vulnerabilidades que podem ser exploradas (consulte ExploitDB para obter detalhes):

    • execução remota de código

    • SQLiName

    • injeção de comando shell

    • desvio de autenticação

    • A conta e senha padrão, a senha padrão é admin/zabbix ou guest/vazio

  • referência

    • https://blog.csdn.net/ytuo1223/article/details/45937981

    • http://vinc.top/2017/04/18/zabbix%E6%BC%8F%E6%B4%9E%E6%80%BB%E7%BB%93/

    • http://www.mottoin.com/87570.html

2.2.7 Cacit

Cacti é um conjunto de ferramentas de análise gráfica para monitoramento de tráfego de rede desenvolvido com base em PHP, MySQL, SNMP e RRDTool.

  • Vulnerabilidades exploráveis

    • execução de código arbitrário

    • SQLiName

    • explosão de login

    • Senha padrão admin/admin

  • referência:

    • http://wooyun.jozxing.cc/static/bugs/wooyun-2011-02674.html

2.2.8 Splunk

O Splunk Enterprise pode monitorar e analisar dados de máquina de qualquer fonte para fornecer inteligência operacional para otimizar sua TI, segurança e desempenho de negócios. Com análises intuitivas, aprendizado de máquina, aplicativos empacotados e APIs abertas, o Splunk Enterprise é uma plataforma flexível que vai de casos de uso focados a um backbone analítico em toda a empresa.

  • Vulnerabilidades exploráveis

    • vazamento de informação

    • injeção de comando

    • falsificação de solicitação de servidor

  • referência

    • Pesquisa ExploitDB

2.3 Aplicações Web Comuns

Existem também aplicativos de e-mail comuns e aplicativos CMS, pesquisa de vulnerabilidades correspondentes em mecanismos de pesquisa e uso de vulnerabilidades conhecidas para atacar.

2.3.1 Sistema de correio

Alguns deles usam Tencent Enterprise Mailbox e Ali Enterprise Mailbox, e é difícil ter brechas exploráveis. O outro é um sistema de correio que pode ser implantado de forma independente e é comumente usado por aplicativos de caixa de correio corporativo e governamental:

  • Coremail

  • bilhões de correspondência

  • 35 Internet

  • TurboMail

  • Intercâmbio

  • IBM Lotus

2.3.2 Aplicação CMS

2.4 Banco de Dados/Cache/Serviço de Mensagens

2.4.1 Banco de dados MySQL

  • Porta padrão: 3306

  • Método de ataque:

    • Explosão: senhas fracas

    • Vulnerabilidade de autenticação: CVE-2012-2122

    • ataque de negação de serviço

    • Desvio de senha universal Phpmyadmin: Nome de usuário: 'localhost'@'@" senha arbitrária

    • Escalação de direitos

  • referência:

    • https://www.seebug.org/appdir/MySQL

    • http://www.waitalone.cn/mysql-tiquan-summary.html?replytocom=390

    • https://xz.aliyun.com/t/1491

2.4.2 Banco de dados MSSQL

  • Porta padrão: 1433 (serviço de banco de dados do servidor), 1434 (Monitoramento do banco de dados)

  • Método de ataque:

    • Explosão: senha fraca/usar usuário do sistema

    • injeção

  • referência:

    • https://www.anquanke.com/post/id/86011

2.4.3 Banco de dados Oracle

  • Portas padrão: 1521 (porta do banco de dados), 1158 (porta Oracle EMCTL), 8080 (banco de dados Oracle XDB), 210 (serviço FTP Oracle XDB)

  • Método de ataque:

    • Explosão: senhas fracas

    • ataque de injeção;

    • Exploração; - Referência:

    • https://www.leiphone.com/news/201711/JjzXFp46zEPMvJod.html

2.4.4 Banco de dados PostgreSQL

O PostgreSQL é um sistema de gerenciamento de banco de dados objeto-relacional de software livre com recursos completos.Pode ser considerado o sistema de gerenciamento de banco de dados gratuito mais avançado e poderoso do mundo. Incluir o msf no sistema Kali também usa esse banco de dados; fale sobre a tecnologia de ataque ao banco de dados postgresql A maioria dos ataques a ele ainda são de injeção de sql, portanto, a injeção é um tópico que permanece inalterado no banco de dados.

  • Porta padrão: 5432

  • Método de ataque:

    • Explosão: senha fraca: postgres postgres

    • Estouro de buffer: CVE-2014-2669

  • referência:

    • http://drops.xmd5.com/static/drops/tips-6449.html

    • https://www.secpulse.com/archives/69153.html

2.4.5 Banco de dados MongoDB

MongoDB, banco de dados NoSQL; método de ataque é semelhante a outros bancos de dados》

  • Porta padrão: 27017

  • Método de ataque:

    • Explosão: senhas fracas

    • Acesso não autorizado; github tem código de ataque; por favor clique

  • referência:

    • http://www.cnblogs.com/LittleHann/p/6252421.html

    • http://www.tiejiang.org/19157.html

2.4.6 Banco de dados Redis

Redis é um banco de dados de código-fonte aberto, tipo log e valor-chave, escrito em linguagem C que oferece suporte à rede e pode ser baseado em memória ou persistente. Este banco de dados tem sido muito popular nos últimos dois anos, e muitos problemas foram expostos. Especialmente o acesso não autorizado que foi exposto há algum tempo.

  • Método de ataque:

    • Explosão: senhas fracas

    • Acesso não autorizado + escalonamento com chave ssh;

  • referência:

    • http://www.alloyteam.com/2017/07/12910/

2.4.7 Banco de dados SysBase

  • Porta padrão: porta de serviço 5000; porta de escuta 4100; porta de backup: 4200

  • Método de ataque:

    • Explosão: senhas fracas

    • Injeção de comando:

  • referência

2.4.8 banco de dados DB2

  • Porta padrão: 5000

  • Método de ataque:

    • Desvio de restrição de segurança: ações não autorizadas podem ser executadas com sucesso (CVE-2015-1922)

  • referência:

    • http://23.94.222.93/bug_detail.php?wybug_id=wooyun-2015-0113071

2.5 Serviços Comuns/Acordo

2.5.1 Serviço FTP

Serviço FTP: posso dividir o serviço ftp em duas situações. A primeira é usar o software do sistema para configurar, como compartilhamento de arquivo FTP no IIS ou o software de serviço padrão no Linux; a segunda é usar software de terceiros para configurar, como Serv -U Existem também alguns servidores ftp simples escritos na Internet; porta padrão: 20 (porta de dados); 21 (porta de controle); 69 (protocolo de transferência de arquivos pequenos tftp)

  • Método de ataque:

  • Jateamento: Existem muitas ferramentas de jateamento para ftp, aqui recomendo o Bruter do owasp e o modulo ftp blasting no msf;

  • Acesso anônimo: nome de usuário: senha anônima: vazia ou qualquer caixa de correio

  • Sniffing: o ftp usa tecnologia de transmissão de texto simples (mas o sniffing é fornecido à LAN e precisa falsificar ou escutar o gateway)

  • backdoor vsftp

  • estouro remoto

  • ataque de salto

2.5.2 Serviço NFS

NFS (Network File System) é um sistema de arquivos de rede, que é um dos sistemas de arquivos suportados pelo FreeBSD, que permite que os computadores da rede compartilhem recursos através da rede TCP/IP. Em aplicativos NFS, os aplicativos cliente NFS locais podem ler e gravar de forma transparente arquivos localizados em servidores NFS remotos, assim como acessar arquivos locais. Hoje, o NFS tem a função de impedir que a pasta de exportação seja explorada, mas se o serviço NFS no sistema legado estiver configurado incorretamente, ele ainda pode ser explorado por invasores mal-intencionados.

  • método de ataque

    • acesso não autorizado

  • referência

    • http://www.freebuf.com/articles/network/159468.html

    • http://www.vuln.cn/6368

2.5.3 Serviço de Samba

Samba é um software livre que implementa o protocolo SMB/CIFS em sistemas linux e unix, e consiste em programas de servidor e cliente. SMB é um protocolo de comunicação que oferece suporte a arquivos e impressoras compartilhados em uma rede local e fornece serviços de compartilhamento de recursos como arquivos e impressoras entre diferentes computadores em uma rede local.

  • método de ataque

    • execução remota de código

    • senha fraca

    • Acesso não autorizado (público)

  • referência

    • http://www.91ri.org/17114.html

2.5.4 Serviço SSH

O SSH é um protocolo e o software OpenSSH geralmente é usado para implementar aplicativos de protocolo. SSH é a abreviatura de Secure Shell, desenvolvido pelo Network Working Group do IETF; SSH é um protocolo de segurança baseado na camada de aplicação e na camada de transporte. SSH é atualmente o protocolo mais confiável projetado para fornecer segurança para sessões de login remoto e outros serviços de rede. O uso do protocolo SSH pode efetivamente evitar o vazamento de informações no processo de gerenciamento remoto.

  • porta: 22

  • Método de ataque:

    • explodir

    • porta dos fundos

    • Vulnerabilidades: 28 vulnerabilidades de backspace, vulnerabilidades de OpenSSL

  • referência

    • https://cloud.tencent.com/developer/article/1078187

2.5.5 Serviço Telnet

O protocolo Telnet é um membro da família de protocolos TCP/IP e é o protocolo padrão e o principal método de serviço de login remoto da Internet. Ele fornece aos usuários a capacidade de fazer trabalho de host remoto em seu computador local. Use o programa telnet no computador do usuário final para se conectar ao servidor. Os usuários finais podem inserir comandos no programa telnet, e esses comandos serão executados no servidor, como se fossem inseridos diretamente no console do servidor. O servidor pode ser controlado localmente.

  • Porta padrão: 21

  • Método de ataque:

    • explodir

    • cheirar

2.5.6 Conexão remota do Windows

  • Porta padrão: 3389

  • método de ataque

    • explodir

    • Shift sticky key backdoor: 5 vezes shift backdoor

    • Use ms12-020 para atacar a porta 3389

2.5.7 Serviço VNC

VNC (Virtual Network Computing) é um software de compartilhamento de tela e operação remota usando o protocolo RFB. Este software pode enviar ações de teclado e mouse e imagens de tela em tempo real através da rede.

  • Porta padrão: 5900 + ID da área de trabalho (5901; 5902)

  • Método de ataque:

    • Explosão: senhas fracas

    • Ignorar a senha de autenticação:

    • Ataque de negação de serviço: (CVE-2015-5239)

    • Escalação de Privilégios: (CVE-2013-6886)

2.5.8 Protocolo SMTP

smtp: protocolo de correio, este serviço é ativado por padrão no linux e você pode enviar e-mails de phishing para a outra parte!

  • Porta padrão: 25 (smtp), 465 (smtps)

  • Método de ataque:

    • Explosão: senhas fracas

    • acesso não autorizado

2.5.9 Protocolo POP3

  • Porta padrão: 109 (POP2), 110 (POP3), 995 (POP3S)

  • Método de ataque:

    • força bruta; senha fraca

    • acesso não autorizado;

2.5.10 Serviço DNS

  • Porta padrão: 53

  • Método de ataque:

    • vulnerabilidade de transferência de zona

2.5.11 Protocolo IMAP

  • Porta padrão: 143 (imap), 993 (imaps)

  • Método de ataque:

    • Explosão: senhas fracas

    • configuração imprópria

2.5.12 Protocolo SNMP

  • Porta padrão: 161

  • Método de ataque:

    • Explosão: senhas fracas

2.5.13 serviço DHCP

  • Porta padrão: 67&68, 546 (Failover DHCP para backup dinâmico de sistema duplo)

  • Método de ataque:

    • Sequestro de DHCP;

2.6 Ambiente de nuvem

2.6.1 VMware

Use o VMware vCloud para agrupar recursos de infraestrutura virtual em datacenters existentes e fornecê-los como serviços baseados em catálogo. Usado em conjunto com o VMware vSphere, a melhor plataforma para infraestrutura de computação em nuvem, o VMware vCloud Director permite que os clientes criem nuvens privadas seguras, transformando a maneira como os departamentos de TI fornecem e gerenciam serviços de infraestrutura e como os usuários os acessam e consomem. Em organizações em geral, existem muitas nuvens privadas na forma de Esxi instaladas independentemente ou sistemas virtualizados implantados independentemente.

  • Portas (muitas):

    • https://kb.vmware.com/s/article/2115330

    • https://kb.vmware.com/s/article/2081930

  • brecha

    • fuga de host

    • CVE-2017-5638

  • referência:

    • https://paper.seebug.org/348/

    • http://www.freebuf.com/articles/system/141179.html

    • http://www.mottoin.com/100651.html

    • http://www.52bug.cn/%E9%BB%91%E5%AE%A2%E6%8A%80%E6%9C%AF/4375.html

    • https://twitter.com/VMwareSRC

    • https://loudong.sjtu.edu.cn/?keyword=vmware&serverity=%E9%AB%98%E5%8D%B1&page=1

    • https://www.vmware.com/cn/security/hardening-guides.html

2.6.2 OpenStack

O OpenStack é um software de infraestrutura como serviço (IaaS) que permite a qualquer pessoa criar e fornecer serviços de computação em nuvem por conta própria. Além disso, o OpenStack também é utilizado para criar uma “Nuvem Privada” (Private Cloud) dentro do firewall, disponibilizando recursos compartilhados por diversos departamentos dentro de uma organização ou empresa.

  • Vulnerabilidades, existem brechas, mas o POC basicamente não. Verifique as práticas de configuração seguras.

    • Vulnerabilidade de desvio de permissão

    • vazamento de informação

    • Vulnerabilidades de Execução de Código

  • referência:

    • https://loudong.sjtu.edu.cn/?keyword=openstack&serverity=%E9%AB%98%E5%8D%B1

    • https://docs.openstack.org/liberty/zh_CN/install-guide-obs/environment-security.html

    • http://www.freebuf.com/news/topnews/107203.html

2.6.3 Docker

Docker é um projeto de software de código aberto que automatiza a implantação de aplicativos em contêineres de software, fornecendo assim uma camada de abstração de software adicional e um mecanismo de gerenciamento automático para a virtualização da camada do sistema operacional no sistema operacional Linux [1]. O Docker usa o mecanismo de separação de recursos no kernel do Linux, como cgroups e o espaço de nome do kernel do Linux (espaço de nome), para criar contêineres de software independentes (contêineres). Isso funciona em uma única entidade Linux, evitando a sobrecarga de inicializar uma máquina virtual. O suporte do kernel do Linux para namespaces isola completamente a visão de aplicativos no ambiente de trabalho, incluindo árvores de processo, redes, IDs de usuário e sistemas de arquivos montados, enquanto os cgroups principais fornecem isolamento de recursos, incluindo CPU, memória, E/S de bloco e rede . A partir da versão 0.9, os Dockers começaram a incluir a biblioteca de funções libcontainer como uma forma de começar a usar os recursos de virtualização fornecidos pelo kernel do Linux diretamente com base no uso da interface de virtualização abstrata fornecida pelo LXC da libvirt e systemd-nspawn.

  • Problemas de segurança (pocs com poucas vulnerabilidades, as verificações de segurança também são baseadas nas melhores práticas e recomendações oficiais de segurança):

    • CVE-2015-3630 1.6.0 Docker Libcontainer Security Bypass Vulnerability

    • CVE-2015-3627 1.6.1 Libcontainer e permissões do Docker Engine e vulnerabilidades de controle de acesso

    • CVE-2015-3630 1.6.1 Vulnerabilidade de desvio de segurança do Docker Engine

    • CVE-2014-9358 1.3.3 Vulnerabilidade de travessia de diretório do Docker

    • CVE-2014-9357 1.3.2 Permissão do Docker e vulnerabilidade de controle de acesso

    • CVE-2014-6408 1.3.1 Permissão do Docker e vulnerabilidade de controle de acesso

    • CVE-2014-5277 1.3.0 Docker e vulnerabilidade de injeção de código docker-py

    • Explosões de kernel Containers são virtualizações baseadas em kernel, e o host (host) e todos os containers no host compartilham um conjunto de kernels. Se a operação de um contêiner causar uma falha no kernel, os contêineres em toda a máquina serão afetados por sua vez.

    • Ataques de negação de serviço (ataques de negação de serviço) Todos os contêineres compartilham recursos do kernel. Se um contêiner monopoliza um determinado recurso (memória, CPU, vários IDs), pode fazer com que outros contêineres não funcionem devido à falta de recursos (formando ataque DoS).

    • Container breakouts (Container breakouts) O mecanismo de namespace do Linux é um dos núcleos do container, que permite um processo com PID=1 dentro do container, mas o número do processo fora do container é diferente (como 1234). O problema agora é que, se um processo com PID=1 ultrapassar o limite do namespace, ele obterá privilégios de root no host.

    • Imagens envenenadas (Poisoned images) consideram principalmente a segurança da imagem em si, não há muito o que dizer.

  • referência:

    • https://toutiao.io/posts/2y9xx8/preview

    • http://www.yunweipai.com/archives/21610.html

    • http://www.91ri.org/15837.html

    • https://blog.csdn.net/ruidu_doer/article/details/53401523

    • https://loudong.sjtu.edu.cn/?keyword=docker&serverity=%E9%AB%98%E5%8D%B1

    • http://dockone.io/article/150

    • http://www.dockerinfo.net/docker/docker%E5%AE%89%E5%85%A8

    • https://blog.waterstrong.me/docker-security/

2.7 Grandes dados

2.7.1 Elsaticsearch

O Elasticsearch é um mecanismo de pesquisa e análise distribuído que pode ser usado para pesquisa de texto completo, pesquisa e análise estruturada e pode combinar os três. O Elasticsearch é desenvolvido com base no Lucene e agora é um dos mecanismos de pesquisa de código aberto mais amplamente usados. Wikipedia, Stack Overflow, GitHub etc. constroem seus mecanismos de pesquisa com base no Elasticsearch.

  • Porta padrão: 9200(), 9300()

  • Método de ataque:

    • acesso não autorizado;

    • execução de comandos remotos;

    • travessia de arquivo;

    • Implantação de webshell de versão baixa;

  • referência

    • http://www.freebuf.com/sectool/38025.html

    • https://www.secpulse.com/archives/5401.html

2.7.2 hadoop

Hadoop é uma estrutura de código aberto que pode gravar e executar aplicativos distribuídos para processar dados em grande escala. Ele é projetado para análise de dados off-line e em grande escala. Não é adequado para o modo de processamento de transações on-line de leitura e gravação aleatórias de vários registros . Hadoop=HDFS (sistema de arquivos, relacionado à tecnologia de armazenamento de dados) + Mapreduce (processamento de dados), a fonte de dados do Hadoop pode estar em qualquer formato e tem melhor desempenho em comparação com o banco de dados relacional no processamento de dados semiestruturados e não estruturados, com recursos de processamento mais flexíveis, independentemente de qualquer forma de dados, serão eventualmente convertidos em chave/valor, chave/valor é a unidade básica de dados. Use o estilo funcional para mudar para Mapreduce em vez de SQL. SQL é uma instrução de consulta, enquanto Mapreduce usa scripts e códigos. Para bancos de dados relacionais, o Hadoop, que é usado para SQL, pode ser substituído pela seção de ferramentas de código aberto. Hadoop é uma solução de computação distribuída.

referência:

  • https://tech.meituan.com/hadoop-security-practice.html

  • https://zhuanlan.zhihu.com/p/33525241

  • https://www.anquanke.com/post/id/85343

  • https://www.cloudera.com/documentation/cdh/5-0-x/CDH5-Security-Guide/cdh5sg_hadoop_security_intro.html

2.7.3 Colmeia

O Hive é um produto de armazenamento de dados da família Hadoop. O maior recurso do Hive é que ele fornece sintaxe semelhante a SQL e encapsula o processo MapReduce subjacente, para que o pessoal de negócios com base em SQL também possa usar diretamente o Hadoop para operar big data.

referência:

  • https://cwiki.apache.org/confluence/display/Hive/Security

  • https://www.cnblogs.com/yejibigdata/p/6394719.html

2.7.4 Colher

O projeto Apache Sqoop (SQL-to-Hadoop) visa auxiliar RDBMS e Hadoop para troca eficiente de big data. Com a ajuda do Sqoop, os usuários podem facilmente importar dados de bancos de dados relacionais para o Hadoop e sistemas relacionados (como HBase e Hive); ao mesmo tempo, eles também podem extrair dados de sistemas Hadoop e exportá-los para bancos de dados relacionais. Além dessas funções principais, o Sqoop também fornece algumas ferramentas práticas, como a visualização de tabelas de banco de dados.

referência

  • https://sqoop.apache.org/docs/1.99.7/security.html

2.7.5 HBase

Baseado no HDFS, o HBase fornece um sistema de banco de dados com alta confiabilidade, alto desempenho, armazenamento em coluna, escalabilidade e leitura e gravação em tempo real. Está entre NoSQL e RDBMS. Ele só pode recuperar dados por meio de chaves de linha e sequências de chave de linha e oferece suporte apenas a transações de linha única (operações complexas, como união de várias tabelas, podem ser realizadas por meio do suporte do Hive). É usado principalmente para armazenar dados soltos não estruturados e semiestruturados. Assim como o Hadoop, o objetivo do HBase depende principalmente da expansão horizontal para aumentar os recursos de computação e armazenamento, adicionando continuamente servidores básicos baratos.

referência:

  • https://www.cloudera.com/documentation/enterprise/5-6-x/topics/admin_hbase_security.html

  • http://www.cloudera.com/documentation/cdh/5-1-x/CDH5-Security-Guide/cdh5sg_hbase_security.html

2.7.6 Faísca

O Spark é uma estrutura de computação paralela geral semelhante ao Hadoop MapReduce, de código aberto do laboratório UC Berkeley AMP. O Spark implementa a computação distribuída com base no algoritmo de redução de mapa e tem as vantagens do Hadoop MapReduce; no entanto, é diferente do MapReduce porque a saída intermediária e os resultados dos trabalhos podem ser armazenados na memória, eliminando assim a necessidade de ler e gravar no HDFS. referir-se:

  • http://cwiki.apachecn.org/pages/viewpage.action?pageId=2887905

3. Manutenção da escalada de autoridade

3.1 Escalação de direitos

O SecWiki resume:

  • https://github.com/SecWiki/windows-kernel-exploits

  • https://github.com/SecWiki/linux-kernel-exploits

3.2 Estabelecer backdoor/port forwarding

referência:

  • http://www.zerokeeper.com/experience/network-port-forwarding-and-penetration.html

  • https://1sparrow.com/2018/01/20/%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%E6%80%BB%E7%BB%93 /

  • http://drops.xmd5.com/static/drops/tools-15000.html

Encaminhamento de porta e ferramentas de proxy

  • LCX: software de encaminhamento de porta no Windows.

  • meiascap: principalmente para encaminhamento de porta e encaminhamento de proxy na plataforma Windows.

  • proxifier: ferramenta de encaminhamento de porta e proxy de plataforma cruzada, adequada para plataformas Windows, Linux, Macos, ferramenta de encaminhamento de proxy

  • Rsscoks: *A ferramenta de encaminhamento de porta e proxy sob a plataforma nix, é muito fácil de usar com proxychains.

  • Proxychains: *A antiquada ferramenta de proxy de meias sob a plataforma nix, o sistema geral virá com ela e quem a usar saberá.

  • proxy ssh: Proxy de porta e encaminhamento por meio de ssh, geralmente incluído em sistemas *nix.

  • netcat: socat, hping, pode fazer encaminhamento de porta e encaminhamento de proxy de dados em muitos casos.

  • Metasploit: Existem muitos módulos proxy e módulos de encaminhamento de porta no módulo pós-infiltração do metasploit.

Baixe a ferramenta de encaminhamento de porta (criptografada e compactada) no servidor de trânsito:

  • Pode se conectar à Internet para baixar

  • Carregamento de disco via mstsc

  • Trânsito pelo servidor de entrada

  • Carregar via software de controle remoto

3.3 Transferir arquivos

3.3.1 Empacotamento de arquivos

Sobre a embalagem

  • Pacote de arquivo rar, comprima todos os arquivos doc modificados após 2013-01-01 no diretório d:\data\, 100M/senha do pacote é Pass, -x é a opção de exclusão

    rar.exe a–r –v100m new.rar –ta20130101000000 –hpPass –n*.doc –x*.exe d:\data\
  • Criptografia 7z, compactar todos os arquivos em d:\data, a senha é Pass, subvolume 100M/pacote

    7z.exe a c:\xx.7z -pPass -mhe d:\data -v100m
  • O Linux pode adicionar senhas para empacotar arquivos com tar e deve ser usado em conjunto com o openssl.

    tar -zcvf - pma|openssl des3 -salt -k password | dd of=pma.des3
    • Use tar para extrair o arquivo criptografado:

      dd if=pma.des3 |openssl des3 -d -k password|tar zxf -

      ### 3.4.2 Várias ideias para transferência de arquivos

  • Envie dados diretamente usando encaminhamento de porta;

  • Construir protocolos FTP e HTTP;

  • Faça o upload para a nuvem e depois faça o download;

3.4 Criando um programa backdoor/trojan

Geralmente use o msfvenom do Matisploit, use a referência:

  • https://github.com/rapid7/metasploit-framework/wiki/How-to-use-msfvenom

  • https://www.offensive-security.com/metasploit-unleashed/msfvenom/

O SET também pode gerar programas de backdoor e você também pode prestar atenção às vulnerabilidades mais recentes do Office e PDF

4. Limpeza de registros

Antes de fazer a limpeza de log, você precisa entender o seguinte:

  • É difícil deletar completamente os rastros de ataques e intrusões, e a ausência de registros de log é em si uma característica de intrusão;

  • Excluir ou limpar os logs locais do sistema de intrusão não significa que os rastreamentos sejam excluídos e os registros ainda permaneçam nos dispositivos de rede, dispositivos de segurança e sistemas de log centralizados;

  • O próprio backdoor retido conterá informações sobre o invasor;

  • O proxy ou trampolim usado pode ser hackeado;

  • Verifique se há um login de administrador antes da operação;

  • Exclua a ferramenta carregada, use a função de substituição de disco para excluir;

Tipo de registro do Windows

  • Logs da Web: IIS, Apache e outros logs da Web

  • Logs de operação: lista de login 3389, arquivos acessados ​​recentemente, logs de acesso do navegador, como IE, logs de acesso a arquivos

  • Log de login: log de aplicativo do sistema - log de segurança, etc.

  • Antes do ataque e o estado ser restaurado, tente mantê-lo consistente

Log de operação do Linux

  • Operação do histórico do Linux

    unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null;
  • Registros de login SSHD excluem registros em ~/.ssh/known_hosts

  • Modifique o registro de data e hora do arquivo touch –r O arquivo original precisa ser modificado

  • Exclua arquivos de uso temporário, especialmente o diretório tmp

  • vaporizador de toras

Acho que você gosta

Origin blog.csdn.net/weixin_52501704/article/details/128671199
Recomendado
Clasificación