Kali 平台渗透教程

Linux

This article was last updated on <span id="expire-date"></span> days ago, the information described in the article may be outdated.

image

Kali Linux 漏洞审计 批量扫描 弱密码撞库 教程

Nmap 端口扫描

安装

sudo apt-get install nmap

语法

nmap [扫描类型] [扫描参数] [hosts 地址与范围]

扫描类型

  • -sT TCP connect() 扫描,这是最基本的 TCP 扫描方式。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。
  • -sS TCP 同步扫描 (TCP SYN),因为不必全部打开一个 TCP 连接,所以这项技术通常称为半开扫描 (half-open)。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要 root 权限来定制 SYN 数据包。
  • -sF,-sX,-sN 秘密 FIN 数据包扫描、圣诞树 (Xmas Tree)、空 (Null) 扫描模式。这些扫描方式的理论依据是:关闭的端口需要对你的探测包回应 RST 包,而打开的端口必需忽略有问题的包(参考 RFC 793 第 64 页)。
  • -sP ping 扫描,用 ping 方式检查网络上哪些主机正在运行。当主机阻塞 ICMP echo 请求包是 ping 扫描是无效的。nmap 在任何情况下都会进行 ping 扫描,只有目标主机处于运行状态,才会进行后续的扫描。
  • -sU UDP 的数据包进行扫描,如果你想知道在某台主机上提供哪些 UDP(用户数据报协议,RFC768) 服务,可以使用此选项。
  • -sA ACK 扫描,这项高级的扫描方法通常可以用来穿过防火墙。 -sW 滑动窗口扫描,非常类似于 ACK 的扫描。
  • -sR RPC 扫描,和其它不同的端口扫描方法结合使用。 -b FTP 反弹攻击 (bounce attack),连接到防火墙后面的一台 FTP 服务器做代理,接着进行端口扫描。

扫描参数

  • -P0 在扫描之前,不 ping 主机。
  • -PT 扫描之前,使用 TCP ping 确定哪些主机正在运行。
  • -PS 对于 root 用户,这个选项让 nmap 使用 SYN 包而不是 ACK 包来对目标主机进行扫描。
  • -PI 设置这个选项,让 nmap 使用真正的 ping(ICMP echo 请求)来扫描目标主机是否正在运行。
  • -PB 这是默认的 ping 扫描选项。它使用 ACK(-PT) 和 ICMP(-PI) 两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种方法,你就能够穿过防火墙。
  • -O 这个选项激活对 TCP/IP 指纹特征 (fingerprinting) 的扫描,获得远程主机的标志,也就是操作系统类型。
  • -I 打开 nmap 的反向标志扫描功能。
  • -f 使用碎片 IP 数据包发送 SYN、FIN、XMAS、NULL。包增加包过滤、入侵检测系统的难度,使其无法知道你的企图。
  • -v 冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息。
  • -S在一些情况下,nmap 可能无法确定你的源地址 (nmap 会告诉你)。在这种情况使用这个选项给出你的 IP 地址。
  • -g port 设置扫描的源端口。一些天真的防火墙和包过滤器的规则集允许源端口为 DNS(53) 或者 FTP-DATA(20) 的包通过和实现连接。显然,如果攻击者把源端口修改为 20 或者 53,就可以摧毁防火墙的防护。
  • -oN 把扫描结果重定向到一个可读的文件 logfilename 中。
  • -oS 扫描结果输出到标准输出。
  • –host_timeout 设置扫描一台主机的时间,以毫秒为单位。默认的情况下,没有超时限制。
  • –max_rtt_timeout 设置对每次探测的等待时间,以毫秒为单位。如果超过这个时间限制就重传或者超时。默认值是大约 9000 毫秒。
  • –min_rtt_timeout 设置 nmap 对每次探测至少等待你指定的时间,以毫秒为单位。
  • -M count 置进行 TCP connect() 扫描时,最多使用多少个套接字进行并行的扫描。

端口状态

  • Open(开放的)意味着目标机器上的应用程序正在该端口监听连接 / 报文。
  • filtered(被过滤的) 意味着防火墙,过滤器或者其它网络障碍阻止了该端口被访问,Nmap 无法得知 它是 open(开放的) 还是 closed(关闭的)。
  • closed(关闭的) 端口没有应用程序在它上面监听,但是他们随时可能开放。
  • unfiltered(未被过滤的)当端口对 Nmap 的探测做出响应,但是 Nmap 无法确定它们是关闭还是开放时 open filtered 开放或者被过滤的 closed filtered 关闭或者被过滤的

扫描实例

阿里云服务器网段大全:CSDN博客 CSDN-eagle_min大佬

腾讯云 ip 段:CSDN-eagle_min大佬

  1. 用 nmap 扫描该网段开放的 888 端口保存在 pma.txt 文件 格式要求:ip:port
    nmap -vv -n --open -p 888 网段 | awk -F'[ /]' '/Discovered open port/{print $NF":"$4}' >> pma.txt

Hydra 弱密码破解

安装

sudo apt-get install hydra

Hydra 是一款非常强大的暴力破解工具,它是由著名的黑客组织 THC 开发的一款开源暴力破解工具。Hydra 是一个验证性质的工具,主要目的是:展示安全研究人员从远程获取一个系统认证权限

常见参数

  • -R: 继续从上一次进度接着破解
  • -S: 大写,采用 SSL 链接
  • -s: 小写,可通过这个参数指定非默认端口
  • -l: 指定破解的用户,对特定用户破解
  • -L: 指定用户名字典
  • p: 小写,指定密码破解,少用,一般是采用密码字典
  • -P: 大写,指定密码字典
  • -e: 可选选项,n:空密码试探,s:使用指定用户和密码试探
  • -C: 使用冒号分割格式,例如“登录名: 密码”来代替 -L/-P 参数
  • -M: 指定目标列表文件一行一条
  • o: 指定结果输出文件
  • -f : 在使用 -M 参数以后,找到第一对登录名或者密码的时候中止破解
  • -t: 同时运行的线程数,默认为 16
  • -w
  • -v / -V: 显示详细过程
  • server: 目标 ip
  • service: 指定服务名,支持的服务和协议
  • OPT: 可选项

实例分析

1.破解 Ssh

hydra -M sship.txt ssh -L user.txt -P passwd.txt -e ns -f -vV -t 4 -o ssh.txt

-M 指定目标列表文件 一条一行

-L 指定用户字典

-P 指定密码字典

-e ns 空密码试探

-f 当破解一个成功密码就停止

-o 把成功的输出到 ssh.txt 文件

-vV 显示详细信息

2.破解 3389 远程登录

hydra -M rdpip.txt rdp -L user.txt -P passwd.txt -e ns -f -vV -t 16 -o rdp.txt

3.破解 MySQL 数据库

hydra -M mysqlip.txt rdp -L user.txt -P passwd.txt -e ns -f -vV -t 16 -o mysql.txt

Author: WhaleFall

Permalink: https://www.whaleluo.top/kali-linux-tutorial/

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。

Comments