Labtainers: Um framework de laboratório cibernético baseado em Docker
Labtainers: uma estrutura de laboratório cibernético baseada em Docker ============================================== Os Labtainers incluem mais de 50 exercícios de laboratório cibernético e ferramentas para construir os seus próprios. Importe uma única [VM appliance][vm-appliance] ou instale num sistema Linux e os seus alunos ficam dispensados do provisionamento e da configuração administrativa, para estes e futuros exercícios de laboratório. * Ambientes de execução de laboratório consistentes e provisionamento automatizado através de contentores Docker * Topologias de rede com múltiplos componentes num portátil de desempenho modesto * Avaliação automatizada da atividade e do progresso dos alunos no laboratório * Exercícios de laboratório individualizados para desencorajar a partilha de soluções Os Labtainers proporcionam ambientes de execução controlados e consistentes nos quais os alunos realizam os laboratórios inteiramente dentro dos limites do seu computador, independentemente da distribuição Linux e dos pacotes instalados no computador do aluno. Os Labtainers são executados na nossa [VM appliance][vm-appliancee], ou em qualquer Linux com Docker instalado. E os Labtainers estão disponíveis como VMs baseadas na cloud, por exemplo, no Azure, conforme descrito no [Student Guide][student-guide]. Consulte o [Student Guide][student-guide] para instalação e utilização, e o [Instructor Guide][instructor-guide] para avaliação dos alunos. O desenvolvimento e a personalização de exercícios de laboratório são descritos no [Designer Guide][designer-guide]. Consulte os [Papers][Papers] para informações adicionais sobre a estrutura. O site dos Labtainers e os downloads (incluindo VM appliances com os Labtainers pré-instalados) estão em <https://nps.edu/web/c3o/labtainers>. [vm-appliance]: https://nps.edu/web/c3o/virtual-machine-images [student-guide]: https://raw.githubusercontent.com/mfthomps/labtainers/master/docs/student/labtainer-student.pdf [instructor-guide]: https://raw.githubusercontent.com/mfthomps/labtainers/master/docs/instructor/labtainer-instructor.pdf [designer-guide]: https://raw.githubusercontent.com/mfthomps/labtainers/master/docs/labdesigner/labdesigner.pdf [Papers]: https://nps.edu/web/c3o/labtainers#papers Distribution created: 09/11/2026 11:33 </br> Revision: v1.4.4n </br> Commit: 9f1012dc </br> Branch: master </br> ## Content [Distribution and Use](#distribution-and-use) [Guide to directories](#guide-to-directories) [Support](#support) [Release notes](#release-notes) ## Distribution and Use Consulte as informações de licenciamento e distribuição no [docs/license.md file](https://github.com/mfthomps/labtainers/blob/master/docs/license.md). ## Guide to directories * scripts/labtainers-student -- o diretório de trabalho para executar e testar laboratórios de alunos. Tem de estar nesse diretório para executar laboratórios de alunos. * scripts/labtainers-instructor -- o diretório de trabalho para executar e testar avaliação automatizada e visualizar os resultados dos alunos. * labs -- Ficheiros específicos de cada um dos laboratórios * setup\_scripts -- scripts para instalar os Labtainers e o Docker e atualizar os Labtainers * docs -- código-fonte latex para o labdesigner.pdf, e outra documentação. * UI -- código-fonte do editor de laboratórios Labtainers (Java). * headless-lite -- scripts para gerir o Docker Workstation e instâncias na cloud dos Labtainers (sistemas que não têm servidores X11 nativos.) * scripts/designer -- Ferramentas para construir novos laboratórios e gerir imagens Docker base. * config -- definições de configuração de todo o sistema (estas não são as definições de configuração específicas de cada laboratório. * distrib -- scripts de suporte à distribuição, por exemplo, para publicar laboratórios no Docker hub. * testsets -- Procedimentos de teste e resultados esperados. (Os controladores por laboratório para o SimLab não são distribuídos). * pkg-mirrors -- scripts utilitários para espelhamento interno de pacotes do NPS, para reduzir a obtenção externa de pacotes durante testes e distribuição. ## Support Utilize os relatórios de problemas do GitHub, ou envie-me um email para [email protected] Consulte também <https://my.nps.edu/web/c3o/support1> ## Release notes A distribuição padrão dos Labtainers não inclui os ficheiros necessários para o desenvolvimento de novos laboratórios. Para esses, execute ./update-designer.sh a partir do diretório labtainer/trunk/setup\_scripts. O script de instalação e o script update-designer.sh definem variáveis de ambiente, por isso pode querer terminar sessão/iniciar sessão, ou iniciar uma nova shell bash antes de utilizar os Labtainers pela primeira vez. Jauary 6, 2026 - Corrigido bug introduzido no script de instalação devido a indentação. December 30, 2025 - Formato do relatório checkwork modificado para vertical; guia em vídeo para headless; caminhos de conveniência October 15, 2025 - Laboratório packet-introspection revisto para atualizar a ligação para a base de dados de geolocalização maxmind e notar a utilização da base de dados legacy. April 24, 2025 - Corrigido o imodule para criar corretamente os diretórios em falta, conforme o pull request #96 November 22, 2024 - Substituída a VM do google cloud, desta vez devido a uma falha do systemd dentro dos contentores. September 23, 2024 - Substituída a VM do google cloud, que estava a usar a versão errada do Docker September 10, 2024 - Gralha na criação do caminho do imodule July 26, 2024 - Modificado o capinout para não usar a função clib grantpt, que agora parece falhar quando executada a partir de um contentor. July 22, 2024 - Adicionado um contentor base para Ubuntu22 e alterações à estrutura para o suportar. July 5, 2024 - Migração para Ubuntu 24 como VM appliance - O pacote docker pyhton usa uma biblioteca http python avariada, requer downgrade do pacote. - Utilizar ambiente python virtual para evitar o bloqueio de pacotes python do Ubuntu. - Adicionar parâmetro de arranque para permitir a partilha de systemd entre contentores e a VM. - Redirecionar mensagens de erro da ferramenta tar avariada nas atualizações. - Quebra da atualização do Ubuntu para pacotes msc (ver update-ubuntu.sh) para VMs versão 18 - O comando docker-compose está avariado, use "docker compose" - Forçar permissões de socket em labtainers headless. - Atualizar os Labtainers headless para usar Ubuntu 24 November 27, 2023 - Adicionada opção Google Cloud Platform para ubuntu22 na máquina ec2. September 18, 2023 - A implementação da correção anterior estava defeituosa. August 8, 2023 - Lidar com a alteração ao formato json da imagem DockerHub. Obrigado Kees! April 17, 2023 - Forçar a utilização da versão mais recente do laboratório, por exemplo, iptables2 em vez de iptables. Corrigir a conclusão com tab para mostrar apenas a mais recente. (Issue #77) - A instalação do laboratório CyberCIEGE estava a falhar devido a uma condição de corrida do X11. (Issue #76) - Nota no readme do CyberCIEGE para orientar os alunos a guardar os logs recolhidos no diretório $HOME. (Issue #75) - O checkwork do laboratório Radius estava a reportar incorretamente "radiusd not running", faltava o script prestop. (Issue #74) - O Labedit corrompia o ficheiro de configuração de arranque quando a opção MACVLAN\_EXT era usada. (Issue #73) February 1, 2023 - O histórico do Bash para utilizadores não predefinidos não estava a ser guardado. January 26, 2023 - Scripts powershell modificados para o gcloud usarem a zona selecionada para qualificar os nomes das VMs. January 4, 2023 - Os contentores que usavam systemd estavam a falhar no systemd mais recente presente no Ubuntu 22 - Adicionar parâmetro --zone aos scripts do google cloud, com valor derivado do script set\_defaults. December 21, 2022 - Corrigir os critérios de resultados do xforge para não esperarem um pathname, e adicionar verificação para ver se foi emitido um POST para editar o perfil. E corrigir o servidor http do atacante para ser executado a partir do diretório home. December 19, 2022 - Adicionar laboratório strace para introduzir o rastreamento de chamadas de sistema. - O valor de X11 DISPLAY estava incorreto se existissem múltiplos dispositivos no diretório /tmp/.X11-unix. - A utilização de python/bash/sh/etc sem argumentos estava a fazer o capinout falhar. December 9, 2022 - Modificar o script de criação de VM Azure para usar uma imagem de VM Labtainer pré-construída da Azure Community Gallery. - Os terminais em VMs na cloud falham por razões desconhecidas durante o arranque ou ao clicar com o botão direito no terminal. Tentar resolver através de start/stop de um terminal. December 5, 2022 - Ao recolher artefactos, incluir ficheiros modificados de diretórios de utilizadores não predefinidos, por exemplo, os seus históricos bash. - Alterar a avaliação web para mostrar os novos ficheiros "other user". - Incluir ficheiros de .local/bin em cada contentor nos artefactos. Destinado a torná-los disponíveis ao instrutor através da avaliação web. - No laboratório ACL, incluir o ficheiro th /shared\_data/bob/fun nos resultados para referência do instrutor. - Apanhar a utilização de "sh" ou "bash" a partir da linha de comandos e ignorar ao analisar o comando dado, por exemplo, como feito com "time" ou "sudo". - No laboratório tcpip, não era possível fazer ssh para o servidor durante sessões de laboratório subsequentes, o diretório /run/sshd não estava a ser recriado. November 16, 2022 - Corrigir o caminho para o Snort Manual no laboratório snort. - No manual do ossec, corrigir o caminho para manage\_agents October 12, 2022 - Google cloud remover o operador de background do comando gnome-terminal, ainda falha ao clicar com o botão direito mas parece estável após executar um newterm.sh. October 10, 2022 - Corrigir o newterm.sh do Google cloud; expandir esse disco de arranque para 30G. September 20, 2022 - Nota do id de utilizador e palavra-passe para o laboratório TCP/IP no manual do laboratório. August 30, 2022 - Usar o nome do socket X11 ao definir DISPLAY a partir do .profile de um contentor August 9, 2022 - Corrigir o nome da função processValueMax no grader. Issue #63 August 4, 2022 - O programa labedit foi reconstruído com o JDK errado, impedindo JREs mais antigos de executar o labedit July 18, 2022 - A criação de contentores baseados em Ubuntu20 estava a falhar dentro de IModules. Issue #61. March 23, 2022 - Corrigir o caminho para o diretório de lock do tap; estava a causar a falha de laboratórios que usam network taps - Atualizar o computador netmon do plc-traffic para ter openjfx necessário para o novo grassmarlin no ambiente java - Acelerar o arranque do laboratório evitando chown -R, que é muito lento no docker. - Outra tentativa de evitar a eliminação da ligação X11 no diretório /tmp do contentor. - Corrigir a contagem de sites visitados do webtrack e remover o objetivo live-headers, essa ferramenta já não está disponível. Clarificados alguns passos do manual do laboratório. March 2, 2022 - Adicionar novo laboratório ssh-tunnel (obrigado GWD!) - Corrigir a falha do labedit em refletir o valor X11 definido por new\_lab\_setup - Adicionar opção para não parametrizar um contentor February 23, 2022 - O labedit estava a corromper o start.config após a adição de novos contentores - Caminho incorreto para o guia do aluno no ficheiro README do aluno; alterar dinamicamente para configurações de cloud - Extensão incorreta para update-labtainer.sh - Melhorias no guia Msc - Atualizar o laboratório ghidra para incluir a versão 10.1.2 do Ghidra February 15, 2022 - Reverter o suporte da cloud Azure para provisionar por cada aluno. A Azure desencoraja a partilha de recursos. January 24, 2022 - A cloud Azure agora usa uma imagem armazenada num blob do Azure em vez de provisionar por cada aluno. - Adicionado suporte para Google Cloud. January 19, 2022 - Introduzir os Labtainers na cloud Azure. Consulte o Student Guide para detalhes sobre como usar isto. January 3, 2022 - Rever o laboratório setuid-env para adicionar melhor avaliação; testes simlab e evitar sighup no filho printenv. - Corrigir a diretiva de contagem de objetivos de avaliação para excluir valores de etiquetas de resultado falsos. - Não exigir labname ao usar gradelab -a com um grader iniciado com a opção debug. - Rever o capinout (espelhamento stdin/stdout) para lidar com o orfanamento de processos filhos do comando, documentação melhorada e tratamento de erros. - Adicionada a apresentação de barras de progresso das imagens docker a serem obtidas quando um laboratório é executado pela primeira vez. - Feedback ao utilizador sobre o progresso da inicialização do contentor. - O laboratório pcap-lib não tinha um ficheiro notify necessário para a avaliação automatizada; Remover passo supérfluo do Lab Manual. November 23, 2021 - Desativar erros popup do ubuntu na VM de teste. - Corrigir o tratamento de diferentes formatos da variável DISPLAY. October 22, 2021 - Rever o guia do laboratório tcpip para notar que um ataque syn-flood bem-sucedido não é possível. Corrigir a sua avaliação automatizada e adicionar scripts SimLab. - Alterar a extensão do ficheiro de artefacto de zip para lab, e adicionar um preâmbulo para confundir os gestores de ficheiros GUI. Os alunos estavam a abrir o zip e a submeter o seu conteúdo. - Tornar a opção -r do gradelab a predefinição, adicionar uma opção -c para uso cumulativo do grader. - Modificar o refresh\_mirror para se referir à data de lançamento local para evitar consultas frequentes ao DockerHub. Cada uma dessas consultas conta como uma obtenção de imagem, e agora estão a tentar monetizar isso. September 30, 2021 - Alterar o guia do laboratório bufoverflow e a classificação para não esperar sucesso com ASLR ativado, avaliar se foi executado. - Tratamento de erros para o web grader nos casos em que o aluno não tem resultados. - Imprimir aviso quando um laboratório obsoleto é executado. - Alterar a classificação do formatstring para remover a descrição não utilizada "\_leaked\_secret" e clarificar o valor de leaked\_no\_scanf. - Alterar também a classificação do formatstring para permitir qualquer nome para o executável vulnerável. September 29, 2021 - Tratamento de erros do Gradelab, reduzir as instâncias de falhas devido a ficheiros zip inválidos. - Limitar os ficheiros de artefacto stdout a 1MB September 17, 2021 - O guia do laboratório Ghidra tinha um endereço IP errado, não foi refeito a partir do código-fonte. September 14, 2021 - Laboratórios de exemplo para LDAP e Mariadb usando SSL. Destinados como modelos para novos laboratórios. - Lidar com o formato de log do Mariadb - Adicionar parâmetros por contentor para limitar o uso de CPU ou fixar o contentor a um conjunto de CPUs. - Criação de Labpack agora disponível através de uma GUI (makepackui). - Conclusão com tab para os comandos labtainer, labpack e gradelab. - Novo laboratório de computação paralela ``parallel'' usando MPI. August 3, 2021 - Adicionar uma opção de configuração "WAIT\_FOR" para fazer com que um contentor atrase a parametrização até que outro contentor complete a sua parametrização. - Suporte para formatos de log do Mariadb na análise de resultados - Remover o suporte para utilização de Mac e Windows do Docker Desktop. Esse produto é demasiado instável para o suportarmos. - Suprimir mensagens stderr quando o utilizador usa comandos bash incorporados como "which". - Correções de bugs nos programas makepack/labpack. July 19, 2021 - Adicionar um laboratório de DNS para introduzir o protocolo e a configuração de DNS. - Imagem da appliance VirtualBox revista para iniciar com o script de atualização correto. - Separar o parâmetro nameserver do resolv.conf do campo de configuração lab\_gw para o seu próprio valor. - O comando IModule falhava se fosse executado antes de qualquer laboratório ter sido iniciado. July 5, 2021 - Erros na gestão da variável de ambiente DISPLAY quebravam as aplicações GUI no Docker Desktop. July 1, 2021 - Suporte à instalação do pacote Mac dos Labtainers headless. - A avaliação automatizada do laboratório routing-basics falhava devido à falta de ficheiros treataslocal - Corrigir gralhas e endereços incorretos no laboratório routing-basics, e corrigir a avaliação automatizada. - A avaliação do pcapanalysis estava a falhar. June 10, 2021 - Todos os manuais de laboratório em PDF estão agora no repositório github - Converter as instruções do vpnlab e vpnlab2 em manuais de laboratório em PDF. May 25, 2021 - Adicionar palavras-chave pesquisáveis a cada laboratório. Consulte "labtainer -h" para a utilização. - Expandir o laboratório routing-basics e o manual do laboratório - Remover o laboratório routing-basics2, agora é redundante. - O sudo em alguns contentores falhava porque os hostnames removem underscores, levando a uma incompatibilidade com o ficheiro hosts. Corrigir com uma entrada extra no ficheiro hosts com o nome do contentor sem underscore. - Nova funcionalidade Labpack para empacotar uma coleção de laboratórios, e ferramenta makepack para criar Labpacks. - Verificação de erros para o diretório /sbin ao usar ubuntu20 -- seria silenciosamente fatal. - Novo laboratório network-basics May 5, 2021 - Introduzir um novo laboratório users para introduzir a gestão de utilizadores/grupos - Suprimir mensagens do Apparmor do host nos syslogs do contentor centos April 28, 2021 - As novas imagens base2 não tinham man pages. Usado unminimize para as restaurar na imagem base. - Introduzir um laboratório de IDS baseado em host OSSEC. April 13, 2021 - O laboratório CyberCIEGE falhava porque o socket X11 não era relocalizado antes de iniciar o Wine via fixlocal. April 9, 2021 - Novo laboratório tutorial gdb-cpp para usar o GDB num programa C++ simples. - As exceções de vírgula flutuante estavam a revelar a utilização de exec\_wrap.sh para espelhamento de stdin/stdout. April 7, 2021 - O laboratório ldap falhava quando movido para Ubuntu 20. Problema rastreado até um problema com a cache nscd de pwd. Mover o ldap para Ubuntu 20 March 23, 2021 - A parametrização com RANDOM não incluía o limite superior. - Adicionar parâmetro de passo opcional ao RANDOM, por exemplo, para garantir limites de palavras. - Laboratório db-access: adicionar mysql-workbench ao computador de base de dados. - Novo laboratório overrun para ilustrar referências de memória além dos limites das estruturas de dados c. - Novo laboratório printf para introduzir as referências de memória feitas pela função printf. March 19, 2021 - gradelab ignorar erro de makdirs, problema com rmtree do Windows em pastas partilhadas. - gradelab lidar com espaços em nomes de ficheiros zip de alunos. - gradelab lidar com nomes de ficheiros zip do Moodle, incluindo downloads de build. March 12, 2021 - UI do labedit: Remover a imagem wireshark antiga da lista de imagens base. - UI do labedit: Aumentar alguns tamanhos de letra. - A interface web do grader falhava ao mostrar os manuais de laboratório se o nome do manual não seguir as convenções de nomenclatura. March 11, 2021 - UI do labedit adicionar definição de registry no novo painel de configuração global do laboratório. March 10, 2021 - Correções na UI do labedit para não construir se houver erro de sintaxe no laboratório - Correção do indicador "Lab running" da UI do labedit para refletir o laboratório atual. March 8, 2021 - Descontinuar a utilização de HOST\_HOME\_XFER, todos os laboratórios usam o diretório conforme o ficheiro labtainer.config. - Adicionar comentário de documentação ao start.config para REGISTRY e BASE\_REGISTRY March 5, 2021 - Tratamento de erros na interface web do gradelab quando faltam resultados. - Adição de precheck ao labedit, correções de bugs msc. February 26, 2021 - O laboratório dmz-example tinha erros no encaminhamento e na configuração do dnsmasq em alguns componentes. February 18, 2021 - A UI estava a reconstruir imagens porque estava a atualizar os tempos dos ficheiros sem motivo - Limpar o código da UI para remover algumas cópias de dados redundantes. February 14, 2021 - Adicionar opção de build local à UI - Criar faux\_init vazio para bases centos6. February 11, 2021 - Corrigir o tratamento da UI para edição de ficheiros. Rever o layout e eliminar campos não utilizados. - Adicionar configuração base ubuntu20 base2 juntamente com ssh2, network2 e wireshark2 - O novo wireshark resolve o problema das janelas pretas/com ruído. - Mapear /tmp/.X11-unix para /var/tmp e criar uma ligação. Necessário para ubuntu20 (estava a eliminar /tmp?) e pode corrigir outros. February 4, 2021 - Adicionar opção SIZE aos artefactos de resultados - Simplificar a avaliação e parametrização do wireshark-intro e adicionar manual de laboratório em PDF. - Fornecer valores da lista de parâmetros ao script pregrade.sh como variáveis de ambiente - ativar X11 no grader - colocar update-designer.sh no path dos utilizadores. January 19, 2021 - Alterar a gestão da data/rev do README para atualizar o ficheiro no repositório de origem. - Introduzir GUI para criar/editar laboratórios -- ver o comando labedit. December 21, 2020 - A função gradelab falhava quando os ficheiros zip eram copiados de uma pasta partilhada do VirtualBox. - Atualizar o Instructor Guide para descrever a gestão de ficheiros zip de alunos em computadores host. December 4, 2020 - Transição da distribuição de tar para artefactos de release do GitHub - Eliminar o ficheiro tar separado do designer, usar o tarball do repositório git. - Testar as funções web do grader para análise de artefactos de laboratório dos alunos - Limpar logs do smoketest completo e eliminar o contentor do grader no comando removelab. December 1, 2020 - A avaliação do laboratório iptables2 dependia de portas aleatórias serem "unknown" para o nmap. - Usar um diretório de sincronização para atrasar o início dos smoketests antes do arranque do laboratório. - Começar a integrar elementos da UI do Lab designer. October 13, 2020 - Configurações headless para executar no Docker Desktop em Macs & Windows - Suporte a servidor headless, ficheiro cloud-config para implementações na cloud - Suporte de testes para configurações headless - Forçar o mynotify a esperar até o rc.local ser executado no arranque - Melhorar a capacidade do serviço mynotify de fundir a saída num único timestamp - Python3 para o script stopgrade - O SimLab agora usa docker top em vez de system ps September 26, 2020 - Limpar os scripts stoplab para ignorar contentores que não são de laboratório - Adicionar laboratório de controlo de acesso a base de dados db-access para partilha controlada de uma base de dados mysql. September 17, 2020 - O laboratório macs-hash não conseguia executar o Leafpad devido à definição do X11. - O logging do Grader estava a ser redirecionado para o ficheiro de log errado, agora captura erros de instructor.py - Copiar instructor.log do grader para o diretório de logs do host se houver um erro. August 28, 2020 - Corrigir o script de instalação para usar python3-pip e corrigir scripts avariados: getinfo.py e pull-all.py - A lógica do Registry estava avariada, os sistemas de teste não estavam a usar o registry de teste, adicionar documentação de desenvolvimento. - Adicionar ficheiros base juiceshop e owasp para laboratórios de segurança web baseados em OWASP - Remover sudos desnecessários do check\_nets - Adicionar diretiva de documentação CHECK\_OK para avaliação automatizada - Alterar o check\_nets para corrigir problemas de iptables e encaminhamento se assim for indicado. August 12, 2020 - Adicionar timeout aos scripts prestop - Adicionar quiz e checkwork ao dmz-lab - Reiniciar o dmz-lab sem a opção -r quebrava o encaminhamento para fora do ISP. - Permitir múltiplos ficheiros para resultados time\_delim.6 de agosto de 2020 - Bug no tratamento de erros quando o socket X11 está ausente - Vírgulas nas perguntas do quiz causavam erros de análise - Adicionar quiz e checkwork ao laboratório iptables2 28 de julho de 2020 - Adicionar suporte a quiz -- estes são quizzes de orientação, não quizzes de avaliação. Consulte o guia do designer. - Adicionar avaliação de estado atual para uso com o comando checkwork. 21 de julho de 2020 - Adicionar testsets/bin ao path do designer - Correções e explicações no guia do designer para os passos do IModule. - Adicionar tipo de resultado RANGE\_REGEX para definir intervalos de tempo usando expressões regulares em entradas de log. - Verificar se o socket X11 existe quando necessário ao iniciar um laboratório. - Adicionar imagem base para mysql - Tratar formatos de timestamp de log do mysql na análise de resultados. 15 de junho de 2020 - Nova imagem base contendo o roteador open source Bird - Adicionar laboratório bird-bgp Border Gateway Protocol. - Adicionar bird-ospf Open Shortest Path First routing protocol. - Melhorar o tratamento de alterações de DNS, o acesso externo de alguns contêineres estava bloqueado em alguns sites. - Adicionar seção ao Instructor Guide sobre o uso do Labtainers em ambientes sem acesso à Internet. 21 de maio de 2020 - Mover todos os repositórios para o registro labtainers do Docker Hub - Suportar mounts definidos no start.config para permitir instalações persistentes de software - Alterar o laboratório ida para usar instalação persistente do IDA -- o novo nome é ida2 - Adicionar laboratório cgc para exploração de mais de 200 serviços vulneráveis do DARPA Cyber Grand Challenge - Adicionar comando type\_string ao SimLab - Adicionar laboratório netflow para uso de análise de tráfego de rede NetFlow - Adicionar versões de 64 bits dos laboratórios bufoverflow e formatstring 9 de abril de 2020 - O avaliador falhava na avaliação das condições CONTAINS e FILE\_REGX quando wildcards eram usados para seleção de arquivos. - Incluir dicas para usar o hexedit no laboratório symlab. - Adicionar operador hash\_equal e hash-goals.py à avaliação automatizada para evitar publicar respostas esperadas em arquivos de configuração. - Avaliação automatizada para o laboratório pcap-lib. 7 de abril de 2020 - Os logs foram movidos para $LABTAINER\_DIR/logs - Outra limpeza para permitir reconstruções e testes usando Jenkins, incluindo o uso de diretórios temporários exclusivos para builds - Mover funções de suporte de build de labutils para build.py - Adicionar laboratório pcap-lib para desenvolvimento baseado na biblioteca PCAP de programas de análise de tráfego 13 de março de 2020 - Adicionar laboratório plc-traffic para uso do GrassMarlin com tráfego gerado durante o laboratório. - Introduzir a capacidade de adicionar contêineres "tap" para coletar PCAPs de redes selecionadas. - Atualizar a documentação do GNS3 para acesso externo a contêineres e uso de dummy\_hcd para simular unidades USB. - Alterar o template kali para usar faux\_init em vez de tentar usar systemd. - Mover distribuições (arquivos tar) para box.com - Alterar o uso de netstat no SimLab para não fazer lookup de dns. 26 de fevereiro de 2020 - Se o comando labtainer não encontrar o laboratório, sugerir que o usuário execute update-labtainer.sh - Adicionar suporte preliminar para um componente de tap de rede para visualizar todo o tráfego de rede. - Script para buscar imagens de laboratório para preparar VMs que serão usadas sem internet. - Fornecer nome de usuário e senha para o laboratório nmap-discovery. 18 de fevereiro de 2020 - Herdar a variável de ambiente DISPLAY do host (por exemplo, VM) em vez de assumir :0 14 de fevereiro de 2020 - Adicionar exercício de introdução à engenharia reversa de software com Ghidra. 11 de fevereiro de 2020 - Atualizar os guias para descrever o acesso remoto a contêineres em ambientes GNS3 - Ocultar componentes e links selecionados dentro do GNS3. - As figuras no guia do laboratório webtrack não estavam visíveis; erros de digitação neste e no nmap-ssh 6 de fevereiro de 2020 - Introduzir função para gerenciar contêineres remotamente, por exemplo, enviar arquivos. - Adicionar função de ambiente GNS3 para simular a inserção de uma unidade USB. - Melhorar o tratamento de erros de build do Docker. 3 de fevereiro de 2020 - No laboratório metasploit, o serviço postgresql não estava em execução na vítima. - Mesclar o conteúdo do manual do IModule no guia do Lab Designer. - Mais suporte a IModule. 27 de janeiro de 2020 - Introduzir suporte inicial para IModules (laboratórios desenvolvidos por instrutores). Consulte docs/imodules.pdf. - Corrigir a variável de ambiente LABTAINER\_DIR quebrada dentro do update-labtainer - Corrigir o modo de acesso do arquivo accounting.txt no laboratório ACL (havia se tornado rw-r-r). Usar chmod explícito no fixlocal.sh. 14 de janeiro de 2020 - Portar o framework e o gradelab para Python3 (laboratórios Python2 existentes não mudarão) - Usar opções de random.seed compatíveis com versões anteriores - Hackear randint não compatível para retornar valores antigos - Continuar a suportar python2 para plataformas que não possuem python3 (ou aquelas como o appliance VM mais antigo que inclui python 3.5.2, que quebra a compatibilidade do random.seed). - Adicionar alias rebuild para rebuild.py que selecionará python2 se necessário. - As manpages dos laboratórios baseados em Centos estavam falhando; usar mandb dentro do arquivo docker base - A máscara de rede do dmz-lab para a rede DMZ estava errada (detectada pelo python3); assim como o endereço IP do gateway interno no manual do laboratório - ghex removido dos laboratórios centos -- não é mais facilmente suportado pelo centos 7 - O laboratório file-deletion deve ser concluído sem reiniciar a VM, observe isso no Lab Manual. - Adicionar switch NO\_GW ao start.config para desabilitar gateways padrão nos contêineres. - Laboratório Metasploit, trava a VM host se executado como privilegiado; longos atrasos no su se systemd estiver habilitado; então executar sem systemd. Remover o uso de banco de dados do manual do laboratório, configurar para usar o novo switch no\_gw - Atualizar cabeçalhos de arquivos para licenciamento/termos; adicionar arquivo de licença consolidado. - Modificar publish.py para usar por padrão o registro de teste, usar -d para forçar o uso de default\_registry - Revisar os procedimentos de controle de código-fonte para usar um registro de teste diferente para cada branch, e usar um branch premaster para testes finais de uma versão. 9 de outubro de 2019 - Remover dnsmasq do componente dns no dmz-lab. Estava causando falha do bind em algumas instalações. 8 de outubro de 2019 - Erro de sintaxe na configuração do registro de teste; informações do designer de laboratório sobre arquivos grandes; buscar arquivos bigexternal.txt 30 de setembro de 2019 - A recuperação do registro do DockerHub falhando novamente para alguns usuários. Ignorar prefixo html para json. 20 de setembro de 2019 - A avaliação de onewayhash deve permitir operações hmac em arquivo escolhido pelo aluno. 5 de setembro de 2019 - Reconstruir o laboratório metasploit, o metasploit-framework apresentou um bug. E o arquivo "treataslocal" dos laboratórios foi deixado de fora da migração do svn. Corrigir erro de digitação no manual do laboratório metasploit. 30 de agosto de 2019 - Reverter o teste de existência de diretórios de contêiner, eles nem sempre existem. 29 de agosto de 2019 - Os pulls de imagens de laboratório do docker hub falharam devido a mudança no github ou curl? Capturar redirecionamento para cloudflare. Adição de suporte a GNS3. Correção no dnssec do dmz-lab. 11 de julho de 2019 - Avaliação automatizada para contêineres CentOS6, correção para problema de memória do firefox, suporte a argumentos arbitrários de docker create no arquivo start.config. 6 de junho de 2019 - Introduzir uma base Centos6, mas ainda sem suporte para avaliação automatizada 23 de maio de 2019 --- [Read more](https://github.com/mfthomps/labtainers)