IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 关于我的渗透测试总体框架经验分享(1)枚举 -> 正文阅读

[系统运维]关于我的渗透测试总体框架经验分享(1)枚举

关于我

【2022-3-30】我叫Ba1_Ma0,每天都会在hackthebox平台上打机子来学习新东西,掌握C语言,C++,C#,bash,java,python,PHP,汇编语言编写能力,基本都有写的小项目,ctf方向web,misc,pwn,密码学,逆向,取证,经常单人参加全世界ctf比赛并获得排名,最好的一次是参加国外的picoCTF,在全世界7000个队伍中排名第31,还爱好二进制安全和无线安全,有实战经验,考过安全相关的证书。

关于本文章

本文章也只是写我这4年多的渗透测试经验,每一步操作都会拿实战的例子来演示,帮助学习网络安全的新手小白快速的建立一个渗透测试框架,会解释每个工具的参数和它的作用,用简单易懂的话语来入门,为以后的渗透测试打下基础,如果各位有什么问题或者意见,可以联系我的邮箱:baimao3389@gmail.com,我每天都会定时查看邮箱,有什么问题或者意见,我都会当天回复,我的技术也很菜,勿喷。

一.侦察&枚举

这一步是做渗透测试的第一步,也是最重要的一步,通过收集到的服务器版本信息,正在运行的服务版本信息,开放的端口等等,来进一步的了解目标,你扫描获取的信息决定了你之后能尝试的方向,多花点时间进行信息搜集总是好的。

1.枚举tcp上运行的服务及其版本信息

Nmap (“Network Mapper(网络映射器)”)网络探测和安全审核的工具,它的设计目标是快速地扫描大型网络,发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息),它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能

我写了一个简易的脚本,能缩短几分钟时间,来方便我对服务器做枚举,后续完善后会在github上发布。
在扫描时,我使用以下命令:

nmap -Pn -sS --stats-every 3m --max-scan-delay 20 --defeat-rst-ratelimit -T4 -p1-65535 目标ip

命令解释:

-Pn : 不进行ping扫描
-sS:指定使用 TCP SYN的方式来对目标主机进行隐蔽扫描
--stats-every 3m:每3秒输出一次
--max-scan-delay:防止Nmap在同一时间向主机发送多个探测报文
--defeat-rst-ratelimit:通过发送RST包来限制扫描速率
-T4:T4速度模式
-p:扫描的端口

实例演示

在这里插入图片描述
通过我上面的命令扫描发现,服务器只开放了80端口,且80端口运行的apache服务的版本也没什么可以利用的漏洞。我们试试枚举udp会不会有所收获,

2.枚举udp上运行的服务及其版本信息

在扫描时,我使用以下命令:

nmap -sC -sV -sU 目标ip --min-rate 7500 -F

命令解释:

-sC:等于 --script=default,默认脚本扫描
-sV:  探测打开的端口以确定服务/版本信息
-sU:UDP扫描
--min-rate: 每秒发包数量不小于多少,用来提高扫描效率,缩短扫描时间
-F:快速扫描

如果不使用–min-rate和快速扫描,那么nmap的udp扫描要扫好几年才能出结果

实例演示

在这里插入图片描述
服务器在623端口上开放了一个叫做asf-rmcp的服务,我不知道是什么,于是我就去网上搜索找个服务信息
在这里插入图片描述
我阅读完这篇文章可以发现,这个服务是通过建立一个网站为台式机和服务器提供带外监控,如果是2.0版本的话,可以用特殊的工具通过这个服务漏洞来获得网站的账号和密码的哈希值,后来通过测试证明,我拿到了网站的管理员账号和密码,具体的操作我后面会写,这里我只想说明枚举的重要性
在这里插入图片描述
在这里插入图片描述
综上所述,渗透测试的第一步应该先扫描tcp与udp上开放的端口,然后将端口上正在运行的服务版本在网上搜索,看有没有公开的漏洞,我个人推荐Google,语法如下

服务 服务的版本 exploit

或者使用kali上的工具,searchsploit,它提供了在本地保存的存储库中执行详细的离线搜索的能力

searchsploit 服务 服务版本

在这里插入图片描述

之后我会讲该如何利用找到的漏洞。

3.枚举网站根目录与子域名

当我们在tcp和udp上无法找到能利用的信息时,我们就只能将目光放在网站上了
枚举网站根目录和子域名时,我们需要一个字典来爆破,这里我推荐在github上的SecLists项目,地址为:

https://github.com/danielmiessler/SecLists

他有着最全面的爆破字典,我一直都在用,直接下载即可,或者在终端运行

apt install seclists

安装的字典位置本机上的

/usr/share/seclists

到时候直接用想用的字典即可

枚举网站根目录,这里我推荐用ffuf,使用方法如下:

ffuf是一款高效的对网站做模糊测试的工具,如枚举网站根目录,可选择在 URL 中的任何位置进行模糊测试

用法如下:

ffuf -w /usr/share/seclists/Discovery/Web-Content/raft-small-directories.txt -t 100 -mc 200,302,301 -u http://ip/FUZZ 

命令解释:

-w    ##要使用的字典
-t    ##线程数
-mc   ##输出什么响应状态的网站目录
-u    ##指定的网站url
FUZZ  ##模糊测试的位置

实战演示:

在这里插入图片描述
然后我继续扫描images目录下的文件
在这里插入图片描述
发现泄露了很多linux上的系统文件,我们可以通过读取这些文件信息来进一步枚举网站,通过慢慢的读取文件信息,我找到了网站的账号和密码,成功的进入了网站
在这里插入图片描述
扫描网站根目录可以发现很多泄露的文件,挖文件泄露的洞的话,也是这样慢慢扫网站根目录的

枚举服务器子域名:
当我们扫描网站根目录也没扫描到什么有用的信息时,我们应该枚举一下服务器的子域名

什么是子域名:https://zh.wikipedia.org/wiki/%E5%AD%90%E5%9F%9F%E5%90%8D

枚举子域名,这里我用的是wfuzz,这个工具和fuzz差不多,都是做模糊测试的,使用方法如下:

wfuzz -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt --sc 200 -u http://url/ -c -H "Host:FUZZ.url" --hw 26

命令解释:

-w    ##指定的字典
-sc   ##输出什么响应状态的网站
-u    ##指定的网站url
-c    ##带颜色显示
-H    ##参数来指定HTTP请求的请求头

实战演示:

在这里插入图片描述
这里我们扫描到了三个子域名,我们去访问试试
在这里插入图片描述
一个登录页面,后来根据网站框架的漏洞,也成功的进入了后台

4.网站框架枚举

根据网站的框架,我们有很多针对的工具来使用,这里推荐Nuclei这款工具,它是一个快速漏洞扫描器,下载地址:

https://github.com/projectdiscovery/nuclei

或者本地安装:

apt install nuclei

使用方法:

nuclei -u http://url

实战演示

在这里插入图片描述
这个工具扫描出了网站存在CVE-2017-5487,CVE-2016-10924这两个漏洞,根据这两个漏洞,后来也成功的进入了后台

地球上近30%的网站使用WordPress,针对这个框架,也有专门扫描的工具,这里我推荐wpscan,wpscan 是一个扫描 WordPress 漏洞的黑盒子扫描器,安装方法如下:

apt install wpscan

使用方法:

https://www.cnblogs.com/Xy--1/p/12236684.html

总结

枚举是重中之重的,你扫描获取的信息决定了你之后能尝试的方向,找到服务版本就去google搜索有没有公开的漏洞,多在网上搜索信息,搜集的信息越多越好,关注我,之后将发布更详细的枚举教程和各种反弹shell操作与进入服务器后的各种提权方式。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:49:45  更:2022-04-01 23:51:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:05:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码