Pentest Wiki Part 7 渗透报告amp;逆向IDA入门amp;快速搭建系统服务

本文主要是介绍Pentest Wiki Part 7 渗透报告amp;逆向IDA入门amp;快速搭建系统服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

渗透报告

前言

本文档旨在定义渗透测试报告的基本标准。 虽然高度鼓励使用自己的定制和品牌格式,但以下内容应提供对报告中所需项目的高层次理解以及报告结构,以便为读者(客户)提供价值。

报告是渗透测试中最重要的一环。 您将使用报告来传达您所做的事情,说明您是如何做到的,最重要的是,让你所测试机构知道应如何修复渗透测试期间发现的漏洞。

报告结构

报告分为两个主要部分,以向不同的受众介绍测试的目标,方法和结果。

执行摘要

本部分将向读者(客户)传达渗透测试的具体目标和渗透测试的高级结果。目标受众是那些负责安全方案的监督的人员以及可能受到威胁的组织中的任何成员。执行摘要应包含大部分以下部分:

  • 背景:
    背景部分应向读者(客户)解释渗透测试的总体目的。 测试部分确定的风险,对策和渗透测试有关的术语的详细信息应该提供给读者(客户),以使读者(客户)了解整体的渗透测试和相关结果。

整体来说这个领域将是展现测试的整体效果和渗透测试师实现先前会议中提出的目标的能力的叙述。 对测试过程确定的系统性问题(例如系统性问题--缺少有效的补丁=找到的MS08-067)进行简要描述,以及实现对目标信息的访问和识别 对业务的潜在影响。

风险排名/资料

整体风险排名/概况/分数将在这个区域被识别和解释。 在预备阶段,Pentester将确定评分机制和追踪/分级风险的个体机制。 FAIR,DREAD和其他自定义排名中的各种方法将被合并到环境分数中并进行定义。


(客户)的总体风险评分目前是七(7)。 这个评级意味着安全控制的风险会随着潜在的重大财务损失而受到损害。 顾问根据一个高风险和几个中等风险漏洞确定了这个风险评分,并且定向攻击的成功。 识别出的最严重的漏洞是在面向企业公开的网站上存在默认密码,该密码允许访问许多敏感文档并能够控制设备上的内容。 此漏洞可能导致用户帐户被盗,敏感信息泄露或完全系统泄露。 几个较小的严重漏洞可能导致盗窃有效的帐户凭证和泄露信息。
总体发现:
一般调查结果将提供基本和统计格式的渗透测试中发现的问题的概要。 测试目标用图形表示,测试结果,过程,攻击情景,成功率以及在测试前会议中定义的其他可测量指标应该存在。 此外,问题的原因应该以易于阅读的格式呈现。 (例如,显示被利用问题的根本原因的图表)


这一领域还应包括描述环境内对策有效性的指标。 (例如,我们运行了x次攻击和IPS拦截了y,其他对策也应该具有相似的设计和效果指标。)

推荐摘要:
报告的建议部分应使读者(客户)高度了解和解决所确定的风险所需的任务,以及实施解决方案建议所需的一般工作量。 本节还将确定用于优先考虑后续路线图顺序的权重机制。

战略路线图

路线图应该包括一个优先计划,用于修复发现的不安全物品,并且应该根据商业目标/潜在影响水平来衡量。 本节应直接映射到已确定的目标以及PTES-Threat建模部分中创建的威胁矩阵。 通过分解为预定义的时间/目标为基础的目标,本节将创建一个行动的路径,以不同的增量。 例:



技术报告

本部分将向读者(客户)传达测试的技术细节以及商定前的所有方面/内容,作为参与前活动的关键成功指标。 技术报告部分将详细描述测试的范围,信息,攻击路径,影响和修复建议。

介绍:

技术报告的引言部分旨在作为初步清单:

渗透测试团队的测试
联系信息
涉及测试的资产
测试的目的
测试范围
测试的强度
途径
威胁/分级结构

本部分应作为测试涉及的具体资源和测试的总体技术范围的参考。

信息收集:

情报收集和信息评估是良好渗透测试的基础。测试人员对环境的了解越多,测试的结果就越好。在本节中,应编写若干项目,向客户展示通过执行PTES情报收集阶段可获得的公共和私人信息的范围。至少,确定的结果应该分为4个基本类别:

被动情报:

从间接分析收集到的情报,如DNS,谷歌IP /基础设施相关信息。本节将重点介绍用于在CLIENT环境中剖析技术的技术,而不直接向资产发送任何流量。

主动收集:

本节将介绍基础架构映射,端口扫描,体系结构评估等脚步打印活动的方法和结果。本节将重点介绍通过直接向资源发送流量来在CLIENT环境中分析的技术。

企业情报:

有关组织结构,业务单位,市场份额,垂直和其他企业职能的信息应该映射到业务流程和先前确定的被测试的实物资产。

人员情报:

在情报收集阶段发现的将用户映射到CLIENT组织的任何和所有信息。本部分应显示用于收集情报的技术,例如公共/私人员工仓库,邮件储存库,组织结构图和其他导致员工/公司联系的项目。

漏洞评估:

漏洞评估是识别TEST中存在的潜在漏洞和每个威胁的威胁分类的行为。在本节中,应该提供用于识别漏洞的方法的定义以及漏洞的证据/分类。另外这个部分应该包括:

  • 漏洞分类级别
    • 技术漏洞
  • OSI层漏洞
  • 扫描器的发现
  • 手动识别
  • 整体公开
  • 逻辑漏洞
  • 非OSI漏洞
  • 漏洞的类型
  • 如何/在哪里找到
  • 公开的
  • 结果摘要
  • 开发/漏洞确认:

利用漏洞或漏洞确认是触发前面部分中确定的漏洞以获得对目标资产的特定访问级别的行为。本节应详细回顾为确认定义的漏洞所采取的所有步骤以及以下内容:

  • 渗透时间表
  • 选定的渗透目标
  • 渗透活动
  • 定向攻击
  • 目标主机无法被利用
  • 目标主机能够被利用
  • 个人主机信息
  • 进行攻击
  • 攻击成功
  • 访问级别授予+升级路径
  • 整理
  • 漏洞部分参考
  • 额外的缓解技术
  • 补偿控制建议
  • 间接攻击
  • 网络钓鱼
  • 时间表/攻击细节
  • 确定目标
  • 成功/失败比率
  • 授予访问级别
  • 客户端
    • 时间表/攻击细节
    • 确定目标
    • 成功/失败比率
    • 授予访问级别
  • 浏览器端
    • 时间表/攻击细节
    • 确定目标
    • 成功/失败比率
    • 授予访问级别
后渗透

所有测试中最关键的项目之一是与正在测试的客户端的实际影响的联系。虽然上面的章节中介绍了漏洞的技术性质和成功利用漏洞的能力,但是后渗透部分应该将开发能力与业务的实际风险联系起来。在这个领域,应该通过使用截图,丰富的内容检索以及真实世界特权用户访问的例子证明以下几点:

  • 权限升级路径
  • 使用的技术
  • 获取由客户定义的关键信息
  • 信息的价值
  • 访问核心业务系统
  • 访问合规性保护的数据集
  • 附加信息/系统访问
  • 持久的能力
  • 能力渗透
  • 对策有效性

本节应涵盖范围内系统的对策措施的有效性。其中应包括有效(主动)和被动(被动)对策部分,以及在测试阶段触发的任何事件响应活动的详细信息。有效抵制评估活动的对策列表将有助于客户更好地调整检测系统和流程,以处理未来的入侵企图。

  • 检测能力
    • FW/WAF/IDS/IPS
    • DLP
    • 日志
    • 响应和有效性
      风险:

一旦通过后渗透确认存在的漏洞对业务的直接影响进行评估,就可以进行风险量化。在本节中,上述结果与预先接触部分的风险值,信息危急程度,企业评估以及派生的业务影响相结合。这将使客户能够识别,可视化并通过测试找到的漏洞获利,并有效地加强对客户业务目标的解决方案。本节将涵盖以下小节中的业务风险:

  • 评估事件频率
  • 可能的事件频率
  • 估计威胁能力(从3 - 威胁建模)
  • 估算控制强度(6)
  • 复合漏洞(5)
  • 所需技能水平
  • 需要访问级别
  • 估算每个事件的损失量
  • 主要损失
  • 二次损失
  • 识别风险根源分析
  • 根本原因永远不是一个补丁
  • 识别失败的进程
  • 导出风险
  • 威胁
  • 漏洞
  • 交叠
  • 结论:

最后的测试概述。建议本部分回显整个测试的部分内容,并支持CLIENT安全状态的增长。应该以积极的方面结束,提供支持和指导,使安全方案能够取得进展,未来的检测/安保活动也将取得进展。

参考链接

http://www.pentest-standard.org/index.php/Reporting
https://github.com/juliocesarfort/public-pentesting-reports
https://www.offensive-security.com/reports/sample-penetration-testing-report.pdf

逆向工程

IDA

插件选项

-O 命令行参数允许用户将设置传递给插件。
一个使用设置的插件会调用get_plugin_options()函数来获得参数。

由于可能有独立编程人员编写的插件,每个插件的设置都需要单独加上-O前缀

例如,一个名为“decomp”的插件规定它的参数具有以下格式:

-Odecomp:option1:option2:option3

在这种情况下,get_plugin_options("decomp")将返回选项字符串的"option1:option2:option3"部分。

如果在命令行中存在多个-O参数,那么它们会被之间的":"连接起来。

函数名窗口

“Name”窗口提供二进制文件中所有全局名称的摘要列表。
函数名就是对程序虚拟地址的符号描述。
(译者注:指的是View-Open Subviews-Names窗口,也可通过快捷键Shift+F12打开)

IDA最初在文件的初始加载过程中从符号表和签名分析中导出名称列表。
名称可以按字母顺序排列,也可以按虚拟地址顺序(升序或降序)排序。

“名称”窗口对于快速导航到程序列表中的已知位置非常有用。
双击任何名称窗口条目将立即跳转反汇编视图显示选定的名称。

显示的名称会被调整为不同的颜色和字母。
方案概述如下:

F 常规功能。这些是IDA不能识别为库函数的功能。

L 库函数 IDA通过使用签名匹配算法识别库函数。
如果给定的库函数不存在签名,则该函数将被标记为常规函数。

I 导入的名称,通常是从共享库导入的函数名称。
这和库函数的不同之处在于,导入的名称不存在任何代码,而库函数的主体将出现在反汇编中。

C 无名代码(Named code)。IDA不认为这些代码是某个函数的一部分。
当IDA在程序的符号表中找到了一个函数名,但是却没有发现对该函数的调用时,就会把他们判定为无名代码。

D 数据。命名的数据位置通常代表全局变量。

A 字符串数据。这是一个引用的数据位置,包含一系列符合IDA已知字符串数据类型的字符序列,例如以空字符结尾的ASCII C字符串。

命令行模式


可以使用以下命令之一启动IDA:

idaq input-file(所有平台:启动图形界面)
idaw input-file(Windows:启动文本界面)
idal input-file(Linux / Mac:启动文本界面)

将“64”后缀添加到命令名称中,以启动64位版本的IDA。例如:

idaq64 input-file

将启动64位图形界面。

命令行的参数包括以下几种:

-a 禁用自动分析
-A 自主模式。 IDA不会显示对话框。设计与-S开关一起使用。
-b + #### 加载地址。后加上一个十六进制的数字。(中间无空格,下略)
-B 批处理模式。 IDA将自动生成.IDB和.ASM文件
-c 反汇编新文件。(删除旧数据库)
-d + directive指示首要加载的配置。例如:-dVPAGESIZE=8192
-D + directive指示次要加载的配置。
-f 禁用FPP指令 (仅在IBM PC下可用)
-h 帮助页面
-i + #### 程序入口点(十六进制)
-I + #将IDA设置为即时调试器(0禁用,1启用)
-L + #### 指定log的文件名
-M 禁用鼠标(仅限文本)
-O + #### 传递给插件的选项
-o + #### 指定输出数据库(隐含-c)
-p + #### 指定处理器类型
-P+ 压缩数据库(创建压缩的IDB)
-P 打包数据库(创建未压缩的IDB)
-P-不打包数据库(不要重新编译,看Abort命令)
-r + ###  立即运行内置的调试器(格式在###中设置)
-R 加载MS Windows exe文件资源
-S###  数据库打开时执行脚本文件。 脚本文件扩展名用于确定哪个extlang将运行脚本。 可以在脚本名称之后传递命令行参数。 例如:-S"myscript.idc argument1 \"argument 2\" argument3" 传递的参数存储在“ARGV”全局IDC变量中。 使用“ARGV.count”来确定参数的数量。 第一个参数“ARGV [0]”包含脚本名称
-T###  将输入文件作为指定的文件类型解释 在“加载文件”对话框中可见
-t     创建一个空的数据库文件
-W###  指定MS Windows目录
-x 不要创建分段(与Dump数据库命令配对使用) 此开关仅影响EXE和COM格式文件。
-z debug:00000001 drefs00000002 offsets00000004 first00000008 idp module00000010 idr module00000020 plugin module00000040 ids files00000080 config file00000100 check heap00000200 checkarg00000400 demangler00000800 queue00001000 rollback00002000 already data or code00004000 type system00008000 show all notifications00010000 debugger00200000 Appcall 00400000 source-level debugger
-? 适用于下一个版本
?  适用于下一个版本

对于批处理模式,必须使用以下命令行调用IDA:

idaq -B input-file

相当于

idaq -c -A -Sanalysis.idc input-file

文本界面(idaw.exe / idal)更适合批处理模式,因为它使用较少的系统资源。
但是,请注意,常用插件不会自动加载到批处理模式,因为analysis.idc文件会退出,内核没有机会加载它们。

有关更多信息,请参阅IDC子目录中的analysis.idc文件。

主要功能

IDA是一个交互式反汇编程序。用户可以主动参与反汇编过程。
它不能自动分析程序,而是向你提示可疑的地方,未解决的问题等。
而你的工作就是指挥IDA进行分析。

如果你第一次使用IDA,下面是一些你会发现非常有用的命令:

转换为指令(Code):热键是“C”
转换为数据(Data):热键是“D”

所做的所有更改都保存到磁盘
(译者注:即.idb数据库文件。IDA不会对原程序做任何改动。除非使用Patch Program插件)。
当您再次运行时,IDA会从磁盘读取被分析文件的所有信息,以便可以继续您的工作。
(译者注:同样指的是.idb数据库文件,无论原程序被改动甚至是删除都不影响)

CODE:00401000 6A 00 push0  
CODE:00401002 E8 64 02 00 00callGetModuleHandleA ; Call Procedure

按下D,你会看到:

CODE:00401000 6A 00 push0
CODE:00401000   ;   
---------------------------------------------------------------------------
CODE:00401002 E8db 0E8h
CODE:00401003 64db  64h ; d
CODE:00401004 02db2
CODE:00401005 00db0
CODE:00401006 00db0
CODE:00401007   ; 
---------------------------------------------------------------------------

逆向的不是很友好,只有ida的介绍使用,建议大家去ctf-wiki里面看看re这块的。

快速搭建系统服务

如何快速设置FTP服务器

请用pip或easy_install安装pyftpdlib。

sudo easy_install pysendfile
sudo easy_install pyftpdlib

或者

sudo pip2 install pysendfile
sudo pip2 install pyftpdlib

如果您已经成功安装了pyftpdlib,请按以下步骤启动:

root@lab:/tmp/pyftpdlib# python -m pyftpdlib -w -p 21
pyftpdlib/authorizers.py:240: RuntimeWarning: write permissions assigned to anonymous user.RuntimeWarning)[I 2016-03-06 10:00:11] >>> starting FTP server on 0.0.0.0:21, pid=2090 <<<[I 2016-03-06 10:00:11] concurrency model: async[I 2016-03-06 10:00:11] masquerade (NAT) address: None[I 2016-03-06 10:00:11] passive ports: None[I 2016-03-06 10:00:40] 192.168.1.103:52874-[] FTP session opened (connect)[I 2016-03-06 10:00:40] 192.168.1.103:52874-[anonymous] USER 'anonymous' logged in.[I 2016-03-06 10:00:45] 192.168.1.103:52874-[anonymous] FTP session closed (disconnect).[I 2016-03-06 10:01:42] 192.168.1.101:49312-[] FTP session opened (connect)[I 2016-03-06 10:02:12] 192.168.1.101:49312-[] FTP session closed (disconnect).[I 2016-03-06 10:02:24] 192.168.1.101:49313-[] FTP session opened (connect)[I 2016-03-06 10:02:31] 192.168.1.101:49313-[anonymous] USER 'anonymous' logged in.[I 2016-03-06 10:06:28] 192.168.1.101:49313-[anonymous] RETR /tmp/pyftpdlib/setup.py completed=1 bytes=5183 seconds=0.004[I 2016-03-06 10:07:29] 192.168.1.101:49313-[anonymous] FTP session closed (disconnect).[I 2016-03-06 10:08:11] 192.168.1.104:1033-[] FTP session opened (connect)[I 2016-03-06 10:08:17] 192.168.1.104:1033-[anonymous] USER 'anonymous' logged in.[I 2016-03-06 10:10:43] 192.168.1.104:1033-[anonymous] FTP session closed (disconnect).

Windows FTP控制台客户端:

C:\Documents and Settings\test\Desktop>verMicrosoft Windows XP [Version 5.1.2600]C:\Documents and Settings\test\Desktop>ftp 192.168.1.103
Connected to 192.168.1.103.
220 pyftpdlib 1.5.0 ready.
User (192.168.1.103:(none)): anonymous
331 Username ok, send password.
Password:
230 Login successful.
ftp> ls
200 Active data connection established.
125 Data connection already open. Transfer starting.
.ci
.coveragerc
.git
...

您也可以使用其他客户端,例如:ncftp。

Twistd

如何用Twisted启动一个ftp服务器。

root@lab:/tmp# twistd -n ftp --help
Usage: twistd [options] ftp [options].WARNING: This FTP server is probably INSECURE do not use it.
Options:-p, --port=            set the port number [default: 2121]-r, --root=            define the root of the ftp-site. [default:/usr/local/ftp]--userAnonymous=   Name of the anonymous user. [default: anonymous]--help             Display this help and exit.--help-auth-type=  Show help for a particular authentication type.--auth=            Specify an authentication method for the server.--password-file=   Specify a file containing username:password login infofor         authenticated connections. (DEPRECATED; see--help-auth instead)--version          Display Twisted version and exit.--help-auth        Show all authentication methods available.sroot@lab:/tmp# tudo easy_install twisted
root@lab:/tmp# twistd -n ftp -p 2121 --userAnonymous=anonymous 
2016-03-06 11:24:24-0500 [-] Log opened.
2016-03-06 11:24:24-0500 [-] twistd 15.5.0 (/usr/bin/python 2.7.11) starting up.
2016-03-06 11:24:24-0500 [-] reactor class: twisted.internet.epollreactor.EPollReactor.
2016-03-06 11:24:24-0500 [-] FTPFactory starting on 2121
2016-03-06 11:24:24-0500 [-] Starting factory <twisted.protocols.ftp.FTPFactory instance at 0xb6c2474c>

这篇关于Pentest Wiki Part 7 渗透报告amp;逆向IDA入门amp;快速搭建系统服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/260188

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3