NC(netcat)基本操作

NC(netcat)基本操作

前提:

凭空是无法打开端口,那么我们就可以使用nc这个工具开启我们想要开放的端口。

想开什么端口就可以开什么端口让别人进入。

nc的启用

Windows端nc使用方法

wps1

wps2

Kali端nc使用方法

wps3

基本使用方法一、监听/聊天工具

方法:kali上使用nc去连接Windows7上的8000端口

环境:Windows7(192.168.126.129),Kali(192.168.126.134)

开放端口的为服务端;进入端口的为客户端

1、监听

Windows7开放端口(-lvvp表示显示详细的信息)

wps4

Kali进行连接

wps5

查看各自开放端口及监听状态:

在Windows7/客户端上开放端口时,可查看下Windows上的端口信息,发现确实开发了一个8000号端口,且被Kali【192.168.126.134:44216】连接。

wps6

我们也可以在Kali上查看端口信息,发现Kali自动开放高位端口与Windows7的8000号端口相连:

wps7

2、聊天工具

wps8wps9

基本使用方法二、端口扫描

环境:Windows7(192.168.126.129),Kali(192.168.126.134)

开放端口的为服务端;进入端口的为客户端

方法:kali上使用nc去进行端口扫描,扫描Windows7上的9999号端口

Windows7上开放9999号端口,被扫描结果如下(被扫描端开放端口):

wps10

Kali(扫描端/服务器端)探测8888-10000之间 的端口号是否开放,开为open:

wps11

基本使用方法三、正/反向弹shell

kali上使用nc工具将Windows7上的shell窗口反弹到Kali上;Windows7上使用nc工具将Kali上的shell窗口反弹到Windows7上(基本使用方法--正/反向弹shell);【服务端:Kali,客户端:Windows7】

趣味解释:

正向shell:受害人主动开房间(端口)让歹徒进房间的方式

反向shell:歹徒开房间(端口),诱导受害者进入房间的方式

1、正向连接:指服务端主动反弹shell

正向shell:控制端主动发起连接去连接被控制端

服务器端开启监听,并且弹出shell窗口(root用户)给8000号端口:

wps12

客户端通过连接192.168.126.134上的8000号端口接收到Kali弹出的shell窗口,虽然命令提示符没有显示,但已经是Kali环境(ls命令只能在Linux下使用)。查看Windows上弹出的kali命令行:Windows7上的窗口已经是root用户的窗口

wps13

补充:

1、Windows7上创建用户叫kk,kali上成功查到创建的用户(得到的会话是root权限的)

wps14

wps15

2、如果是Kali的普通用户进行连接的话,会出现会话权限不太够的起来。

使用命令进行会话提升(不是提权):python -c "import pty;pty.spawn('/bin/bash')"

结果是有命令提示符显示,但全是乱码(其实好像权限也没完全提起来【但是两台同样的操作系统就可以成功,可能是我们的Windows7与Kali系统不一致导致的】):(-v:显示日志)

wps16

wps17

2、反向连接:指客户端主动反弹shell

在实战中,大多数采用反向shell,因为正向shell有很多因素导致连接失败,比如说硬件设备有防火墙,入侵防御系统等,还有网站防火墙,端口占用,权限不足等场景,特别是硬件设备如果你正向连接被防火墙拦截导致打草惊蛇,后期攻击相当繁琐。

反向shell:被控制端主动连接控制端,而被控制端主动向外发送的数据包通常都不会被拦截。

Windows7客户端主动反弹shell给Kali上:

wps18

Kali先开启9000号端口进行监听,当Windows7客户端主动反弹shell给Kali的9000号端口上时,Kali成功接收到Windows7客户端反弹的shell窗口(Windows环境):

wps19

补充:

1、反向连接后,发现一个问题,此时客户端上已经无法再在这个窗口做任何事了:

wps20

2、但还有一个问题,反向反弹回Kali上的shell窗口在Linux当中会出现乱码的问题,解决办法如下(修改编码格式):

wps21

但又出现一个问题,这时返回Windows7上发现之前的命令行发生了变化(字体形式):

wps22

wps23

3、但但但,还有问题,就是这个反弹回来的shell窗口权限太低了:

wps24

解决办法,得到会话,且进行会话提升(不是提权):

(命令没有错,但是两台同样的操作系统就可以成功,可能是我们的Windows7与Kali系统不一致导致的)

wps25

我们使用kali自己(开两个窗口)进行测试刚刚会话提升的命令。结果是命令没有问题,我想应该就是Windows7上没有python的环境而导致的:(结果正常,命令可以正常生效)

wps26

基本使用方法四、文件传输

方法:使用nc去进行文件传输

环境:服务端Kali,客户端Windows7

上传文件用<;下载文件用>。

1、正向传输

kali服务器发送文件k1.txt:

wps27

Windows7客户端接受服务器发送的k1.txt,并保存在当前目录下的k2.txt上:

wps28

2、反向传输

Windows7客户端上传当前目录下的k2.txt文件给192.168.126.134:7000:

wps29

kali服务器端接受文件并保存在/home/kali/Desktop下的k3.txt。在开启监听时会先创建这个文件,然后在进行文件的接收:

wps30

posted @ 2024-03-17 19:14  gcc_com  阅读(51)  评论(0编辑  收藏  举报