靶机下载地址
目标:域控中存在一份重要文件。
本次环境为黑盒测试,不提供虚拟机账号密码
环境配置
攻击机kali: 192.168.1.109
web-centos:192.168.1.110
192.168.93.100
Web1-ubantu:192.168.93.120
pc:192.168.93.30
Win2008:192.168.93.20
Windows server 2012:192.168.93.10
外网ip段:192.168.1.0/24 桥接分配即可
内网ip段:192.168.93.0/24 这个下载好靶机开启就行了 这里ip是分配好的
- 下面开始进行外网信息收集
先nmap -sP 扫描网段存活主机
109是攻击机kali 哒ip
初步判断 110就是我们要攻击的靶机了 ^_^
下面进行单独扫描
这里发现开了mysql数据库服务 远程ssh服务连接 web网站
居然有web网站那就去访问ip看看啦
这里发现是joomla CMS ,于是用kali里自带的 joomscan漏洞目录扫描工具
Joomscan -u http://192.168.1.110/
和配置文件 http://192.168.1.110/configuration.php~
提示文件 http://192.168.1.110/robots.txt
在这个文件中声明该网站中不想被robot访问的部分 也会声明可以访问的部分与提示
下面先访问一下robots.txt
发现administrator目录是
这里我们就进去瞅瞅 逼近不可告人的都是秘密
于是发现了用户登录的界面 但是我用弱密码尝试了几下 发现不行
然后就只能另寻蹊径了
然后再访问一下configuration.php~目录
终于皇天不负有心人 让我看到了mysql数据库连接密码 呜哈哈
下面我使用Navicat进行数据库连接
然后对joomla数据库进行添加用户
并在usergroup加入刚才添加的root用户 密码secret
secret加密后:d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
这里不加密是不成功的
group_id 8 就是超级用户权限
使用刚才添加的用户去登录
然后在里面写上一句话木马使用蚁剑连接 在这里我掉坑了
我一开始认为index.php就在administrator目录下面 然后我连了几下发现不对 于是看到保存文件的提示
提示说index.php 在template/beez3里面 害
害 这里发现禁用命令
但是还是有一点收获的 发现这里是ubuntu内核 而不上web-centos的
说明真正的 web 服务后端在 ubuntu
于是新建一个文件 PHPinfo
的确禁止命令执行操作了
下面使用蚁剑插件
这样就可以使用啦 (^v^)
Ip不一致这不就证实了 后端是ubuntu
然后有去1.110目录里翻了翻
得知账户密码 就去ssh尝试登录一下 然后登录成功了
但是权限不够吖
拿到出网机后想继续横向移动,一般是在跳板机搭建 socks 代理,所以需要将 centos 提权,查看 centos 内核版可以脏牛提权
脏牛提权
exp 下载地址: GitHub - FireFart/dirtycow
下载好之后上传到centos里
使用gcc -pthread dirty.c -o dirty -lcrypt
然后执行./dirty [密码]
这里需要删除原来的 不然无法生成 想换一个密码就把以前的删除了从新生成 即可
查看权限 提权成功!
权限维持添加root用户后门
#创建一个用户名administrator 密码haha 的后门用户
- 开始内网渗透
使用kali生成 payload文件 上传到centos进行提权
开启msf监听端口 然后操作centos 执行上传的shell.elf
设置一下到 192.168.93.0/24网段的路由 设置代理去扫描93.0/24网段
use auxiliary/scanner/smb/smb_version #进入扫描93.0/24网段存活主机
set rhosts 192.168.93.0/24
Exploit
这里扫描出 192.168.93.10 :windows 2012 R2
192.168.93.20 :windows 2008
192.168.93.30 :windows 7
下面使用代理对10\20\30进行 nmap扫描
发现三台主机开放了135、445端口
然后尝试了永恒之蓝 但是没有成功
下面使用smb尝试爆破 use auxiliary/scanner/smb/smb_login set rhosts 192.168.93.30 set SMBUser administrator set PASS_FILE /usr/share/wordlists/top1000.txt |
run
爆出密码:123qwe!ASD
然后跑了一下20的 密码也是123qwe!ASD
但是10的没有跑出来
wni出现在windows操作系统里 用于管理本地或远程的windows系统
而且wmi攻击windows 系统日志不会记录这些操作,也就是说无日志
wmiexec 执行命令,搜集信息,参考:wmiexec.py 下载地址: https://github.com/CoreSecurity/impacket/blob/master/examples/wmiexec.py
这里大家不要迷糊呦
进入python目录然后执行以下命令
git clone https://github.com/CoreSecurity/impacket.git
Cd impacket/
pip install . (.点前面要加两个空格)
如果还出错尝试apt-get install python3-pip
装好之后进入example目录下 执行wmiexec.py 拿到win2008的shell
proxychains python3 wmiexec.py -debug 'administrator:123qwe!ASD@192.168.93.20' |
然后在收集一下信息
然后得知域控ip是10
然后关闭一下20防火墙
netsh firewall set opmode mode=disable |
开一下3389
尝试远程登录
https://github.com/gentilkiwi/mimikatz 下载地址
这里通过代理是可以登录的 但是上传不了mimikatz
发现test域进程管理员,尝试抓取密码
下面在kali上使用smbclient 连接到windows 2008上传mimikatz
然后 put mimikatz.exe
mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords" "exit" > log.log |
得到test 域管理员密码 :zxcASDqw123!!
ipc远程连接
是共享“命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
利用IPC$连接者可以与目标主机建立一个连接,得到目标主机上的目录结构、用户列表等信息。
利用条件:管理员开启了默认共享 139或445端口开放