黑客网站渗透入侵破解拿权限
10.4K subscribers
2.39K photos
108 links
Download Telegram
渗透测试的流程通常包括以下几个步骤,但在实战中有些步骤可能会省略或合并到其他步骤当中:

收集信息:利用各种工具,尽可能得收集目标系统的各种信息,包括但不限于目标网络信息,网站内容,目录结构,可能的用户名,端口号,服务信息,域名及子域名等。

漏洞扫描:使用扫描工具对目标系统进行完整的扫描,目前有很多现成的自动化的扫描工具,也可以使用手动工具更有针对性的进行漏洞扫描,验证目标系统特定服务的漏洞信息。

渗透漏洞:利用相应的工具,对可以被利用的漏洞进行攻击,包括但不限于使用远程命令执行,注入,破解等等方法,目标是获得目标系统更高的权限访问敏感信息。

创建后门:在目标系统上创建可以维持持续访问的入口,并隐藏自己攻击的痕迹,避免被发现同时也方便未来继续访问。
实验环境包含两台虚拟机,分别是攻击机和靶机:

攻击机:Kali Linux 2.0 虚拟机,主机名是 kali,IP 地址为 192.168.122.101,默认用户名密码为 root/toor

靶机:Metasploitable2 虚拟机,主机名是 target,IP 地址为 192.168.122.102,默认用户密码为 msfadmin/msfadmin

查看并启动实验环境,双击 Xfce 终端,打开终端,后续所有的操作命令都在这个终端中输入。

首先使用 virsh list 命令查看当前环境中虚拟机的列表和状态,注意需要使用 sudo,另外需要加上参数 --all 才会显示所有关机状态的虚拟机

然后我们使用 virsh start 命令启动虚拟机,再次查看状态虚拟机已经进入 running 状态

注意由于虚拟机启动需要时间,大概要等四分钟左右我们就可以使用 SSH 访问两台虚拟机了。如果 ssh 不能连接,说明虚拟机还没有完全启动起来,需要再等待一下。
首先使用 SSH 连接到 Kali,我们大部分的攻击操作都需要在 Kali 虚拟机中进行,注意用户名root,密码 toor 是不显示的,使用命令 ssh root@kali 即可,因为当前实验环境中已经把 IP 地址和主机名的对应写入到了 /etc/hosts 文件中,避免输入不好记的 IP 地址。

然后打开一个新的终端标签页,SSH 连接到 Metasploitable2 中,用户名 msfadmin,密码 msfadmin。

在 Kali 虚拟机中 ping target 测试两台虚拟机都可以通过内部的虚拟网络进行连接,使用 Ctrl-C 退出 ping。

现在两台实验环境都已经启动了,我们可以开始渗透。
扫描目标主机
可以在 Kali 使用 Nmap 工具扫描 Metasploitable2 中开放的服务,注意 Nmap 的参数使用

nmap 命令很强大,有很多的参数,实验楼的训练营在后续实验中也会进行详细的介绍。这里我们使用到的参数意义如下:

-p:指定扫描的端口范围
-T4:设定 nmap 扫描的时间策略,数字为0-6,越大越快。扫描的越慢则越不容易被发现,也不会给目标带来太大的网络流量
-A:同时启用操作系统指纹识别和版本检测
-v:将会显示扫描过程中的详细信息
>/tmp/report.txt:将输出的信息重定向到文件中,方便后续对扫描信息进行分析
nmap 命令的更多使用方法等着你自己去多尝试和挖掘。可以在实验楼提供的环境中随意扫描,测试各种不同的参数。

扫描过程大概2-3分钟,完成后会得到一份 /tmp/report.txt 扫描报告。
1
Samba USERNAME MAP SCRIPT 远程命令注入漏洞

使用的是 Metasploit 框架下的 Samba 攻击模块,该模块使用 Ruby 语言编写,源代码链接如下:

exploit/multi/samba/usermap_script
攻击模块的代码讲解,包含关键步骤的注释信息:

本次使用的攻击模块代码量很少,不懂 Ruby 也没有关系,只需要了解代码中的大概逻辑。

# 引入 MSF 框架核心模块
require 'msf/core'

# 定义 MSF 模块类
class MetasploitModule < Msf::Exploit::Remote
...

# 引入 Samba Client
include Msf::Exploit::Remote::SMB::Client

...

# 初始化模块,包含模块名称,描述,作者,License,漏洞索引号,平台等信息
def initialize(info = {})
寻找漏洞对应的攻击模块
后续步骤中我们将直接使用 exploit/multi/samba/usermap_script 攻击模块,这里简单介绍下如何查找和选择攻击模块,

查找的方法是在 msfconsole 中,首先使用命令 db_rebuild_cache 建立查询缓存,这个过程需要把磁盘上的庞大的漏洞数据读入内存中,需要时间比较久,大概10-20分钟,但一次执行后续搜索都会很快,注意这个命令会立刻返回,但会在后台运行,耐心等待15-20分钟后再执行 search 命令就可以了。缓存建立的速度问题是 Kali 下 Metasploit 的一个很不方便的地方,目标数据比较大,要把所有的数据都从磁盘读到内存中建立缓存,再加上实验楼用的是虚拟机,不是物理服务器,需要的时间比较久。我们会和实验楼一起想办法解决,目前网上的一些讨论,也都是 db_rebuild_cache 的处理方案,先 rebuild cache 再 search,可以在几秒钟返回结果。查找步骤中需要先使用 search samba 查找是否有现成的 Samba 攻击模块符合我们靶机提供的服务版本,如果没有的话我们可能要编写一个,在后续的实验中我们也会接触如何写一个自己的 Metasploit 模块。

db_rebuild_cache 创建缓存后 search 命令的执行速度可以很快在几秒钟得到结果
渗透测试究竟是如何工作的
渗透测试利用道德黑客将自己置于恶意行为者的立场。网络所有者建立特定的渗透测试范围,指定哪些系统有资格进行测试以及测试时间范围。

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

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

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

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

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

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