• Stars
    star
    173
  • Rank 220,124 (Top 5 %)
  • Language
  • License
    MIT License
  • Created over 4 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🧠 Talvez essa seja o caminho mais apropriado para quem quer sair da Matrix e conhecer de verdade como funciona o interminável campo de batalha dentro da internet. 🧠

GUIA DEFINITIVO: Seja um hacker!

Este repositório é um projeto que será sempre atualizado (dependendo do meu conturbado dia), logo poderá haver erros de ortografia entre outras falhas de escrita. Peço que tenham paciência que logo mais estarei corrigindo.

Antes de começarmos precisamos deixar algumas coisas muito bem claras e aí vai a primeira observação:

"Tudo o que eu mostrar ou fizer aqui, JAMAIS deverá ser tomado como regra definitiva!"

Sumário

Introdução

Olá senhoras e senhores, como muitos pediram aqui estou eu, fazendo um GUIA DEFINITIVO para vocês que buscam se tornar um hacker ou um profissional de segurança da informação.

Quero deixar claro que não me importo com o que você vai fazer com seu conhecimento independente dos seus motivos(que por ventura eu não ligo nenhum pouco), sem mais delongas, sente-se, pegue um café ou um lanche leve, pois o caminho é grande e árduo.

Ah! Quase que eu me esqueço de avisar, ao longo da sua leitura pode haver alguns "baldes de água fria", mas espero que você não se desespere ou desmotive, vai valer muito apena.

As dúvidas e suas respostas...

De cara eu já irei deixar claro e respondido todas as sua dúvidas(ou a maioria delas) para que possamos entrar com o "pé direito" no assuntos que serão abordados.

O que é um Hacker?

O hacker é um especialista tecnológico cujos conhecimentos em matéria de segurança, sistemas operacionais e/ou programação, superam não só o conhecimento dos meios de qualquer usuário final, mas também de muitos profissionais destes setores.

Em muitos casos, a figura do hacker é reconhecida como a de um especialista em segurança informática. Mesmo isso não sendo necessariamente assim, em geral, é muito comum que os hackers tratem seu principal interesse em questões de segurança, comprovação de sistemas e sua violação, assim como a construção de programas que possam melhorar este aspecto.

Além disso, (especialmente em tempos passados) vários setores tentaram equiparar a figura do hacker com a de um cibercriminoso, um pensamento errado tanto de sua vertente semântica como social.

Um ladrão também pode ser considerado um especialista em segurança, da mesma forma que um policial ou guarda de segurança, mas ao contrário dos dois últimos que escolheram o "bom caminho", o ladrão optou por “mau caminho” dentro dos seus conhecimentos.

O que diferencia um hacker de um cibercriminoso é a ética adotada dos conhecimentos acumulados.

Na verdade, nos últimos tempos, houve certa controvérsia (ainda tímida) sobre o significado de um hacker, de caráter pejorativo à notável.

Um exemplo disso é que muitos noticiários já se referem àqueles que realizam ações criminosas usando tecnologia como cibercriminosos em vez de hackers.

Outra característica distintiva do caráter de um hacker é sua curiosidade, que o leva à sua autoformação.

E isso é fundamental, uma vez que o verdadeiro hacker ultrapassa os ensinamentos tradicionais, é aquele que abre o caminho e inova, que descobre coisas que outros jamais encontraram, enfim, isso requer reciclagem e autoformação constante.

Este é o caso da mesma Internet, de vários sistemas operacionais (como GNU / Linux), programas e soluções de segurança e diversos softwares.

Embora a origem do termo hacker seja difícil de discernir, a opinião da maioria é que vem daqueles que reparavam os telefones na década de 60 e 70.

Estes aplicavam pequenos golpes no terminal, eram conhecidos como hacks pelos norte-americanos e, portanto, o apelido de hackers.

E como ninguém sem conhecimentos técnicos poderia entender exatamente o que eles faziam, a palavra hacker começou a ganhar força em definitivo para definir aqueles que possuíam conhecimentos técnicos superiores aos demais.

Longe das atividades dos cibercriminosos, os verdadeiros hackers seguem uma ética que busca a democratização da informação.

Atingir os cidadãos e fazer com eles façam uso apropriado destas informações. É por isso que muitos hackers estão associados aos movimentos sociais e políticos nos últimos anos.

O que faz um “hacker do bem”?

É por isso que a carreira na área de segurança da informação tem crescido tanto. E a medida em que o hacker ético vai se tornando indispensável, o estereótipo do hacker mal intencionado começa a perder a força.

Em uma de suas palestras pelo Brasil, Anderson Ramos falou sobre o mercado de trabalho neste segmento.

O campo de atuação do hacker ético é amplo e passa por setores como o de perícia forense, teste de invasão, pesquisa de vulnerabilidades, engenharia e projetos, desenvolvimento de software, políticas e processos, gestão de riscos e compliance, explicou Anderson Ramos, em uma palestra sobre o mercado de trabalho neste segmento.

O salário pode começar entre R$ 2 mil e R$ 5 mil. Mas, em alguns casos, chega a valores na casa dos três dígitos por ano, diz ele. Segundo a consultoria Robert Half, as empresas costumam pagar algo entre R$ 3,1 mil (para o cargo de analista) e R$ 22 mil (entre os gerentes de segurança).

A rotina de um hacker ético varia conforme a área que o profissional escolhe. Os “pentesters” passam o expediente buscando brechas em sistemas, principalmente corporativos. Os que atuam com resposta a incidentes se dedicam a investigar problemas e operam com outros departamentos pra avaliar o impacto das invasões.

Além disso, há os que se concentram em pesquisas tentando descobrir como um novo vírus ou ataque recém identificado funciona. “O que é comum aos profissionais de todas as áreas, é o gosto pelos estudos, que são constantes em nesta carreira”, destaca Anderson.

A ressignificação da figura do hacker tem levado à promoção de diversos eventos para debater o assunto, como a conferência internacional Defcon e a nacional Hackers To Hackers Conference (H2HC). A depender da área em que o profissional atua, ter uma palestra aceita em um espaço assim é um grande reconhecimento. Ou seja, nem todo hacker quer ser anônimo.

Por onde devo começar?

Uma pergunta extremamente difícil, mas que eu decidir desvendar esse mistério de como iniciar seus estudos no mundo hacking.

A primeira coisa que você deve saber é por onde não começar, e sim você está provavelmente já começou pelo caminho errado.

Instalar o Kali Linux ou qualquer outra distribuição linux em uma máquina virtual não vai te dar as habilidades necessárias para sair por aí hackeando qualquer coisa que vier pela sua frente. Entenda que hacking é uma arte, e como toda arte ela deve ser apreciada antes de ser aprendida.

Por isso a primeira coisas que você deve fazer é mudar todos os seus conceitos deturpados sobre o hacking, é aí que chegamos no primeiro módulo "prático" deste longo guia.

Saiba estudar

Saber estudar é uma das principais armas de um hacker. Isso se dá ao fato de que o hacker sempre está estudando e conhecendo novos métodos e práticas de invasão. Ame estudar e tome isso como rotina.

Estudar é mais uma das atividades em que focar na eficiência é mais benéfico do que na quantidade. Inclusive, segundo a ciência, estudar muito – prática chamada pelos especialistas de “overlearning” – prejudica o aprendizado.

Isso porque a capacidade das pessoas de relembrar um conteúdo tem limite proporcionalmente menor à capacidade de estudo.

Para aumentar a produtividade na hora de aprender – e diminuir tempo e estresse – o site americano que cataloga universidades Best Colleges compilou diversas dicas para estudar melhor (e menos!), comprovadas pela ciência.

10 dicas para estudar eficientemente, segundo especialistas

1. Impeça a “curva do esquecimento”

Os cientistas começaram a explorar o fenômeno psicológico “curva do esquecimento” em 1885. Ainda hoje, continua sendo um fator importante a ser considerado quando se estuda.

Essencialmente, ele diz que a primeira vez que você ouve uma aula ou estuda algo novo, tem a melhor chance de retenção, de até 80%, do que aprendeu apenas revendo o conteúdo novamente dentro de 24 horas.

E – bônus – isso tem um efeito cumulativo. Depois de uma semana, você terá capacidade de reter 100% das mesmas informações após apenas cinco minutos de análise.

Geralmente, os psicólogos concordam que este tipo de intervalo estudando – e não estudando – é o melhor. Para otimizar seu tempo de estudo, aproxime-o mais do dia em que você teve contato com o material do que do dia da prova.

2. Utilize material impresso

Tablets e outros meios eletrônicos são ótimos para conveniência e portabilidade. No entanto, pesquisas sugerem que, quando se trata de estudar na faculdade, os materiais impressos tradicionais ainda têm vantagem.

Mesmo que alguns pesquisadores argumentem que adotar novos hábitos ao usar uma interface digital melhora a experiência acadêmica, mais de 90% de alunos entrevistados em um estudo compreensivo disseram preferir uma cópia impressa a um dispositivo digital quando se trata de estudo e trabalho escolar.

Além disso, um professor de psicologia da Universidade de Leicester, na Inglaterra, descobriu que os alunos precisam de mais repetição para aprender quando leem na tela do computador em comparação a quando consultam apenas material impresso.

3. Faça conexões

Muitos especialistas consideram que a diferença entre quem aprende rápido e devagar é a maneira como estudam: em vez de memorizar, os alunos mais rápidos fazem conexões entre as ideias.

Conhecido como aprendizagem contextual, o processo é crucial e exige que cada aluno personalize seus próprios métodos de aprendizagem, fazendo conexões que relacionem as informações para começar a se encaixar e fazer sentido.

4. Estude quando estiver cansado – e descanse em seguida

Embora isso possa parecer contra intuitivo a princípio, de acordo com a ciência, faz sentido.

Estudar quando você está mais cansado imediatamente antes de dormir pode realmente ajudar seu cérebro a reter concentrações mais altas de habilidades novas, como falar uma língua estrangeira ou tocar um instrumento.

Existe até um termo para isso: “sleep-learning” (em português, “aprendizado do sono”).

Isso porque o processo de consolidação da memória está em seu melhor momento durante o sono “de ondas lentas”. O que significa que a revisão do material antes de dormir pode realmente ajudar o cérebro a reter as informações.

5. Não releia, relembre

Esse método de estudar foi tema em 2009, quando um professor de psicologia da Universidade de Washington em St. Louis publicou um artigo na Psychological Science aconselhando os alunos contra o hábito de leitura e releitura.

Segundo ele, ler e reler os materiais podem levar os estudantes a pensarem que conhecem bem o conteúdo, mesmo quando não é verdade.

Em vez disso, ele sugere que os alunos utilizem “recordação ativa”, fechando o livro e recitando tudo o que podem lembrar para praticar a memorização a longo prazo.

6. Use o sistema Leitner

O sistema Leitner é o mais conhecido para utilizar “cartões de memorização”. Ele serve para que os estudantes aprendam o conteúdo com o qual estão menos familiarizados pela repetição.

Na prática, o aluno coloca todos os cartões com perguntas na caixa 1. Em seguida, pega cada cartão e tenta responder a pergunta. Se acertar a resposta, coloca-o na caixa 2. Se errar, deixa-o na caixa 1.

O estudo passa para as caixas seguintes e a premissa permanece. A única diferença é que nas próximas se o estudante errar, deve voltar o cartão para a caixa anterior. Assim, os cartões na primeira caixa são estudados com mais frequência.

7. Pense sobre o pensar

Especialistas defendem o uso do método testado e comprovado de aprendizagem chamado metacognição, ou “pensar sobre o pensar”.

Aplicado ao estudo, os alunos precisam avaliar constantemente seu nível de habilidade e progresso. Além disso, monitorar cuidadosamente seu bem-estar emocional quando realizam atividades potencialmente estressantes. A premissa é de que a metacognição ajude em uma retenção mais consciente e efetiva do conteúdo.

8. Varie o conteúdo

Cientistas comprovaram que é melhor variar o tema ao estudar, em vez de se concentrar apenas em uma área. No entanto, é aceitável e até mesmo preferível unir campos de assuntos relacionadas ou semelhantes.

Por exemplo, em vez de apenas memorizar vocabulário em outro idioma, misture também a leitura. Se estiver estudando matemática, inclua vários conceitos juntos, em vez de apenas um.

9. Mude de cenário

Embora isso possa ser óbvio para alguns alunos, outros podem esquecer que uma mudança tão simples quanto de cenário pode ter um grande impacto nas habilidades de aprendizado.

Um psicólogo da UCLA, por exemplo, apontou que trocar de local de estudo aumenta pode aumentar os níveis de retenção de informações e concentração.

Mudar de cômodo já é o bastante, mas os especialistas também recomendam ir “um passo além” estudando ao ar livre.

10. Assuma o papel de “professor”

Pesquisas mostram que os alunos têm melhor chances de recordação ao aprenderem novas informações quando têm a expectativa de ensiná-las a outra pessoa. Além disso, estudos também sugerem que os alunos se engajam mais e instintivamente buscam métodos de recordação e organização para o papel de “professor”.

Se tiver oportunidade, experimente ensinar o que aprendeu a um colega ou até a um “colega imaginário”. O importante é ter a expectativa de “ser professor” desde o momento de estudo, porque é ela que proporciona os benefícios.

Programação

Certamente as perguntas mais feitas por todo mundo que pensa em ingressar no mundo da programação, sejam: “Como eu aprendo a programar?” e “Por onde eu devo começar?”. Se você é como todos, as próximas linhas são para você. É simples, é fácil e, sobretudo, é possível!

Por onde começar?

Muitas pessoas que querem aprender programação, têm dúvidas comuns e uma das principais, é justamente por onde começar.

É possivelmente a resposta mais importante, porque começar bem e da forma correta, pode ser a diferença entre ter mais ou menos dificuldades no aprendizado. Pode ser mesmo a diferença entre aprender ou não. A questão é controvertida e você já vai entender o porquê.

É comum no começo ouvir das pessoas: “Isso não é para mim” ou “Não consigo aprender”. Às vezes, mesmo quando não dizem abertamente, as dificuldades em exercícios e dúvidas que o aprendiz manifesta, refletem os problemas de aprendizado que ele tem. A questão por trás disso está em um aspecto simples – pressa.

Sim, a pressa em aprender geralmente faz com que se queime etapas ou se elas existem, não se dedica o tempo necessário para assimilação dos conceitos.

Lembremos que aprender programação, é como aprender qualquer outra coisa. Assim como alguém que pretende ser piloto de automóveis, não vai para a pista antes de saber frear, o programador não vai aprender linguagem de programação, antes de aprender a programar!

Sem discutir o mérito ou o propósito, muitos cursos ou treinamentos, ensinam programação através do ensino de uma linguagem de programação.

É verdade que muitos “pilotos” vão conseguir correr na pista, mas muitas vezes as custas de várias derrapadas e muitos erros em meio a alguns poucos acertos.

Há que se ter em mente que existem literalmente centenas de linguagens de programação e todas são ferramentas para um programador criar sistemas que entregam diferentes resultados para diferentes necessidades. Linguagens novas surgem e outras morrem e independente disso, o programador continua programando.

Um programador tem que ser capaz de escolher cada ferramenta, para cada resultado que precisa apresentar e assim, aprender uma linguagem vem em um momento posterior e ao longo de toda a sua vida profissional. Por isso vamos aos passos para começar.

Os passos para aprender a programar

Seja como autodidata ou acompanhando um curso, opte por um roteiro que lhe permita aprender a partir dos fundamentos, evoluindo gradativamente à medida em que dá cada passo no aprendizado. Esta sequência de conhecimento deve contemplar:

  • Lógica e operadores lógicos;

  • Algoritmos;

  • Tipos de dados (variáveis, constantes, strings, etc);

  • Estruturas de dados (arrays, vetores, pilhas, listas, filas, etc);

  • Estruturas de iteração e controle de dados (while, for, if, etc);

  • Lógica de programação;

  • Funções e procedimentos;

  • Orientação a objeto.

Vale notar que a sequência acima é ordenada e leva em consideração que a cada etapa os conceitos aprendidos serão usados na etapa seguinte. Portanto, a assimilação de cada informação é fundamental para que o passo seguinte seja dado com sucesso.

É natural que exista ansiedade para ver resultados e colocar em prática o seu aprendizado, mas lembre-se um cardiologista ou um oncologista ou um pediatra, antes estudam para serem médicos e só depois escolhem a sua especialização. São anos de preparação e aprendizado e o que você vai entregar depois, é resultado do que faz agora.

Como obter melhores resultados?

O que você vai encontrar a seguir não é uma lista de exigências, sem as quais você não vai aprender, mas recomendações que se forem seguidas, as chances de resultados melhores, são bem maiores:

  • Se possível evite estudar em momentos que não possa ir até o fim de um assunto. Interrupções são improdutivas e aumentam o tempo necessário para compreensão de conceitos, sabendo que há muitos e que eles são as bases para muitas das coisas que você aprenderá;

  • Opte por ambientes tranquilos, silenciosos e nos quais você possa se concentrar. Tem relação com as mesmas razões do tópico acima. A não ser que seja a única possibilidade, não estude no trem, metrô, ônibus ou em algum lugar que você não desfrute de tranquilidade;

  • Não deixe dúvidas na sua sequência de aprendizado. Só avance se estiver convicto que compreendeu plenamente os conceitos de cada aula / tópico;

  • Se você está aprendendo sozinho, ou seja, não é por meio de uma escola especializada ou um curso, procure ter meios para esclarecimento de dúvidas, como profissionais da área, sites especializados, etc;

  • Exercite exaustivamente. A prática em qualquer área, é o que leva a boa execução;

  • Reserve tempo para os estudos e aprendizado e seja rigoroso quanto ao seu cumprimento. Não ter uma agenda rígida de trabalho, pode levar a dificuldade de evolução e consequente desmotivação;

  • Estabeleça metas (prazos) de aprendizado e se possível monte um cronograma preciso com tudo que quer / precisa aprender.

Escolhendo a linguagem de programação

É bastante comum programadores experientes saberem mais de uma linguagem de programação, mas você tem que começar com uma. Qual linguagem aprender? Nós já escrevemos um artigo (Aprenda tudo sobre o que é uma linguagem de programação e para que ela serve) que trata disso e que pode lhe ajudar a escolher, mas vamos dar algumas dicas que podem ajudar você nesta difícil tarefa

Uma parte do processo de escolha da linguagem, consiste em responder no que você gostaria de atuar como programador. Lembra da escolha da sua especialização como médico?

Pois é, chegou a hora. Você quer cuidar do coração ou da mente das pessoas? Quer fazer sites? Sistemas Operacionais? Aplicações para celulares? Internet das coisas? Robôs das indústrias? Realidade Virtual ou Realidade Aumentada? Há um campo enorme esperando por você!

Sim, um programador pode atuar em diversas áreas. Atualmente com novas tecnologias surgindo diariamente, há cada vez mais setores em que há necessidade de programadores capacitados e não mais apenas em questões relacionadas aos computadores.

Portanto, digamos que você acha atrativo e promissor o mercado de criação de sites ou quer ser também um webdesigner. Neste caso, você terá que aprender HTML, CSS, JavaScript e PHP, ou ASP. Já se o seu encanto está nos aplicativos mobile, terá que dedicar-se ao Java. Gosta da indústria? Programação CNC. Ou seja, sua decisão baseia-se naquilo que você pretende fazer profissionalmente.

Além disso, é muito indicado ir além do aspecto essencialmente técnico e observar a atividade profissional como parte de um todo e para isso, você deve ficar atento também aos seguintes aspectos antes de se decidir:

  • Colete informações sobre a atividade e o dia a dia com profissionais que já atuam no segmento pretendido;

  • Procure saber como está o mercado (empresas e consumidores) e perspectivas de crescimento para os próximos anos, a fim de que não escolha um segmento com pouca oferta de trabalho ou sem perspectivas futuras;

  • Avalie possibilidades de promoções e crescimento profissional na área pretendida, bem como possibilidades de ganhos;

  • Surgimento de novas tecnologias, que podem amplificar o segmento ou que podem substituir as atuais, pondo fim ou limitando o desenvolvimento;

  • Analise as possibilidades de remuneração para cada segmento;

  • Investimentos na área e políticas públicas e privadas de desenvolvimento do setor.

Percebe quais e quantas são as escolhas que você deve fazer?

Aprender a programar - observando as peculiaridades do assunto - é como aprender qualquer coisa. Há diversas formas de se chegar ao fim, mas há métodos melhores e outros que nem tanto, há caminhos mais longos e mais curtos, mas se tornar um bom programador, exige bastante trabalho, estudo e método para fazê-lo.

Linux (o lado negro da força)

Com certeza você conhece ou pelo menos já ouviu falar em Linux. O núcleo (Kernel) de sistemas operacionais mais usado por desenvolvedores e profissionais de TI.

Os sistemas operacionais Linux conquistaram o coração de desenvolvedores pelo mundo inteiro, desde o início de seu projeto em 1991. Simples e confiável, o Linux foi baseado em outro sistema, o Unix, sendo criado como um “passatempo”, pelo Linus Torvalds (foto abaixo).

Nessa época, Linus era despretensioso. Mal sabia ele que, após alguns anos, muitas organizações mundo a fora iriam adotar o seu “passatempo” para suas respectivas infraestruturas de TI.

Resumindo, se você deseja ingressar em uma grande organização, as chances dessa empresa usar Linux de alguma forma (ou como sistema operacional principal) são grandes. Portanto, aprender Linux deve ser tratado como uma prioridade! Independente da sua área de atuação, esse conhecimento é considerado um diferencial por especialistas no mundo todo.

Como se esse motivo já não fosse suficiente, nesse artigo, iremos citar diversos outros fatores que reforçam a importância dessa tecnologia para a sua carreira!

Software livre

Além de ser um pinguim muito legal, o Linux tem muitas outras características positivas. Uma das mais bem vistas e utilizadas no campo da tecnologia é o fato de estarmos lidando com um Software livre (Open Source).

O que é um Software Livre?

Segundo a Free Software Foundation, trata-se de qualquer programa (software) que pode ser copiado, usado, modificado e redistribuído de acordo com a necessidade de cada usuário.

Isso mesmo! O Linux pode ser modificado e redistribuído sem nenhum problema. Essa característica do SO é muito importante, pois qualquer pessoa pode “criar” o seu próprio sistema de acordo com suas necessidades; esse é o motivo de tantas distribuições Linux existirem.

Esse é uma das principais diferenças que o pinguim tem em relação ao sistema do tio Bill (Windows).

O desenvolvimento do sistema operacional Linux contou com a colaboração de milhares de desenvolvedores desde então, e novos aplicativos foram adicionados que permitiram o uso do sistema nos mais diversos dispositivos e fins. Linux está em praticamente todo lugar.

O roteador da sua casa, por exemplo, muito provavelmente utiliza Linux, assim como o codificador da sua TV a cabo. A internet é em grande maioria sustentada por servidores com sistemas Linux e outras soluções sob licença GPL. Softwares dominantes como servidor web Apache, DNS Bind, linguagens de programação PHP, Java, Javascripts, bancos de dados MySQL, PostgreSQL e tantos outros são outras soluções sob licença GPL, preferencialmente executadas em sistemas Linux e que fazem a web ser como conhecemos hoje.

Facebook e Netflix rodam em Linux . Assim como a nuvem computacional mais popular do mundo, a Amazon AWS. O sistema operacional Android é baseado em Linux e de forma tão intima que muitos o consideram Linux.

Em um mundo digital dominado por softwares livres, não se discute mais o uso do Linux. Ele está presente em nossas vidas de uma forma ou de outra. Você pode até especializar-se em uma ferramenta proprietária, mas certamente irá se deparar com Linux em algum momento de sua carreira.

Conhecer Linux em qualquer nível é além de uma vantagem, uma viagem impressionante ao descobrimento. E tudo pode começar no seu Desktop.

Por que isso é bom?

Digamos que você gerencia os sistemas de uma organização com necessidades especificas. Em outras palavras, uma mudança ou melhoria no SO pode ser necessária. O Windows não pode te proporcionar isso, mas o Linux pode. Claro, existem prós e contras. Contudo, isso é tema para outro artigo focado apenas nesse assunto.

Por que empresas utilizam Linux?

É inegável! A grande maioria das empresas utilizam o Linux de alguma forma. Até a própria Microsoft, a “rival”, utiliza o Linux. Entretanto, quais são os motivos para tamanha adoração pela tecnologia? Abaixo, vamos listar os principais motivos:

Segurança

Uma das principais questões definitivas para a adoção do Linux por empresas é a segurança proporcionada:

Pelo fato de ter o seu código aberto, o sistema é sempre modificado para receber otimizações, tornando muito mais difícil que falhas sejam encontradas e corrigidas pela comunidade desenvolvedora.

Além da grande comunidade dedicada ao Linux, o SO conta com um ambiente diferente do Windows. Este ambiente é “praticamente imune” à maioria dos vírus por aí, visto que apenas o usuário root (equivalente ao administrador do Windows) tem acesso às partes cruciais do sistema. Desta forma, só é possível uma infecção crítica no usuário root, o que é muito improvável.

Alguns até ousam dizer que o Linux é “à prova de vírus”. Claro, sempre cuide com essas afirmações absolutas, mas a verdade é que o sistema é muito seguro.

Hardware

Usando o Linux, o hardware do computador possui mais eficiência e performance. Isto se deve ao fato de o sistema ser mais leve. Algumas distribuições até são otimizadas e focadas para hardwares inferiores.

Estabilidade

A estabilidade do Linux é um de seus pontos fortes. Nativamente, o sistema é mais estável. Enquanto o Windows precisa de reboot para aplicar mudanças, o Linux consegue aplicá-las sem ser necessário o desligamento. O pinguim também consegue lidar muito melhor com processos simultâneos.

Custo

Quanto a custo do sistema operacional. Bem, é incomparável. Todas as distribuições são de graça, algumas cobram pelo suporte. A consequência disso é um custo-benefício maior.

Importância e Valorização

Saber Linux deixou de ser um diferencial e passou a ser uma necessidade no mercado de trabalho. Em muitos casos, em vagas de emprego, o conhecimentos em Linux constam como obrigatórios. Isso pode ocorrer tanto para desenvolvedores, DBAs e, obviamente, administradores de sistemas (Sys Admin).

Os servidores Linux estão cada vez mais em evidência em grandes empresas, mais adiante, você verá a lista de organizações, aplicações e empresas que já adotaram o Linux. O resultado disso é uma valorização global do profissional capaz de trabalhar em cima dessa tecnologia.

Segundo o relatório do The Linux Foundation, cerca de 60% das empresas contratantes buscam um profissional com conhecimento em Linux e 87% das empresas afirmam ser difícil achar um profissional com aprendizado no sistema.

A valorização de profissionais que sabem Linux é notável, tanto no Brasil, como no exterior. Segundo o site de empregos SINE, a média salarial brasileira para um especialista em Linux Júnior, em uma empresa média é de R$ 3.751.32, aumentando para até R$ 9.524.85 em uma empresa de grande porte. E, se você possui certificações reconhecidas, você pode receber até 18% a mais que os seus colegas.

Resumo da história, aprender Linux vai te trazer uma valorização imediata e, com certeza, alavancar a sua carreira na área de TI, independente da área de atuação.

Mercado de Atuação

O mercado de TI está em constante mudança e adaptação. É, com certeza, um dos setores que mais cresce no Brasil e no mundo. Com altos investimentos, as empresas estão a todo momento em busca de novos profissionais da área.

Porém, a principal reclamação das organizações consiste na ausência de mão de obra qualificada para executar o trabalho.

Da mesma forma que o mercado de TI, o Linux cresceu proporcionalmente. E, portanto, a área de atuação e necessidade de profissionais com habilidades nesse sistema cresceu do mesmo jeito.

Como já comentei anteriormente, o conhecimento passou a ser obrigatório para muitos casos. Veja alguns dos diversos motivos para isso:

Manipulação de grande volume de dados

Entre outras características do Linux, o que se destaca bastante nas empresas é e possiblidade de utilizar grandes volumes de dados. Aí você pode se perguntar, por que isso é tão importante?

  • Por que isso é essencial para servidores Cloud. E, graças a essa capacidade, o Linux é visto com bons olhos por empresas que utilizam a tal da “núvem”, como Google, Amazon, Digital Ocean e entre outros.

  • Por causa do Big Data que, grosseiramente, resume-se a análise de grandes volumes de dados. Devido ao Big Data, há uma grande necessidade de busca e análise de grandes volumes de dados espalhados na internet. E, para isso, é necessário a utilização de um SO que consiga atender essa necessidade.

Importante: não estou dizendo que não é possível usar o Windows nas situações acima. Contudo, o Linux é o candidato perfeito para as aplicações que lidam com grandes volumes de dados.

Mobile

O mundo mobile é disputado por inúmeras marcas de aparelho, mas o que é evidente é a soberania do Android, certo?

Caso isso não esteja claro para você, basta um “dar um google” para resolver esse problema. Digite na pesquisa do Google: Market share + SO + mobile

Pronto! Agora ficou claro que o Android domina o mercado, não?

E… adivinhe! O Android é basicamente uma distribuição Linux. Não importando suas modificações e diferenças, o kernel do Pinguim está por trás de tudo. E para quem quer entrar nesse mercado mobile, o conhecimento no sistema não só te facilitará realizar diversas tarefas, como também será necessário em muitos momentos como desenvolvedor.

Banco de dados

Com a exceção do Microsoft SQL Server, a grande maioria dos SGBDs possuem melhor desempenho e performance, quando hospedados em ambientes Linux.

Sendo assim, caso a sua carreira como um DBA siga uma carreira alternativa ao SQL Server, ter sólidos conhecimentos em Linux será praticamente uma obrigação.

Desenvolvedores

Saber Linux é muito importante para desenvolvedores. Apesar de muitas vezes não ser o foco do trabalho desse profissional, esse conhecimento facilita e muito a vida do Dev.

E, a grande maioria das linguagens, são beneficiadas quando utilizadas e conjunto com distros Linux, devido aos diversos motivos já citados anteriormente.

A grosso modo, se essa linguagem não é da Microsoft, ela terá uma performance melhor quando utilizada junto com o Linux. Portanto, se você não usa C# ou Visual Basic, você irá acabar optando por um ambiente Linux, por questões de performance.

E, por mais que não seja obrigatório um desenvolvedor saber Linux, com certeza quanto mais você souber sobre o ambiente em que você está desenvolvendo, menos problemas você encontrará durante o desenvolvimento e maiores serão as chances de você criar um software de qualidade e, melhor ainda, compatível com o ambiente.

Portanto, podemos dizer que desenvolvedores que sabem Linux possuem um diferencial importante aos olhos das grandes empresas.

Administradores de Sistemas

Se você optar por uma carreira como administrador de sistemas e redes. Aprender Linux é o primeiro passo de todos. O Adm. de Sistemas irá atuar gerenciando servidores e redes que, na grande maioria dos casos, utilizam o SO do Linux.

DevOps

Nesse artigo, temos um tópico que explica em mais detalhes a origem dessa área/cultura/cargo. Contudo, para resumirmos:

O DevOps é o responsável por integrar a área de Dev (desenvolvimento) e Ops (Operações/Infraestrutura), minimizando problemas e ampliando a taxa de sucesso entre deployments de apliações e versões.

Basicamente, esse profissional é diferenciado, pois ele precisa saber muito sobre: infraestrutura de TI (Linux…) e Desenvolvimento.

Consultoria como um Especialista Linux Você já é especialista em Linux e possui diversas certificações na área? Porque não ajudar grandes organizações prestando consultoria em tecnologias Linux?

Como estamos tratando de um sistema vital para as organizações e com pouca mão de obra qualificada disponível no mercado de trabalho, as organizações acabam recorrendo a especialistas e consultores da área.

Portanto, investem caro nessa mão de obra. Afinal de contas, elas não possuem outra opção, pois precisam do suporte necessário.

Consultoria como um Especialista Linux

Você já é especialista em Linux e possui diversas certificações na área? Porque não ajudar grandes organizações prestando consultoria em tecnologias Linux?

Como estamos tratando de um sistema vital para as organizações e com pouca mão de obra qualificada disponível no mercado de trabalho, as organizações acabam recorrendo a especialistas e consultores da área.

Portanto, investem caro nessa mão de obra. Afinal de contas, elas não possuem outra opção, pois precisam do suporte necessário.

Quem usa Linux?

Google, Twitter, Facebook, NASA, Amazon, IBM, McDonalds, Submarinos, Relógios, Dipositivos Móveis, Estações Espaciais, Raspberry Pi, A Bolsa de New York, Trens Bala, Hospedagens Web, Cloud Computing, Mísseis e armas inteligentes, Hackers, The White House, Filmes de Hollywood, CISCO, Carros, Robótica, Arduino e IoT!

Não, eu não estou louco, o Linux está presente nas mais diversas aplicações, até a Microsoft utiliza Linux!

Hora de aprender Linux!

No mundo da TI, os profissionais estão sempre em constante aprendizado e qualificação: livros, fóruns, blogs e cursos online praticamente fazem parte da rotina de um bom profissional da área.

E, como você viu acima, em 90% dos casos, Linux também irá fazer parte dessa rotina. Desta forma, sendo um conhecimento que proporciona um diferencial para o profissional da área. Um bônus significativo no CV!

Apesar de parecer difícil, aprender Linux não é algo de outro mundo. Na Becode, temos um treinamento focado na tecnologia aplicada a servidores. Em outras palavras, focado em te ensinar Linux e já te preparar para o mercado de trabalho! Quando você tiver um tempinho sobrando, dê uma olhada no treinamento.

Espero que esse post tenha ajudado você a abrir os olhos quanto a verdadeira importância do Linux. Fique à vontade para comentar, criticar, dar sugestões, enfim, o que for necessário.

Kali Linux, o sistema de um hacker

Dentre as diversas distribuições Linux existentes no mundo, o Kali é uma das mais avançadas. Ele foi desenvolvido para fins específicos, como testes de intrusão e auditoria de segurança, e conta com uma gama de ferramentas para hackers (éticos).

Você também pode ver a segunda parte desse artigo com mais 30 ferramentas para hackers que podem ser utilizadas no Kali Linux.

A distribuição, antes conhecida como BackTrack, foi criada, desenvolvida e lançada pela equipe do Offensive Security em 2006, tendo rapidamente se popularizado entre os profissionais de segurança em TI. Além da mudança de nome, outras alterações foram feitas no sistema.

O hoje descontinuado BackTrack era baseado no Ubuntu, enquanto o Kali, por sua vez, é baseado no Debian. Logo, podemos considerar que um é a evolução do outro.

Um grande diferencial do Kali Linux é o seu repertório de ferramentas nativas para executar testes diversos — são mais de 300. Isso sem contar que o sistema é gratuito, estável, confiável e pode ser complementado por uma vasta quantidade de aplicações desenvolvidas por terceiros.

Coleta de Informações e Análise de Vulnerabilidades

Por melhor que seja desenvolvido, todo e qualquer produto de software contém bugs. Alguns deles se mantém ocultos e não trazem problemas, enquanto outros afetam na performance ou, pior, abrem brechas para que ameaças venham a explorar os dados confidenciais armazenados no sistema de uma empresa.

Nesse contexto, a coleta de informações (information gathering) colabora por meio de levantamentos mais detalhados sobre o sistema, assim como seus recursos, dados do servidor, histórico de navegação, estruturação da rede etc.

Essa medida de monitoramento é utilizada para que os hackers tenham uma base de informações satisfatória para iniciar a modelagem de ameaças (threat modeling) e, posteriormente, realizar testes de ataque (simulações).

Por sua vez, as análises de vulnerabilidade (vulnerability analysis), como o próprio nome já diz, são a utilização de ferramentas que executam a análise de vulnerabilidades em todo o sistema.

O resultado de uma análise dessa natureza permite, por exemplo, que todos os riscos que a rede está sujeita a sofrer sejam mapeados ou reportados em relatórios, elencando todos os pontos fracos que necessitam de correções.

1. NMAP

Sem dúvidas o Nmap é uma das principais ferramentas free open source utilizadas pelos hackers, muito utilizada para detecção de redes, análises e auditorias de segurança.

Em suma, o Nmap é considerado essencial para levantar detalhes de informações específicas em qualquer máquina ativa. Para compreender suas numerosas funcionalidades, o próprio site oficial disponibiliza um guia gratuito (em inglês).

2. SOCIAL ENGINEERING TOOLKIT (Setoolkit)

Também conhecido como SET ou Setoolkit, o Social Engineering Toolkit é desenvolvido para auxiliar em testes de penetração contra elementos humanos.

Que estão inseridos no ambiente de segurança do alvo, levando em consideração que as pessoas costumam ser o elo mais fraco nos sistemas de segurança.

3. DNSENUM

O DNSenum é uma ferramenta para levantamento de informações de servidores DNS.

Capaz de pesquisar hosts, nomes de servidores, endereços de IP, registros e outras informações, usando apenas de alguns comandos básicos.

4. NESSUS

Sem dúvidas o Nessus é uma das aplicações de seguranças mais completas para analisar e realizar auditorias. Ela é desenvolvida pela premiada Tenable, que atende a mais de 21 mil empresas globalmente.

Com o Nessus, profissionais de segurança da informação podem executar vários escaneamentos simultaneamente, contar com atualizações constantes da ferramenta, variedade de plugins, além de relatórios que podem ser gerados por meio de um dashboard.

5. CISCO-TORCH

Seguindo a mesma linha das ferramentas de scanner, o Cisco-torch tem algumas peculiaridades. Uma delas é a utilização constante de forking (bifurcação) para lançar a múltiplos processos de varredura em segundo plano. De acordo com o Hacking Exposed Cisco Networks, isso maximiza a eficiência na detecção de vulnerabilidades.

O objetivo dos desenvolvedores ao criar o Cisco-torch foi obter uma solução ágil para descobrir remotamente hosts da Cisco que usam protocolos SSH, Telnet, Web, NTP e SNTP, com vista em lançar ataques de dicionários contra os servidores descobertos.

Aplicações Web

Certamente, você já sabe ou tem boa noção do que se tratam as aplicações web. Mas, para não passar em branco, definimos as aplicações web como programas que rodam em servidores web e são acessados via browser.

1. NIKTO

Trata-se de uma aplicação para analisar a vulnerabilidade de um site. Ela realiza:

  • Testes para mais de 6700 arquivos e programas potencialmente perigosos que estão presentes na web;

  • Verificação da configuração do servidor;

  • Análise de itens cruciais que possam ser atualizados automaticamente;

  • Consultas por mais de 1250 versões desatualizadas de servidores e seus problemas específicos.

O Nikto se caracteriza pela agilidade em desempenhar atividades que, em tese, são altamente complexas. Além, é claro, de ser uma ferramenta gratuita.

2. PARSERO

Diferente das demais ferramentas mencionadas até aqui, o Parsero não é um software, mas sim um script. Escrito em Python, ele faz a leitura do arquivo Robot.txt de um servidor web e checa por entradas não autorizadas, que transmitirão aos motores de busca (Google, Ask, Bing e outros) quais arquivos ou diretórios hospedados no servidor não devem ser indexados pelo robô.

Às vezes, mesmo que os caminhos estejam restritos ao acesso via buscadores, eles podem estar acessíveis a usuários que entram no site diretamente.

Para solucionar esse problema, o script do Persero verifica o status do código HTTP de cada entrada marcada como Disallow e ainda faz a busca, por meio do Bing, para localizar conteúdos indevidamente indexados.

3. WAPITI

O Wapiti permite ao usuário a realizar testes “black-box”, um método que examina os recursos de uma aplicação sem averiguar as estruturas internas.

A ferramenta não estuda o código fonte da aplicação web, mas sim verifica as páginas da web por ela implementadas em busca de scripts nos quais possa injetar dados. Ao encontrar os scripts, o Wapiti executa uma transmissão de dados em grande carga para testar a suas vulnerabilidades.

4. OWASP ZAP

Encontrar vulnerabilidades na segurança de aplicações web enquanto você as estiver desenvolvendo ou testando é uma possibilidade interessante para profissionais que já têm um bom conhecimento técnico para fazer testes manualmente.

É justamente esse o propósito do OWASP ZAP, uma popular e gratuita ferramenta para hackers desenvolvida por centenas de voluntários ao redor do planeta. Não por acaso, o ZAP está disponível em mais de 20 idiomas.

As principais características dessa ferramenta são a facilidade no uso, conteúdos de ajuda que podem ser facilmente compreendidos, comunidade bastante ativa e o fato de ser completamente livre de versões pagas.

5. VEGA

Com foco em aplicações web, o Vega é uma solução livre, open source, de interface gráfica e desenvolvida em Java, cuja especialidade é verificar vulnerabilidades e testes.

Dois grandes diferenciais do Vega em comparação à maioria das ferramentas são o seu scan automatizado para executar testes rápidos para detectar erros e vulnerabilidades e o fato de a ferramenta ser expansível, graças à sua API Javascript.

Algumas funcionalidades do Veja Vulnerability Scanner são:

  • Detecção de erros;
  • Cross Site Scriping (XXS);
  • Site crawler;
  • Análise de conteúdo;
  • SQL injection.

Vale ressaltar, também, que a interface do Vega é muito intuitiva e fácil de usar.

6. WIRESHARK

Por fim temos o Wireshark, que, embora seja a última ferramenta citada no tópico, é uma das quais podemos considerar obrigatórias para o Kali Linux. Isso porque o Wireshark permite ao usuário analisar a rede e obter ricos detalhes para saber o que está acontecendo no momento.

Eles são obtidos por meio de algumas funcionalidades, como a captura, análise e filtragem de pacotes em tempo real, importação e exportação de arquivos e inspeção de centenas de protocolos.

Violação de Senhas

Também conhecida como password cracking (ataques offline) ou password guessing (ataques on-line), a violação de senhas (password attack) é uma prática feita por meio de programas, algoritmos e técnicas dos mais diversos tipos — dictionary attack, rainbow table, brute force e outras —, com objetivo claro de descobrir senhas de usuários.

As principais aplicações para trabalhar com a proteção de informações sobre senhas e login são:

1. THC HYDRA

O THC Hydra é uma ferramenta gratuita e on-line — ou seja, trabalha em cima de ataques como password guessing, que consistem na captura de senhas a partir de tentativas de login — que executa rapidamente a quebra de senhas por meio de dicionário (lista de passwords) ou força bruta para testar várias combinações de senha / login.

Um destaque do THC Hydra é o suporte a mais de 50 protocolos, como HTTP, FTP, Mail, SSH, Banco de Dados etc.

2. JOHN THE RIPPER

Seja pelo nome criativo (até mesmo premiado) ou pelas suas funcionalidades, o John The Ripper (JTR) é uma das mais conhecidas ferramentas de password cracking (processo de recuperação ou violação de senhas, no ponto de vista da criptoanálise) e tem versões free e pro.

Assim como o THC Hydra, o JTR utiliza ataques de força bruta e dicionários, fazendo uma varredura pelos dados contidos no computador. Porém, a diferença é que o John atua contra os ataques offline.

Engenharia Reversa

A engenharia reversa é um método que consiste em estudos de um objeto, seja ele um hardware ou software, a fim de destrinchá-lo para analisar cada componente ou elemento.

Essa atividade pode ser de grande utilidade em termos de segurança, pois torna possível descobrir como o objeto foi fabricado, abrindo um leque de outras possibilidades (detectar vulnerabilidades ou recursos que podem ser melhorados).

Vamos agora para as 3 ferramentas de engenharia reversa que você pode usar no Kali Linux:

1. APKTOOL

Com o Apktool, o usuário pode trabalhar com engenharia reversa decodificando recursos em suas formas quase originais e reconstruindo-as aplicando algumas modificações. Tudo isso fazendo o debug de códigos smali.

As funcionalidades do Apktool como ferramenta para hackers éticos são um excelente meio de acrescentar novos recursos, funcionalidades e aprimoramentos de uma aplicação.

2. IMMUNITY DEBUGGER

O Immunity Debugger pode ser usado para escrever exploits — parte de um código de programação para adquirir vantagens de bugs em uma aplicação — e analisar malware.

Seus recursos como debugger podem ser ampliados em Python, permitindo que o usuário escreva comandos em Python diretamente da barra de comando — que tem uma versão remota — ou até mesmo usar a linguagem para criar funções gráficas.

Uma das maiores virtudes do Immunity Debugger é o fato de ser leve, ou seja, não consome muitos recursos da CPU. Isso contribui diretamente para a análise de vulnerabilidades.

OBS: Vai precisar do wine para instalar essa ferramenta no Kali Linux.

3. RADARE2

O Radare é um projeto desenvolvido desde 2006 até chegar à sua segunda versão (Radare2). Hoje o software é considerado um framework completo para análise de arquivos binários. Ele traz uma um conjunto de pequenas ferramentas que podem ser utilizadas juntas ou isoladas, bastando digitar linhas de comando.

Um aspecto interessante do Radare2 é que as iniciais dos comando variam de acordo com a finalidade da aplicação. Por exemplo: o comando radare é o comando primário, que permite abrir qualquer tipo de arquivo em qualquer fonte, entre muitas outras funções mais avançadas. Já o comando rabin extrai informações de arquivos executáveis binários de determinadas funções, como PE, ELF, Java CLASS e MACH-O.

Ataque Wireless

Proteger a rede sem fio é uma das maiores preocupações do administrador de sistemas. O Kali Linux já fornece soluções nativas para ajudar a combater esse tipo de invasão, porém, é possível otimizar com outras ferramentas.

1. AIRCRACK-NG

O Aircrack-ng tem como especialidade a proteção e detecção de ameaças de redes Wi-Fi (Wireless), devido às ferramentas para WEP/WPA/WPA2 cracking — configuração de falsos pontos de acesso, captura de pacotes, wireless password cracking, entre outros.

No site oficial, o usuário tem acesso a informações (em seu Wiki) e a um excelente suporte, fornecido via fórum pela comunidade, que auxilia na solução de problemas.

2. FERN WIFI CRACKER

Essa ferramenta também é desenvolvida em Python e foi projetada para crackear e recuperar chaves dos tipos WEP/WPA/WPS, realizar auditorias de segurança e, também, executar ataques — força bruta ou dicionários — com base em redes sem fio ou Ethernet.

No entanto, existem alguns pré-requisitos (algumas ferramentas para integração) para que o Fern Wifi Cracker funcione no Kali Linux:

  • Aircrack-NG;
  • Python-Scapy;
  • Python Qt4;
  • Python;
  • Subversion;
  • Xterm;
  • Reaver (para ataques de WPS);
  • Macchanger.

3. BULLY

Bully é um programa escrito em linguagem C e serve para implementar ataques WPS de força bruta, reconhecido pelo bom uso dos recursos de memória, da CPU e por oferecer boas opções de menu.

De acordo com os desenvolvedores, as funcionalidades do Bully foram testadas sob várias situações, inclusive com diferentes configurações, e apresentaram ótimos resultados.

Uma observação importante é que, para instalar o Bully, é necessário ter instalado no seu Kali Linux o Wiire’s Pixiewps, um software também escrito em linguagem C para realizar ataques de força bruta offline nas chaves WPS explorando falhas do ponto de acesso.

Termux - Um terminal no seu Android

Se nem sempre é possível ter um notebook com Linux em mãos, o Termux quebra um galho e tanto. Para isto, basta instalar em seu Android o programa que está disponível na Google Play e F-Droid.

  • O Termux é um emulador de terminal para Android, que funciona sem a necessidade de fazer root ou configurar seu dispositivo.
  • Quando você instala em seu telefone Android, você terá um sistema mínimo … mas isso é apenas a ponta do iceberg das possibilidades que oferece. Você pode instalar centenas de pacotes usando o gerenciador de pacotes apt.

O que o Termux nos oferece?

  • Segurança. Acesso remoto usando o cliente OpenSSH.
  • Centenas de pacotes. Você pode escolher entre:
    • Shells diferentes**,** como Bash, Fish ou Zsh, por exemplo;
    • Editores diferentes , como nano, vim ou Emacs;
    • Acesse qualquer API por meio de curl;
    • Execute sincronizações com o rsync.

Assim, praticamente qualquer coisa pode ser feita com o Termux. Ele funciona como um terminal do Ubuntu ou a distribuição GNU/Linux que você usa.

  • Você pode instalar o Git. E se você pode instalar e operar o git você pode fazer quase qualquer coisa que você possa imaginar …
  • Mas como não só git vive o homem, ele também coloca à sua disposição Python, Perl, PHP, Ruby ou Node.js.
  • Você só precisa conectar um teclado bluetooth e terá um emulador de terminal funcionando com potência máxima.

Trabalhando com Termux

Primeiramente, visite a página wiki do Termux, para que você possa ver o funcionamento deste emulador de terminal para Android. Lá você encontrará algumas noções básicas para entender o funcionamento dessa ferramenta poderosa .

Dito isso, algumas notas para tornar sua vida mais fácil, caso você não conecte um teclado bluetooth.

  • Aumentar e reduzir o tamanho da fonte com os dedos.

  • Se você pressionar demoradamente, um menu contextual aparecerá. Então, dependendo do que você fizer, ele permitirá que você execute certas ações …

    • Copiar e colar;
    • Selecionar o texto;
    • Compartilhar um texto;
    • Repor o terminal;
    • Matar um processo;
    • Mostrar ajuda, que é basicamente o wiki.
  • O teclado. Se você não estiver usando um teclado bluetooth, você não terá como usar a chave Control e, claro, as setas de rolagem. Isso é essencial para trabalhar com o terminal. Para resolver isso,

    • Volume pra baixo: corresponde a Control
    • Volume Acima + E: corresponde a Esc
    • Volume Acima + T: corresponde a Tab
    • Volume Acima + W: corresponde a Cursor Acima
    • Volume Acima + A: corresponde a Cursor esquerda
    • Volume Acima + S: corresponde a Cursor abaixo
    • Volume Acima + D: corresponde a Cursor direita

    Existem muitos mais atalhos de teclado, mas com estes você pode se mover com facilidade. De qualquer forma, visite o wiki do Termux para estar perfeitamente informado.

Acessando $ HOME

Acessar o diretório $ HOME não é possível para outros aplicativos. No entanto, você pode compartilhar arquivos com permissão de leitura usando a ferramenta termux-open.

Se você precisar de acesso de leitura e gravação, execute termux-setup-storagee forneça as permissões necessárias. Isto irá criar um diretório $HOME/storagecom acesso direto aos vários diretórios sdcard.

Possibilidades com Termux

Termux permite que você faça quase tudo que imaginar. Então, por exemplo, você tem à sua disposição

  • Ambientes de desenvolvimento para Java, Python, Ruby, Rust, PHP e muito mais…
  • Editores, tanto de áudio e vídeo, como o poderoso ffmpeg, passando por editores de texto como Emacs, Vim, nano, joe e até editores de imagens como o imagemagick .
  • Ambientes gráficos. Você pode habilitar o X11, configurar o VNC nos modos servidor e cliente para usar gerenciadores de janelas como Fluxbox ou Openbox.

Gerenciamento de pacotes

Para gerenciar os pacotes no Termux, é recomendado usar o pkg, que nada mais é do que uma interface apt. A vantagem é que simplifica a instalação ou atualização de pacotes. Portanto, por exemplo, você não precisa fazer apt updatetoda vez que instala um pacote.

Para instalar um pacote, é simples:

pkg install [pacote]

Para desinstalar um pacote

pkg uninstall [pacote]

Para listar pacotes instalados

pkg list-all

Você também pode instalar pacotes debusando dpkg.

Por outro lado, existem alguns pacotes específicos que requerem privilégios root. Eles estão em um repositório separado.

Além disso, existem outros gerenciadores de pacotes, como npm, pip, gem e outros que você pode usar perfeitamente.

Igualmente, existem outros repositórios não oficiais, que lhe permitirão instalar muitos pacotes além daqueles indicados aqui.

Addons

Termux tem alguns recursos extras. Você pode adicioná-los instalando addons: Termux: API

Acessar recursos de hardware do Android e do Chrome. Termux: Boot

Executar script (s) quando o dispositivo é inicializado. Termux: Float

Execute o Termux em uma janela flutuante. Termux: Styling

Tenha esquemas de cores e fontes prontas para a personalização da aparência do terminal Termux. Termux: Task

Uma maneira fácil de executar tarefas no Termux e aplicativos compatíveis. Termux: Widget

Inicie pequenos scriptlets a partir da tela inicial.

Outras ferramentas

O Termux também permite a instalação de ferramentas utilizadas para ethical hacking. Assim, são disponibilizados, por exemplo, a ferramenta de força bruta THC Hydra, e scanner de rede nmap. Também possuem todas as dependências para instalar o famoso [metasploit-framework](https://wiki.termux.com/wiki/Metasploit "Metasploit").

Outros sistemas Linux

Da mesma forma, o Termux permite a configuração de outros sistemas Linux. Isto é feito por meio do PRoot. Basicamente, ele serve para emular chroot, bind mount e binfmt_misc para usuários não raiz. Mais informações nos links abaixo:

Homepages: https://proot-me.github.io e

https://github.com/proot-me/PRoot

Veja a lista e instruções abaixo:

Bibliografia