作者:hacker发布时间:2022-07-13分类:入侵后台浏览:183评论:3
在获取了目标主机的操作系统、开放端口等基本信息后,通常利用通用漏洞扫描工具检测目标系统所存在的漏洞和弱口令。通用漏洞主要指操作系统本身或者安装的应用软件所存在的漏洞,通常是指缓冲区漏洞,例如MS-08-067、oracle的漏洞。由于系统开启了135、139、445、1433、1521等应用程序端口,同时没有及时安装补丁,使得外来主机可以通过相应的端口发送恶意的请求从而获取不应当获得的系统权限。在实际的应用中,如果防火墙做了良好的部署,则对外界展现的端口应该受到严格控制,相应的通用漏洞危害较小。但是如果没有在边界上进行良好的访问控制,则缓冲区溢出漏洞有着极其严重的威胁,会轻易被恶意用户利用获得服务器的最高权限。 X-Scan 是一款国产的漏洞扫描软件,完全免费,无需安装,由国内著名民间黑客组织“安全焦点”完成。X-Scan的功能包括:开放服务、操作系统鉴别、应用系统弱口令、IIS编码漏洞、应用漏洞检测等。
X-Scan通常被用来进行弱口令的检测,其提供的弱口令检测模块包含telnet、ftp、SQL-server、cvs、vnc、smtp、nntp、sock5、imap、pop3、rexec、NT-Server、ssh、www,采用字典攻击的方式,配合恰当的字典生成工具可以完成大部分常用应用软件的弱口令破解工作。X-Scan也提供漏洞检测脚本的加载方式,可以即时的更新扫描模块,同时也提供扫描结果报告功能。 Metasploit 是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。
事实上Metasploit提供的是一个通用的漏洞攻击框架,通过它可以方便的获取、开发针对漏洞的攻击。Metasploit将负载控制,编码器,无操作生成器和漏洞整合在一起,成为一种研究高危漏洞的途径,它集成了各平台上常见的溢出漏洞和流行的 shellcode ,并且不断更新。对于开发者来说,需要了解缓冲区溢出的原理、需要编写的漏洞详细情况、payload生成、注入点以及metasploit的漏洞编写规则。而对于普通的渗透测试人员,仅仅只需要安装metasploit,下载最新的漏洞库和shellcode,选择攻击目标,发送测试就可以完成漏洞检测工作。事实上,metasploit不仅提供漏洞检测,还可以进行实际的入侵工作。由于采用入侵脚本时可能对系统造成不可预估的效果,在进行渗透测试时应当仅仅使用测试功能。
Acunetix Web Vulnerability Scanner
Acunetix Web Vulnerability Scanner是一个网站及
服务器漏洞扫描软件,它包含有收费和免费两种版本。
功能介绍:
1、AcuSensor 技术
2、自动的客户端脚本分析器,允许对 Ajax 和 Web 2.0 应用程序进行安全性测试。
3、业内最先进且深入的 SQL 注入和跨站脚本测试
4、高级渗透测试工具,例如 HTTP Editor 和 HTTP Fuzzer
5、可视化宏记录器帮助您轻松测试 web 表格和受密码保护的区域
6、支持含有 CAPTHCA 的页面,单个开始指令和 Two Factor(双因素)验证机制
7、丰富的报告功能,包括 VISA PCI 依从性报告
8、高速的多线程扫描器轻松检索成千上万个页面
9、智能爬行程序检测 web 服务器类型和应用程序语言
10、Acunetix 检索并分析网站,包括 flash 内容、SOAP 和 AJAX
11、端口扫描 web 服务器并对在服务器上运行的网络服务执行安全检查
1 首先,我们先建立一个空会话(当然,这需要目标开放 ipc$ )
命令: net use \\ip\ipc$ "" /user:""
注意:上面的命令包括四个空格, net 与 use 中间有一个空格, use 后面一个,密码左右各一个空格。
2 查看远程主机的共享资源
命令: net view \\ip
解释:前提是建立了空连接后,用此命令可以查看远程主机的共享资源,如果它开了共享,可以得到如下面的结果,但此命令不能显示默认共享。
在 \\*.*.*.* 的共享资源
资源共享名 类型 用途 注释
-----------------------------------------------------------
NETLOGON Disk Logon server share
SYSVOL Disk Logon server share
命令成功完成。
3 查看远程主机的当前时间
命令: net time \\ip
解释:用此命令可以得到一个远程主机的当前时间。
4 得到远程主机的 NetBIOS 用户名列表(需要打开自己的 NBT )
命令: nbtstat -A ip
用此命令可以得到一个远程主机的 NetBIOS 用户名列表,返回如下结果:
Node IpAddress: [*.*.*.*] Scope Id: []
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
SERVER 00 UNIQUE Registered
OYAMANISHI-H 00 GROUP Registered
OYAMANISHI-H 1C GROUP Registered
SERVER 20 UNIQUE Registered
OYAMANISHI-H 1B UNIQUE Registered
OYAMANISHI-H 1E GROUP Registered
SERVER 03 UNIQUE Registered
OYAMANISHI-H 1D UNIQUE Registered
..__MSBROWSE__.01 GROUP Registered
INet~Services 1C GROUP Registered
IS~SERVER......00 UNIQUE Registered
MAC Address = 00-50-8B -9A -2D-37
以上就是我们经常使用空会话做的事情,好像也能获得不少东西哟,不过要注意一点:建立 IPC$ 连接的操作会在 Event Log 中留下记录,不管你是否登录成功。 好了,那么下面我们就来看看 ipc$ 所使用的端口是什么?
五 ipc$ 所使用的端口
首先我们来了解一些基础知识:
1 SMBServer Message Block) Windows 协议族,用于文件打印共享的服务;
2 NBTNETBios Over TCP/IP) 使用 137 ( UDP ) 138 ( UDP ) 139 ( TCP )端口实现基于 TCP/IP 协议的 NETBIOS 网络互联。
3 在 WindowsNT 中 SMB 基于 NBT 实现,即使用 139 ( TCP )端口;而在 Windows2000 中, SMB 除了基于 NBT 实现,还可以直接通过 445 端口实现。
有了这些基础知识,我们就可以进一步来讨论访问网络共享对端口的选择了:
对于 win2000 客户端(发起端)来说:
1 如果在允许 NBT 的情况下连接服务器时,客户端会同时尝试访问 139 和 445 端口,如果 445 端口有响应,那么就发送 RST包给 139 端口断开连接,用 455 端口进行会话,当 445 端口无响应时,才使用 139 端口,如果两个端口都没有响应,则会话失败;
2 如果在禁止 NBT 的情况下连接服务器时,那么客户端只会尝试访问 445 端口,如果 445 端口无响应,那么会话失败。
对于 win2000 服务器端来说:
1 如果允许 NBT, 那么 UDP 端口 137, 138, TCP 端口 139, 445 将开放( LISTENING );
2 如果禁止 NBT ,那么只有 445 端口开放。
我们建立的 ipc$ 会话对端口的选择同样遵守以上原则。显而易见,如果远程服务器没有监听 139 或 445 端口, ipc$ 会话是无法建立的。
六 ipc 管道在 hack 攻击中的意义
ipc 管道本来是微软为了方便管理员进行远程管理而设计的,但在入侵者看来,开放 ipc 管道的主机似乎更容易得手。通过 ipc管道,我们可以远程调用一些系统函数(大多通过工具实现,但需要相应的权限),这往往是入侵成败的关键。如果不考虑这些,仅从传送文件这一方面,ipc 管道已经给了入侵者莫大的支持,甚至已经成为了最重要的传输手段,因此你总能在各大论坛上看到一些朋友因为打不开目标机器的 ipc管道而一筹莫展大呼救命。当然,我们也不能忽视权限在 ipc管道中扮演的重要角色,想必你一定品尝过空会话的尴尬,没有权限,开启管道我们也无可奈何。但入侵者一旦获得了管理员的权限,那么 ipc管道这把双刃剑将显示出它狰狞的一面。
七 ipc$ 连接失败的常见原因
以下是一些常见的导致 ipc$ 连接失败的原因:
1 IPC 连接是 Windows NT 及以上系统中特有的功能,由于其需要用到 Windows NT 中很多 DLL 函数,所以不能在Windows 9.x/Me 系统中运行,也就是说只有 nt/2000/xp 才可以相互建立 ipc$ 连接, 98/me 是不能建立ipc$ 连接的;
2 如果想成功的建立一个 ipc$ 连接,就需要响应方开启 ipc$ 共享,即使是空连接也是这样,如果响应方关闭了 ipc$ 共享,将不能建立连接;
3 连接发起方未启动 Lanmanworkstation 服务(显示名为: Workstation ):它提供网络链结和通讯,没有它发起方无法发起连接请求;
4 响应方未启动 Lanmanserver 服务(显示名为: Server ):它提供了 RPC 支持、文件、打印以及命名管道共享, ipc$ 依赖于此服务,没有它主机将无法响应发起方的连接请求,不过没有它仍可发起 ipc$ 连接;
5 响应方未启动 NetLogon ,它支持网络上计算机 pass-through 帐户登录身份(不过这种情况好像不多);
6 响应方的 139 , 445 端口未处于监听状态或被防火墙屏蔽;
7 连接发起方未打开 139 , 445 端口;
8 用户名或者密码错误:如果发生这样的错误,系统将给你类似于 ' 无法更新密码 ' 这样的错误提示(显然空会话排除这种错误);
9 命令输入错误:可能多了或少了空格,当用户名和密码中不包含空格时两边的双引号可以省略,如果密码为空,可以直接输入两个引号 "" 即可;
10 如果在已经建立好连接的情况下对方重启计算机,那么 ipc$ 连接将会自动断开,需要重新建立连接。
1、NMap
是一个开源且免费的安全扫描工具,可被用于安全审计和网络发现。能够工作在Windows、Linux、HP-UX、Solaris、BSD(包括Mac OS)、以及AmigaOS上。Nmap可用于探测网络中那些可访问的主机,检测它们操作系统的类型和版本,正在提供的服务,以及正在使用的防火墙或数据包过滤器的信息等。由于它既带有GUI界面,又提供命令行,因此许多网络与系统管理员经常将它运用到自己的日常工作中,其中包括:检查开放的端口,维护服务的升级计划,发现网络拓扑,以及监视主机与服务的正常运行时间等方面。
2、Wireshark
作为业界最好的工具之一,Wireshark可以提供免费且开源的渗透测试服务。通常,您可以把它当作网络协议分析器,以捕获并查看目标系统与网络中的流量。它可以在Linux、Windows、Unix、Solaris、Mac OS、NetBSD、FreeBSD、以及其他操作系统上运行。Wireshark广受教育工作者、安全专家、网络专业人员、以及开发人员的使用和喜爱。那些经由Wireshark还原的信息,可以被其图形用户界面(GUI)或TTY模式的TShark工具来查看。
3、Metasploit
作为一个安全项目,Metasploit可为用户提供有关安全风险或漏洞等方面的重要信息。该开源的框架可以通过渗透测试服务,让用户获悉各种应用程序、平台和操作系统上的最新漏洞,以及可以被利用的代码。从渗透测试角度来看,Metasploit可以实现对已知漏洞的扫描,侦听,利用,以及证据的收集。它提供可在Linux、Windows以及Apple Mac OS上运行的命令行和图形用户界面。虽然Metasploit是一种商业工具,但它附带有一个开源的有限试用版。
4、Netsparker
作为一款商业化的安全测试工具,Netsparker是一个精确、自动化且易用的Web应用安全扫描程序。该工具可以被用于自动化地识别Web应用服务中的跨站点脚本(XSS)和SQL注入等安全风险。通过基于证据的扫描技术,它不仅可以生成风险报告,还能够通过概念证明(Proof of Concept),来确认是否有误报,并能减少手动验证漏洞的时间。
5、Acunetix
是一款全自动化的Web漏洞扫描程序。它可以智能地检测、识别并报告超过4500种Web应用漏洞,其中包括XSS XXE、SSRF、主机头部注入(Host Header Injection)和SQL注入的所有变体。作为一种商业工具,Acunetix通过其DeepScan Crawler来扫描重AJAX(AJAX-heavy)客户端类型的单页面应用(SPA)和HTML5网站。
6、Nessus
是针对安全从业人员的漏洞评估解决方案。它能够协助检测和修复各种操作系统、应用程序、乃至设备上的漏洞、恶意软件、配置错误、以及补丁的缺失。通过运行在Windows、Linux、Mac、Solaris上,用户可以用它来进行IP与网站的扫描,合规性检查,敏感数据搜索等测试。
7、W3af
作为一个免费工具,W3af是一个Web应用攻击和审计框架。它通过搜索、识别和利用200多种已知的Web应用漏洞,来掌控目标网站的总体风险。这些漏洞包括:跨站点脚本(XSS)、SQL注入、未处理的应用错误、可被猜测的密钥凭据、以及PHP错误配置等。W3af不但适用于Mac、Linux和Windows OS,而且提供控制台和图形用户界面。
8、Zed Attack Proxy
由OWASP开发的免费且开源的安全测试工具。它可以让您在Web应用中发现一系列安全风险与漏洞。由于支持Unix/Linux、Windows和Mac OS,即使您是渗透测试的新手,也能轻松地上手该工具。
9、Burpsuite
作为一个严控“入侵者”扫描工具,Burpsuite被部分安全测试专家认为:“如果没有它,渗透测试将无法开展。”虽然不是免费,但是Burpsuite提供丰富的功能。通常,人们可以在Mac OS X、Windows和Linux环境中使用它,以实现爬取内容和功能,拦截代理,以及扫描Web应用等测试目的。
10、Sqlninja
作为最好的开源渗透测试工具之一,Sqlninja可以利用Microsoft SQL Server作为后端,来检测Web应用上的SQL注入威胁和漏洞。该自动化测试工具提供命令行界面,可以在Linux和Apple Mac OS X上被使用。Sqlninja具有包括:对远程命令进行计数,DB指纹识别,及其检测引擎等描述性功能。
一般渗透测试流程
1. 明确目标
l 确定范围:测试目标的范围、ip、域名、内外网、测试账户。
l 确定规则:能渗透到什么程度,所需要的时间、能否修改上传、能否提权、等等。
l 确定需求:web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞、等等。
2. 信息收集、
l 方式:主动扫描,开放搜索等。
l 开放搜索:利用搜索引擎获得:后台、未授权页面、敏感url、等等。
l 基础信息:IP、网段、域名、端口。
l 应用信息:各端口的应用。例如web应用、邮件应用、等等。
l 系统信息:操作系统版本
l 版本信息:所有这些探测到的东西的版本。
l 服务信息:中间件的各类信息,插件信息。
l 人员信息:域名注册人员信息,web应用中发帖人的id,管理员姓名等。
l 防护信息:试着看能否探测到防护设备。
3. 漏洞探测
利用上一步中列出的各种系统,应用等使用相应的漏洞。
方法:
(1) 漏扫,awvs,IBM appscan等。
(2) 结合漏洞去exploit-db等位置找利用。
(3) 在网上寻找验证poc。
内容:
l 系统漏洞:系统没有及时打补丁
l WebSever漏洞:WebSever配置问题
l Web应用漏洞:Web应用开发问题
l 其它端口服务漏洞:各种21/8080(st2)/7001/22/3389
l 通信安全:明文传输,token在cookie中传送等。
4. 漏洞验证
将上一步中发现的有可能可以成功利用的全部漏洞都验证一遍。结合实际情况,搭建模拟环境进行试验。成功后再应用于目标中。
l 自动化验证:结合自动化扫描工具提供的结果
l 手工验证,根据公开资源进行验证
l 试验验证:自己搭建模拟环境进行验证
l 登陆猜解:有时可以尝试猜解一下登陆口的账号密码等信息
l 业务漏洞验证:如发现业务漏洞,要进行验证
公开资源的利用
l exploit-db/wooyun/
l google hacking
l 渗透代码网站
l 通用、缺省口令
l 厂商的漏洞警告等等。
5. 信息分析
为下一步实施渗透做准备。
l 精准打击:准备好上一步探测到的漏洞的exp,用来精准打击
l 绕过防御机制:是否有防火墙等设备,如何绕过
l 定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标
l 绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等(免杀)
l 攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等
6. 获取所需
实施攻击:根据前几步的结果,进行攻击
l 获取内部信息:基础设施(网络连接,路由,拓扑等)
l 进一步渗透:内网入侵,敏感目标
l 持续性存在:一般我们对客户做渗透不需要。rookit,后门,添加管理账号,驻扎手法等
l 清理痕迹:清理相关日志(访问,操作),上传文件等
7. 信息整理
l 整理渗透工具:整理渗透过程中用到的代码,poc,exp等
l 整理收集信息:整理渗透过程中收集到的一切信息
l 整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息
8. 形成报告
l 按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
l 补充介绍:要对漏洞成因,验证过程和带来危害进行分析
l 修补建议:当然要对所有产生的问题提出合理高效安全的解决办法
流程总结
第一个:NST
NST一套免费的开源应用程序,是一个基于Fedora的Linux发行版,可在32和64位平台上运行。这个可启动的Live
CD是用于监视、分析和维护计算机网络上的安全性;它可以很容易地将X86系统转换为肉机,这有助于入侵检测,网络流量嗅探,网络数据包生成,网络/主机扫描等。
第二个:NMAP
NMAP是发现企业网络中任何类型的弱点或漏洞的绝佳工具,它也是审计的好工具。该工具的作用是获取原始数据包并确定哪些主机在网络的特定段上可用,正在使用什么操作系统,以及识别特定主机的数据包防火墙或过滤器的不同类型和版本正在使用。NMAP对渗透测试过程的任何阶段都很有用并且还是免费的。
第三个:BeEF工具
BeEF工具主要利用移动端的客户,它的作用是用于检查Web浏览器,对抗Web抗击。BeEF用GitHub找漏洞,它探索了Web边界和客户端系统之外的缺陷。很重要的是,它是专门针对Web浏览器的,能够查看单个源上下文中的漏洞。
第四个:Acunetix Scanner
它是一款知名的网络漏洞扫描工具,能审计复杂的管理报告和问题,并且通过网络爬虫测试你的网站安全,检测流行安全漏洞,还能包含带外漏洞。它具有很高的检测率,覆盖超过4500个弱点;此外,这个工具包含了AcuSensor技术,手动渗透工具和内置漏洞测试,可快速抓取数千个网页,大大提升工作效率。
第五个:John the Ripper
它是一个简单可快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持大多数的加密算法,如DES、MD4、MD5等。
要做网站渗透测试,首先我们要明白以下几点:
1、什么叫渗透测试?
渗透测试最简单直接的解释就是:完全站在攻击者角度对目标系统进行的安全性测试过程。
2、进行渗透测试的目的?
了解当前系统的安全性、了解攻击者可能利用的途径。它能够让管理人员非常直观的了解当前系统所面临的问题。
3、渗透测试是否等同于风险评估?
不是,你可以暂时理解成渗透测试属于风险评估的一部分。事实上,风险评估远比渗透测试复杂的多,它除渗透测试外还要加上资产识别,风险分析,除此之外,也还包括了人工审查以及后期的优化部分。
4、渗透测试是否就是黑盒测试?
否,很多技术人员对这个问题都存在这个错误的理解。渗透测试不只是要模拟外部黑客的入侵,同时,防止内部人员的有意识(无意识)攻击也是很有必要的。
5、渗透测试涉及哪些内容?
技术层面主要包括网络设备,主机,数据库,应用系统。另外可以考虑加入社会工程学(入侵的艺术/THE ART OF INTRUSION)。
6、渗透测试有哪些不足之处?
主要是投入高,风险高。而且必须是专业的网络安全团队(或公司,像网堤安全)才能相信输出的最终结果。
看完以上内容,相信大家已经明白渗透测试是不能光靠工具的,还要有专业的人员才行。推荐还是选择专攻网络安全这一块的公司或团队进行。
标签:入侵渗透工具
已有3位网友发表了看法:
访客 评论于 2022-07-14 01:46:51 回复
发针对漏洞的攻击。Metasploit将负载控制,编码器,无操作生成器和漏洞整合在一起,成为一种研究高危漏洞的途径,它集成了各平台上常见的溢出漏洞和流行的 shellcode ,并且不断更新。对于开发者来说,需要了解缓冲区溢出的原理、需要编写的漏洞详细情况、payload生成、注入点以
访客 评论于 2022-07-13 23:38:16 回复
这一块的公司或团队进行。
访客 评论于 2022-07-13 18:55:03 回复
在 WindowsNT 中 SMB 基于 NBT 实现,即使用 139 ( TCP )端口;而在 Windows2000 中, SMB 除了基于 NBT 实现,还可以直接通过 445 端口实现。有了这些基础知识,我们就可以进一步来讨论访问网络共享