skyler实战渗透笔记(五)—Tr0ll
0skyler实战渗透笔记:
笔记是为了记录实战渗透学习过程,分享渗透过程思路与方法。
请注意:
对于所有笔记中复现的终端或服务器,都是自行搭建环境或已获授权渗透的。使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
今天目标的难度是简单,Tr0ll的灵感来自于OSCP实验室里机器的不断挑衅,目标很简单,从/root目录获得root并获得Proof.txt。
老规矩,探测一下目标靶机及端口服务:
目标靶机192.168.245.145,开放了端口:
哟,开放了匿名ftp,开了22ssh,和80的httpdweb服务
|--21 ftp
|--22 ssh
|--80 httpd
接下来就按顺序来看看每个端口服务,首先第一个21端口提供了匿名访问的服务,那么用Anonymous访问下21端口看看:
有一个lol.pcap的网络包,下载下来用wireshark分析下:
这是一个ftp的网络访问包,展示了一个匿名用户RETR命令下载了ftp中这个文件,文件内容如下:
Well, well, well, aren't you just a clever little devil, you almost found the sup3rs3cr3tdirlol :-P\n
那估计这个sup3rs3cr3tdirlol 是个关键词了。
先尝试下root/sup3rs3cr3tdirlol 能否登录到系统里,发现不能!
那记下来,再去看看80端口。
访问首页是一张图:
下载下来丢到winhex里看了下没有什么异常。
dirsearch扫了一下,发现一个隐藏目录:
访问发现了另一张图:
手动微笑。我对这两张图研究了半天,发现没有任何信息啊,感情是放的烟雾弹,我吐了。
那接下来就只能尝试访问下刚才那个key,没想到还真有内容:
下载这个文件并用file看了下:
是个32位可执行而文件,赋予x权限,执行试试:
ok,访问下这个地址试试:
有两个目录,下面的是password,那上面的就是用户名了。点开第一个目录:
是一堆字符串,那把这个文件先wget下载到本地,再去访问下password目录:
打开目录发现有一个Pass.txt文件,里面写了一个good_job。这里又有一个坑,我一开始以为密码是Good_job,但是试了半天都不对,后来才反应过来,这个folder文件夹包含了密码,那密码是不是这个txt的名字啊?
用九头蛇试试:
hydra -L which_one_lol.txt -p Pass.txt 192.168.245.145 ssh
果然。。 真是巨坑。
拿到了用户名密码,直接ssh访问:
提权第一步:先找内核提权漏洞:
3.13的内核,在exploit上搜一下:
第一个试试:
下载到exp的c文件,先去远端试试能不能在远端编译:
支持gcc,那么直接在kali启动python服务:
从靶机上wget直接下载这个.c 文件:
编译执行:
一次成功!撒花
这次的靶机确实简单,比较绕的地方就在于那两个迷惑性的目录。
这里有一个小点其实大有可说,就是在ssh普通用户登陆上去后,我发现每隔一段时间,会话就会被超时断开:
后来我找了下,发现存在一个定时任务,定时杀掉所有会话并删除tmp目录下内容:
继续查看lib/log
cleaner.py脚本是以root权限执行的,并且该脚本是全局可写的,那么我们也可以利用这一点进行提权
使用ssh-keygen(用来生成ssh公钥认证所需的公钥和私钥文件)
目录默认、密码Pass.txt、反复输入密码即可在/root/.ssh/目录生成id_rsa、 id_rsa.pub文件
将 id_rsa.pub产生的密匙内容复制到文本中
使用vim修改cleaner.py文件
命令:
#!/usr/bin/env python
import os
import sys
try:
os.system(‘mkdir /root/.ssh; chmod 775 .ssh; echo “加上 id_rsa.pub产生的密匙内容上图有例子” >> /root/.ssh/authorized_keys’)
except:
sys.exit()
这脚本提供给大家,收藏慢慢累积学习
来后直接执行ssh root@192.168.182.143,然后输入Pass.txt即可登录