当前位置: 首页 > 编程日记 > 正文

读书笔记——《黑客大曝光》(1/8)

第一部分 收集情报

案例研究

Tor系统基于洋葱路由器,是第二代低延迟匿名系统,用户可通过它在互联网上进行匿名通信。Tor网络的使用者必须在他们的系统上运行一个洋葱代理,这个代理允许它们在Tor网络上进行通信,并协商一个虚拟链路。 
Tor最重要的优势在于其独立于应用,在TCP数据流层工作。

socat软件 
允许双向中继转播,并可通过监听在Joe的9050端口的TorSOCKS代理转发TCP请求。

第一章 踩点

1、踩点——收集目标信息的技巧

踩点就是找出你感兴趣的目标,弄清楚目标的一切信息及目标相关的外部联系,了解目标相关联的实体以及外部实体。

2、因特网踩点的步骤

步骤1:确定踩点活动的范围 
步骤2:获得必要的授权 
踩点的本质是谨慎处理所发现目标的公开信息,所以在进行踩点之前通知你所在的组织的负责人重视没错的 
步骤3:可以从公开渠道获得的信息 
如果把收集情报比作大海捞针的话,那么踩点活动要捞的“针”都有哪些呢? 
公司的web网页

HTML源代码里的注释语句也是一个手机情报的好去处。以脱机方式阅读源代码通常要比以在线方式查阅来的更快。

可以镜像整个Web站点的工具:

UNIX或LINUX操作系统下的Wget 
Windows操作系统下的Teleport Pro

搜索有时需要使用蛮力技巧以穷举网页中包含的所有“潜在的”文件和目录,可以使用DirBuster工具,以此类蛮力方式进行的穷举动作较大,容易引起目标方的注意。

除http://www和http://www形式的主站点以外,还应该调查一下目标组织是否还建立有其他的站点。诸如www1,www2,web,web1,test,test1等主机名都是开始踩点的最佳选择。

不少组织现在都建立了自己的VPN网,所以试着访问一下http://vpn.conpamy.com、https://vpn.conpamy.com、http://www.conpamy.com/vpn可以查到VPN软件的供应商和版本信息以及下载和配置VPN客户端软件的具体步骤。

相关组织
地理位置信息 
员工信息 
在因特网上,还有很多可以用来查找其他一些个人细节资料的资源:http://blackbookom.line.info/,上面还连接着另外几个资源:http://www.peoplesearch.com,可以让黑客了解到家庭电话号码、家庭住址、社会保险号码、信用记录、犯罪记录等个人细节信息。 
另外一个有趣的信息来源是网络上可在线获得的大量员工简历。 
近期重大事件 
隐私和安全策略,现有信息安全机制的技术细节 
已归档的信息 
在因特网上有一些换门归档保存过期信息的站点,例如:WayBack Machine网站以及Google的缓存结果。

GHDB:谷歌黑客攻击数据库 
涉及到的自动化工具:Athena2.0、SiteDigger 2.0、Wikto 2.0. 这几种工具可以从Google搜索引擎的缓存内容里搜索出大量的安全漏洞、错误、配置缺陷、独有专用信息和各种有趣的安防细节,其范围涉及世界各地的Web网络。
ZDnet:攻击者的google 
SHODAN是一个搜索引擎,专门设计用于查找那些认证和授权机制存在潜在不安全漏洞的因特网系统和设备。 
Usenet论坛或新闻组也是收集敏感信息的大好资源。

步骤4:WHOIS和DNS查点
因特网保持正常运转的前提之一是:这几类标识符必须是全球唯一的。

因特网域名
IP地址 
网络通信协议的参数和端口号码

ICANN三个下属分支机构:

ASO 地址支持组织
ASO负责听取、审查与IP地址分配政策有关的意见,把IP地址块统一分配给几个在各自的辖区内负责公共互联网号码资源的管理、分配和注册事物的区域因特网注册管理结构RIR

GNSO 通用名称支持组织 
GNSO负责听取、审查与通用顶级域gTLD域名分配政策有关的各种意见,只负责顶级域的管理。 CNNSO 国家代码域名支持组织 
CNNSO负责听取、审查与国家代码顶级域ccTLD域名分配政策有关的各种意见。

你可以使用任何一种命令行WHOIS客户程序或使用Web浏览器来进行WHOIS查询。

下面的网站课自动完成这种WHOIS查询。

HYPERLINK "http://www.allwhois.com" allwhois.com 
www.uwhois.com 
internic.net/whois.html

图形用户界面工具有: SuperScan 
NetScan Tools Pro

公用数据库的阿暖防范对策 
(1)最好的方法是使用域名提供商提供的匿名服务。 
(2)利用一个伪造的电子邮件地址去修改与目标域名有关的信息——这就是所谓的“域名劫持”攻击。

步骤五:DNS查询 
对一名系统管理员来说后果最为严重的错误配置之一,就是允许不收信任的因特网用户执行DNS区域传送。原因有三个:

它能够搜集到目标的重要信息 
它能作为攻击那些仅听过DNS区域传送才暴露的目标的跳板 
尽管你可能不相信你,现在仍有很多DNS服务允许这项功能

区域传送:是指允许第二主服务器使用来自主服务器的数据刷新自己的区域数据库,其目的是为了防止主域名服务器因意外故障变得不可用时影响到这个网络。 
真正的问题发生在一个单位没有使用公用/私用DNS机制来分割外部公用DNS信息和内部私用DNS信息的时候,这是内部主机名和IP地址都暴露给了攻击者。

使用nslookup客户程序是执行区域传送的一个简单办法。

“A”类型记录:指出了该系统的IP地址 
HINFO记录:标识其平台或所运行的操作系统类型

自动完成DNS查询的工具有:host、Sam Spade、axfr和dig是其中比较常见。

UNIX环境中的dig命令用来查修DNS体系结构中的故障。 
执行区域传送的最佳工具之一是dnsrecon,该工具递归地进行区域传送。

可以罗列一个域内的所有DNS条目的技术有:能够自由获取的脚本(dnsenum、dnsmap、dnsrecon和fierce),不仅测试区域传送,还利用DNS逆向查、WHOIS、ARIN和DNS蛮力查询。

针对DNS的安全防范对策 
从主机配置角度来看,必须把区域传送限定在只有经授权的服务器才能执行; 
从网络角度看,可以配置防火墙或数据包过滤路由器,由它们来拒绝所有未经授权的通往TCP 53号端口的外来连接请求; 
更好的解决方案是采用加密的事务签名TSIG来保证主DNS服务器只向“可信的”主机传送区域信息。建议不要使用HINFO记录

步骤6:网络侦查 
traceroute是一个诊断工具,它允许查看一个IP数据包从一台主机依次经由一系列主机到达目的地的传输路径。它不仅可以用来发现对我们发出的数据包进行过滤的访问控制设备,还可以用来探查目标网络所采用的网络拓扑结构。 
当你在某个网络上找到一个真实存在的系统时,在它之前的那个系统通常会是一台具有路由功能的设备。
访问路径图:利用traceroute工具把目标网络上的多个系统的角色确定下来后,就可以开始绘制目标网络的拓扑结构图并在图中标识出它的Internet网关以及各访问控制设备的分布位置。

Windows环境里,traceroute工具的默认行为是发出ICMP ECHO请求数据包。 
“-g”选项:允许用户为数据包指定其途径路由 “-p n”选项:允许指定一个UDP目标端口号

图形化界面的工具:NeoTrace 
可以把各层网际跳跃显示在一个瞄图里,还可以在探测路由的同时,将WHOIS查询结果集成进来。Trout工具采用了多线程技术,这使它成为探测速度最快的工具之一。

挫败网络侦查活动的防范对策 
最优秀的免费NIDS软件之一:Snort 根据站点的安全策略,你还可以把网络边界路由器配置成限制ICMP和UDP数据包发送到某些特定的系统。

请记住我们的两条忠告:

一是注意隐蔽你们再因特网上的面目,把因此而泄露额信息量和信息类型减少到最小; 
二是以高度的警惕性监控各种可疑迹象。

第二章 扫描

1、确定目标系统是否开机并在线

1、ARP主机发现 
如果一个攻击者与所攻击的目标位于同一个局域网段中,利用ARP实现主机发现是最合理的,因为其执行的时间和开销最少。ARP扫描向子网中的每一台主机发送一条ARP请求,如果收到ARP应答数据包,就认为该主机是"活跃的"。 
涉及到的工具:

arp-scan 
是一个简单的ARP回应检测和踩点工具,必须使用根用户身份来运行arp-scan工具。
网络映射器Nmap 
用于发现与主机和服务器有关活动的工具。 
-RP选项:实现ARP扫描 
-sn选项:限制Nmap只进行主机发现,而不执行端口扫描 
cain 
为仅仅使用Windows系统的群体提供了包括主机和服务发现在内的大量功能。

如果实际情况是目标系统位于远处的网络,ARP发现则变得无能为力,这时,可以选择使用诸如ICMP或TCP/UDP发现之类的操作。

2、ICMP主机发现 
ICMP提供了一系列不同的消息类型,用于一个主机及其网络路径状态的诊断。 
其中,ICMP ECHO_REPLY回应表明目标系统处于活跃状态 
ICMP TIMESTAMP拥有确定目标系统的时间,而ICMP ADDRESS MASK用于确定其本地子网的掩码。

使用操作系统工具

网络发现工具
Nmap
在root权限下运行时,可以执行一个更透彻的扫描。 
“-sn”选项:以特定主机为目标,跳过端口扫描 
“-PE”选项:发送一个ICMP ECHO REOUEST数据包 
“--send-ip”选项:跳过任意的ARP地址解析 “-PM”选项:支持ICMP地址掩码
“-PP”选项:支持TIMESTAMP选项 
hping3和nping 
用来主机发现和端口扫描的 
Nping必须使用root权限才能执行。 
SuperScan 
是目前速度最快的ping扫描工具之一,以并行的方式发送多个ICMP ECHO REQUEST数据包,允许对主机名进行解析,并能够在HTML文件中查看输出结果。

3、TCP/UCP主机发现 
常用工具有:NmapSuperScannping

针对ping扫描的防范对策
(1)侦查ping扫描的首选方法是使用诸如Snort之类基于网络的入侵侦测系统 
(2)从主机的角度来看,有几种UNIX工具可侦测到ping扫描攻击并记录到日志文件中。 
预防措施
最简单的网络,办法是只允许ICMP ECHO REPLY等数据包进入DMZ网络,并只允许它们到达特定主机,此外,若可以通过访问控制表ACL把外来ICMP通信限制在只能到达某些属于你们ISP的IP地址。 
允许ICMP通信不受限制地进入网络边界网关会给攻击者留下发动“拒绝服务”攻击的可乘之机。

2、确定目标系统上哪些服务正在运行或监听

1、端口扫描:是向目标系统的TCP和UDP端口发送数据包,以确定在目标系统上都有哪些服务正在运行或处于LISTENNING状态额过程,确定有哪些端口正处于监听状态是一个非常重要的攻击步骤,攻击者不仅可以了解到远程系统上都运行着哪些服务,存在哪些漏洞,还可以探测出目标系统在使用的操作系统和应用程序的类型和版本。

2、进行端口扫描的目的:

(1)确定在目标系统上运行的TCP服务和UDP服务
(2)确定目标系统上的操作系统的具体类型 
(3)确定目标系统上负责提供特定服务的应用程序名称或版本

3、扫描的类型:

TCP连接扫描 
TCP SYN扫描 
TCP FIN扫描 
TCP 圣诞树扫描
TCP 空扫描
TCP ACK扫描 
TCP 窗口扫描
TCP RPC扫描 
UDP 扫描
“TCP连接扫描”和“TCP SYN扫描” 使用于任何类型的主机。

4、确定ICP和UDP服务正在运行 
常用的工具有:NmapSuperScanScanLine 、netcat

5、端口扫描防范对策 
(1)从UNIX主机的角度看,scanlogd可以侦测到这类攻击并记入日志。 
(2)从Windows操作系统看,Attacker工具能用于侦测简单的端口扫描。 
预防措施:应该禁用所有不必要的服务以便尽可能地缩小自己的暴露面。 
(1)在UNIX环境下,可以通过先在/etc/inetd.conf文件里注释掉不必要的服务,然后启动系统开机脚本来禁用此类服务。 
(2)在Windows系统中,可以通过(控制面板|服务)菜单禁用某些服务。

3、侦测操作系统

1、完成侦测操作系统的主要技术: 
(1)标语抓取技术 
(2)协议栈指纹分析技术

2、从现有的端口进行猜测
当开启了端口445、139、135时,很有可能说明目标操作系统是Windows。 
TCP端口3389用于支持远程桌面协议,是Windows系统的典型特征。 
远程过程调用RPC服务和网络文件系统NFS是攻击者可能用来攻陷UNIX服务器的两种主要途径。

3、主动式协议栈指纹分析技术
常用的探查技术有:

FIN探查 
无效标志探查 
ISN初始序列号采样
DF标志位监控
TCP初始数据窗长度
ACK值
ICMP出错消息抑制 
ICMP消息内容 
ICMP出错消息——回应完整性
TOS服务类型字段
数据包拆分处理
TCP选项

4、被动式协议栈指纹分析技术
被动式协议栈指纹分析技术的成功取决于工具这必须位于网络的通信中枢,以及必须有一个可以用来捕获数据包的端口。
被动式特征是:

TTL
Window size
DF位

5、针对侦测操作系统活动的防范对策
侦测
预防措施
 
“不出声就不会被发现”这一古老的格言并不适用于信息安全工作,你们应该只把健全的、安全的代理或防火墙摆在前线。即使攻击者探查出了目标的操作系统,也不可能轻易获得目标系统的访问权限。

4、处理并存储扫描数据

1、用Metasploit管理扫描数据
安装Metasploit会建立一个用于管理数据的PostgreSQL服务器,以便通过特定的查询在这个数据库中查询扫描数据,缺点是如果你不是使用最高权限的用户登录,将无法使用db_nmap来实现扫描。

2、HOSTS命令:列出数据库中所有的主机
“-c”选项:选择特定的列
“services”命令可以用来显示所有可用的开放端口以及在已识别出的主机上运行的服务。

转载于:https://www.cnblogs.com/java-stx/p/5172473.html

相关文章:

H5 自动播放背景音频,兼容安卓和苹果手机, ios createInnerAudioContext 无法自动播放解决

原因应该是IOS不允许自动播放音频,有两种解决方法 在main.js Vue.prototype.innerAudioContext = uni.createInnerAudioContext(); //创建播放器对象 Vue.prototype.playAudio = function(audioUrl) {console.log(播放)var innerAudioContext = Vue.prototype.innerAudioCont…

粒子耗尽 粒子滤波_如何使用粒子的强大蓝牙API

粒子耗尽 粒子滤波This post is originally from www.jaredwolff.com 这篇文章最初来自www.jaredwolff.com I was defeated. 我被打败了。 I had spent the whole night trying to get a Bluetooth Low Energy project working. It was painful. It was frustrating. I was r…

Android笔记(adb命令--reboot loader)

Android 的机器通过adb进入升级模式的方法 # adb shell # reboot loader 通过上面两个命令就进入升级模式了,通过工具升级就好了 为什么会写这简单的一篇呢?因为今天干了一件很傻很傻的事,特别记录下来。 业务那边今天急着要把机器寄给客户&a…

样式集(八)弹窗,规则弹窗,半透明弹窗

效果图&#xff1a; 代码&#xff1a; <view class"popupBlock" v-if"showPopupBlock"><view class"xxx"><image class"xxxImg" click"showPopupBlockfalse" mode"widthFix" src"../../stat…

typeof操作符的返回值

使用typeof操作符 对一个值使用typeof操作符可能返回下列某个字符串: 1):undefined——如果这个值未定义 2):boolean——如果这个值是布尔值 3):string——如果这个值是字符串 4):number——如果这个值是数值 5):object——如果这个值是对象或null&#xff0c;数组&#xff0c;…

定制开发软件所有权_职业所有权软件开发人员指南

定制开发软件所有权介绍 (Introduction) 您的职业正在流向大海吗&#xff1f; (Is Your Career Drifting Out To Sea?) Like a frog whos slowly being boiled in a pot but doesnt realize it, 2 years into my career I slowly came to discover that I wasnt progressing a…

转:在线框架引用 bootstrap/jq/jqmobile/css框架

bootstrap百度调用 <script src"http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script><link href"http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel"stylesheet" /> 使用 Bootstrap 中文…

曲线图实现,可滚动曲线图,自定义数据

实现可以拖动的曲线图,自定义X轴数据的缩进,自定义X轴显示多少格。 效果图 数据格式,数据说明代码可见 曲线图实现 u-charts.js 可以在官网下载 <template><view class="qiun-columns"><view class=""><view class="qiu…

MongoDB 删除数据库

MongoDB 删除数据库 语法 MongoDB 删除数据库的语法格式如下&#xff1a; db.dropDatabase() 删除当前数据库&#xff0c;默认为 test&#xff0c;你可以使用 db 命令查看当前数据库名。 实例 以下实例我们删除了数据库 runoob。 首先&#xff0c;查看所有数据库&#xff1a; &…

安装meme_通过构建Meme生成器学习React

安装memeMemes are great - theyre such a fun way of describing ideas and opinions. So its no coincidence that I picked a meme generator app as the capstone project in my free React course on Scrimba. The app works by pulling a random meme image from an API …

Thunder团队第三周 - Scrum会议7

Scrum会议7 小组名称&#xff1a;Thunder 项目名称&#xff1a;i阅app Scrum Master&#xff1a;胡佑蓉 工作照片&#xff1a; 邹双黛在照相&#xff0c;所以图片中没有该同学。 参会成员&#xff1a; 王航&#xff1a;http://www.cnblogs.com/wangh013/ 李传康&#xff1a;htt…

修改u-charts的点的大小和线的粗细

效果图&#xff1a; 修改源码&#xff0c;找到u-charts.js &#xff0c; 修改他画布的点的大小&#xff0c;在这两行框的地方&#xff0c;改了就好了 完整代码&#xff1a; <template><view class"qiun-columns"><view class""><vie…

Swift中使用typealias定义一个闭包closure

在OC中我们定义一个Blocks是这样定义的&#xff1a; typedef void (^ZWProgressHUDCompletionBlock)();在Swift中定义一个闭包是这种&#xff1a; typealias ZWProgressHUDCompletionBlock()->Void转载请注明。。。欢迎大家增加交流群&#xff1a;爱疯、爱Coding&#xff1a…

react中使用构建缓存_如何在React中构建热图

react中使用构建缓存Heat maps are a great way of visualizing correlations among two data sets. With colors and gradients, it is possible to see patterns in the data almost instantly.热图是可视化两个数据集之间相关性的一种好方法。 使用颜色和渐变&#xff0c;可…

oracle rman异机恢复

Oracle源主机Oracle目标主机主机平台CentOS6.2&#xff08;final&#xff09;CentOs6.2&#xff08;FInal&#xff09;主机名 vickrmanIP地址192.168.1.11192.168.1.10实例名字orclorclOracle版本号11.2.0.411。2.0.4Oracle数据文件存储filesystemfilesystem控制文件路径/u01/a…

高阶函数-lambda表达式

#2.6 map()# 第一个参数传入一个函数&#xff0c;&#xff0c;第二个参数为一个可迭代对象li_1 (1,3,5,7)def funcA(x): return x*xm1 map(funcA,li_1)print(type(m1))print(m1())# 2.6 reduce()# 第一个参数传入一个函数&#xff0c;第二个参数 可以迭代对象 &#xff0c…

CSS动画效果无限循环放大缩小

效果图&#xff1a; CSS动画效果无限循环放大缩小 <image class"anima" mode"widthFix" click"nav" src"/static/1_btn.png"></image>.anima {animation-name: likes; // 动画名称animation-direction: alternate; // 动…

solidity 编程练习_学习Solidity编程语言并开始为区块链开发

solidity 编程练习Learn to program in Solidity in this full tutorial from Dapp University. Solidity is an object-oriented programming language for writing smart contracts. It is used for implementing smart contracts on various blockchain platforms, most not…

性能测试之二——常用的性能测试策略

性能测试的常用策略有&#xff1a; 1、基准测试 单用户测试需要打开控制台&#xff0c;获取Analysis结果&#xff08;&#xff09; 2、并发测试 多用户在同一时间做同一事情或执行同一操作&#xff0c;针对同一业务&#xff08;LR精确到毫秒&#xff09;&#xff0c;一般测试并…

KBEngine服务器环境搭建

1.概要及环境 KBEngine是一款开源服务端引擎&#xff08;中文官网http://kbengine.org/cn/&#xff09;&#xff0c;能够在Linux、Windows下部署&#xff0c;为了学习方便&#xff0c;我们在本机Windows下进行服务器环境的搭建。 1&#xff09;服务端源代码 https://github.com…

小程序判断屏幕是长屏还是短屏手机,iPhone X 类型还是 iPhone 6类型

直接看代码 globalData: {udgeBigScreen: false,//判断屏幕 }&#xff0c; onLaunch: function(e) {/**判断屏幕大小 */var judgeBigScreen () > {let result false;const res wx.getSystemInfoSync();const rate res.windowHeight / res.windowWidth;let limit res.w…

桌面应用程序 azure_如何开始使用Microsoft Azure-功能应用程序,HTTP触发器和事件队列...

桌面应用程序 azure"Serverless" architecture is all the rage in tech land at the moment, including heavy usage at my new workplace. “无服务器”架构目前在科技界风靡一时&#xff0c;包括在我的新工作场所中大量使用。 Microsoft jumped into this space …

开始Flask项目

新建Flask项目。设置调试模式。理解Flask项目主程序。使用装饰器&#xff0c;设置路径与函数之间的关系。使用Flask中render_template&#xff0c;用不同的路径&#xff0c;返回首页、登录员、注册页。用视图函数反转得到URL&#xff0c;url_for(‘login’)&#xff0c;完成导航…

JavaScript中的加法运算

<head runat"server"> <title>JavaScript实现加法计算器</title> <script type"text/javascript"> function Sum() { var txtbox1 document.getElementById("txtbox1"); var txtbox2 document.getElementById("…

计算机视觉技术 图像分类_如何训练图像分类器并教您的计算机日语

计算机视觉技术 图像分类介绍 (Introduction) Hi. Hello. こんにちは你好 你好。 こんにちは Those squiggly characters you just saw are from a language called Japanese. You’ve probably heard of it if you’ve ever watched Dragon Ball Z.您刚刚看到的那些蠕动的字符…

history对象

history对象记录了用户曾经浏览过的页面(URL)&#xff0c;并可以实现浏览器前进与后退相似导航的功能。 注意:从窗口被打开的那一刻开始记录&#xff0c;每个浏览器窗口、每个标签页乃至每个框架&#xff0c;都有自己的history对象与特定的window对象关联。 语法&#xff1a; w…

无限循环动画实现

先来个效果图 示例代码是先缩小移动&#xff0c;然后无限循环左右晃动&#xff0c;希望能够帮助到你&#xff0c;点个赞吧~ 实现代码 <image class"element1" load"element1_load" :animation"animationData" src"../../static/element…

利用属性封装复杂的选项

1、考虑这样一个场景。 我们的程序中有一个“选项”窗口&#xff0c;这个窗口包含很多选项。其中有一个选项是单选类型的&#xff0c;用户可以从N个选项值中选择一个。 我们需要在用户单击“确定”按钮后把用户选择的值保存到文件中&#xff0c;程序下次启动时再读取到内存中。…

react 渲染道具_关于React道具的另一篇文章

react 渲染道具You could say this topic has been done to death, but lately I’ve started using a technique that I dont recall having come across elsewhere. While its not particularly clever, it is concise. So please forgive one more post on the topic...你…

高可用集群的概念

一&#xff1a;什么是高可用集群 高可用集群&#xff08;High Availability Cluster&#xff0c;简称HA Cluster&#xff09;&#xff0c;是指以减少服务中断时间为目的得服务器集群技术。它通过保护用户得业务程序对外部间断提供的服务&#xff0c;把因为软件&#xff0c;硬件…