渗透测试学习笔记(二)kali相关

一.kali 基础工具

  1. NetCat -网络工具中的瑞士军刀:允许用户通过 TCP 或 UDP 协议发送和接收数据。
  2. WireShark-开源抓包软件
  3. TCPdump-命令行抓包分析工具

二. 被动信息收集

2.1 被动信息收集指从公开渠道获取信息,主要是已经公开的信息。

要点:

  • 与目标系统不产生直接交互(扫描)
  • 尽量避免留下一切痕迹
收集内容
IP 地址段
域名信息
邮件地址
文档图片
公司地址
公司组织架构
联系电话/传真号码
人员姓名/职务
目标系统使用的技术架构
公开的商业信息

2.2 信息用途

  • 用所有已获得的信息来描述目标,还原目标真实情况。
  • 通过分析描述中的目标来发现其弱点
  • 社会工程学攻击
  • 物理缺口

域名信息收集工具

  1. nslookup -域名解析和网络故障排除。
  • nslookup 有两种模式
    交互模式:一个会话执行多个查询或操作
    命令行模式:执行一次性简单查询或者将其嵌入脚本中
  1. dig-域名系统(DNS)查询工具,常用于域名解析和网络故障排除。比 nsloop 有更强大的功能

  2. 域名字典爆破

通过尝试多个可能得域名来猜测有效的域名或子域名
字典的选择与使用

字典爆破工具

字典工具描述使用命令
fierce开源网络安全工具:用于域名扫描和子域名枚举fierce --dns-servers 8.8.8.8 --domain XXX.com.cn
dnsenum枚举域名信息的开源工具:执行多种 DNS 查询来收集与目标域名相关的信息dnsenum -dnsserver 8.8.8.8 XXX.com -o sina.xml
dbsrecon域名枚举和信息收集
  1. 域名注册信息
  • whois 命令

  • 用于查询和获取域名额注册信息,可以查看特定域名注册商,域名所有者,注册日期,过期日期,DNS 服务器等信息。

whois -h whois.apnic.net 192.0.43.10

三. 搜索引擎

Shodan

专门用于搜索和互联网连接的设备和系统。他主要关注物联网设备,工业控制系统,服务器和其他网络设备等特定的联网设备

ZoomEye
ZoomEye 专门用于搜索与互联网上的网络设备和系统相关的信息。它被称为网络空间搜索引擎,与 Shodan 类似。

https://www.shodan.io/
Google

工作原理:通过自动化程序定期爬取互联网上的网页内容,建立庞大索引数据库

筛选语法!!!

四.社工字典

  1. cupp

按个人信息生成专属的密码字典。

Common User Password Profiler(CUPP,通用用户密码探查器):
https://github.com/Mebus/cupp

  1. Exif

Exif (Exchangeable Image File Foemat) 用于存放数字图像喝音频文件元数据的标准格式,通常用于 JPEG,TIFT 和 RAW 图像中,用于记录与图像相关的信息。
Exif 提供了关于图像的拍摄参数、设备信息、拍摄时间等详细的元数据

五. 主动信息收集

  • 扫描(IP,端口,服务等)
  • 直接与目标系统交互通信
  • 使用受控第三方电脑进行探测,使用代理
5.2 二层发现
  • 通过 ARP 协议发现同网段下存活的主机
    优点:扫描速度快,可靠
    缺点:不可路由,只能发现本网段主机,常用于获得某台主机控制权后,以此作为跳板发现其网段内其他主机
  1. arping

ARPing:(Address Resolution Protocol pinging)用于获取与指定 IP 地址相关联的 MAC 地址

arping 192.168.230.1 -c 1

查看是否有 ARP 欺骗

arping 192.168.230.1 -d

3.nmap

Namp(Network Mapper)用于探测主机,端口和服务等信息,提供丰富功能

:扫描网段所有存活主机。

nmap 10.133.30.1-254 -sn

: 扫描文件中的主机是否存活

nmap -iL iplist.txt -sn
  1. Netdiscover
    基于 APR 协议的网络扫描工具,发现本地网络中活动主机的 IP 地址和 MAC 地址
  • 专门用与二层发现,无线和交换网络环境
  • 主动和被动探测

示例 01:指定网络接口,扫描网段存活主机。

netdiscover -i eth0 -r 1.1.1.0/24
  1. Scapy
#!/usr/bin/pythonimport logging
import subprocess
import sysfrom scapy.all import *
from scapy.layers.l2 import ARPlogging.getLogger("scapy.runtime").setLevel(logging.ERROR)if len(sys.argv) != 2:print("Usage: ./arp_disc.py <interface>")print("Example: ./arp_disc.py eth0")sys.exit()interface = str(sys.argv[1])
ip = subprocess.check_output("ifconfig " + interface + " | grep 'inet ' | cut -d 't' -f 2 | cut -d ' ' -f 2", shell=True).strip().decode()
print("IP address:", ip)
prefix = ip.split('.')[0] + '.' + ip.split('.')[1] + '.' + ip.split('.')[2] + '.'for addr in range(0, 254):answer = sr1(ARP(pdst=prefix + str(addr)), timeout=0.1, verbose=0)if answer == None:passelse:print(prefix + str(addr))print("END")
sys.exit()
5.3 三层发现

通过 ip。icmp 协议发现存活主机

优点:速度比较快
缺点:经常被边界防火墙过滤

  1. ping
  2. Scapy

#!/usr/bin/pythonimport logging
import subprocess
import sysfrom scapy.all import *
from scapy.layers.inet import IP, ICMPlogging.getLogger("scapy.runtime").setLevel(logging.ERROR)if len(sys.argv) != 2:print("Usage: ./pinger.py </24 network address>")print("Example: ./pinger.py 172.16.36.0")sys.exit()address = str(sys.argv[1])
prefix = address.split('.')[0] + '.' + address.split('.')[1] + '.' + address.split('.')[2] + '.'for addr in range(0, 254):answer = sr1(IP(dst=prefix + str(addr))/ICMP(), timeout=0.1, verbose=0)if answer == None:passelse:print(prefix + str(addr))print("END")
sys.exit()
  1. nmap
nmap -sn 1.1.1.100-250
  1. fping
    fping(Fast Ping)用于测试主机的可达性和响应时间。与标准 ping 工具不同,fping 具有一些额外的功能和选项。支持并发探测与批量操作。
  2. fping 1.1.1.1 -c 2
  3. traceroute
5.3 四层发现

主要是基于 TCP、UDP 协议来发现存活主机

优点:

  • 可路由且结果可靠
  • 不太可能被防火墙过滤
  • 甚至可以发现所有端口都被过滤的主机
    缺点:
    基于状态过滤的防火墙可能过滤扫描
    全端口扫描速度慢

原理:
TCP

  1. 全连接扫描(TCP Connect Scan):扫描器尝试与目标主机的端口建立完整的 TCP 连接。如果连接成功建立,则说明该端口是开放的,目标主机存活。
  2. 半开放扫描(SYN 扫描,TCP SYN Scan):扫描器发送一个 TCP SYN 包(同步包)到目标主机的指定端口,如果收到目标主机的 TCP SYN/ACK 包(同步/应答包),则表示该端口是开放的(主机存活);如果收到目标主机的 RST 包(复位包)或没有收到任何响应,则表示该端口是关闭的。
  3. ACK 扫描:发送未经请求的 ACK 包到目标主机的端口,通过观察返回的响应或未响应来判断端口的状态。大多数操作系统对于未经请求的 ACK 包会返回一个 RST 包。在很多情况下可能被防火墙或入侵检测系统所阻止。

UDP

  1. 扫描器向目标主机的指定端口发送一个 UDP 数据包,然后根据接收到的响应进行判断。(例如,ICMP 端口不可达消息)

5.3.2 Scapy

#!/usr/bin/pythonimport logging
import sysfrom scapy.all import *
from scapy.layers.inet import IP, TCPlogging.getLogger("scapy.runtime").setLevel(logging.ERROR)if len(sys.argv) != 2:print("Usage: ./ACK_ping.py </24 network address>")print("Example: ./ACK_ping.py 172.16.36.0")sys.exit()address = str(sys.argv[1])
prefix = address.split('.')[0] + '.' + address.split('.')[1] + '.' + address.split('.')[2] + '.'for addr in range(0, 254):response = sr1(IP(dst=prefix + str(addr))/TCP(dport=2222, flags='A'), timeout=0.1, verbose=0)try:if int(response[TCP].flags) == 4:print(prefix + str(addr))except:passprint("END")
sys.exit()

UDP 的脚本 UDP_ping.py


#!/usr/bin/pythonimport logging
import sysfrom scapy.all import *
from scapy.layers.inet import IP, UDPlogging.getLogger("scapy.runtime").setLevel(logging.ERROR)if len(sys.argv) != 2:print("Usage: ./UDP_ping.py </24 network address>")print("Example: ./UDP_ping.py 172.16.36.0")sys.exit()address = str(sys.argv[1])
prefix = address.split('.')[0] + '.' + address.split('.')[1] + '.' + address.split('.')[2] + '.'for addr in range(0, 254):response = sr1(IP(dst=prefix + str(addr))/UDP(dport=2222), timeout=0.1, verbose=0)try:if int(response[IP].proto) == 1:print(prefix + str(addr))except:passprint("END")
sys.exit()

5.3.3 nmap

nmap 1.1.1.100-254 -PU 53 -sn

5.3.4 hping3

nmap 1.1.1.100-254 -PU 53 -sn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/63734.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 Windows WSL 上部署 Ollama 和大语言模型:从镜像冗余问题看 Docker 最佳实践20241208

&#x1f6e0;️ 在 Windows WSL 上部署 Ollama 和大语言模型&#xff1a;从镜像冗余问题看 Docker 最佳实践 ⭐ 引言 随着大语言模型&#xff08;LLM&#xff09;和人工智能技术的迅猛发展&#xff0c;开发者们越来越多地尝试在本地环境中部署模型进行实验。 但部署过程中常…

《人工智能安全:挑战与破局之路》

《人工智能安全&#xff1a;挑战与破局之路》 一、人工智能安全现状二、人工智能安全面临的挑战&#xff08;一&#xff09;技术层面的挑战&#xff08;二&#xff09;伦理与社会层面的挑战 四、人工智能安全未来发展趋势&#xff08;一&#xff09;技术创新引领发展&#xff0…

ContOS7安装完成后的一系列问题

问题1&#xff1a;constos7,安装完后&#xff0c;无法使用yum,导致无法安装任何东西&#xff0c; 解决&#xff1a;原因是国外的镜像地址有问题&#xff0c;改为国内的地址。 查看yum的状态 yum repolist 2.执行如下命令&#xff0c;更换yum源 bash <(curl -sSL https://…

使用JavaScrip和HTML搭建一个简单的博客网站系统

搭建一个简单的博客网站系统&#xff0c;我们需要创建几个基本的页面和功能&#xff1a;登录、注册、文章发布等。这里我们先实现一个基础版本&#xff0c;包括用户登录、注册以及文章发布的功能。由于这是一个简化版的示例&#xff0c;我们将所有逻辑集成在一个HTML文件中&…

跨域 Cookie 共享

跨域请求经常遇到需要携带 cookie 的场景&#xff0c;为了确保跨域请求能够携带用户的认证信息或其他状态&#xff0c;浏览器提供了 withCredentials 这个属性。 如何在 Axios 中使用 withCredentials 为了在跨域请求中携带 cookie&#xff0c;需要在 Axios 配置中设置 withCr…

一些前端组件介绍

wangEditor &#xff1a; 一款开源 Web 富文本编辑器&#xff0c;可用于 jQuery Vue React等 https://www.wangeditor.com/ Handsontable&#xff1a;一款前端可编辑电子表格https://blog.csdn.net/carcarrot/article/details/108492356mitt&#xff1a;Mitt 是一个在 Vue.js 应…

车载以太网-UDPNM

文章目录 UDPNM定义在车载以太网中的作用网络节点状态监测唤醒和睡眠管理网络拓扑发现工作流程消息发送消息接收与处理与其他车载网络协议的比较和协作UDPNM的工作原理是什么?1.消息构建与发送原理消息格式构建发送机制2.消息接收与响应原理接收过程响应机制3.状态管理与定时器…

JavaScript操作数组

push 向数组的 末尾 添加一个或多个元素&#xff0c;并返回新数组的长度。 语法&#xff1a;array.push(element1, element2, ..., elementN) const arr [1, 2, 3]; const newLength arr.push(4, 5); // 添加 4 和 5 console.log(arr); // [1, 2, 3, 4, 5] console.…

Ubuntu防火墙管理(六)——ARP防火墙过滤防御自定义系统服务

起因 在ubuntu24.04中检查arp表&#xff0c;输出异常 arp -a? (10.162.242.142) 位于 74:3a:20:b9:e8:02 [ether] 在 wlp2s0 ? (10.162.0.1) 位于 在 wlp2s0 ubuntu环境中&#xff0c;这是否表示ARP攻击&#xff0c;本地网关为10.162.0.1&#xff0c;可用arptables防御吗&a…

uniapp扭蛋机组件

做了一个uniapp的扭蛋机组件&#xff0c;可以前往下载地址下载 仅测试了vue2、3、h5页面微信小程序&#xff0c;理论支持全平台 使用方法简单&#xff0c;具有待机动效、抽奖中动效、掉落奖品动效&#xff0c;可以替换奖品图片&#xff0c;足以满足大部分抽奖页面需求。 示例图…

C#实现一个HttpClient集成通义千问-开发前准备

集成一个在线大模型&#xff08;如通义千问&#xff09;&#xff0c;来开发一个chat对话类型的ai应用&#xff0c;我需要先了解OpenAI的API文档&#xff0c;请求和返回的参数都是以相关接口文档的标准进行的 相关文档 OpenAI API文档 https://platform.openai.com/docs/api-…

用JavaScript实现一个贪吃蛇游戏

原理如下&#xff0c;贪吃蛇的蛇身就是一个数组&#xff0c;数组中的每个元素都是一个坐标&#xff0c;蛇身每次移动时都会在数组前插入一个新坐标&#xff0c;并在数组尾部删掉一条记录&#xff0c;吃到食物后数组的尾部记录就不删。如果移到屏幕边缘会从屏幕的另一边出现。好…

Unity RectTransUtility工具类

这个工具主要是用于动态生成UI的情况。项目中我们通过配置UI的锚点、位置以及大小(位置、大小都是通过蓝湖看到的)&#xff0c;然后通过代码动态生成UI。 大部分情况下只要合理设置锚点&#xff0c;那么生成出来的UI就已经满足了适配的要求。 using UnityEngine;public static…

红日靶场vulnstack 4靶机的测试报告[细节](一)

目录 一、测试环境 1、系统环境 2、注意事项 3、使用工具/软件 二、测试目的 三、操作过程 1、信息搜集 2、漏洞利用Getshell ①Struts 2 s2-045漏洞 手工利用s2-45漏洞 Msf综合利用 ②Tomcat框架(CVE-2017-12615) ③phpMyAdmin(CVE-2018-12613) 构造语句写入冰蝎木…

Springboot使用纪要

一、配置文件的加载顺序 1、不同配置文件类型的加载顺序 springboot支持三种类型的配置文件 .yml .yaml .properties当这三种配置文件处于同一目录下时&#xff0c;springboot会优先加载properties文件&#xff0c;如果.properties文件和.yml文件都有某一配置&#xff0c;而…

Unity协程机制详解

Unity的协程&#xff08;Coroutine&#xff09;是一种异步编程的机制&#xff0c;允许在多个帧之间分割代码的执行&#xff0c;而不阻塞主线程。与传统的多线程不同&#xff0c;Unity的协程在主线程中运行&#xff0c;并不会开启新的线程。 什么是协程&#xff1f; 协程是一种…

electron 打包 webview 嵌入需要调用电脑摄像头拍摄失败问题

electron 打包 webview 嵌入需要调用电脑摄像头拍摄失败问题 这篇文章是接我cocos专栏的上一篇文章继续写的&#xff0c;我上一篇文章写的是 cocos 开发触摸屏项目&#xff0c;需要嵌入一个网页用来展示&#xff0c;最后通过 electron 打包成 exe 程序&#xff0c;而且网页里面…

Android 开发者选项-模拟辅助显示设备

目录 概述使用开关的代码实现方式系统部分的处理:参考 概述 在Android开发中&#xff0c;模拟辅助显示设备通常指的是通过Android开发者选项来设置的一种虚拟显示设备&#xff0c;它允许开发者在一个设备上模拟另一个设备的显示特性。这种功能对于测试应用程序在不同屏幕尺寸、…

android 常用三方框架

说实话&#xff0c; 我是比较讨厌三方框架的&#xff0c; 比如一个eventbus 底层逻辑就是个观察者模式&#xff0c;当然他的场景涵盖的比较丰富&#xff0c; 单从 单一原则来说&#xff0c; 还是一个简单的观察者模式就能解决问题&#xff0c; 何必要添加那么多文件到我们的项目…

[COLM 2024] V-STaR: Training Verifiers for Self-Taught Reasoners

本文是对 STaR 的改进方法&#xff0c;COLM 是 Conference On Language Models&#xff0c;大模型领域新出的会议&#xff0c;在国际上很知名&#xff0c;不过目前还没有被列入 ccf list&#xff08;新会议一般不会列入&#xff09;&#xff1b;作者来自高校、微软研究院和 Goo…