黑客网站渗透入侵破解拿权限
10.4K subscribers
2.39K photos
108 links
Download Telegram
渗透测试究竟是如何工作的
渗透测试利用道德黑客将自己置于恶意行为者的立场。网络所有者建立特定的渗透测试范围,指定哪些系统有资格进行测试以及测试时间范围。

确定范围可以制定指导方针,并为测试人员能做什么和不能做什么设定基调和限制。在确定范围和时间框架后,道德黑客开始寻找进入网络的方法。

测试通常从漏洞扫描开始,这有助于识别进入网络的潜在入口。这些漏洞可能是任何内容,从配置错误的防火墙到不正确处理格式错误的数据包的应用程序。

一旦系统被入侵,测试人员便可以尝试访问特权帐户,以更深入地研究网络并访问更关键的系统。渗透测试人员使用升级技术来调查网络并探索最坏的情况。

根据渗透测试的范围,测试人员可以使用多种非常规方法来访问网络。其中一种技术是将受感染的 USB 驱动器放入组织中。如果未经培训的工作人员找到该驱动器并将其插入公司网络,它可能会启动模拟攻击,以更快地获得访问权限。

网络安全中另一个经常被忽视的方面是物理层。未锁的门加上有人冒充 IT 人员,甚至可能破坏最完善的网络安全措施,在某些情况下甚至会导致物理硬件被移除。

完成测试后,会提供一份详细的调查报告,概述测试的流程或系统、发现的漏洞,并推荐补救措施。渗透测试通常每年进行一次,在进行一系列拟议的安全更改后可能会再次进行。
使用 PsExec 进行黑客攻击

要使用 PsExec,目标系统必须启用一些端口和服务。最常用的是 TCP 端口 445 和 139。

可以使用其他端口,例如端口 135,但不太常用。还需要配置防火墙设置以允许通过端口 445 和 139 进行入站和出站流量。

还必须启用服务器消息块 (SMB)。如果发现主机上的端口 445 和/或 139 已打开,则意味着 SMB 可能已启用。还应验证本地和远程主机系统上是否都启用了文件和打印机共享。

最后,需要在运行 PsExec 的机器上拥有管理访问权限。

为了验证目标计算机上是否打开了正确的端口, 可以运行Nmap扫描来检查端口 139 和 445 是否打开。对于此扫描,我们将使用:

sudo nmap -p- -sV TARGET_IP --open

在这个特定的案例中,我们使用了:

sudo nmap -p- -sV 192.168.214.122 --open
渗透测试技术的类型
并非所有渗透测试都以相同的方式执行,并且可能因项目范围和测试的预期结果而异。让我们探索几种不同类型的渗透测试技术。
黑匣子
黑盒测试,也称为外部渗透测试,它几乎无法让道德黑客提前了解公司的 IT 基础设施或安全性。黑盒测试通常用于模拟实际的网络攻击。

测试从网络外部开始,测试人员不了解现有安全系统或本地网络架构。由于模拟攻击是盲目的,这些测试可能是最耗时的。

白盒
白盒测试是指测试人员对现有的网络基础设施和安全系统有充分了解的情况。虽然这些测试无法模拟真实的外部攻击,但它们是您可以执行的最全面的测试类型之一。

白盒测试还可以模拟内部攻击的情况,因为测试人员从网络内部开始,了解网络的结构。虽然白盒测试由于其透明性可以快速完成,但拥有许多应用程序需要测试的企业组织可能仍需等待数月才能获得完整的结果。

灰箱
灰盒是前两种技术的混合体,允许测试人员部分访问或了解公司网络。灰盒通常用于测试具有私有服务器后端的特定面向公众的应用程序。利用这些组合信息,测试人员可以尝试利用特定服务来获取对网络其他部分的未经授权的访问。

由于测试人员对网络的了解有限,灰盒测试的时间范围通常比黑盒测试短,但比白盒测试长。
渗透测试不必涵盖整个网络,也不必专注于特定的应用程序、服务和方法。对较大环境的测试可以专注于网络的某个方面,而不是整个公司。这种专注有助于组织为升级制定预算,并在完成一系列较小的渗透测试后腾出时间实施必要的补救措施,而不会不堪重负。

Web 应用程序
组织使用 Web 应用程序渗透测试来防止恶意行为者利用面向客户端的应用程序上的漏洞。这些测试的复杂性可能有所不同,因为在 Web 应用程序上运行渗透测试时会涉及到大量不同的浏览器、插件和扩展程序。

Web 应用程序漏洞可能会泄露敏感信息,这些信息可能有助于攻击者在攻击的信息收集阶段或获得对特定应用程序的后端访问权限。

敏捷代码可用于抵御这些攻击,并在 Web 开发分支的沙盒环境中进行定期测试。即使在测试和部署之后,渗透测试人员也可以发现新的漏洞,帮助公司避免真正的攻击。

漏洞赏金计划是激励道德黑客针对不同的网络应用程序测试最新漏洞的好方法。

无线网络
Wi-Fi 固有的开放性使其成为好奇的路人和专门的攻击者的诱人目标。渗透测试人员可以使用许多专门的工具来测试不同无线技术的可靠性和安全性。

数据包嗅探器、恶意接入点和取消身份验证攻击可用于劫持无线会话并进入专用网络。无线渗透测试人员还可以验证访客 Wi-Fi 网络上的安全设置。

例如,如果访问规则配置不正确,并且访客网络不在其自己的 VLAN 上,则攻击者有可能从访客无线网络访问专用网络。

物理基础设施
没有任何安全软件可以阻止有人拿起服务器并将其带出门。虽然这似乎有些牵强,但厚颜无耻的犯罪分子会利用社交工程伪装成技术人员、看门人或客人,从而获得对敏感区域的物理访问权限。

在物理渗透测试中,门、锁和其他物理控件会接受测试,以查看恶意攻击者绕过它们的难易程度。这些控件是可以被绕过的。廉价的锁和无线运动探测器通常很容易被撬开或绕过,而廉价的无线运动探测器则可以通过一些巧妙的手段被欺骗。

如果存在物理限制,测试人员通常会使用一系列非破坏性工具来尝试绕过任何现有的锁或传感器
进行渗透测试的过程中,往往会遇到数据包、响应包是加密的情况。如果选择放弃,就失去了一次可能渗透成功的机会。不过burpsuite里面有一个插件可以完美解决这个问题,就是autoDecoder,他可以实现内置的自动加解密,和自定义的加解密,已经给出框架,我们写加解密实现即可

然后将测试的数据包放入,点击解密和加密,发现解码、编码都成功,证明可以正常使用。

自带加解密算法使用
请求包解密,响应包不解密 和 全文本加密
算法为DES/CBC/PKCS5Padding算法,密钥为f0ngtest,iv为f0ngf0ng

请求体为

I9z1fsH5QQ2NUbJi/7a8lw==
自带算法加解密模块设置
加解密如下,需要在响应包哪里设置null,表示为空,即不使用解密。
DNSmasq详细解析及详细配置
LHDNS
1、dnsmasg的简介
Dnsmasq提供DNS缓存和DHCP服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存DNS请求来提高对访问过的网址的连接速度。作为DHCP服务器,dnsmasq可以用于为局域网电脑分配内网ip地址和提供路由。DNS和DHCP两个功能可以同时或分别单独实现。dnsmasg轻量且易配置,适用于个人用户或少于50台主机的网络。此外它还自带了一个PXE服务器。
2、Dnsmasg的主要作用
(1)将Dnsmasq作为本地DNS服务器使用,直接修改电脑的本地DNS的IP地址即可。
(2)应对ISP的DNS劫持(反DNS持),输入一个不存在的域名,正常的情况下浏览器是显示无法连接,DNS动持会跳转到一个广告页面。先随便nslookup一个不存在的域名,看着ISP商持的IP地址。
(3)智能DNS加快解析速度,打开letc/dnsmasq.con文件,senver=后面可以添加指定的DNS,例如国内外不同的网站使用不同DNS。
内网渗透之中间人欺骗攻击

ARP攻击
协议简介
ARP全称为Address Resolution Protocol,即地址解析协议,它是一个根据IP地址获取物理地址的TCP/IP协议,主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址,收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
ARP地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存,故而攻击者可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗
漏洞历史
最为出名的大概应该是:15年的Apache Commons Collections 反序列化远程命令执行漏洞,其当初影响范围包括:WebSphere、JBoss、Jenkins、WebLogic 和 OpenNMSd等。

Java十分受开发者喜爱的一点是其拥有完善的第三方类库,和满足各种需求的框架;但正因为很多第三方类库引用广泛,如果其中某些组件出现安全问题,那么受影响范围将极为广泛。

漏洞成因
暴露或间接暴露反序列化API,导致用户可以操作传入数据,攻击者可以精心构造反序列化对象并执行恶意代码

两个或多个看似安全的模块在同一运行环境下,共同产生的安全问题 ​

漏洞基本原理
实现序列化与反序列化

public class test{
public static void main(String args[])throws Exception{
//定义obj对象
String obj="hello world!";
//创建一个包含对象进行反序列化信息的”object”数据文件
FileOutputStream fos=new FileOutputStream("object");
ObjectOutputStream os=new ObjectOutputStream(fos);
//writeObject()方法将obj对象写入object文件
os.writeObject(obj);
os.close();
//从文件中反序列化obj对象
FileInputStream fis=new FileInputStream("object");
ObjectInputStream ois=new ObjectInputStream(fis);
//恢复对象
String obj2=(String)ois.readObject();
System.out.print(obj2);
ois.close();
}
}.
数据传输
数据帧
WebSocket协议中数据是使用帧序列传输的,在WebSocket开启握手完成之后以及端点发送结束帧之前,客户端或服务器可以随时发送数据帧,其中帧按照基本成帧协议规范来指定,该协议定义了一种帧类型,包括操作码、有效载荷长度以及"扩展数据"和"应用数据"的指定位置,它们一起定义了"有效载荷数据",某些位和操作码是为将来扩展协议而保留的
Nmap 并不包含很多花哨的功能。是的,它能够抓取横幅广告、进行 IPv6 扫描和一些基本的 IDS 规避,但这些功能并非 Nmap 独有。

Nmap 还能够将其结果输出为不同的格式,包括常规输出、基于 Web 的图形 XML和可 grep 格式。此列表中的其他扫描器也可以导出为各种格式。

Nmap 最大的特点是速度快、操作简单。是的,学习这些标志需要时间,但一旦学会,你就可以随心所欲地进行扫描
Nmap 在不到一分钟的时间内完成了完整的扫描。

它发现了三个开放端口:22 上的 SSH、端口 80 上的 Apache Web 服务器以及端口 3128 上的 Squid http 代理。

它发现了一个它认为可能是管理文件夹和一个可能的跨站点请求伪造漏洞。它列出了 65 个已发现的常见漏洞,并提供了更多信息的链接,并将 18 个标记为有漏洞可用,包括一个特定的 Metasploit 模块
侦察是渗透测试中最重要的部分。这是你获取目标信息的地方。

侦察很重要,因为你掌握的目标信息越多,你越容易获得访问权限。一旦你绘制了整个网络,你就可以确定最薄弱的地方并从那里开始。

常用的侦察工具包括Google和社交媒体网站,您可以在其中收集有关目标的信息。如果您正在对一家公司进行审计,您可以浏览该公司的招聘信息,了解他们使用的技术类型。

一旦获得了足够的信息,您就可以使用像Maltego这样的工具来映射目标。
阶段渗透测试
1.范围确定和规划:定义渗透测试的目标及其执行的时间计划。
2.侦察:首次检索有关范围内的组织和系统的信息,通常基于公共数据。
3.扫描:根据侦察收集的信息,使用一些扫描仪来搜索详细信息并发现漏洞。
4.获取和提升访问权限:尝试利用检测到的漏洞访问系统,一旦进入系统,便可获得尽可能多的特权。
5.保持访问权限:在功能中保持对目标系统的访问开放。这意味着要抹去痕迹,这样未经授权的访问就不会被检测到。
6.记录结果:渗透测试的发现必须妥善记录,以便客户了解问题。它不仅应该揭示漏洞,还应解决解决方案并包括提高安全性的建议。渗透测试报告通常包含一项行动计划,该计划稍后会进行跟踪,甚至在一定时间后进行验证。
并非所有渗透测试都会通过所有阶段:在定义的范围内,可能无法获得访问权限,因此会跳过第 4 和第 5 阶段。由于每个阶段都基于前一个阶段的结果,因此第一步非常重要。

范围界定是该过程中的关键,因为它决定了测试的扩展范围以及界定责任,并从法律上保护客户和黑客。侦察和扫描受商定范围的制约,而获取访问权限也非常依赖于时间范围,因为许多工具和程序都需要花费大量时间(例如,对于暴力攻击,时间越长越好)。

范围界定的一个重要部分是决定进行哪种类型的渗透测试:

外部测试:黑客没有定期访问系统,模拟与客户无关联的黑帽。
内部测试:黑客对系统具有一定程度的访问权限,就好像他/她是一名员工或外部工作人员一样。
黑盒测试:客户端不向黑客提供任何具体的信息,因此黑客需要从侦察和扫描过程中获取所有信息。
灰盒/白盒测试:客户提供一些信息,或者在白盒测试的情况下,提供涉及范围的系统和流程的完整文档。
网络渗透测试的目标:
识别漏洞:查找组织网络基础设施、系统和内部应用程序中的潜在安全弱点和安全缺陷。
测试安全控制:验证保护内部网络的现有安全控制的有效性,例如防火墙、防病毒和 EDR 解决方案。
确定影响:评估利用漏洞或其他安全漏洞的影响。
合规性验证:验证组织的 IT 系统是否符合相关的网络安全标准、法规和最佳实践。
改善安全态势:针对任何已发现的漏洞或安全漏洞提供补救建议和最佳实践建议。