热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Netcat实践

点击上方蓝色字体,关注我们两台kali初级的功能1.及时通信▲▲▲设server的ip为192.168.0.104,在其上执行nc–l–pport意为绑

点击上方蓝色字体,关注我们

两台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/

看不过瘾?合天2017年度干货精华请点击《【精华】2017年度合天网安干货集锦》

别忘了投稿哦!

合天公众号开启原创投稿啦!!!

大家有好的技术原创文章。

欢迎投稿至邮箱:edu@heetian.com

合天会根据文章的时效、新颖、文笔、实用等多方面评判给予100元-500元不等的稿费哟。

有才能的你快来投稿吧!

点击了解投稿详情 重金悬赏 | 合天原创投稿等你来!



推荐阅读
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 本文详细介绍了cisco路由器IOS损坏时的恢复方法,包括进入ROMMON模式、设置IP地址、子网掩码、默认网关以及使用TFTP服务器传输IOS文件的步骤。 ... [详细]
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • Shodan简单用法Shodan简介Shodan是互联网上最可怕的搜索引擎,与谷歌不同的是,Shodan不是在网上搜索网址,而是直接进入互联网的背后通道。Shodan可以说是一款“ ... [详细]
author-avatar
rseu_813
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有