重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
众多被广泛报道的大型消费企业入侵事件凸显了系统安全管理的重要性。幸运的是,有许多不同的应用程序可以帮助保护计算机系统。其中一个是 Kali,一个为安全和渗透测试而开发的 Linux 发行版。本文演示了如何使用 Kali Linux 来审视你的系统以发现弱点。
成都创新互联公司服务项目包括绥棱网站建设、绥棱网站制作、绥棱网页制作以及绥棱网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,绥棱网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到绥棱省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
Kali 安装了很多工具,它们都是开源的,默认情况下安装了它们会让事情变得更容易。
(LCTT 译注:Kali 及其携带工具只应该用于对自己拥有合法审查权利的系统和设备,任何未经授权的扫描、渗透和攻击均是违法的。本文作者、译者均不承担任何非授权使用的结果。)
本文使用的系统是:
我在上面列出了硬件规格,因为一些任务要求很高,尤其是在运行 WordPress 安全扫描程序(WPScan)时对目标系统 CPU 的要求。
首先,我会在目标系统上进行基本的 Nmap 扫描(你可以阅读 使用 Nmap 结果帮助加固 Linux 系统一文来更深入地了解 Nmap)。Nmap 扫描是一种快速的方法,可以大致了解被测系统中哪些端口和服务是暴露的。
默认扫描显示有几个你可能感兴趣的开放端口。实际上,任何开放端口都可能成为攻击者破坏你网络的一种方式。在本例中,端口 21、22、80 和 443 是不错的扫描对象,因为它们是常用服务的端口。在这个早期阶段,我只是在做侦察工作,尽可能多地获取有关目标系统的信息。
我想用 Nmap 侦察 80 端口,所以我使用 -p 80 参数来查看端口 80, -A 参数来获取操作系统和应用程序版本等信息。
关键信息有:
现在我知道了这是一个 WordPress 服务器,我可以使用 WPScan 来获取有关潜在威胁的信息。一个很好的侦察方法是尝试找到一些用户名,使用 --enumerate u 告诉 WPScan 在 WordPress 实例中查找用户名。例如:
这显示有两个用户: admin 和 pgervase 。我将尝试使用密码字典来猜测 admin 的密码。密码字典是一个包含很多密码的文本文件。我使用的字典大小有 37G,有 3,543,076,137 行。
就像你可以选择不同的文本编辑器、Web 浏览器和其他应用程序 一样,也有很多工具可以启动密码攻击。下面是两个使用 Nmap 和 WPScan 的示例命令:
这个 Nmap 脚本是我使用的许多脚本之一,使用 WPScan 扫描 URL 只是这个工具可以完成的许多任务之一。你可以用你喜欢的那一个。
WPScan 示例在文件末尾显示了密码:
在末尾的“找到有效组合”部分包含了管理员用户名和密码,3231 行只用了两分钟。
我还有另一个字典文件,其中包含 3,238,659,984 行,使用它花费的时间更长并且会留下更多的证据。
使用 Nmap 可以更快地产生结果:
然而,运行这样的扫描可能会在目标系统上留下大量的 HTTPD 日志消息:
为了获得关于在最初的 Nmap 扫描中发现的 HTTPS 服务器的信息,我使用了 sslscan 命令:
它显示了有关启用的 SSL 协议的信息,在最下方,是关于 Heartbleed 漏洞的信息:
有很多方法可以保护你的系统免受大量攻击。几个关键点是:
本文对安全工具及其使用方法的介绍只是冰山一角。深入了解的话,你可能需要查看以下资源:
via:
作者:Peter Gervase选题:lujun9972译者:MjSeven校对:wxy
测试网络是否连通
1,ping IP 查看网络数据包是否可达 (首先PING 网关 如果网关都不通的话说明网络或配置有问题。如果网关通,但是没有外网 或PING不通其他网段的网络)那么可以实用下一条!
2,. traceroute Ip(域名)查看你是再哪一跳失败的。 从而检测出 是哪个设备的故障。比如网关 防火墙 路由器 交换机等。
测试端口是否连通
方法一、telnet法
telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法格式:
telnet ip port
说明:
ip:是测试主机的ip地址
port:是端口,比如80
如果telnet连接不存在的端口,那会如下图所示。
如果telnet 连接存在端口会出现如下图所示的内容,下图中以80端口为例。
方法二、ssh法
SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,在linux上可以通过ssh命令来测试端口的连通性,具体用法格式如下:
用法: ssh -v -p port username@ip
说明:
-v 调试模式(会打印日志).
-p 指定端口
username:远程主机的登录用户
ip:远程主机
如果远程主机开通了相应的端口,会有如下图所示的建立成功的提示。
如果远程主机没有开通相应的端口,则如下图所示
方法三、curl法
curl是利用URL语法在命令行方式下工作的开源文件传输工具。也可以用来测试端口的连通性,具体用法:
curl ip:port
说明:
ip:是测试主机的ip地址
port:是端口,比如80
如果远程主机开通了相应的端口,都会输出信息,如果没有开通相应的端口,则没有任何提示,需要CTRL+C断开。
方法四、wget方法
wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。wget名称的由来是“World Wide Web”与“get”的结合,它也可以用来测试端口的连通性具体用法: 《Linux就该这么学》 学习更多linux命令。
wget ip:port
说明:
ip:是测试主机的ip地址
port:是端口,比如80
如果远程主机不存在端口则会一直提示连接主机。
1、fast
是Netflix提供的一项服务,它不仅可以通过命令行来使用,而且可以直接在Web端使用:fast.com,我们可以通过以下命令来安装这个工具:
$ npm install --global fast-cli
不管是网页端还是命令行,它都提供了最基本的网络下载测速。命令行下最简单的使用方法如下:
$ fast
93 Mbps ↓
从以上结果可以看出,直接使用fast命令的话,将只返回网络下载速度。如果你也想获取网络的上传速度,则需要使用-u选项。
$ fast -u
⠧ 81 Mbps ↓ / 8.3 Mbps ↑
2、speedtest
是一个更加知名的工具。它是用Python写成的,可以使用apt或pip命令来安装。你可以在命令行下使用,也可以直接将其导入到你的 Python
项目,使用的时候,可以直接运行speedtest命令即可:
$ speedtest
Retrieving speedtest.net configuration...
Testing from Tencent cloud computing (140.143.139.14)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Henan CMCC 5G (Zhengzhou) [9.69 km]: 28.288 ms
Testing download
speed................................................................................
Download: 56.20 Mbit/s
Testing upload
speed......................................................................................................
Upload: 1.03 Mbit/s
从运行结果可以看出,speedtest命令将直接提供上传/下载速率,测试的过程也是挺快的。你可以编写一个脚本来调用这个命令,然后定期进行网络测试,并在结果保存在一个文件或数据库,这样你就可以实时跟踪你的网络状态。
3、iperf
是一个网络性能测试工具,它可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。
这个工具不仅仅在Linux系统下可以用,在Mac和Windows系统同样可以使用。
如果你想测试网络带宽,则需要两台电脑。这两台电脑需要处于同样的网络,一台作为服务机,另一台作为客户机,并且二者必须都要安装
iPerf,可以通过如下命令获取服务器的IP地址:
$ ip addr show | grep inet.*brd
inet 192.168.242.128/24 brd 192.168.242.255 scope global dynamic
noprefixroute ens33
之后,我们再在服务机上启动iperf工具:
$ iperf -s
然后,我们就可以等待客户机的接入了。客户机可以使用以下命令来连上服务机:
$ iperf -c 192.168.242.128
通过几秒钟的测试,它就会返回网络传输速率及带宽。
# yum -y install stress
# yum info stress
Linux stress 命令
Linux 压力测试软件 stress 使用指南
stress命令
官方网址:
# yum -y install sysstat
# yum info sysstat
系统性能监控神器sysstat
Linux系统维护监控工具集sysstat详解
watch命令 : 周期性执行命令
CPU个数、CPU核心数、CPU线程数
CPU的线程数概念仅仅只针对Intel的CPU才有用,因为它是通过Intel超线程技术来实现的,最早应用在Pentium4上。
如果没有超线程技术,一个CPU核心对应一个线程。所以,对于AMD的CPU来说,只有核心数的概念,没有线程数的概念。
现在大多数CPU有超线程能力,在计算和评估平均负载的时 候,CPU的核数指的是逻辑核数。
# yum -y install dstat
# yum info dstat
全能系统监控工具dstat
在计算机中,系统调用(英语:system call),又称为系统呼叫, 指运行在用户空间的程序向操作系统内核请求需要更高权限运行的服务。
nc是linux系统的一个命令,可以用来测试编写的tcp程序,可以有效的与你编写的tcp程序交互。
典型的用法:
1. nc address port
键盘输入的信息按下Enter键会立即输入到套接字当中的输出流中,同时也会不断地打印输入流当中的信息!
2. nc address file
将文件中的信息发送出去,并不断地打印输入流中的信息
安装speedtest-cli
speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行。它基于Speedtest.net的基础架构来测量网络的上/下行速率。安装speedtest-cli很简单——只需要下载其Python脚本文件。
使用speedtest-cli测试网速
使用speedtest-cli命令也很简单,它不需要任何参数即可工作。
$ speedtest-cli
输入这个命令后,它会自动发现离你最近的Speedtest.net服务器(地理距离),然后打印出测试的网络上/下行速率。