CTF20 binary 100 write_up (四)
这个题比较有意思,下载下来题目后,发现是个zip,linux下解包后发现包括了一个加密mac.h,一个sshd,一个ssh,刚上来ck同学就把mac.h解密开了
?
原始的mac.h
?
import structdef decode(filename): file=open(filename) file2=open(filename[0:len(filename)-2]+'Decode.txt','w') s=file.read(10000) #print s s1='' for i in xrange(len(s)): temp=struct.unpack('B',s[i])[0]^0xff temp1=struct.pack('B',temp) #print temp1 s1=s1+temp1 print s1 file.close() file2.write(s1) file2.close()if __name__=='__main__': decode(r'D:\hackergame\ctf20\b1\mac.h')?
解密出来结果
?
?
?
?
其中在man。loc_408275中的功能是你可以nc或者telnet连到这个sshd上,然后直接输入ru1N1pEstd,服务器就会打印出mac.h解密后的内容,实质就是后门密码记录后提取功能
?
?
第二个调用mac.h地方是在auth_password里面,也很好想,记录密码必然在验证密码这里,这里存在另一个后门功能,万能密码,一个经过了linux crypt后为xzoQHjF6pMZlY的字符串可以当做万能密码登录,我们在这里耗了很久,(因为之前提交不过)以为这里的原始密码才是关键,想了各种方法,暴力破解它,结果当然失败了
?
?
当然你也可以手动修改原始文件的这个字符串,这样他就变成了你的专属sshd,我就改了收藏了一个,以后估计有可能用到。
?
?
?
?
?
?
?
?
?