NC(netcat)基本操作
前提:
凭空是无法打开端口,那么我们就可以使用nc这个工具开启我们想要开放的端口。
想开什么端口就可以开什么端口让别人进入。
nc的启用
Windows端nc使用方法
Kali端nc使用方法
基本使用方法一、监听/聊天工具
方法:kali上使用nc去连接Windows7上的8000端口
环境:Windows7(192.168.126.129),Kali(192.168.126.134)
开放端口的为服务端;进入端口的为客户端
1、监听
Windows7开放端口(-lvvp表示显示详细的信息)
Kali进行连接
查看各自开放端口及监听状态:
在Windows7/客户端上开放端口时,可查看下Windows上的端口信息,发现确实开发了一个8000号端口,且被Kali【192.168.126.134:44216】连接。
我们也可以在Kali上查看端口信息,发现Kali自动开放高位端口与Windows7的8000号端口相连:
2、聊天工具
基本使用方法二、端口扫描
环境:Windows7(192.168.126.129),Kali(192.168.126.134)
开放端口的为服务端;进入端口的为客户端
方法:kali上使用nc去进行端口扫描,扫描Windows7上的9999号端口
Windows7上开放9999号端口,被扫描结果如下(被扫描端开放端口):
Kali(扫描端/服务器端)探测8888-10000之间 的端口号是否开放,开为open:
基本使用方法三、正/反向弹shell
kali上使用nc工具将Windows7上的shell窗口反弹到Kali上;Windows7上使用nc工具将Kali上的shell窗口反弹到Windows7上(基本使用方法--正/反向弹shell);【服务端:Kali,客户端:Windows7】
趣味解释:
正向shell:受害人主动开房间(端口)让歹徒进房间的方式
反向shell:歹徒开房间(端口),诱导受害者进入房间的方式
1、正向连接:指服务端主动反弹shell
正向shell:控制端主动发起连接去连接被控制端
服务器端开启监听,并且弹出shell窗口(root用户)给8000号端口:
客户端通过连接192.168.126.134上的8000号端口接收到Kali弹出的shell窗口,虽然命令提示符没有显示,但已经是Kali环境(ls命令只能在Linux下使用)。查看Windows上弹出的kali命令行:Windows7上的窗口已经是root用户的窗口
补充:
1、Windows7上创建用户叫kk,kali上成功查到创建的用户(得到的会话是root权限的)
2、如果是Kali的普通用户进行连接的话,会出现会话权限不太够的起来。
使用命令进行会话提升(不是提权):python -c "import pty;pty.spawn('/bin/bash')"
结果是有命令提示符显示,但全是乱码(其实好像权限也没完全提起来【但是两台同样的操作系统就可以成功,可能是我们的Windows7与Kali系统不一致导致的】):(-v:显示日志)
2、反向连接:指客户端主动反弹shell
在实战中,大多数采用反向shell,因为正向shell有很多因素导致连接失败,比如说硬件设备有防火墙,入侵防御系统等,还有网站防火墙,端口占用,权限不足等场景,特别是硬件设备如果你正向连接被防火墙拦截导致打草惊蛇,后期攻击相当繁琐。
反向shell:被控制端主动连接控制端,而被控制端主动向外发送的数据包通常都不会被拦截。
Windows7客户端主动反弹shell给Kali上:
Kali先开启9000号端口进行监听,当Windows7客户端主动反弹shell给Kali的9000号端口上时,Kali成功接收到Windows7客户端反弹的shell窗口(Windows环境):
补充:
1、反向连接后,发现一个问题,此时客户端上已经无法再在这个窗口做任何事了:
2、但还有一个问题,反向反弹回Kali上的shell窗口在Linux当中会出现乱码的问题,解决办法如下(修改编码格式):
但又出现一个问题,这时返回Windows7上发现之前的命令行发生了变化(字体形式):
3、但但但,还有问题,就是这个反弹回来的shell窗口权限太低了:
解决办法,得到会话,且进行会话提升(不是提权):
(命令没有错,但是两台同样的操作系统就可以成功,可能是我们的Windows7与Kali系统不一致导致的)
我们使用kali自己(开两个窗口)进行测试刚刚会话提升的命令。结果是命令没有问题,我想应该就是Windows7上没有python的环境而导致的:(结果正常,命令可以正常生效)
基本使用方法四、文件传输
方法:使用nc去进行文件传输
环境:服务端Kali,客户端Windows7
上传文件用<;下载文件用>。
1、正向传输
kali服务器发送文件k1.txt:
Windows7客户端接受服务器发送的k1.txt,并保存在当前目录下的k2.txt上:
2、反向传输
Windows7客户端上传当前目录下的k2.txt文件给192.168.126.134:7000:
kali服务器端接受文件并保存在/home/kali/Desktop下的k3.txt。在开启监听时会先创建这个文件,然后在进行文件的接收:
标签:shell,kali,Kali,NC,端口,Windows7,netcat,基本操作,客户端 From: https://www.cnblogs.com/carmi/p/18078990