分类目录归档:网络安全

发现内网存活主机的各种姿势

本文主要是讲nmap的扫描和基于msf的扫描发现内网存活主机,每一个点都尽量详细介绍。

1.基于UDP的扫描

UDP简介:UDP(User Datagram Protocol)是一种无连接的协议,在第四层-传输层,处于IP协议的 上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报 文发送之后,是无法得知其是否安全完整到达的。

UDP显著特性:1.UDP 缺乏可靠性。UDP 本身不提供确认,超时重传等机制。UDP 数据报可能在网络中被 复制,被重新排序,也不保证每个数据报只到达一次。2.UDP 数据报是有长度的。每个 UDP 数据报都有长度,如果一个数据报正确地到达目的 地,那么该数据报的长度将随数据一起传递给接收方。而 TCP 是一个字节流协议,没有任 何(协议上的)记录边界。3.UDP 是无连接的。UDP 客户和服务器之前不必存在长期的关系。大多数的UDP实现中都 选择忽略源站抑制差错,在网络拥塞时,目的端无法接收到大量的UDP数据报 4.UDP 支持多播和广播

nmap扫描

nmao -sU -T5 -sV —max-retries 1 192.168.1.100 -p 500 (不推荐,理由慢)

-sU 基于UDP的扫描

-T5 nmap的扫描速度 -T(0-5)越大越快

-sV 探测开启的端口来获取服务、版本信息

—max-retries 扫描探测的上限次数设定

-p 只扫描指定端口

msf扫描

use auxiliary/scanner/discovery/udp_prob
use auxiliary/scanner/discovery/udp_sweep

use 引用

show options 显示可设置的参数

auxiliary (辅助)/ scanner(扫描)/discovery(发现)/udp_probe(探测)/udp_sweep(彻底搜索)

2.基于arp的扫描

ARP简介:ARP,通过解析网路层地址来找寻数据链路层地址的一个在网络协议包中极其重要的网络传输 协议。根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的 ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址

nmap扫描 nmap -sn -RP 192.168.1.1/24

-sn 不扫描端口,只扫描主机

-PR ARP ping扫描

-sP Ping扫描 sn

-P0 无Ping扫描

-PS TCP SYN Ping扫描

-PA TCP ACK Ping扫描

-PU UDP ping扫描

-PE/PM/PP ICMP Ping Types扫描

msf扫描 use auxiliary/scanner/discovery/arp_sweep

3.基于netbios 的扫描

nmap扫描

netbios简介:IBM公司开发,主要用于数十台计算机的小型局域网。该协议是一种在局域网上的程序可以 使用的应用程序编程接口(API),为程序提供了请求低级服务的同一的命令集,作用是为 了给局域网提供网络以及其他特殊功能。系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名-——特指基于 NETBIOS协议获得计算机名称——解析为相应IP地址,实现信息通讯,所以在局域网内部使 用NetBIOS协议可以方便地实现消息通信及资源的共享

nmap -sU —script nbstat.nse -p137 172.16.0.127 -T4

—script 指定脚本

nbstat.nse netbios扫描脚本

137端口默认开发netbios

msf use auxiliary/scanner/netbios/nbname

4.基于snmp扫描

SNMP简介:SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的 协议。SNMP主要用于网络设备的管理。SNMP协议主要由两大部分构成:SNMP管理站和 SNMP代理。SNMP管理站是一个中心节点,负责收集维护各个SNMP元素的信息,并对这 些信息进行处理,最后反馈给网络管理员;而SNMP代理是运行在各个被管理的网络节点之 上,负责统计该节点的各项信息,并且负责与SNMP管理站交互,接收并执行管理站的命 令,上传各种本地的网络信息。

nmap扫描

nmap -sU —script snmp-brute ip -T4

msf扫描

use auxiliary/scanner/snmp/snmp_enum

默认161端口

5.基于icp扫描

ICMP简介:它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指 网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输 用户数据,但是对于用户数据的传递起着重要的作用。

nmap扫描

nmap -sP -PI 192.168.1.1/24 -T4

nmap ‐sn ‐PE ‐T4 192.168.1.0/24

-PI 进行ping扫描

-PE与P0功能一样 无ping扫描

6.基于smb服务扫描

SMB(全称是Server Message Block)是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通。SMB最初是IBM的贝瑞·费根鲍姆(Barry Feigenbaum)研制的,其目的是将DOS操作系统中的本地文件接口“中断13”改造为网络文件系统。

nmap扫描

默认端口445

-sS :半开放扫描(非3次握手的tcp扫描)

(使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快,效率高(一个完整的tcp连接需要3次握手,而-sS选项不需要3次握手)Tcp SYN Scan (sS) 它被称为半开放扫描优点:Nmap发送SYN包到远程主机,但是它不会产生任何会话,目标主机几乎不会把连接记入系统日志。(防止对方判断为扫描攻击),扫描速度快,效率高,在工作中使用频率最高缺点:它需要root/administrator权限执行)

msf扫描

蜜罐、Honeyd、网络与行为、数据分析等相关工具列表总结

目录

  • 相关列表
  • 蜜罐
  • Honeyd 工具
  • 网络与行为分析
  • 数据分析工具
  • 指南

相关列表

  • awesome-pcaptools 网络流量分析
  • awesome-malware-analysis 与上表有些重复,更侧重恶意软件分析

蜜罐

  • 数据库蜜罐
    • Delilah – Python 编写的 Elasticsearch 蜜罐
    • ESPot – 一个用 NodeJS 编写的 Elasticsearch 蜜罐,用于对 CVE-2014-3120 的利用
    • Elastic honey – 简单的 Elasticsearch 蜜罐
    • HoneyMysql – 简单 Mysql 蜜罐
    • MongoDB-HoneyProxy – MongoDB 蜜罐代理
    • MongoDB-HoneyProxyPy – 使用 Python 3 的 MongoDB 蜜罐代理
    • NoSQLpot – NoSQL 蜜罐框架
    • mysql-honeypotd – C 编写的低交互 MySQL 蜜罐
    • MysqlPot – MySQL 蜜罐
    • pghoney – 低交互 Postgres 蜜罐
    • sticky_elephant – 中交互 postgresql 蜜罐
  • Web 蜜罐
    • HonnyPotter – WordPress 的登录蜜罐,用于收集和分析失败的登录尝试
    • HoneyPress – Docker 容器中基于 Python 的 WordPress 蜜罐
    • wp-smart-honeypot – 减少垃圾邮件的 WordPress 插件
    • wordpot – WordPress 蜜罐
    • Snare – 下一代高交互 honEypot
    • Tanner – 评估 SNARE 事件
    • Bukkit Honeypot Honeypot – Bukkit 的一个插件
    • EoHoneypotBundle – Symfony2 类型的蜜罐
    • Glastopf – Web 应用蜜罐
    • Google Hack Honeypot – 旨在提供针对那些使用搜索引擎探测资源的攻击者的侦察
    • Laravel Application Honeypot – Honeypot – Laravel 应用程序的简单垃圾邮件预防软件包
    • Nodepot – NodeJS Web 应用蜜罐
    • Servletpot – Web 应用蜜罐
    • Shadow Daemon – 用于 PHP、Perl 和 Python 应用程序的模块化Web应用程序防火墙/高交互式蜜罐
    • StrutsHoneypot – 基于 Struts Apache 2 的蜜罐
    • WebTrap – 旨在创建欺骗性网页,重定向到真实网站
    • basic-auth-pot (bap) bap – HTTP 基本认证蜜罐
    • bwpot – Web 应用蜜罐
    • django-admin-honeypot – 虚假的 Django 管理登录页面,记录未经授权的访问尝试
    • drupo – Drupal 蜜罐
    • honeyhttpd – 基于 Python 的 Web 服务器蜜罐构建工具
    • phpmyadmin_honeypot – – 简单有效的 phpMyAdmin 蜜罐
    • shockpot – 检测 Shell Shock 利用尝试的 Web 应用蜜罐
    • smart-honeypot – PHP 脚本编写的智能蜜罐
    • Snare/Tanner – Glastopf 的后继者
    • stack-honeypot – 将针对垃圾邮件机器人的陷阱插入到响应中
    • tomcat-manager-honeypot – Tomcat 蜜罐。记录请求并保存攻击者的 WAR 文件
    • WordPress honeypots
  • 服务蜜罐
    • ADBHoney – 安卓低交互蜜罐.
    • AMTHoneypot – 针对 Intel 的 AMT 固件漏洞(CVE-2017-5689)的蜜罐
    • Ensnare – 易部署的 Ruby 蜜罐
    • HoneyPy – 低交互蜜罐
    • Honeygrove – 基于 Twisted 的多用途、模块化蜜罐
    • Honeyport – Bash 和 Python 写成的简单 honeyport
    • Honeyprint – 打印机蜜罐
    • Lyrebird – 现代高交互蜜罐框架
    • MICROS honeypot – 在带有 Oracle Hospitality Simphony 的 Oracle Hospitality Applications (MICROS) 中检测 CVE-2018-2636 的低交互蜜罐
    • RDPy – Python 实现的 RDP 蜜罐
    • SMB Honeypot – 可以捕获类似 Wannacry 的恶意软件的高交互 SMB 蜜罐
    • Tom’s Honeypot – 低交互 Python 蜜罐
    • WebLogic honeypot – 在带有 Oracle WebLogic Server 的 Oracle Fusion Middleware 中检测 CVE-2017-10271 的低交互蜜罐
    • WhiteFace Honeypot – 基于 Twisted 开发的针对 WhiteFace 蜜罐
    • honeycomb_plugins – Honeycomb 插件仓库,Cymmetria 的蜜罐框架
    • honeyntp – NTP 蜜罐
    • honeypot-camera – 相机蜜罐
    • honeypot-ftp – FTP 蜜罐
    • honeytrap – 用 Go 编写的高级蜜罐框架,可以连接其他蜜罐
    • pyrdp – Python 3 实现的 RDP 中间人库,能监视连接
    • troje – 围绕 LXC 容器的蜜罐,将每一个服务的连接都放到单独的 LXC 容器内
  • 分布式蜜罐
    • DemonHunter – 低交互蜜罐服务器
  • 反蜜罐
    • kippo_detect – 检测 Kippo 蜜罐
  • ICS/SCADA 蜜罐
    • Conpot – ICS/SCADA 蜜罐
    • GasPot – Veeder Root Gaurdian AST, 常见于石油、天然气行业
    • SCADA honeynet – 建立工业网络的蜜罐
    • gridpot – 模拟实际电网的开源蜜罐
    • scada-honeynet – 模拟流行的 PLC 服务,更好地帮助 SCADA 研究人员了解暴露的控制系统设备的潜在风险
  • 其他/随机
    • DSHP – 带有插件化支持的简单蜜罐
    • NOVA 看起来像完整系统的蜜罐
    • OpenFlow Honeypot(OFPot) – 基于 POX 的 OpenFlow 蜜罐,将未使用的IP地址的流量重定向到蜜罐中
    • OpenCanary – 模块化、分布式蜜罐
    • ciscoasa_honeypot 用于思科 ASA 低交互蜜罐,检测 CVE-2018-0101 远程代码执行漏洞
    • miniprint – 打印机中交互蜜罐
  • 僵尸网络 C&C 工具
    • Hale – 僵尸网络 C&C 监视器
    • dnsMole – 分析 DNS 流量,检测潜在的僵尸网络 C&C 服务器和受感染的主机
  • IPv6 攻击检测工具
    • ipv6-attack-detector – Honeynet 项目支持的 Googel Summer of Code 2012 项目
  • 动态代码检查工具包
    • Frida – 注入 JavaScript 来探索Windows、Mac、Linux、iOS 和 Android 上的应用程序
  • 将网站转换为服务器蜜罐
    • HIHAT – 将任意 PHP 页面转换成基于 Web 的高交互蜜罐
  • 恶意软件收集
    • Kippo-Malware – 用于在 Kippo SSH 蜜罐数据库中记录的 URL 上下载恶恶意文件的 Python 脚本
  • 分布式传感器部署
    • Modern Honey Network – 分布式 Snort 与蜜罐传感器管理,使用虚拟网络,最小指纹的 SNORT 安装,服务器提供隐形侦察与集中管理
  • 网络分析工具
    • Tracexploit – 重放网络数据包
  • 日志匿名工具
    • LogAnon – 日志匿名库
  • 低交互蜜罐(路由器后门)
    • Honeypot-32764 – 路由器后门蜜罐(TCP 32764).
    • WAPot – 能够观察家庭路由器流量的蜜罐
  • HTTPS 代理
    • mitmproxy – 拦截、检查、修改、重放流量
  • 系统插桩
    • Sysdig – 捕获 Linux 系统的状态与活动,可以进行保存、过滤与分析的开源系统级探索工具
    • Fibratus – 用于探索和跟踪 Windows 内核的工具
  • 检测 USB 恶意传播的蜜罐
    • Ghost-usb – 检测通过 USB 存储设备传播恶意软件的蜜罐
  • 数据采集
    • Kippo2MySQL – 从 Kippo 的日志文件中提取一些基本的统计信息插入到数据库中
    • Kippo2ElasticSearch – 用于将 Kippo SSH 蜜罐数据从 MySQL 数据库传输到 ElasticSearch 实例(服务器或集群)的 Python 脚本
  • 被动网络审计框架解析工具
    • Passive Network Audit Framework(pnaf) – 被动网络审计框架
  • 虚拟机监控工具
    • Antivmdetect – 用于创建 VirtualBox 虚拟机模版的脚本,使检测虚拟机更困难
    • VMCloak – Cuckoo 沙盒的自动虚拟机生成和隐藏
    • vmitools – 带有 Python 接口的 C 库,可以轻松监视运行中的虚拟机的底层细节
  • 二进制调试器
    • Hexgolems – Pint Debugger Backend – 一个调试器后端与 Pin 的 Lua 接口
    • Hexgolems – Schem Debugger Frontend – 一个调试器前端
  • 移动应用分析工具
    • Androguard – 安卓应用程序逆向工程工具
    • APKinspector – 带有界面的安卓应用程序分析工具
  • 低交互蜜罐
    • Honeyperl – 基于 Perl 的蜜罐,有很多插件
    • T-Pot – 为电信服务商 T-Mobile 提供的蜜罐
  • 蜜罐数据融合
    • HFlow2 – 用于蜜罐/网络分析的数据融合工具
  • 服务器
    • Amun – 漏洞模拟蜜罐
    • Artillery – 开源蓝队工具,旨在通过多种办法保护 Linux 和 Windows 操作系统
    • Bait and Switch – 将恶意流量重定向到生产系统镜像的蜜罐
    • Bifrozt – 自动部署带有 ansible 的 bifrozt
    • Conpot – 低交互的工业控制系统蜜罐
    • Heralding – 捕获凭据的蜜罐
    • HoneyWRT – 基于 Python 的低交互蜜罐,旨在模拟攻击者可能攻击的服务或端口
    • Honeyd 请查看更多 honeyd 工具
    • Honeysink – 开源网络陷阱,提供了检测与阻止指定网络上恶意流量的机制
    • Hontel – Telnet 蜜罐
    • KFSensor – 基于 Windows 的入侵检测系统蜜罐
    • LaBrea – 接管未使用的 IP 地址,创建对蠕虫、黑客有吸引力的虚拟服务
    • MTPot – 专注于 Mirai 的开源 Telnet 蜜罐
    • SIREN – 半智能蜜罐网络 – 蜜网只能虚拟环境
    • TelnetHoney – 简单的 telnet 蜜罐
    • UDPot Honeypot – 简单 UDP / DNS 蜜罐脚本
    • Yet Another Fake Honeypot (YAFH) – 使用 Go 编写的简单蜜罐
    • arctic-swallow – 低交互蜜罐
    • glutton – 可喂食蜜罐
    • go-HoneyPot – 使用 Go 编写的蜜罐
    • go-emulators – Go 蜜罐模拟器
    • honeymail – 使用 Go 编写的 SMTP 蜜罐
    • honeytrap – 一个用于捕获针对 TCP 和 UDP 服务攻击的低交互蜜罐
    • imap-honey – 使用 Go 编写的 IMAP 蜜罐
    • mwcollectd – 联合 nepenthes 和 honeytrap 的最佳功能实现的多功能恶意软件收集蜜罐
    • potd – 使用 Linux 的 Namespaces、Seccomp 与 Capabilities 构建针对 OpenWrt/IoT 设备的低中交互 SSH/TCP 蜜罐
    • portlurker – 用于协议猜测和安全字符显示的端口监听工具/蜜罐
    • slipm-honeypot – 简单的低交互端口监听蜜罐
    • telnet-iot-honeypot – 为了捕获僵尸网络二进制文件,使用 Python 编写的 telnet 蜜罐
    • telnetlogger – 跟踪 Mirai 的 Telnet 蜜罐
    • vnclowpot – 低交互的 VNC 蜜罐
  • IDS 签名生成
    • Honeycomb – 使用蜜罐自动创建签名
  • 查找服务提供商的 ASN 与前缀
    • CC2ASN – 简单的查询服务
  • 数据收集/数据共享
    • HPFeeds – 轻量认证的订阅发布协议
  • 集中管理工具
    • PHARM – 管理、统计、分析你的分布式 Nepenthes 蜜罐
  • 网络连接分析工具
    • Impost – 网络安全审计工具,用于取证分析被破坏/易受攻击的守护进程
  • 蜜罐部署
    • Modern Honeynet Network – 让蜜罐的管理与部署更简单
  • Wireshark 的蜜罐扩展
    • Whireshark Extensions – 支持应用针对 PCAP 文件的 Snort IDS 规则与签名
  • 客户端蜜罐
    • CWSandbox / GFI Sandbox
    • Capture-HPC-Linux
    • Capture-HPC-NG
    • Capture-HPC – 高交互客户端蜜罐
    • HoneyBOT
    • HoneyC
    • HoneySpider Network – 集成多个客户端蜜罐检测恶意网站的可扩展系统
    • HoneyWeb – 为管理与远程共享 Honeyclients 资源而创建的 Web 界面
    • Jsunpack-n
    • MonkeySpider
    • PhoneyC
    • Pwnypot – 高交互客户端蜜罐
    • Rumal
    • Shelia
    • Thug
    • Thug Distributed Task Queuing
    • Trigona
    • URLQuery
    • YALIH (Yet Another Low Interaction Honeyclient) – 低交互客户端蜜罐,旨在通过签名,异常和模式匹配技术检测恶意网站
  • 蜜罐
    • Deception Toolkit
    • IMHoneypot
  • PDF 文档检查工具
    • peepdf
  • 混合低/高交互蜜罐
    • HoneyBrid
  • SSH 蜜罐
    • Blacknet – SSH 蜜罐系统
    • Cowrie – Cowrie SSH 蜜罐 (基于 kippo)
    • DShield docker – 启用了 DShield 输出的 Docker 容器
    • HonSSH – 记录客户端与服务器之间所有 SSH 通信
    • HUDINX – 用于记录暴力破解的低交互 SSH 蜜罐,记录攻击者全部 Shell 交互
    • Kojoney
    • Kojoney2 – 根据 Kojoney 用 Python 编写的低交互 SSH 蜜罐
    • Kippo – 中交互 SSH 蜜罐
    • Kippo_JunOS – 基于 Kippo 的蜜罐
    • Kojoney2 – Jose Antonio Coret 使用 Python 编写,基于 Kojoney 的低交互 SSH 蜜罐
    • Kojoney – 基于 Python 的低交互蜜罐,使用 Twisted Conch 模拟 SSH 服务
    • LongTail Log Analysis @ Marist College – 分析 SSH 蜜罐日志
    • Malbait – 使用 Perl 实现的 TCP/UDP 蜜罐
    • MockSSH – 支持定义的所有命令的 SSH 服务器
    • cowrie2neo – 解析 cowrie 蜜罐日志到 neo4j 数据库
    • go-sshoney – SSH 蜜罐
    • go0r – 使用 Go 编写的简单 SSH 蜜罐
    • gohoney – 使用 Go 编写的 SSH 蜜罐
    • hived – 基于 Go 编写的蜜罐
    • hnypots-agent) – 记录用户名和密码组合的 SSH 服务器
    • honeypot.go – 使用 Go 编写的 SSH 蜜罐
    • honeyssh – 凭据 dumping 的 SSH 蜜罐
    • hornet – 支持多虚拟主机的中交互 SSH 蜜罐
    • ssh-auth-logger – 低\零交互 SSH 蜜罐
    • ssh-honeypot – 伪造 SSHD,记录 IP 地址、用户名与密码
    • ssh-honeypot – OpenSSH DEAMON 的改版,将命令转发到 Cowrie
    • ssh-honeypotd – C 编写的低交互 SSH 蜜罐
    • sshForShits – 高交互 SSH 蜜罐框架
    • sshesame – 记录登录活动的虚假 SSH 服务器
    • sshhipot – 高交互中间人 SSH 蜜罐
    • sshlowpot – Go 编写的低交互 SSH 蜜罐
    • sshsyrup – 简单的 SSH 蜜罐,捕获终端活动并上传到 asciinema.org
    • twisted-honeypots – 基于 Twisted 的 SSH\FTP\Telnet 的蜜罐
  • 分布式传感器项目
    • DShield Web Honeypot Project
  • PCAP 分析工具
    • Honeysnap
  • 网络流量重定向工具
    • Honeywall
  • 混合内容的分布式蜜罐
    • HoneyDrive
  • 蜜罐传感器
    • Honeeepi – Raspberry Pi 上一款基于定制 Raspbian 操作系统的蜜罐
  • File carving
    • TestDisk & PhotoRec
  • Windows 可用的行为分析工具
    • Capture BAT
  • Live CD
    • DAVIX – DAVIX Released
  • Spamtrap
    • Shiva The Spam Honeypot Tips And Tricks For Getting It Up And Running
    • Mail::SMTP::Honeypot – 提供标准 SMTP 服务器工具的 Perl 模块
    • Mailoney – Python 编写的 SMTP 蜜罐,具有开放中继、凭据记录等功能
    • SendMeSpamIDS.py – 获得所有 IDS 和分析设备的简单 SMTP
    • Shiva – 垃圾邮件蜜罐与智能分析工具
    • SpamHAT – 垃圾邮件蜜罐工具
    • Spamhole
    • honeypot – 蜜罐项目组非官方 PHP 的 SDK
    • spamd
  • 商业蜜网
    • Cymmetria Mazerunner – 可引导攻击者远离真实目标,并创建攻击痕迹跟踪
  • 服务器(蓝牙)
    • Bluepot
  • Android 应用程序动态分析
    • Droidbox
  • Docker 化的低交互蜜罐
    • Docker honeynet – 部署与 Docker 容器中的一些蜜网工具
    • Dockerized Thug – 基于 Thug 的 Docker 蜜罐,用于分析恶意 Web 内容
    • Dockerpot – 基于 Docker 的蜜罐
    • Manuka – 基于 Docker 的蜜罐 (Dionaea & Kippo).
    • mhn-core-docker – 在 Docker 中实现的现代蜜网核心元素
  • 网络分析
    • Quechua
  • SIP Server
    • Artemnesia VoIP
  • IOT 蜜罐
    • HoneyThing – TR-069 蜜罐
    • Kako – 常见嵌入式设备漏洞的蜜罐
  • Honeytokens
    • CanaryTokens – Honeytoken 生成器,Dashboard 在 CanaryTokens.org
    • Honeybits – 旨在通过在生产服务器和工作站中传播 breadcrumbs 和 honeytokens 来诱使攻击者进入蜜罐,从而提高诱捕率
    • Honeyλ (HoneyLambda) – 简单的无服务器应用程序,旨在创建和监控 AWS Lambda 和 Amazon API Gateway 之上的网址 honeytokens
    • dcept – 部署、检测活动目录使用情况的 honeytokens
    • honeyku – 基于 Heroku 的 Web 蜜罐

Honeyd 工具

  • Honeyd 插件
    • Honeycomb
  • Honeyd 查看工具
    • Honeyview
  • Honeyd 与 MySQL 的连接
    • Honeyd2MySQL
  • Honeyd 统计数据可视化脚本
    • Honeyd-Viz
  • Honeyd 统计
    • Honeydsum.pl

网络与行为分析

  • 沙盒
    • Argos – 用于捕获零日攻击的模拟器
    • COMODO automated sandbox
    • Cuckoo – 领先的开源自动化恶意软件分析系统
    • Pylibemu – Libemu Cython
    • RFISandbox – 使用 PHP 5.x 脚本在 funcall 上构建的沙盒
    • dorothy2 – Ruby 编写的恶意软件/僵尸网络分析框架
    • imalse – 集成的恶意软件仿真工具与模拟工具
    • libemu – Shellcode 模拟库,对 Shellcode 检测十分有用
  • 沙盒即服务
    • Hybrid Analysis – 由 Payload Security 提供的免费恶意软件分析服务,可使用其独特的混合分析技术检测和分析未知威胁
    • Joebox Cloud – 确定 Windows、Android 和 Mac OS X 上的恶意文件(包括 PE、PDF、DOC、PPT、XLS、APK、URL 和 MachO)的行为,判断其是否存在可疑活动
    • VirusTotal
    • malwr.com – 提供免费恶意软件分析服务与社区

数据分析工具

  • 前端
    • DionaeaFR – Dionaea 蜜罐前端 Web
    • Django-kippo – 用于 kippo SSH 蜜罐的 Django 程序
    • Shockpot-Frontend – 用于可视化 Shockpot 蜜罐中数据的脚本
    • Tango – 使用 Splunk 处理蜜罐情报
    • Wordpot-Frontend – 用于可视化 Wordpot 蜜罐中数据的脚本
    • honeyalarmg2 – 用于显示蜜罐数据的简化 UI
    • honeypotDisplay – 展示 SSH 蜜罐的 Flask 网站
  • 可视化
    • Acapulco – 自动攻击群体图构建
    • Afterglow Cloud
    • Afterglow
    • Glastopf Analytics – 简单蜜罐统计
    • HoneyMalt – Maltego 转换映射蜜罐系统
    • HoneyMap – 显示实时 Websocket 流的 SVG 地图
    • HoneyStats – Honeynet 的统计视图
    • HpfeedsHoneyGraph – 可视化 hpfeeds 日志的程序
    • Kippo stats – 为 kippo SSH 蜜罐展示数据的程序
    • Kippo-Graph – 用于可视化 Kippo 蜜罐中数据的脚本
    • The Intelligent HoneyNet – 试图创建蜜罐中可操作信息的智能蜜网项目
    • ovizart – 可视化网络流量分析

指南

  • T-Pot: 多蜜罐平台
  • 蜜罐 (Dionaea and kippo) 设置脚本
  • 部署
    • Dionaea and EC2 in 20 Minutes – 在 EC2 上设置 Dionaea 的教程
    • Using a Raspberry Pi honeypot to contribute data to DShield/ISC – 基于 Raspberry Pi 的系统可以收集比防火墙日志更丰富的日志
    • honeypotpi – 将 Raspberry Pi 变成 HoneyPot Pi 的脚本
  • 研究论文
    • Honeypot research papers – 研究蜜罐论文的 PDF
    • vEYE – 自传播蠕虫行为痕迹的检测与分析

获取地址:https://github.com/paralax/awesome-honeypots/blob/master/README_CN.md

攻击溯源手段

攻击溯源的技术手段,主要包括ip定位、ID定位与攻击者定位。

通过ip可定位攻击者所在位置,以及通过ip反查域名等手段,查询域名的注册信息,域名注册人及邮箱等信息。

通过ID定位可获取攻击者常用的网络ID,查询攻击者使用同类ID注册过的微博或者博客、论坛等网站,通过对网络ID注册以及使用情况的查询,定位攻击者所在公司、手机号、邮箱、QQ等信息。

或通过其他手段定位攻击者,如反制攻击者vps,获取攻击者vps中的敏感信息、反钓鱼、恶意程序分析溯源等手段。

一、ip定位技术

通过安全设备或其他技术手段抓取攻击者的IP,对IP进行定位,查询此IP为IDC的IP、CDN的IP还是普通运营商的出口IP,通过IP反查可能会查询到攻击者使用的web域名、注册人、邮箱等信息。一般常用的IP查询工具有:

  1. 高精度IP定位:https://www.opengps.cn/Data/IP/LocHighAcc.aspx
  2. rtbasia(IP查询):https://ip.rtbasia.com/
  3. ipplus360(IP查询):http://www.ipplus360.com/ip/
  4. IP信息查询:https://www.ipip.net/ip.html/
  5. IP地址查询在线工具:https://tool.lu/ip/

当发现某些IP的攻击后,可以尝试通过此IP去溯源攻击者,具体实现过程如下:

  • 首先通过ipip.net网站或者其他接口,查询此IP为IDC的IP、CDN的IP还是普通运营商的出口IP。
  • 如果IP反查到域名就可以去站长之家或者whois.domaintools.com等网站去查询域名的注册信息。

通过收集到的这些信息,就比较容易定位到人。

    在通过IP定位技术溯源过程,应注意以下情况:

  • 假如IP反查到的域名过多,考虑就是CDN了,就没必要继续去查了。
  • 假如是普通运营商的出口IP只能使用一些高精度IP定位工具粗略估计攻击者的地址,如果需要具体定位到人,则需要更多的信息。

二、ID追踪技术

在通过IP定位后技术追踪攻击者,可通过指纹库、社工库等或其他技术手段抓取到攻击者的微博账号、百度ID等信息,一般通过以下技术手段实现:

  1. 进行QQ等同名方式去搜索、进行论坛等同名方式搜索、社工库匹配等。
  2. 如ID是邮箱,则通过社工库匹配密码、以往注册信息等。
  3. 如ID是手机号,则通过手机号搜索相关注册信息,以及手机号使用者姓名等。

例如,当通过ID追踪技术手段定位到某攻击者的QQ号、QQ网名等信息,通过专业社工库可以进一步追踪攻击者使用的QQ号注册过的其它网络ID,从而获取更多攻击者信息,从而确定攻击者的真实身份。

三、攻击程序分析

攻击者如果在攻击过程中对攻击目标上传攻击程序(如钓鱼软件),可通过对攻击者上传的恶意程序进行分析,并结合IP定位、ID追踪等技术手段对攻击进行分析溯源,常用的恶意程序分析网站有:

Ø  微步在线云沙箱:https://s.threatbook.cn/

Ø  Virustotal:https://www.virustotal.com/gui/home/upload

Ø  火眼(https://fireeye.ijinshan.com)

Ø  Anubis(http://anubis.iseclab.org)

Ø  joe(http://www.joesecurity.org)

例如,当发现某攻击者利用263邮箱系统0DAY(xss漏洞)进行钓鱼攻击,通过以下方式可追踪攻击者身份:

1)对恶意程序分析

通过上传文件到https://s.threatbook.cn进行代码分析,可得到以下信息,攻击者在攻击过程使用了以下三个域名:

  • wvwvw.aaaa.com  用来接收cookies
  • baidu-jaaaa.com 用来存放js恶意代码,伪造图片
  • flashaaaa.cn 用来存放木马病毒

然后对域名进行反查。

信息搜集

什么是信息搜集

信息搜集也称踩点,信息搜集毋庸置疑就是尽可能的搜集目标的信息,包括端口信息、DNS信息、员工邮箱等等看似并不起眼的一些信息都算是信息搜集,这些看似微乎其微的信息,对于渗透测试而言就关乎到成功与否了。

信息搜集的重要性

信息搜集是渗透测试的最重要的阶段,占据整个渗透测试的60%,可见信息搜集的重要性。根据收集的有用信息,可以大大提高我们渗透测试的成功率。

信息搜集的分类

1、主动式信息搜集(可获取到的信息较多,但易被目标发现) 2、通过直接发起与被测目标网络之间的互动来获取相关信息,如通过Nmap扫描目标系统。 3、被动式信息搜集(搜集到的信息较少,但不易被发现) 4、通过第三方服务来获取目标网络相关信息。如通过搜索引擎方式来搜集信息。

搜集什么信息

1、whois信息(微步) 2、网站架构 3、dns信息(通过查询dns我们可以检测是否存在dns域传送漏洞) 4、子域名搜集 5、敏感目录及敏感信息、源码泄露(搜索引擎+工具) 6、脆弱系统(网络空间) 7、旁站查询 8、C端查询 9、指纹信息 10、端口服务 11、备案信息 12、真实ip 13、探测waf 14、社工(朋友圈、微博、qq空间、求职、交易等社交平台) 15、企业信息(天眼查、企业信用信息公示系统、工业和信息化部ICP/IP地址/域名信息备案管理系统)

信息搜集的流程

上面我已经列举了需要搜集的信息,然后我给它们分了一下类。

我考虑到一个网站的组成是由域名、服务器、网站程序组成的。

因此:

首先入手域名方面:whois、子域名、备案信息; 其次是入手服务器方面:dns信息、端口服务、真实ip; 然后入手网站程序(web层)方面:网站架构、敏感目录及敏感信息、源码泄露(搜索引擎+工具)、脆弱系统(网络空间)、旁站查询、C端查询、指纹信息、探测waf; 最后入手企业方面:天眼查、企业信用信息公示系统

归了类之后,我做了一张脑图。

脑图如下图所示:

Whois信息和Whois反查

whois是用来查询域名的IP以及所有者等信息的传输协议。 whois信息可以获取关键注册人的信息,包括注册商、联系人、联系邮箱、联系电话、创建时间等,可以进行邮箱反查域名,爆破邮箱,社工,域名劫持等等。

查询方式

1、http://whois.chinaz.com/ 2、微步 3、https://who.is/ 4、Linux whois命令 5、其他工具

这里需要注意的是国际域名可以设置隐私保护,但像国内.cn等域名是不可以设置隐私保护的。

当然我们得比较一下这几种方式哪一种比较适合自己。

站长之家查询whois信息

这里我用360.cn为例。可以看到下图我们搜集到了注册商、联系人、联系邮箱等信息。

可以看到很直观,很中国,而且我们还可以通过联系人和联系邮箱反查。

我们通过联系人反查,搜集到更多信息,效果如下图

我们也可以通过邮箱反查,效果如下图

微步查询whois信息

下图通过微步查询whois信息的效果,和站长之家一样很中国,想要反查whois需要复制邮箱

图是反查邮箱的效果,微步需要登录才可以查看更多的信息。

因此相较于站长之家就显得有些麻烦了。

who.is查询whois信息

下图是通过who.is网站查询到的whois信息,可以看到中文字符竟还有乱码,很外国,且不能whois反查。

Linux whois命令查询whois信息

需要注意的是并不是所有Linux系统都自带whois命令的。

我这里就用CentOS7来演示安装whois客户端。

具体命令的话可以看下图

安装完成之后,我们来查询一下360.cn。可以看到下图的效果,同样出现了乱码。

其他工具查询whois信息

查询whois信息的工具,我这里不做讲解了,工具实质上还是调用了网站接口的。

因此通过比较,我们针对国内网站的whois信息,我们使用站长之家和微步来查询whois信息效率会比较高。

子域名搜集

子域名收集可以发现更多目标,以增加渗透测试成功的可能性,探测到更多隐藏或遗忘的应用服务,这些应用往往可导致一些严重漏洞。当一个主站坚不可摧时,我们可以尝试从分站入手。

查询方式

1、layer子域名挖掘机 2、https://phpinfo.me/domain/ 3、subDomainsBrute 4、搜索引擎语法(site:xxx.com)

layer子域名挖掘机

下载地址:https://www.webshell.cc/6384.html

我们运行这款工具需要安装.net framework 4.0以上,否则会出现像下图一样的错误信息

我就以安装4.5.2为例

安装完毕后会出现下图

现在可以成功运行工具了

以360.cn为例,爆破的效果如下图,这款软件的好处是还可以进行扫描端口和探测服务器类型

https://phpinfo.me/domain/

这是Lcy大佬的在线子域名爆破工具,我们可以测试一下爆破360.cn的子域名的效果,如下图所示,作为在线工具,它的爆破速度很可观。

subDomainsBrute

这是lijiejie大佬用python写的子域名爆破工具,不用说运行的话需要先安装python,对于懒惰的人,直接拖进kali里直接就可以运行。

github下载地址:https://github.com/lijiejie/subDomainsBrute

下图是以360.cn为例,用这款工具爆破出来的子域名,可以看到比较少,这是因为字典比较小的原因。

搜索引擎语法(site:xxx.com)

我们也可以通过搜索引擎的语法搜索,但是搜索到的子域名比较少。

下图是通过百度搜索360.cn子域名的效果图,当然谷歌也是同样的语法。

备案信息

备案信息分为两种,一种是IPC备案信息查询,一种是公安部备案信息查询。如果是国外的服务器是不需要备案的,因此可以忽略此步骤,国内的服务器是需要备案的,因此可以尝试获取信息。

查询方式

1、ICP备案查询 2、公安部备案查询

ICP备案查询

下图是通过网站查询ICP备案信息

公安部备案查询

下图是通过全国公安机关互联网安全管理服务平台查询公安部备案信息

DNS信息搜集

通过查询DNS信息,我们可能可以发现网站的真实ip地址,也可以尝试测试是否存在DNS域传送漏洞。

查询方式

1、Kali(host、big命令) 2、windows(nslookup命令) 3、在线工具

Kali命令

host查询DNS信息,如下图所示:

big查询DNS信息,如下图所示

windows命令

nslookup命令效果如下图,比较low。

在线工具

地址:

http://tool.chinaz.com/dns/
https://tool.lu/dns/

这里就不做讲解了,和查whois信息一样。

探测端口服务

查询方式

Nmap

个人觉得用Nmap足矣

Nmap扫描

扫描结果如下图所示,可以看到我们可以扫描到操作系统类型、端口信息和端口对应的服务信息。

下图是详细端口对应服务图

获取网站真实ip

现在大多数的网站都开启了CDN加速,导致我们获取到的IP地址不一定是真实的IP地址。

CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

思路

1、二级域名法 一般网站不会所有的二级域名放CDN,因此我们可以利用这点来获取网站的真实ip 2、多地ping法 由CDN的原理,不同的地方去Ping服务器,如果IP不一样,则目标网站肯定使用了CDN 3、nslookup法 找国外的比较偏僻的DNS解析服务器进行DNS查询,因为大部分CDN提供商只针对国内市场,而对国外市场几乎是不做CDN,所以有很大的几率会直接解析到真实IP 4、查看邮件法 通过查看邮件原文来确定ip地址,CDN总不会发送邮件吧 5、RSS订阅法 RSS原理于邮件法差不多 6、查看历史解析记录法 查找域名历史解析记录,域名在上CDN之前用的IP,很有可能就是CDN的真实源IP地址 7、利用网站漏洞(XSS、命令执行、SSRF、php探针、phpinfo页面等) 可以通过一些页面和漏洞获取到服务器ip地址也是可能的。

网站架构

操作系统

查询方式:

1、Nmap 2、wappalyzer插件 3、云悉

wappalyzer插件是一款火狐插件,可以去火狐扩展中添加。

云悉是云悉安全专注于网络资产自动化梳理,cms检测web指纹识别,让网络资产更清晰的在线查询工具。

通过Nmap获取操作系统,如下图所示

通过wappalyzer插件查询,如下图所示

通过云悉也可以查询到操作系统,如下图所示

中间件信息

1、wappalyzer插件 2、云悉

通过wappalyzer插件查询中间件信息,如下图所示

通过云悉也可以查询到中间件信息,如下图所示

数据库

1、wappalyzer 2、云悉

通过云悉查询到数据库信息,如下图所示

通过wappalyzer插件查询到数据库信息,如下图所示

编程语言

1、wappalyzer 2、云悉

通过wappalyzer插件查询到编程语言信息,如下图所示

通过云悉查询到编程语言信息,如下图所示

敏感目录及敏感信息、源码泄露(搜索引擎+工具)

途径方法

1、御剑 2、搜索引擎 3、BBscan 4、GSIL 5、社交平台(QQ群、文库、求职网)

robots.txt、crossdomin.xml、sitemap.xml、源码泄漏文件、/WEB-INF/

御剑

御剑这款工具主要用于扫描网站的敏感目录、敏感文件。这里必须要说明一下字典必须要足够强大才可以扫到别人发现不了的点。因此我们必须完善一下自己的字典。

下图是我利用御剑对我自己网站的一次扫描

搜索引擎

搜索引擎也可以用于搜索网站的敏感目录、敏感文件和敏感信息。

这里就必须提一下搜索引擎的语法了,这里以google 黑客语法为例,语法同样适用于百度搜索引擎。

基本语法:

"" //双引号表示强制搜索
-  //表示搜索不包含关键词的网页
|  //或者的意思
site //返回所有于这个域名有关的网页
intext //搜索到的网页正文部分包含关键词
intitle //搜索到的网页标题包含关键词
cache   //搜索关于某些内容的缓存
definne //搜索某个词语的定义
filetype //搜索指定的文件类型
info //查找指定站点的一些基本信息
inurl //搜索包含关键词的URL
link //可以返回所有和baidu.com做了链接的URL

下面做几个演示

下图将返回360.cn的一些分站

下图返回了所有360.cn下的所有包含login关键词的URL

具体的用法你可以自己开动脑经组合使用,这里就不多做演示了。

BBscan

BBscan是一款信息泄漏批量扫描脚本。它是依旧还是由lijiejie大佬用python写的安全工具。

这是项目地址:https://github.com/lijiejie/BBScan

在windows平台运行需要解决依赖问题

pip install -r requirements.txt

下图是安装依赖的过程

下面说一下使用示例

1. 扫描单个web服务 www.target.com

python BBScan.py  --host www.target.com 

2. 扫描www.target.com和www.target.com/28下的其他主机

python BBScan.py  --host www.target.com --network 28 

3. 扫描txt文件中的所有主机

python BBScan.py -f wandoujia.com.txt 

4. 从文件夹中导入所有的主机并扫描

python BBScan.py -d targets/  --browser

5. 如果是为了去各大src刷漏洞,可以考虑把所有域名保存到targets文件夹下,然后

python BBScan.py -d targets/ --network 30 

下图是我利用BBscan扫描自己网站

GSIL

GSIL是一款由python3写的从github上寻找敏感文件的安全工具。

项目地址:https://github.com/FeeiCN/GSIL

先安装一下依赖

pip install -r requirements.txt

然后需要给它进行配置

用法

# 启动测试$ python3 gsil.py test# 测试token有效性$ python3 gsil.py --verify-tokens

社交平台

在wooyun某一些案例中,有一些奇葩的思路,通过qq群信息泄露或者通过在线文档平台等等导致被攻击。

下图是通过QQ群查找找到的敏感文件以及账号和密码信息。

下图是通过道客巴巴获取敏感信息,其他社交平台这里就不演示了,社交平台实在有点多。

脆弱系统(网络空间)

网络空间搜索引擎的作用就是将互联网上公开的网络资产收集和整理,以此方便人们进行查阅和利用。我在网络空间可发现了不少企业的脆弱系统,未授权访问、SQL注入、弱口令等等都是存在的。

网络空间搜索引擎:

1、Shodan 2、FOFA 3、Zoomeye

旁站查询

什么是旁站

旁站是和目标网站在同一台服务器上的其它的网站。

在线工具 k8旁站查询

在线工具获取旁站

下图是通过站长之家获取同一个服务器下的站点信息

k8查询旁站

这个工具是C#写的,因此需要.NET Framework v4.0

想要使用这款工具还需要申请必应API,我手工测试时是打不开KEY申请地址的,可能已经不行了,因此还是推荐使用在线工具查询吧。

C端查询

什么是C端

C端是和目标服务器ip处在同一个C段的其它服务器。

查询方式

北极熊扫描器 Nmap

北极熊扫描器扫C端

这是一款国人写的扫描器,不得不说这款扫描器误报率是真的高。通过一些实战我发现这款扫描器不错的是C端扫描,可以获取网站标题、服务环境、程序类型

下载地址

下图是使用北极熊扫描器扫C端的效果图

Nmap扫C端

下图是Nmap扫描开放http服务的服务器的效果图

指纹信息

指纹是什么

指定路径下指定名称的js文件或代码。 指定路径下指定名称的css文件或代码。 <title>中的内容,有些程序标题中会带有程序标识 meta标记中带程序标识中带程序标识。 display:none中的版权信息。 页面底部版权信息,关键字© Powered by等。 readme.txt、License.txt、help.txt等文件。 指定路径下指定图片文件,如一些小的图标文件,后台登录页面中的图标文件等,一般管理员不会修改它们。 注释掉的html代码中<!– http头的X-Powered-By中的值,有的应用程序框架会在此值输出。 cookie中的关键字 robots.txt文件中的关键字 404页面 302返回时的旗标

指纹信息的重要性

通过识别目标网站所使用的CMS信息,可以帮助我们进一步了解渗透测试环境,可以利用已知的一些CMS漏洞来进行攻击。

识别指纹方式

1、云悉 2、wappalyzer插件 3、whatweb工具

探测waf

WAF也称Web应用防护系统,Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。

原理:WAF识别大多基于Headers头信息。通过发送恶意的内容,对比响应,寻找数据包被拦截、拒绝或者检测到的标识。

探测方式

手工(提交恶意数据) 工具(WAFW00F、Nmap)

我们可以通过工具判断,如果工具检测到WAF的存在,手工验证一下是否存在误报;如果工具检测不到WAF的存在,我们也可以通过手工来判断WAF到底存不存在。

Nmap探测WAF

Nmap探测WAF有两种脚本,一种是http-waf-detect,一种是http-waf-fingerprint。

WAFW00F探测WAF

手工探测WAF

在网址URL参数后面输入恶意数据,通过提交后被WAF拦截得知WAF信息。如下图

天眼查

地址:https://www.tianyancha.com/

天眼查是一款“都能用的商业安全工具”,根据用户的不同需求,实现了企业背景、企业发展、司法风险、经营风险、经营状况、知识产权方面等多种数据维度的检索。

下图以奇虎360为例

企业信用信息公示系统

地址:http://www.gsxt.gov.cn/index.html

下图以奇虎360为例

渗透测试信息收集工具篇

1、whois 查询网站及服务器信息

如果知道目标的域名,你首先要做的就是通过 Whois 数据库查询域名的注册信息,Whois 数据库是提供域名的注册人信息,包括联系方式,管理员名字,管理员邮箱等等,其中也包括 DNS 服务器的信息。

默认情况下,Kali 已经安装了 Whois 。你只需要输入要查询的域名即可:

利用以上收集到的邮箱、QQ、电话号码、姓名、以及服务商,可以针对性进行攻击,利用社工库进行查找相关管理员信息,另外也可以对相关 DNS 服务商进行渗透,查看是否有漏洞,利用第三方漏洞平台,查看相关漏洞。

2、Dig 使用

可以使用 dig 命令对 DNS 服务器进行挖掘,Dig 命令后面直接跟域名,回车即可,如图:

【Dig常用选项】

1 -c 选项,可以设置协议类型( class ),包括 IN (默认)、CH 和 HS。

2 -f 选项,dig 支持从一个文件里读取内容进行批量查询,这个非常体贴和方便。文件的内容要求一行为一个查询请求。来个实际例子吧:

3 -4 和 -6 两个选项,用于设置仅适用哪一种作为查询包传输协议,分别对应着 IPv4 和 IPv6。

4 -t 选项,用来设置查询类型,默认情况下是 A,也可以设置 MX 等类型,来一个例子:

5 -q 选项,其实它本身是一个多余的选项,但是它在复杂的 dig 命令中又是那么的有用。-q 选项可以显式设置你要查询的域名,这样可以避免和其他众多的参数、选项相混淆,提高了命令的可读性,来个例子:

6 -x 选项,是逆向查询选项。可以查询 IP 地址到域名的映射关系。举一个例子:

【跟踪 dig 全过程】

dig 非常著名的一个查询选项就是 +trace,当使用这个查询选项后,dig 会从根域查询一直跟踪直到查询到最终结果,并将整个过程信息输出出来

【精简 dig 输出】

使用 +nocmd 的话,可以节省输出 dig 版本信息。

Dig 可以用来查域传送漏洞

前面介绍了 dig 的使用,若将查询类型设定为 axfr,就能得到域传送数据。这也是我们要用来测试 DNS 域传送泄露的命令

3、Nslookup 用法

nslookup 是站长较为常用的工具之一,它甚至比同类工具 dig 的使用人数更多,原因是它的运行环境是 windows ,并且不需要我们再另外安装什么东西。dig 是在 linux 环境里运行的命令,不过也可以在 windows 环境里使用,只是需要安装 dig windows 版本的程序。

Nslookup 命令以两种方式运行:非交互式和交互式。本文第一次提到 “交互式” 的概念,简单说明:交互式系统是指执行过程中允许用户输入数据和命令的系统。而非交互式系统,是指一旦开始运行,不需要人干预就可以自行结束的系统。因此,nslookup 以非交互式方式运行,就是指运行后自行结束。而 “交互式”,是指开始运行后,会要求使用者进一步输入数据和命令。

DNS 记录类型:

A 地址记录 AAAA 地址记录 AFSDB Andrew 文件系统数据库服务器记录 ATMA ATM 地址记录 CNAME 别名记录 HINFO 硬件配置记录,包括 CPU 、操作系统信息 ISDN 域名对应的 ISDN 号码 MB 存放指定邮箱的服务器 MG 邮件组记录 MINFO 邮件组和邮箱的信息记录 MR 改名的邮箱记录 MX 邮件服务器记录 NS 名字服务器记录 PTR 反向记录 RP 负责人记录 RT 路由穿透记录 SRV TCP 服务器信息记录 TXT 域名对应的文本信息 X25 域名对应的 X.25 地址记录

举例说明:

设置类型为 ns

下面的例子查询 baidu.com 使用的 DNS 服务器名称:

下面的例子展示如何查询 baidu.com 的邮件交换记录:

查看网站 cname 值。

查看邮件服务器记录( -qt=MX )

同样 nslookup 也可以验证是否存在域传送漏洞,步骤如下:

1) nslookup 进入交互式模式

2) Server 设置使用的 DNS 服务器

3) ls 命令列出某个域中的所有域名

4、fierce 工具

在进行了基本域名收集以后,如果能通过主域名得到所有子域名信息,再通过子域名查询其对应的主机 IP,这样我们能得到一个较为完整的信息。除了默认使用,我们还可以自己定义字典来进行域名爆破。

使用 fierce 工具,可以进行域名列表查询:fierce -dns domainName

输出结果表明,程序首先进行了域传送测试,域传送通过一条命令就能获取服务器上所有的域名信息。如果一次就能简单获取服务器上所有记录域名信息,就不再暴力破解。

但从结果上看,“Unsucessful in zone transfer” , 域传送测试是失败了。接着执行暴力破解,测试的数量取决于字典中提供的字符串数量,上例中没有指定字典,在默认情况下在 Kali 中使用 /usr/share/fierce/hosts.txt。一个内部网络的 DNS 域名服务器可以提供大量信息,这些信息可以在以后评估网络漏洞。

5、theHarvester 的使用

theHarvester 是一个社会工程学工具,它通过搜索引擎、PGP 服务器以及 SHODAN 数据库收集用户的 email ,子域名,主机,雇员名,开放端口和 banner 信息。

-d 服务器域名 -l 限制显示数目 -b 调用搜索引擎(baidu,google,bing,bingapi,pgp,linkedin,googleplus,jigsaw,all) -f 结果保存为HTML和XML文件 -h 使用傻蛋数据库查询发现主机信息

实例1:

theHarvester -d sec-redclub.com -l 100 -b baidu

实例2:

输出到 html 文件中,可以更清晰的看到搜索的网站信息的模型。

theHarvester -d sec-redclub.com -l 100 -b baidu -fmyresults.html

6、DNS 枚举工具 DNSenum

DNSenum 是一款非常强大的域名信息收集工具。它能够通过谷歌或者字典文件猜测可能存在的域名,并对一个网段进行反向查询。它不仅可以查询网站的主机地址信息、域名服务器和邮件交换记录,还可以在域名服务器上执行 axfr 请求,然后通过谷歌脚本得到扩展域名信息,提取子域名并查询,最后计算 C 类地址并执行 whois 查询,执行反向查询,把地址段写入文件。本小节将介绍使用 DNSenum 工具检查 DNS 枚举。在终端执行如下所示的命令:

输出的信息显示了 DNS 服务的详细信息。其中,包括主机地址、域名服务地址和邮件服务地址,最后会尝试是否存在域传送漏洞。

使用 DNSenum 工具检查 DNS 枚举时,可以使用 dnsenum 的一些附加选项,如下所示。

–threads[number]:设置用户同时运行多个进程数。 -r:允许用户启用递归查询。 -d:允许用户设置 WHOIS 请求之间时间延迟数(单位为秒)。 -o:允许用户指定输出位置。 -w:允许用户启用 WHOIS 请求。

7、subDomainsbrute 二级域名收集

二级域名是指顶级域名之下的域名,在国际顶级域名下,它是指域名注册人的网上名称;在国家顶级域名下,它是表示注册企业类别的符号。我国在国际互联网络信息中心(Inter NIC) 正式注册并运行的顶级域名是CN,这也是我国的一级域名。在顶级域名之下,我国的二级域名又分为类别域名和行政区域名两类。类别域名共7个,包括用于科研机构的ac;国际通用域名com、top;用于教育机构的edu;用于政府部门的gov;用于互联网络信息中心和运行中心的net;用于非盈利组织的org。而行政区域名有34个,分别对应于我国各省、自治区和直辖市。(摘自百度百科

以上为工具默认参数,如果是新手,请直接跟主域名即可,不用进行其它设置。

python subDomainsbrute.py sec-redclub.com

就可以直接运行,等待结果,最后在工具文件夹下面存在txt文件,直接导入扫描工具就可以进行扫描了。

8、layer子域名检测工具

layer子域名检测工具主要是windows一款二级域名检测工具,利用爆破形式。

工具作者:http://www.cnseay.com/4193/

域名对话框直接输入域名就可以进行扫描了,工具显示比较细致,有域名、解析 ip、cnd 列表、web 服务器和网站状态,这些对于一个安全测试人员,非常重要。如下操作:

回显示大部分主要二级域名。

9、Nmap

Nmap 是一个网络连接端口扫描软件,用来扫描网上电脑开放的网络连接端口。确定哪些服务运行在哪些连接端口,并且推断计算机运行哪个操作系统。它是网络管理员必用的软件之一,以及用以评估网络系统安全。

功能:

1、 主机发现

2、 端口扫描

3、 版本侦测

4、 OS侦测

几种部署方式:

1、Kail 集成环境

2、单独安装(使用 yum 工具直接安装)

3、PentestBox 环境

4、Windows 版等等

Nmap 的参数和选项繁多,功能非常丰富。我们先来看一下 Nmap 的通用命令格式:(详细教程及下载方式参见:http://nmap.org/

Nmap < 扫描选项 > < 扫描目标 >

主机发现的原理与 Ping 命令类似,发送探测包到目标主机,如果收到回复,那么说明目标主机是开启的。Nmap 支持十多种不同的主机探测方式,比如发送 ICMP ECHO/TIMESTAMP/NETMASK 报文、发送 TCPSYN/ACK 包、发送 SCTP INIT/COOKIE-ECHO 包,用户可以在不同的条件下灵活选用不同的方式来探测目标机。

主机发现的基本用法:

-sL: List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现。 -sn: Ping Scan 只进行主机发现,不进行端口扫描。 -Pn: 将所有指定的主机视作开启的,跳过主机发现的过程。 -PS/PA/PU/PY[portlist]: 使用TCPSYN/ACK或SCTP INIT/ECHO方式进行发现。 -PE/PP/PM: 使用ICMP echo,timestamp, and netmask 请求包发现主机。 -PO[protocollist]: 使用IP协议包探测对方主机是否开启。 -sP:Ping 指定范围内的 IP 地址 -n/-R: -n表示不进行DNS解析;-R表示总是进行DNS解析。 –dns-servers <serv1[,serv2],…>: 指定DNS服务器。 –system-dns: 指定使用系统的DNS服务器 –traceroute: 追踪每个路由节点

扫描局域网 192.168.80.1/24 范围内哪些 IP 的主机是活动的。

命令如下:

nmap –sn 192.168.80.1/24

由图可知:192.168.80.1、192.168.80.254、192.168.80.166 三台主机处于存活状态。

扫描局域网 192.168.80.100-200 范围内哪些 IP 的主机是活动的。

命令如下:

nmap –sP 192.168.80.100-200

端口扫描是 Nmap 最基本最核心的功能,用于确定目标主机的 TCP/UDP 端口的开放情况。默认情况下,Nmap 会扫描 1000 个最有可能开放的 TCP 端口。Nmap 通过探测将端口划分为 6 个状态:

open:端口是开放的。 closed:端口是关闭的。 filtered:端口被防火墙 IDS/IPS 屏蔽,无法确定其状态。 unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。 open|filtered:端口是开放的或被屏蔽。 closed|filtered :端口是关闭的或被屏蔽。

端口扫描方面非常强大,提供了很多的探测方式:

TCP SYN scanning TCP connect scanning TCP ACK scanning TCP FIN/Xmas/NULL scanning UDP scanning

其他方式

-sS/sT/sA/sW/sM: 指定使用 TCPSYN/Connect()/ACK/Window/Maimon scans 的方式来对目标主机进行扫描。 -sU: 指定使用 UDP 扫描方式确定目标主机的UDP端口状况。 -sN/sF/sX: 指定使用 TCP Null,FIN, and Xmas scans 秘密扫描方式来协助探测对方的 TCP 端口状态。 –scanflags <flags>: 定制 TCP 包的 flags。 -sI zombiehost[:probeport]: 指定使用 idle scan 方式来扫描目标主机(前提需要找到合适的 zombie host ) -sY/sZ: 使用 SCTPINIT/COOKIE-ECHO 来扫描 SCTP 协议端口的开放的情况。 -sO: 使用 IP protocol 扫描确定目标机支持的协议类型。 -b <FTP relay host>: 使用 FTPbounce scan 扫描方式 -p 指定端口扫描

在此,我们以主机 192.168.80.166 为例。命令如下:

nmap-sS -p0-65535 -T4 192.168.80.166

参数 -sS 表示使用 TCP SYN 方式扫描 TCP 端口;-p0-65535 表示扫描所有端口;-T4 表示时间级别配置 4 级;

扫描特定端口是否开放

nmap -p21,80,445,3306 192.168.80.166

简要的介绍版本的侦测原理。版本侦测主要分为以下几个步骤:

1、首先检查 open 与 open|filtered 状态的端口是否在排除端口列表内。如果在排除列表,将该端口剔除。

2、如果是 TCP 端口,尝试建立 TCP 连接。尝试等待片刻(通常 6 秒或更多,具体时间可以查询文件 nmap-services-probesProbe TCP NULL q|| 对应的 totalwaitms )。通常在等待时间内,会接收到目标机发送的 “WelcomeBanner” 信息。nmap 将接收到的 Banner 与 nmap-services-probesNULL probe 中的签名进行对比。查找对应应用程序的名字与版本信息。

3、如果通过 “Welcome Banner” 无法确定应用程序版本,那么 nmap 再尝试发送其他的探测包(即从 nmap-services-probes 中挑选合适的 probe ),将 probe 得到回复包与数据库中的签名进行对比。如果反复探测都无法得出具体应用,那么打印出应用返回报文,让用户自行进一步判定。

4、如果是 UDP 端口,那么直接使用 nmap-services-probes 中探测包进行探测匹配。根据结果对比分析出 UDP 应用服务类型。

5、如果探测到应用程序是 SSL,那么调用 openSSL 进一步的侦查运行在 SSL 之上的具体的应用类型。

6、如果探测到应用程序是 SunRPC,那么调用 brute-force RPC grinder 进一步探测具体服务。

具体参数解释

-sV: 指定让 Nmap 进行版本侦测 –version-intensity <level>: 指定版本侦测强度 ( 0-9 ),默认为 7 。数值越高,探测出的服务越准确,但是运行时间会比较长。 –version-light: 指定使用轻量侦测方式 ( intensity 2 ) –version-all: 尝试使用所有的probes进行侦测 ( intensity 9 ) –version-trace: 显示出详细的版本侦测过程信息。

对主机 192.168.80.166 进行版本侦测。

命令如下:

nmap -sV -p0-65535 -T4 192.168.80.166

Nmap 使用 TCP/IP 协议栈指纹来识别不同的操作系统和设备。在 RFC 规范中,有些地方对 TCP/IP 的实现并没有强制规定,由此不同的 TCP/IP 方案中可能都有自己的特定方式。Nmap 主要是根据这些细节上的差异来判断操作系统的类型的。

具体实现方式如下:

Nmap 内部包含了 2600 多已知系统的指纹特征(在文件 nmap-os-db 文件中)。将此指纹数据库作为进行指纹对比的样本库。分别挑选一个 open 和 closed 的端口,向其发送经过精心设计的 TCP/UDP/ICMP 数据包,根据返回的数据包生成一份系统指纹。将探测生成的指纹与 nmap-os-db 中指纹进行对比,查找匹配的系统。如果无法匹配,以概率形式列举出可能的系统。

-O: 指定 Nmap 进行 OS 侦测。 –osscan-limit: 限制 Nmap 只对确定的主机的进行 OS 探测(至少需确知该主机分别有一个 open 和 closed 的端口)。 –osscan-guess: 大胆猜测对方的主机的系统类型。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统。

命令如下:

nmap –O 192.168.80.166

-vv 详细显示扫描状态

nmap -p21,80,445,3306 -vv 192.168.80.166

–script 使用 nse 脚本,也可自行编写 nse 脚本,nmap 有 580 多个脚本

nmap –script=auth 192.168.80.166

–script=brute 对弱口令进行暴力破解

nmap –script=brute 192.168.80.166

–script=default 使用默认 nse 脚本搜集应用的信息

nmap –script=default 192.168.80.166

–script=vuln 检测常见漏洞

nmap –script=vuln 192.168.80.166

优势:

1、功能灵活强大,支持多种目标,大量计算机的同时扫描;

2、开源,相关帮助文档十分详细;

3、流行,由于其具有强大的扫描机探测功能,,已被成千上万安全专家使用。

劣势:

Nmap 参数众多,难以一一记忆;

10、DirBuster

DirBuster 是一款路径及网页暴力破解的工具,可以破解出一直没有访问过或者管理员后台的界面路径。

安装方式:

Java 运行环境 + DirBuster 程序包

使用方式:

1、直接双击 DirBuster.jar 打开软件,在 URL 中输入目标 URL 或者主机 IP 地址

2、在 file with list of dirs/files 栏后点击 browse,选择破解的字典库为 directory-list-2.3-small.txt

3、将 File extension 中填入正确的文件后缀,默认为 php ,如果为 jsp、asp、aspx 页面,需要填入 jsp、asp、aspx 同样可以选择自己设置字典,线程等等

4、其他选项不变,点击右下角的 start,启动目录查找

5、观察返回结果,可点击右下角的 report,生成目录报告

优点:

1、敏感目录发掘能力强

2、OWASP安全机构极力推荐

缺点:

探测目录依赖字典文件(可以说工具只是辅助,在不同的人手里,工具有不同的功效,为什么呢?因为核心是字典,牛逼的人经过常年的渗透测试收集到的字典足够精准足够全面,所以新手可以先学习工具,想要成长还是要搞清楚原理。)

深信服AF界面危险操作一览表

汇总了一些会引起设备重启,服务重启,用户掉线、断网的界面操作。
在调试设备时,注意规避或提前做好准备。

 
产品线
主模块
一级子模块
二级子模块
对应操作
高危风险说明
AF
运行状态
封锁攻击者IP
添加到永久封堵
所有与封堵名单中的IP地址进行通讯的流量都将被永久拒绝
AF
网络配置
接口/区域
物理接口
修改接口配置
导致接口关联的策略路由不生效\接口重启。存在双机时,导致双机切换;关联VPN时,vpn会断开;
AF
网络配置
接口/区域
bypass设置
硬件/光口bypass
透明模式在双机场景下导致内网产生环路
AF
网络配置
高级网络配置
DHCP
关闭DHCP服务
若内网是DHCP场景,会导致内网获取不到ip地址引起断网;已经获取到ip了的电脑不会马上断网,地址续租异常会断网;
AF
网络配置
高级网络配置
ARP
启用ARP代理
启用ARP代理,NGAF会对指定地址的ARP请求使用指定接口的MAC地址进行应答;如果配置错误,会导致相应IP的ARP冲突,从而引起网络动荡。
AF
VPN
IPSEC/SSLVPN
修改基础配置
1.标准IPSEC会重连,修改哪个阶段就重连哪个阶段;
2.对SSLVPN部署模块进行修改,会导致vpn路由发生变化,影响原来已经接入的用户访问发布的资源;
AF
认证系统
LDAP自动同步
同步AD域用户
如果在工作时间从AD域同步应用过来,那么新同步过来的用户,会覆盖原来存在NGAF上的用户,导致用户需要重新认证,若设置的是强制单点登录或者密码认证/单点登录,用户上网会被设备拦截进行认证。
AF
认证系统
用户认证
认证策略
启用认证策略,并选择认证区域为内网
默认认证方式为密码认证,贸然启用且未设置账户密码或未通知用户,会让内网用户认证不通过导致断网;
AF
防火墙
地域访问控制
所有区域只允许中国大陆访问
若内网的地址本身就不属于任何地区,如果地域控制中限制只允许某个区域访问,就会导致内网断网;
AF
防火墙
DOS/DDOS防护
启用只允许下列ip通过
内网ip没写(留空)会导致内网断网;若内网ip写错、未包含在已填写的地址范围的电脑也会断网;
AF
防火墙
地址转换
目的/双向地址转换
做全端口映射
导致内网断网,设备登录不了
AF
内容安全
应用控制策略
创建拦截所有服务策略
导致内网断网,设备登录不了
AF
服务器保护
网页防篡改2.0
防篡改2.0-对网站主页防护
防篡改2.0的网站防护方式,一但添加防护的url之后,用户访问该url就需要进行身份验证,如果用户没有验证的权限就会导致主页面访问不了,这种情况下只允许有验证权限的人才能登陆备防护主页。建议只填写需要进行登录防护的URL,请谨慎操作;
AF
流量管理
通道管理
关闭流量管理
流控不生效
AF
系统
高可用性
双机热备
监控网口没有接线
导致双机状态处于故障,接口不收发数据包
AF
系统
高可用性
基本信息
心跳口没有接线
导致双机状态处于故障,接口不收发数据包
AF
系统
全局放行与封堵
全局放行
将业务ip加入全局放行
导致策略不生效
AF
系统维护
数据包拦截日志与直通
开启直通
策略全部失效、流控也全部失效
AF
系统
系统配置
序列号
修改功能序列号
防篡改序列号和多功能序列号需重启设备才生效,修改sslvpn不需要重启设备;功能序列号填写之后,需要重启设备对应的功能才会生效。会弹出重启设备提示框,请谨慎操作,选择合适的时间重启;
AF
服务器保护
web应用防护
自动识别其他HTTP端口
内网有加密网站而又没有开启解密功能,会导致网站访问不了;对于是加密的内网网站,而且NGAF没有配置对该网站解密功能,就不能开HTTP端口自动识别。如果在没有开解密的情况下,开了HTTP自动识别,NGAF识别不了这些数据,会导致NGAF对网站的流量产生误判,从而影响网站的正常访问;
AF
网络配置
路由
删除静态/策略路由
在没有备用的策略/静态路由的情况下,删除静态/策略路由导致NGAF上没有路由,导致内网不能上网;
AF
系统配置
重启网关/服务
重启网关/服务
导致内网断网
AF
网络
IPSECvpn
隧道间路由
写8个0的路由;
写目的网段是本端内网网段的路由;
会导致断网