本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.120
本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描
执行命令 autorecon 10.10.10.120 -o ./Chaos-autorecon
开放了很多端口,看上去基本上把邮件服务能开的端口都给开了,我们看看web应用,这里注意一下,直接IP地址访问,会下显示IP不被允许,然后绑定hosts就可以
功能都点击了几把没发现啥东西,看看爆破目录的扫描结果
经过测试发现访问wp目录,会访问到wordpress程序,访问显示一个页面被保护了,需要输入密码才能够查看,既然是wrodpress程序,使用wpscan扫描一把看看
wpscan --url http://10.10.10.120/wp/wordpress/ -e
发现存在用户human把这个当作密码试一把进去了
得到密码之后就尝试登录目标开放的邮件服务,这里测试了几下,详细的参考命令可以参考:https://wiki.dovecot.org/TestInstallation
一顿操作获取了两个base64编码的文件, 将其解码重定向到文件中,具体如下
这个是解码出来的python加密另一个文件的代码
是加密数据
解密代码如下
from Crypto import Random from Crypto.Cipher import AES from Crypto.Hash import SHA256 def getKey(password): hasher = SHA256.new(password) return hasher.digest() with open('enim_msg.txt') as f: c = f.read() filesize = int(c[:16]) print("filesize: %d" % filesize) iv = c[16:32] print("IV: %s" % iv) key = getKey("sahay") cipher = AES.new(key, AES.MODE_CBC, iv ) print cipher.decrypt(c[32:]) 或者 from Crypto.Cipher import AES from Crypto.Hash import SHA256 chunksize = 64*1024 password = "sahay" key = SHA256.new(password.encode('utf-8')).digest() msg = "" with open('enim_msg.txt') as f: f.read(16) #filesize iv = f.read(16) cipher = AES.new(key, AES.MODE_CBC, iv) while True: chunk = f.read(chunksize) if not chunk: break msg += cipher.decrypt(chunk) print msg
解密出来的结果
上面得出来的还是经过base64编码了,那么对其进行解码如下
得到一个url链接,我们访问看看
按照上面输入,随便输入然后点击Create PDF使用burpsuite进行抓包得到如下
看到响应信息含有pdfTex谷歌搜索了下漏洞,参考:https://0day.work/hacking-with-latex/
测试一把
可以正常执行命令,开始反弹shell
成功反弹shell,发现权限很低,我使用上面得到的账户ayush的密码进行登录切换,可正常登录,但是发现命令都执行不了,被限制了,根据经验查看了下全局环境变量,发现只有本地家目录的其中一个路径在全局环境变量中,我尝试修改全局环境变量
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
完成之后可正常执行命令,读取了user.txt ,开始提权,通过查看当前家目录的所有文件,发现文件夹.mozilla/含有加密的firefox登录凭据,使用zip命令将此文件夹压缩通过nc传至本地kali进行解密
传到本地kali之后解压,然后使用https://github.com/unode/firefox_decrypt进行解密