-
实验目的和要求
实验目的:通过对目标靶机的渗透过程,了解CTF竞赛模式,理解CTF涵盖的知识范围,如MISC、PPC、WEB等,通过实践,加强团队协作能力,掌握初步CTF实战能力及信息收集能力。熟悉网络扫描、探测HTTP web服务、目录枚举、提权、图像信息提取、密码破解等相关工具的使用。
系统环境:Kali Linux 2、WebDeveloper靶机来源:https://www.vulnhub.com/
实验工具:不限
2.实验步骤
目的:获取靶机Web Developer 文件/root/flag.txt中flag。
基本思路:本网段IP地址存活扫描(netdiscover);网络扫描(Nmap);浏览HTTP 服务;网站目录枚举(Dirb);发现数据包文件 “cap”;分析 “cap” 文件,找到网站管理后台账号密码;插件利用(有漏洞);利用漏洞获得服务器账号密码;SSH 远程登录服务器;tcpdump另类应用。
实施细节如下:
1、发现目标 (netdiscover),找到WebDeveloper的IP地址。截图。
2、:利用NMAP扫描目标主机,发现目标主机端口开放、服务情况,截图并说明目标提供的服务有哪些?(利用第一次实验知识点)
目标提供的服务有ssh和http服务。
3、若目标主机提供了HTTP服务,尝试利用浏览器访问目标网站。截图。是否有可用信息?
在网站中可以找到log in,也就是登录的选项。
4、利用whatweb探测目标网站使用的CMS模板。截图。分析使用的CMS是什么?
使用的CMS为WordPress。
5、网络搜索wpscan,简要说明其功能。
wpscan是一款专门针对wordpress的扫描工具,采用ruby语言编写,能够扫描worpress网站中包括主题漏洞、插件漏洞以及wordpress网站本身存在的漏洞。wpscan还可以扫描wordpress网站启用的插件和其他功能。
6、使用 Dirb 爆破网站目录。(Dirb 是一个专门用于爆破目录的工具,在 Kali 中默认已经安装,类似工具还有国外的patator,dirsearch,DirBuster, 国内的御剑)截图。找到一个似乎和网络流量有关的目录(路径)。
5、浏览器访问该目录(路径),发现一个cap文件。截图。
6、利用Wireshark分析该数据包,分析TCP数据流。找到什么有用的信息?截图。
7、利用上一步得到的信息进入网站后台。截图。
8、利用该CMS存在的(插件Plugin)漏洞。
9、利用该插件漏洞提权。
可选方案1:利用MeterSploit插件+reflex gallery插件漏洞实现。安装reflex gallery插件。利用该插件可能存在的漏洞。
立会话后,查看wp-config.php获得账号及口令。
可选方案2:上传反弹shell。
http://pentestmonkey.net/tools/web-shells/php-reverse-shell
【目的:PHP网站渗透;实现途径:上传网站后,URL访问(含有)该反弹shell的页面。
功能:该脚本会发起反弹TCP连接到攻击者(脚本中指定攻击者IP地址和端口号)。】
该CMS为PHP开发,可以利用其实现反弹shell。但必须修改初始化IP地址和端口。(指向攻击者)。进入后台,找到任意一个PHP页面,然后利用php-reverse-shell.PHP的代码修改该页面的代码。修改代码中反弹目标的IP地址及端口(修改为攻击者IP地址及开放的端口号)。
攻击者在Kali中利用NC开始监听,攻击者浏览器访问修改的PHP页面。从而得到反弹shell(用户www-data)。建立会话后,查看wp-config.php获得账号及口令。(注意路径)
方案3:利用文件管理插件(File manager)漏洞。
安装该插件,直接可以浏览wp-config.php。
以上方案三选一,或找到可以实现的方案,操作步骤截图。
在网站后台界面选择plugins,点击add new,搜索File manager下载,打开
找到wp-config.php,打开,就可以找到账号密码
10、SSH登录服务器
尝试利用上一步获得的访问数据库的用户名和密码连接远程服务器。截图。
1、尝试查看/root/flag.txt
均无法查看。
10、使用tcpdump执行任意命令(当tcpdump捕获到数据包后会执行指定的命令。)
查看当前身份可执行的命令。
获得flag
tcpdump命令详解:
-i eth0 从指定网卡捕获数据包
-w /dev/null 将捕获到的数据包输出到空设备(不输出数据包结果)
-z [command] 运行指定的命令
-Z [user] 指定用户执行命令
-G [rotate_seconds] 每rotate_seconds秒一次的频率执行-w指定的转储
-W [num] 指定抓包数量
3. 实验小结
在本次实验中,先是使用了netdiscover找到靶机的ip,接着使用nmap -sV找出WebDeveloper开放的端口和那些端口提供的服务,接着使用浏览器访问该网站,再使用whatweb工具去查询该网站使用的CMS是什么,发现该网站使用的CMS为WordPress,接着使用dirb爆破该网站的目录,找到一个看起来和流量有关系的目录,找到一个ipdata目录,用浏览器访问该目录,发现了一个.cap文件。上网查询资料知道.cap文件由wireshark数据包捕获得来的,双击就会自动使用kali里面的wireshark打开,过滤找到账号密码,用这个账号密码去登录网站后台,下载file manager插件,找到wp-config.php的文件,可以看到账号密码。它开启了22端口,因此使用ssh远程连接,连接上后访问flag.txt文件发现权限不够,尝试提升到root权限,发现依旧不行,但是可以使用root权限执行tcpdump命令来创建攻击文件,最后再使用tcpdump执行命令就可以得到flag。对于这次实验,我仍然需要加深加深对各个过程的理解,对于一些命令,要知道它们使用的原理。