美文网首页
Netcat实践

Netcat实践

作者: 蚁景科技 | 来源:发表于2018-08-02 11:08 被阅读54次

两台kali

初级的功能

1. 及时通信

设server的ip为192.168.0.104,在其上执行

nc –l –p port

意为绑定6666端口作为自己的通信端口

输入命令后回车,等待client连接

设client的IP为192.168.0.105,输入

nc serverip port

意为连接到server(IP为192.168.0.104的6666端口)

在server端和client端都搭建好了以后,就可以互相进行即时通信

此时在cliet上开始输入信息,便可以看到server接收到了相应的信息

在server输入,在client同样可以看到

这便是使用netcat进行即时通信的用法

注意:在使用netcat进行即时通信的时候,要首先搭建server端然后搭建client端。否则会出现如图所示情况

因为server的端口还没有开放

2. 文件传输

同样设server为192.168.0.104,client为192.168.0.105

大部分时间中,我们都在试图通过网络或者其他工具传输文件。有很多种方法,比如FTP,SCP,SMB等等,但是当你只是需要临时或者一次传输文件,真的值得浪费时间来安装配置一个软件到你的机器上嘛。假设,你想要传一个文件file.txt 从server到client。首先我们在server新建file.txt

在client端执行

意为将从本地端口8888收到的内容存到transfer.txt

接着在server端执行

以为将file.txt的内容传到192.168.0.105的8888

此时client端回显如下:

可以看到在client已经收到file.txt的内容,并保存在transfer.txt了

中级

3. 扫端口

server:192.168.0.104

client:192.168.0.105

netcat可以用来扫描端口,为了验证效果,我们首先在server上开启apache服务,相当于就开发了80端口

接着在client上使用netcat扫描

可以看到扫描出了开放的80端口

4. 抓取banner

在server上安装vsftpd

开启ftp服务

接下来来到client,连接相应端口

可以看到很轻易就抓到了banner

5.与web服器交互

server端现在已经可以作为web服务器使用

首先连接

然后运行http请求

即输入HEAD /HTTP/1.0回车

高级

6. shell

attacker:192.168.0.104

victim:192.168.0.105

netcat反弹shell时分为正向shell和反向shell

6.1正向shell

在victim上执行:

在attacker上执行:

此时在attacker上输入的命令,所回显的内容其实都是在victim上执行的结果

而在victim端显示如图

6.2反向shell

6.2.1最普通的反向shell

在attacker上执行

在victim上执行

此时在attacker就拿到shell了

这是最普遍的一种反向shell方式,接下来在扩充下知识点~~敲黑板,划重点啦~

当victim上没有nc上我们怎么反弹shell呢?下面介绍几种方法。

第一步都一样,都要在attacker上执行

不同的是接下来的步骤

6.2.2python

在victim上执行

此时在attacker上就收到shell了:

6.2.3ruby

在victim上执行

在attacker上拿到shell

6.2.4perl

在victim上执行

在attacker上收到shell

6.2.5php

在victim上执行

在attacker收到shell

7.web服务器

server:192.168.0.104

client:192.168.0.105

在server上新建test.txt

然后输入

开启web服务

接着启动

在victim上访问

在server上可以看到如下回显

但是这个命令开启的服务访问一次后就关闭了,再次访问会如图所示:

所以我们可以改进,将其写入脚本提供持久化的web服务

脚本内容如下:

脚本就是讲关键的那行代码加入了一直为真的while循环中:运行脚本

此时可以持久访问了

刷新后依旧可以访问

访问一次,在server上就会重复回显如下内容

拓展:使用python自制netcat--《python黑帽子》

代码如下:

在192.168.0.105上运行

查看帮助

建立监听

在192.168.0.104上使用nc连接,可以看到成功拿到shell

此时在105机器上回显如下

最后附上netcat的参数中文翻译:

-g<网关>:设置路由器跃程通信网关,最多设置8个;

-d 无命令行界面,使用后台模式

-c 程序重定向,比如-c bash,nc传输过来的数据就会指向bash去执行

-e 这个也是程序重定向,用在windows下

-G<指向器数目>:设置来源路由指向器,其数值为4的倍数;

-h:在线帮助; -i<延迟秒数>:设置时间间隔,以便传送信息及扫描通信端口;

-l:使用监听模式,监控传入的资料;

-L:也是用作监听,不过监听端不终止nc的话,连接端终止后,监听端依然保持监听状态。

-n:直接使用ip地址,而不通过域名服务器;

-o<输出文件>:指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存;

-p<通信端口>:设置本地主机使用的通信端口;

-r:指定源端口和目的端口都进行随机的选择;

-s<来源位址>:设置本地主机送出数据包的IP地址;

-u:使用UDP传输协议;

-v:显示指令执行过程;

-w<超时秒数>:设置等待连线的时间,一般扫描时加上;

-z:使用0输入/输出模式,只在扫描通信端口时使用。

参考:

1. https://www.cnblogs.com/r00tgrok/p/reverse_shell_cheatsheet.html

2. https://blog.csdn.net/angie_q/article/details/78768227

3. https://bitrot.sh/cheatsheet/19-12-2017-ncat/

4. http://www.cnblogs.com/hyq20135317/p/5491298.html

5. http://www.binarytides.com/netcat-tutorial-for-beginners/


文章仅用于普及网络安全知识,提高小伙伴的安全意识的同时介绍常见漏洞的特征等,若读者因此做出危害网络安全的行为后果自负,与合天智汇以及原作者无关,特此声明。

相关文章

  • Netcat实践

    两台kali 初级的功能 1.及时通信 设server的ip为192.168.0.104,在其上执行 nc –l ...

  • CentOS7下源代码安装netcat-0.7.1

    NetCat 0.7.1下载 NetCat-0.7.1的官网地址为:http://netcat.sourcefor...

  • 网络利器netcat

    netcat netcat具有“网络瑞士军刀“之称,支持从命令行跨网络读取和写入数据。 netcat 有 GNU ...

  • windows 下sparkstreaming或flink测试用

    下载并安装: 下载netcat(https://eternallybored.org/misc/netcat/...

  • window下使用nc

    步骤1:下载netcat,地址:https://eternallybored.org/misc/netcat/ 步...

  • Netcat实验两则

    好可惜前几日才接触Netcat,听闻Netcat有“瑞士军刀”之美称,出于好奇,做Netcat实验两个: 1.使用...

  • 安装Chocolatey

    复制以下命令在cmd窗口以管理员身份运行: 安装netcat 使用netcat:

  • netcat

    netcat是网络界的瑞士军刀,是一个用于TCP/UDP连接和监听的linux工具,主要用于网络传输及调试领域。n...

  • netcat

    netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。 通过与其他工具结合和重定向,你可以在...

  • netcat

    Install

网友评论

      本文标题:Netcat实践

      本文链接:https://www.haomeiwen.com/subject/fyhjvftx.html